Code Monkey home page Code Monkey logo

coffee-scales's People

Contributors

mortenfyhn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

pcvictor herm3s

coffee-scales's Issues

Estimate bias?

Stupid and pointless but fun: Estimate the bias based on something like "if rate of change is very low assume it should be zero"

Choose and order new computer

Adafruit feathers seem nice because they have the charging circuit integrated:


  • Decide which to order --> M0 lol
  • Order comp
  • Order battery

Automatic display brightness

I'll just use a photoresistor. Keep it simple. With the random ldr I have, I measure approx

  • 1 ohm (raw 633) outside on a bright but overcast day (should give 100 % brightness)
  • 2k ohm (raw 540) in a bright room (should give 100 % brightness)
  • 10k (raw 350) ohm in a medium bright room (should probably give less than 100 % brightness)
  • above 2M ohm (raw 36) in a really dark room with no lights on (should give minimum brightness)

So it seems that with a circuit like [3v3]---[ldr]---[Vmeas]---[10K]---[gnd] and the ldr I have, a good starting point is: max brightness above Vmeas = 2.44 V (500 raw analog with Vref = 5v) and minimum brightness below Vmeas = 0.73 V (150 raw analog).


  • Get suitable photoresistor.
  • Figure out suitable fixed series resistor. --> 10k
  • Test separately (write a small program that outputs 0-100 depending on ambient light).
  • Integrate with everything else.

Fix CI

  • Make it run again
  • Make it pass again
  • Update badge

Sometimes displays wrong weight

Seems to happen after it's been used with a particularly heavy item. The weight starts to alternate between 1156 and 1565 at something like 3 Hz. The timer still runs fine.

Make display modules

The old display modules are too big. Gonna develop new ones that

  • have a PCB that is the same height as the 7-segment itself,
  • are the same size (0.56") or smaller, and
  • probably use the HT16K33 instead of TM1637 (HT seems to require fewer external components).

  • Make schematic.
  • Make layout.
  • Order from osh park or something.
  • Order 7-segments.
  • Order HT16K33s (can get them here)
  • Assemble and verify.

Adjust hysteresis

Maybe it's better if I always set the hysteresis limits to the threshold between two values (say if value is around 0.1, then thresholds are 0.05 to 0.15, and so on).

Really fast tare

Should be possible to make it "prepare for tare" so that when hitting the tare button the reaction is immediate. Consider ideas from #15, too.

Develop revision 2 physical design

Still going for sandwich-based design, probably with shifted hexagons. Need to figure out dimensions that work with two 7-segments and the Adafruit Feather.

  • 4-digit 7-segment module: 19 * 50 mm.
  • Adafruit Feather: 51 * 23 mm.

20180507_082306

Successive tare computation

The current taring just reads a raw value n times and sets the offset equal to the average of the readings. What if I instead take a single reading and set the offset repeatedly until for instance the change in offset is very small. Then taring a) might go faster and b) won't fail if it happens while the applied weight changes.

Consistent 0.0 after boot

Seems that the HX711 outputs slightly wrong data first. Maybe we can adjust the tare function to wait for it to settle.

untitled

Add tare button

Add a physical tare button, and implement it in software. Should probably just be a simple momentary button. Even I can understand the circuit:

5182b949ce395fbe1d000000

  • Choose a button that fits and feels nice.
  • Integrate it.

Reduce measurement jitter

The measurement sometimes jitters between adjacent tenth of gram values. Need better measurement filtering to avoid this.

Improve tare accuracy

Often ends up at something like -0.2 grams after taring. Should fix it so it hits 0.0.

Design a better filter

Use the logged data I have.

Spec / goal:

  • No jitter during steady state
  • Very quick response when adding weight
  • No overshoot

Maybe bias estimation? In the log data, after finishing the pour, the data falls from 200.45 to 198.98 over approx 90 seconds. But maybe that's just evaporation!?

  • Take another log, maybe 10 minutes, with nothing on the scales.
  • Re-implement the current filtering and run on log data to assess
  • Implement in such a way that I can use the same code for filtering on the arduino as for assessing?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.