I received the pcb a week ago. Did a few tests and soldered everything on. Everything works happily. Off course a realized a couple of design issues but no show stoppers. Around the power input it got really crowded. Needed to push the caps around a bit and squeezed the inductor in the middle. Voltage divider resistors I have in stock, had slight fitting issues. Terminals I had in stock covered the power labels and I have realized it wasn't a great idea not to put polarity labels as well. ICSP pins are too close to mcu socket and doesn't make it easy to plug pickit3 directly on the board. Used another pin header to ease debugging. Still everything turned out to be far better than I expected.
Also spent massive amount of time trying to come up with a compact case suitable for 3d printing. I failed so many times and got really frustrated. I tried to
- Minimize model size to allow printing with small 3d printers
- Power terminals, usb and sensor pins are accessible
- Panels can get maximum sunlight while battery stays as cool as possible
- Motion sensor and light is placed reasonably allowing them to function.
- Assembling parts is possible and relatively easy.
And I couldn't come up with anything that makes sense and fits above criteria to a certain level. So I think I will stick with my initial plant design and try to improve it later. I already spent a lot of time on this.
So now I am trying to finish the software. Fixed the constant current output for led. Had problems sending floats from pic to java.Solved that. Desktop software and mcu share configurations but having problems with storing configuration in flash. PIC16f1455 doesn't have an eeprom but a high endurance flash for that purpose. It seems I still need a bit of reading to do that. I skipped it for now. I am focused on building the main program which
- Charge if enough current is available
- Turn on led if human presence detected and it's dark
- Sleep or consume minimal power if there's no human presence or power to charge
- Wake up when conditions change
Trying a couple of methods especially around sleep and wake-up or slowing down the pic considering digital and analog sensors. USB doesn't make things easier at this stage. Here is another image of assembled board and initial charge tests.