README.mdView |
---|
| 1 … | +# solarmonk |
| 2 … | + |
| 3 … | +energy powered by the sun |
| 4 … | + |
| 5 … | +safely store energy in a battery |
| 6 … | + |
| 7 … | +safely use excess load energy to power 5v devices |
| 8 … | + |
| 9 … | +have fun! |
| 10 … | + |
| 11 … | +## TODO |
| 12 … | + |
| 13 … | +- [x] get solar panel |
| 14 … | +- [x] get battery |
| 15 … | +- [ ] 12v -> 5v converter |
| 16 … | +- [ ] read battery charge |
| 17 … | +- [ ] display battery charge |
| 18 … | +- [ ] control discharge |
| 19 … | + |
| 20 … | +## components |
| 21 … | + |
| 22 … | +### solar panel (with built-in charge controller) |
| 23 … | + |
| 24 … | +[120w maxray folding solar panel](http://maxray.com.au/folding-solar-panel/) |
| 25 … | + |
| 26 … | +``` |
| 27 … | +Max Power: 120W |
| 28 … | +Maximum Power Tolerance: ±3% |
| 29 … | +Open-Circuit Voltage/Voc(V): 17.5V |
| 30 … | +Short-Circuit Current/lsc(A): 9.42 |
| 31 … | +Max Power Voltage/Vmp(V): 14.0 |
| 32 … | +Max Power Current/lmp(A): 8.57 |
| 33 … | +Power Spectications at STC: 1000w/㎡,AM1.5,CELL25℃ |
| 34 … | +Max System Voltage(V): 1000 |
| 35 … | +Max Over Current Protecting Rating(A): 15 |
| 36 … | +Weight: 12.6kg |
| 37 … | +``` |
| 38 … | + |
| 39 … | +### battery |
| 40 … | + |
| 41 … | +[12v - 85Ah deep cycle flooded lead acid battery](https://www.trademe.co.nz/Browse/Listing.aspx?id=1506593644) |
| 42 … | + |
| 43 … | +> _voltage must not drop below 11v_ |
| 44 … | + |
| 45 … | +[guide to lead-acid batteries](http://www.itacanet.org/eng/elec/battery/battery.pdf) |
| 46 … | + |
| 47 … | +> fully charged is 12.6v to 12.8v |
| 48 … | + |
| 49 … | +State of Charge (approx.) | 12 Volt Battery | Volts per Cell |
| 50 … | +100% | 12.70 | 2.12 |
| 51 … | +90% | 12.50 | 2.08 |
| 52 … | +80% | 12.42 | 2.07 |
| 53 … | +70% | 12.32 | 2.05 |
| 54 … | +60% | 12.20 | 2.03 |
| 55 … | +50% | 12.06 | 2.01 |
| 56 … | +40% | 11.90 | 1.98 |
| 57 … | +30% | 11.75 | 1.96 |
| 58 … | +20% | 11.58 | 1.93 |
| 59 … | +10% | 11.31 | 1.89 |
| 60 … | +0 | 10.50 | 1.75 |
| 61 … | + |
| 62 … | +### load (discharge) controller |
|
| 63 … | + |
| 64 … | +- BTE14-04 betamcu.cn Arduino Uno R3 Compatible |
| 65 … | +- "DF Robot" LCD Keypad Shield |
| 66 … | +- R1 resistor = 10k ohms |
| 67 … | +- R2 resistor = 820 ohms |
| 68 … | +- ceramic capacitor = 100nF |
| 69 … | +- schottkey diode |
| 70 … | + |
| 71 … | +``` |
| 72 … | + |
| 73 … | +12v 5v 5v |
| 74 … | + | | | |
| 75 … | +R1 diode |-------| |
| 76 … | + | | | | |
| 77 … | + +-----+----|Ain | |
| 78 … | + | | | | |
| 79 … | +R2 cap |arduino| |
| 80 … | + | | |-------| |
| 81 … | +GND GND |
| 82 … | + |
| 83 … | +``` |
| 84 … | + |
| 85 … | +TODO |
| 86 … | + |
| 87 … | +### 12v to 5v step-down (buck) converter |
| 88 … | + |
| 89 … | +[step down dc-dc 9A converter (constant volts or constant amps), 5~40v input & 1.5~35v out](https://www.trademe.co.nz/Browse/Listing.aspx?id=1521227419) |
| 90 … | + |
| 91 … | +## calculations |
| 92 … | + |
| 93 … | +### [resistive divider](https://en.wikipedia.org/wiki/Voltage_divider#Resistive_divider) |
| 94 … | + |
| 95 … | +to measure the battery voltage on the microcontroller, we divide the voltage using resistors: |
| 96 … | + |
| 97 … | +given |
| 98 … | + |
| 99 … | +- adc input impedence = 10k ohms |
| 100 … | + - https://electronics.stackexchange.com/a/67172 |
| 101 … | +- adc reference voltage = 1.1V |
| 102 … | + - https://www.arduino.cc/reference/en/language/functions/analog-io/analogreference/ |
| 103 … | +- max battery voltage = 14V + wiggle room = ~15V |
| 104 … | + |
| 105 … | +so R1 = adc input impedence = 10k ohms |
| 106 … | + |
| 107 … | +(want to be as high as possible to reduce current) |
| 108 … | + |
| 109 … | +calculate |
| 110 … | + |
| 111 … | +``` |
| 112 … | +R2 = R1 * (1 / ((Vin / Vout) - 1)) |
| 113 … | + = Rinput_impedence * (1 / ((Vmax_bat / Vref) - 1)) |
| 114 … | + = 10e3 * (1 / ((15 / 1.1) - 1)) |
| 115 … | + = 791.37 |
| 116 … | + ~= 820 ohms |
| 117 … | +``` |
| 118 … | + |
| 119 … | +### smoothing capacitor |
| 120 … | + |
| 121 … | +TODO |
| 122 … | + |
| 123 … | +to stabilize the measurements, we use a capacitor to smooth the values: |
| 124 … | + |
| 125 … | +``` |
| 126 … | +(1 / (PI * R1 * C)) = ~100 hz or ~10hz (?) |
| 127 … | +``` |
| 128 … | + |
| 129 … | +C = 100nF |