git ssb

0+

dinoworm 🐛 / solarmonk



Commit 499517c43c2feeee31163e5151981b368670ec4c

in the beginning

Michael Williams committed on 1/18/2018, 11:03:28 AM

Files changed

README.mdadded
README.mdView
@@ -1,0 +1,129 @@
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

Built with git-ssb-web