To effectively collaborate, a plan is needed to share tasks. This way different bits can be completed simultaneously.
Initial:
- Setup software toolchains
- Using Arduino IDE for now.
- Add in libraries for HX711 and HT1621.
- Ideally: set up software to work with a regular arduino for faster debugging.
- Scales reverse engineering:
- Measure idle and active current draw.
- Measure timing for wake up and sleep.
MCU:
- Test programming works using a blink sketch.
- Test out sleep state entry.
- Test out pin change interrupt on piezo pin to wake.
- Potentially add handler for listening to piezo tap. remember it's likely to ring for 100 ms.
- Measure working and sleep mode current (vs voltage)
Piezo:
- Measure piezo across 1 M resistor with scope- check it's high enough voltage.
- Clamp with some zener diodes at 0-5 V if necessary.
- Get MCU working with a Piezo to wake - from a gentle tap on the scales.
- If piezo alone won't do it then some op-amp is needed!
Display:
- Connect and test to Ardunio then ATtiny85, showing some demo counter.
- Test working voltage range (ebay lists only 5V).
- Measure working and sleep mode current (vs voltage)
- Consider contrast changes as voltage changes. (note will need to monitor voltage)
ADC module:
- Connect and test to Arduino then ATtiny85, outputting to display, serial, or simpler display.
- Use variable resistor in place of strain gauge
- Attach to strain gauge, choose appropriate gain (128, 64, or 32) based on e.g. 1 kg weight.
- Quantify noise level when on battery. Consider adding metal shield.
- Measure working and sleep mode current (vs voltage)a
Optimising:
Minimise Active power consumption
- Reduce clock frequency of ATtiny85 (disbenefit if it takes too long wasting power on serial comms)
- Disable peripherals (virtually everything)
- Add in a crystal oscillator to Display to reduce power, setup with software.
Minimise Idle power consumption
- Ensure all devices are sleeping correctly
- Ensure all IO pins are high or low, not floating, or fighting pullups. Consider built in pullups state.
- Ensure voltages are all ~5V or less. Adjust diode if necessary. Keep in mind battery voltage.
Extra features:
- Monitor own battery voltage roughly:
- https://wp.josh.com/2014/11/06/battery-fuel-guage-with-zero-parts-and-zero-pins-on-avr/
- Need to consider diode drop too here.
- and then display on boot.
- Display negative signs
- Tare when e.g. triple tap.
- Use WDT to do delays
- Add backlight feature somehow. (maybe on reset pin)
- Consider 18650 cell supply - no diodes needed. (But more expensive and self discharge more of a problem)
- Consider integration with external circuits - e.g. esp8266 to wifi.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.