Commit graph

51 commits

Author SHA1 Message Date
Thomas Kolb efca8d7e1a Go to idle state if MPPT power is too low 2020-04-12 17:31:45 +02:00
Thomas Kolb c00f9f2f74 Tuned generic thresholds 2020-04-12 17:30:08 +02:00
Thomas Kolb 5e1bfc2d78 Made variable names more consistent 2020-04-12 17:29:34 +02:00
Thomas Kolb a1913be97b Removed dynamic MPPT PWM limit 2020-04-12 17:13:13 +02:00
Thomas Kolb a1fb967d1b Send ADC values only in debug builds 2019-10-03 01:48:23 +02:00
Thomas Kolb 7dd084fe63 Stay awake for 1s to ensure clean measurements 2019-10-03 01:47:22 +02:00
Thomas Kolb 550a7dd1e2 Smooth transition from MPPT to constant voltage 2019-10-03 01:46:45 +02:00
Thomas Kolb 6f591ab2f7 Added a thermal shutdown state 2019-10-03 01:46:05 +02:00
Thomas Kolb 5e63547f15 Makefile: added JLink targets 2019-09-21 16:02:12 +02:00
Thomas Kolb d41c63f948 Added new float state; Some fixes
Typical charge cycle: MPPT until 14.4V, then switch to CV and hold
14.4V. After 2 hours switch to float charging at 13.8V.
2019-09-21 16:00:33 +02:00
Thomas Kolb c3c33b3753 Fixed some warnings 2017-01-15 18:13:43 +01:00
Thomas Kolb 4df43a99ee Read out the stm32 temperature sensor
The value is output using
1. the LCD
2. the UART

The CPU load calculation has been removed/commented out, as it is no
longer used.
2017-01-15 17:08:31 +01:00
Thomas Kolb 978337d0a7 Reduced maximum wakeup intervals 2017-01-15 15:56:54 +01:00
Thomas Kolb cc2ec455bb Added pycache to gitignore 2017-01-15 15:55:34 +01:00
Thomas Kolb 88bf94f756 Calculate current using linear fit from measurements 2017-01-15 15:49:04 +01:00
Thomas Kolb ba11fa287c Current calibration of v1.1 (hopefully the final one) 2016-10-09 01:25:33 +02:00
Thomas Kolb c11cb28558 pwm variable now contains actual timer value
This also causes the actual PWM value to be output over UART.
2016-10-03 16:03:15 +02:00
Thomas Kolb 9b4857df1d Tested and improved CC mode 2016-10-03 16:03:01 +02:00
Thomas Kolb 958d82b414 Calibrate parameters for v1.1 2016-10-03 16:02:41 +02:00
Thomas Kolb f698413f8d ADC: adapt to new libopencm3 + added calibration 2016-10-02 23:43:44 +02:00
Thomas Kolb 63fdc2797b added libopencm3 as submodule 2016-10-02 23:42:14 +02:00
Thomas Kolb 98c029ca6f Constant Voltage tuning 2016-09-04 14:37:08 +02:00
Thomas Kolb f909f26ea7 Implemented load management 2016-09-03 16:57:33 +02:00
Thomas Kolb 8ed36f6770 Some MPP tuning 2016-09-03 16:02:34 +02:00
Thomas Kolb 11d0878864 Reset PWM limit to maximum when reaching minimum 2016-08-22 21:09:41 +02:00
Thomas Kolb a17313246d Fixed mppMaxPWM limits 2016-08-21 19:45:05 +02:00
Thomas Kolb 6fc5a0e2c9 Some parameter tuning 2016-08-21 19:06:20 +02:00
Thomas Kolb 9e353c3248 Limit max. PWM value in MPP if power is lost too often 2016-08-21 19:05:54 +02:00
Thomas Kolb 56b44e8d1e Replaced exponential avg. by block-average for MPP measurement 2016-08-21 19:04:22 +02:00
Thomas Kolb 0e59b70465 Show averaged values in UART output 2016-08-21 19:02:58 +02:00
Thomas Kolb 9dc1ab928c New approach to MPP tracking
Test multiple points for PWM, switch to the one which gives the most
power, repeat. If two consecutive tests give the same point, hold that
for some time or until power changes too much.
2016-08-18 22:05:18 +02:00
Thomas Kolb 473253f5ab Some MPPT tweaks (not final yet) 2016-08-17 22:05:01 +02:00
Thomas Kolb c93c3d41fb Code cleanup 2016-08-17 22:04:04 +02:00
Thomas Kolb dac3d34691 State transition tuning 2016-08-14 22:46:12 +02:00
Thomas Kolb 2246ac0290 Print log data over UART 2016-08-14 04:17:06 +02:00
Thomas Kolb 71c7cb57be Deep sleep cosmetics 2016-08-14 03:10:01 +02:00
Thomas Kolb d313860804 Enable RTC and deep sleep (stop mode) 2016-08-14 01:38:19 +02:00
Thomas Kolb 6fc7e27c0b State tuning; safer startup
- Added some initial values for variables
- Prevent too fast state switching to bootstrap (only bootstrap 5
  seconds after state change)
- Made threshold voltage for switching from MPP to CV different from CV
  constant voltage
2016-08-13 01:12:33 +02:00
Thomas Kolb df0db26122 Increased target voltage 2016-08-07 16:02:51 +02:00
Thomas Kolb cfcbbe5269 Tuning, use idle state, some power saving 2016-08-07 01:04:24 +02:00
Thomas Kolb 33dea2e7a4 First implementation of MPP tracking 2016-08-07 00:36:15 +02:00
Thomas Kolb 97db9c24db Implemented Constant Current mode 2016-08-06 22:22:21 +02:00
Thomas Kolb 3ef6872e03 Implemented constant voltage regulator 2016-08-06 03:15:27 +02:00
Thomas Kolb 7b02652cad Implemented bootstrap and switching 2016-08-06 01:27:11 +02:00
Thomas Kolb b8f8b5f6a2 Added simple pin mapping file 2016-08-05 20:50:33 +02:00
Thomas Kolb 809ed13e46 Cleaned up old comments 2016-08-05 20:48:54 +02:00
Thomas Kolb e485e23038 Enabled TIM1 for PWM 2016-08-05 20:48:36 +02:00
Thomas Kolb 99447b3454 Set all output GPIOs to output
No final setup yet for SW_ON and BOOTSTRAP_PULSE. These are currently
just low (== off) after power-on.
2016-08-05 00:27:40 +02:00
Thomas Kolb c56e00a084 Moved LCD control code to separate module 2016-08-05 00:06:11 +02:00
Thomas Kolb 0d98607a0a Added calibrated current scale 2016-08-04 23:17:25 +02:00