Skills used:
- 3D printing and optimization
- SolidWorks to design CAD models of light and controller prototype
- Soldering
- Battery management and efficiency
- Code in C for 433MHz controller and lighting effects
- Troubleshooting and problem solving
- product design
- Circuitry
Build Log/Notes
(last updated: Jan 8, 2022)
- designing battery -
- decided on using 4AA batteries for now - about 6V so will need diode to reduce to 5V for LEDs
- UPDATE (Dec 30/21) - will use 3AA batteries only, 4 new AA batteries is more than 6V
- later will upgrade to 2 rechargeable 18650 cells with 5V regulator or buck converter to power led
- currently working on CAD model to print & programming RF modules
- Demo of left turn signal when button pressed in video below:
smaller battery holder - 3AA
- Changed 3D printing orientation so no more supports on LED area
- nicer finish for LED area, uglier for battery area
- learning about RadioHead library and how to use
- ISSUES with RF modules
- bought 3 receivers and 3 transmitters for cheap
- only 1 of the receivers have slightly longer range of about 2m
- 1 receiver dead, 1 receiver very low range of about 2cm
- not very stable, needs good line of sight
- Programming issues
- Buttons not working properly
- sleep mode & how to trigger interrupts
- switch statement hanging on last case
- issue was needed delay or else code would crash
- millis method is not working - causing code to crash so sticking with delays for now
- UPDATE - used interrupt connected to RF receiver pin to improve responsiveness
- Power ISSUES
- implemented code to sleep Arduino when no buttons are pressed
- about 7ma on idle and 14ma when sending data - when powered by 5V source
- not quite low enough
- will improve for V2 by removing use of Arduino and using only ATtiny85 DIP
- prototype circuit pictures and video below
- ASSEMBLY of bike light
- Battery terminals made from paperclips
- hot glue to hold in place
- diffuser was cut from a grey frosted binder divider
- 22 gauge wire was used to connect everything - soldered
- ground terminal was split 3 ways for Arduino Pro Mini, RF receiver, and LED strip
- 5V (3AA batteries) terminal was split 2 ways for LED strip and receiver
- Arduino Pro Mini was connected to 2 AA batteries only and received about 3.3V
paperclip battery terminals |
- now working on the controller CAD model and considerations:
- buttons buy or design?
- casing size, batteries, runtime
- mounting position on bike, ease of use
- Buttons not working :( (update: FIXED)
- so buttons weren't working with the internal pullup resistor method, so I used external resistors to create a pull down for testing purposes
- initially thought it was the button, but even after removing the button and connection to pin 10, inputs were still be detected
- I have now found the issue: button connected to pin 10 had random noise causing random inputs
- switched to pin 11 and internal pullup method now works and won't need extra resistors :)
- Now transferring the design from the breadboard to smaller prototyping board & Arduino Pro Mini
- super quick and simple design of the top half of the controller housing in SolidWorks then printed
- got a small prototyping board and began to solder the:
- buttons, wires to connect to Arduino, and power connections
- used 9V battery for now because RF modules have weak range and supposedly greater voltage increases the range for the transmitter
- was difficult making the ground connections, used extra wire to bridge larger gaps - soldering very messy - might buy soldering helping arm
Todo:
- mounting mechanism for light & controller
- redo light CAD design to integrate 2s battery, and extra hardware - also streamline and hide wires
- improve controller - longer run time, smaller battery
- replace faulty/weak RF modules
- Design PCB to reduce size?
Code:
Materials:
- PLA for 3D printer - 40g for light bar housing (w/o battery cover or microcontroller box)
- Arduino Pro Mini 3.3v 8MHz ~ $8CAD each
- 433MHz modules ~ $4CAD for 1 receiver & 1 transmitter
- Arduino Uno ~ $10CAD ?
- already had
- WS2812B LED strip 30led/m - only need 6 LEDs ~ $1CAD
- 3 AA battery ~ $2CAD
- 9V battery ~ $1CAD
- 3 Buttons
- 3 1k resistors
- 22 gauge wiring, paperclips
- Diffuser
- I cut a grey frosted binder divider
Total Cost Prototype ~ $30 CAD
Tools:
- soldering iron
- hot glue gun
- 3D printer
- wire strippers
- multimeter for debugging/verifying
Helpful Sources:
- Setting pins as interrupts: https://www.youtube.com/watch?v=ZDtRWmBMCmw
- 433MHz RF module tutorial: https://lastminuteengineers.com/433mhz-rf-wireless-arduino-tutorial/
- Arduino Pro Mini pinout diagram: https://blog.adafruit.com/2016/07/28/gorgeous-arduino-pro-mini-pinout-poster-by-pighixxx/
- Powering LED with batteries: https://learn.adafruit.com/battery-power-for-led-pixels-and-strips?view=all
- Low powered RF remote tutorial: https://www.youtube.com/watch?v=TV2IPZuoGhU&t=332s
- Sleep modes: https://www.nongnu.org/avr-libc/user-manual/group__avr__sleep.html
- Sending values with RF modules: https://mechatrofice.com/arduino/send-values-wirelessly-using-rf-module
Future Prototype 2 Upgrades:
- internal battery (2 - 18650 cells) for light and rechargeable via USB-C
- add power switch
- will need boost & buck converters,
- slim design & hide wiring
- design PCB and only use atmega328 mcu (not full Arduino board)
- non protruding battery cover
- add theft protection using gyroscope/accelerometer
- new RF modules that are more stable and less cheap
- maybe double LED density?
- REMOTE
- bigger buttons
- improve battery life and maybe find smaller powering solution
- use ATtiny85 DIP instead of Arduino boards
Battery testing for future:
- recovered 18650 cells from my old laptop - wanted to see if I could use them or if they are dead
- bought a 2s battery management system (BMS), DC boost converter, 2 DC buck converters, and a micro USB breakout board
- did not need the micro USB breakout because the boost converter already had micro USB input but I forgot and used it anyways - will be using USB C in final version
- used boost converter because I wanted to charge using a common 5V phone charger but 2s battery pack needs 4.2*2 = 8.4V to fully charge
- so tuned boost converted to output 8.4V
- designed simple battery pack to fit two 18650 cells for testing - used SolidWorks & 3D printed again
- used paper clip terminals again
- started with cells around 2.5V and was able to only charge each cell to about 3.5V
- close to nominal voltage of 3.7V but not close to the fully charged rating of 4.2V
- this was expected because cells are from old laptop that had poor battery life
- can probably still use?
Voltage reading of 2s pack during charging |
Comments
Post a Comment