Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

1 2 3 4 5 6

A Libre Solar MPPT Charge Controller (20A) A

Communication Interfaces MCU DCDC power stage Power Supply


UEXT_TX USART2_TX TIM1_CH1 PWM_HS
UEXT_RX USART2_RX TIM1_CH1N PWM_LS
DCDC_IN DCDC_IN Power
UEXT_SCL I2C1_SCL LOAD_EN LOAD_EN DCDC_OUT
UEXT_SDA I2C1_SDA
DCDC-
UEXT UEXT_MISO SPI1_MISO DC/DC BAT-
power_supply.sch

UEXT_MOSI SPI1_MOSI V_SOLAR LOAD-SW


UEXT_SCK SPI1_SCK V_BAT
CAN UEXT_SSEL SSEL dcdc.sch
I_DCDC
CAN_TX CAN_TX I_LOAD
B USB CAN_RX CAN_RX DAC Analog Frontend B

CAN_STB CAN_STB V_SOLAR_ADC LOAD_SHUNT+


V_BAT_ADC LOAD_SHUNT-
USB_DP USB_DP MCU DCDC_SHUNT+
USB_DM USB_DM I_DCDC_ADC DCDC_SHUNT-
I_LOAD_ADC
UEXT_EN UEXT_EN REF_DIFF_AMP V_SOLAR
V_BUS_EN V_BUS_EN V_BAT
5V_OUT_EN 5V_OUT_EN TEMP_BAT TEMP_BAT
5V_OUT TEMP_INT TEMP_INT

DCDC_OUT mcu.sch
Analog

DCDC_OUT
interfaces.sch
1
J5 2
CONN_01X03 analog_frontend.sch
3

GND

C C

LOGO1 LOGO2

Main Specifications
- 12V or 24V battery voltage
LIBRE_SOLAR OPEN_HARDWARE
- 20A max. charge current
- 55V max. solar input
- External temperature sensor input
- 32bit ARM MCU (STM32F072)
- CAN communication interface RJ45 jacks incl. bus power supply
- Expandable via Olimex Universal Extension Connector (UEXT) featuring
I2C, Serial and SPI interface (e.g. used for display, WIFI communication, etc.)
MPPT Charger 20A
- Prepared for Hammond Mfg. 1591XXCFL enclosure
(light pipe of 30.5 mm length should be used for SMD LEDs, e.g. Bivar PLP2-1200)
MK1
Mounting_Hole Libre Solar
MK2
Website: http://libre.solar
D Mounting_Hole Sheet: / D
MK3 File: MPPT_charger_20A.sch
Mounting_Hole Author: Martin Jäger
Size: A4 Date: 2018-01-18 Rev: 0.10
KiCad E.D.A. kicad (2017-11-18 revision ff5ee05de)-makepkg Page: 1/6
1 2 3 4 5 6
1 2 3 4 5 6

DCDC_IN
A
DC/DC power stage A

MKDS_5/2-9,52

SOLAR

DCDC_OUT
D
2 SOLAR+

CSD18540Q5B
C8 C1 C2 C3 C4 R1 Q1
HS_DRV
1 SOLAR- G CSD18540Q5B
1u 1000u 1000u 4.7u 4.7u 3.3

S
L1
J1 F1
SW_NODE BAT+

Q2
22uH 25A
Solar Panel BAT
Voltage: 16-55 V

2.2
R4
D S

D
2
LS_DRV R3 Q4 C5 C7

1M
R2
G
GND G CSD18540Q5B 1
D1 3.3 C6 820u 1u

S
NP0/C0G
1n J3
1N4148 R6 MKDS_5/2-9,52

2m
B B

DCDC-

BAT-
GND

Load output MOSFET driver


+10V
Alternative: 330R at MOSFET gate +10V
R9 --> 10.4/330 = 31 mA max U1 R10

56k 1 8 3.3
R12 VDD HB C10
2
C12 PWM_HS HI
2.2k 3 7 HS_DRV 100n
PWM_LS LI HO
3

2.2u 6 SW_NODE
C R13 T1 HS C
4 5 LS_DRV
LOAD_EN MMBT3904 VSS LO
1
2.2k DCDC_OUT
C28 LM5107
2
R16

10k

J2
D5 C27 1 GND
10n
G

SMBJ36A 1u
R17 LOAD- 2
BAT-
S D
2m
LOAD
Q3
CSD18540Q5B
LOAD-SW

MKDS_5/2-9,52

MPPT Charger 20A

Libre Solar
Website: http://libre.solar
D Sheet: /DCDC power stage/ D
File: dcdc.sch
Author: Martin Jäger
If not stated otherwise, all MLCC 50V X7R
Size: A4 Date: 2018-01-18 Rev: 0.10
KiCad E.D.A. kicad (2017-11-18 revision ff5ee05de)-makepkg Page: 2/6
1 2 3 4 5 6
1 2 3 4 5 6

MCU STM32F072 Reset and boot circuit


A A
+3.3V PWR_FLAG

OSC_IN

3 OSC_OUT
L4
600R +3.3V
C34 U2
+3.3V
Y1

1
100n 9 6 OSC_OUT
VDDA PD1-OSC_OUT 8MHz

R39
24 2 +3.3V

1M
VDD_1 PC13-TAMPER-RTC SSEL
36 3 Tight tolerance

2
VDD_2 PC14-OSC32_IN UEXT_EN
GND 48 4 for CAN interface BOOT0
VDD_3 PC15-OSC32_OUT V_BUS_EN

R40
1 7 RESET

1M
VBAT NRST
GND

R41

2.2k
10
PA0-WKUP TEMP_BAT
OSC_IN 5 RESET Equations:
PD0-OSC_IN C36 tau = R39 * C36 = 2.2 s
BOOT0 44 18 V(t) = Vmax * (1-exp(-t/tau))
BOOT0 PB0 I_LOAD

3
19 2.2u --> t = -tau * ln(1-V/Vmax)
PB1 I_DCDC C29 R45 T2
11 20

SW1
TEMP_INT PA1 PB2 LOAD_EN MMBT3904 Normal startup:
12 39 1
USART2_TX PA2 PB3 SPI1_SCK 100n 56k BOOT0 < 0.69 V

2
13 40 Press SW1 < 0.51 s
USART2_RX PA3 PB4 SPI1_MISO
14 41
DAC PA4 PB5 SPI1_MOSI USB bootloader:
V_REF 15 42 BOOT0 > 1.61 V
PA5 PB6 I2C1_SCL
B 16 43 GND GND GND GND Press SW1 > 1.47 s B
V_BAT PA6 PB7 I2C1_SDA
17 45
V_SOLAR PA7 PB8 CAN_RX
29 46
TIM1_CH1 PA8 PB9 CAN_TX
USART1_TX 30 21 I2C2_SCL
PA9 PB10
USART1_RX 31 22 I2C2_SDA
PA10 PB11
32 25
USB_DM PA11 PB12 5V_OUT_EN
33 26
USB_DP PA12 PB13 TIM1_CH1N
SWDIO 34 27 LED1
PA13 PB14
SWCLK 37 28 LED2
PA14 PB15
38
CAN_STB PA15
Voltage reference Status LEDs
8 +3.3V +3.3V +3.3V +3.3V
VSSA
23
VSS_1
35 +3.3V
VSS_2 min. 65 uA

LED1

LED2
47 C30 C31 C32 C33
VSS_3 operating
100n 100n 100n 2.2u current
STM32F072CB

R37

10k
GND

R42

R43
330

330
GND GND GND GND V_REF

C D6 LED1 LED2 C
LM4040CYM3-2.5 LED_red LED_green

GND GND GND


EEPROM STM Nucleo SWD and USART
+3.3V

+3.3V
+3.3V SWD1
U6
R31

2.2k

R32

2.2k

1
VCC
CONN_01X02

24AA01 P1
SWCLK 2
SWCLK
I2C2_SCL 1 4 3 USART1_TX 1
I2C2_SDA 3
SCL
SDA
VCC
WP
5 C22 SWDIO 4
GND
SWDIO
USART1_RX 2 MPPT Charger 20A
2 100n RESET 5
GND NRST
GND 6
SWO
Libre Solar
ST_Nucleo_SWD Website: http://libre.solar
GND
D Sheet: /MCU/ D
File: mcu.sch
Author: Martin Jäger
If not stated otherwise, all MLCC 50V X7R
Size: A4 Date: 2018-01-18 Rev: 0.10
KiCad E.D.A. kicad (2017-11-18 revision ff5ee05de)-makepkg Page: 3/6
1 2 3 4 5 6
1 2 3 4 5 6

A A

Solar/Battery to 10V (SMPS)

PWR_FLAG

100n
U4

C19
L2 PWR_FLAG +10V
5 1
DCDC_IN Vin CB
4.7uH
L3 DCDC_IN chosen as input
4 6
C14 C15 EN SW in to stay alive if solar
47uH goes down for boost mode

SS16FP

120k
R28
1u 4.7u 2 3 operation (battery on high side)

D2
GND FB

LMR16006X
GND GND GND C20 C21
GND

R29

10k
10u 10u
25V 25V
B B

GND GND GND

10V to 5V (LDO) 5V to 3.3V (LDO)

+5V +3.3V
+10V +5V U5
1 5
IN OUT
U3
3 2 3 4
IN OUT C23 EN BP C38
C C24 C35 C
1 2.2u 2 2.2u
GND GND
10u 100p
AZ1117 25V AP2210-3.3

GND GND Max current GND GND


Place close output: 150mA
GND to SMPS GND

MPPT Charger 20A

Libre Solar
Website: http://libre.solar
D Sheet: /Power Supply/ D
File: power_supply.sch
Author: Martin Jäger
If not stated otherwise, all MLCC 50V X7R
Size: A4 Date: 2018-01-18 Rev: 0.10
KiCad E.D.A. kicad (2017-11-18 revision ff5ee05de)-makepkg Page: 4/6
1 2 3 4 5 6
1 2 3 4 5 6

USB connector CAN interface


A A

+5V

CAN_H
+3.3V +5V
F2
+5V +3.3V U8
P3 5 3
200mA VIO VCC
1 D4

JP3
VBUS
USB Micro B

D3 C26 C39 1 7 CAN_H CAN_H 1


CAN_TX TXD CANH
3 IO1 IO1 100n 100n 4 6 CAN_L 3
D+ USB_DP CAN_RX RXD CANL
6 1

R36
2 CAN_L 2

120
Shield

D-
GND

GND
4 VBUS GND 8 2
ID CAN_STB STB GND
5 2 GND GND NUP2105L GND

CAN_L
100k
TJA1042T/3
6
5

R46
IO2 IO2
USB_DM
4 3 GND
C25 USBLC6-2SC6Y

100n
GND
GND GND
JP1 RJ45_NS JP2 RJ45_NS
CAN_H 1 CAN_H 1
B CAN_L 2 CAN_L 2 B
CAN_GND 3 CAN_GND 3
RJ45_4 4 RJ45_4 4
RJ45_5 5 RJ45_5 5
CAN_SHLD 6 CAN_SHLD 6
+3.3V CAN_GND 7 CAN_GND 7
CAN_V+ 8 CAN_V+ 8
R5
Extension connector I2C pull-ups
100k
2
BSS84

+3.3V +3.3V
Q6

UEXT_EN
1
J4 UEXT Bus power supply
3

R34

2.2k

R35

2.2k
1 2
3V3 GND
3 4 Q7
UEXT_TX TXD RXD UEXT_RX
5 6 BSS84
UEXT_SCL SCL SDA UEXT_SDA F3 D9
7 8 GND CAN_V+
UEXT_SDA

UEXT_SCL
UEXT_MISO MISO MOSI UEXT_MOSI DCDC_OUT
9 10 2 3
UEXT_SCK SCK SSEL UEXT_SSEL 200mA 1N4148

R49

56k
D8

1
MM3Z12VT1G
C R30 D10 C
CAN_GND
56k 1N4148

3
R48 T3 GND
V_BUS_EN MMBT3904
1
10k
5V signal output

2
+5V Q5
BSS84 GND

5V_OUT
2 3
100k
R33

R38

2.2k MPPT Charger 20A


3

R47 T4
5V_OUT_EN MMBT3904
1
100k
2

Website: http://libre.solar
D Sheet: /Communication Interfaces/ D
File: interfaces.sch
GND
Author: Martin Jäger
If not stated otherwise, all MLCC 50V X7R
Size: A4 Date: 2018-01-18 Rev: 0.10
KiCad E.D.A. kicad (2017-11-18 revision ff5ee05de)-makepkg Page: 5/6
1 2 3 4 5 6
1 2 3 4 5 6

A REF_DIFF_AMP A

+5V
R14
Load current R21
DCDC current
REF_DIFF_AMP REF_DIFF_AMP
U7B U7A
150k 150k
LM258 LM258
R8 R19
5 3

8
LOAD_SHUNT+ + R11 DCDC_SHUNT+ + R20
2.2k 7 2.2k 1

V+
C42 C9 R7 I_LOAD_ADC R18 I_DCDC_ADC
U7C 6 2.2k 2 2.2k
LOAD_SHUNT- - DCDC_SHUNT- -
100n 100n LM258 2.2k 2.2k

V-
C11 C13

4 10n
GND R22 10n
R15
150k
Diff. amp. reference 150k GND GND
defined by DAC pin
GND
instead of GND: variable
zero current set point

B B

Temperature (ext./int.) Solar and battery voltage

V_SOLAR

V_BAT
+3.3V +3.3V
R23

R44
10k

10k

100k

100k
R24

R25
TEMP_INT TEMP_BAT
C V_SOLAR_ADC V_BAT_ADC C
C16
RT1

10k

C40
C17 C18

R26

R27
5.6k

10k
100n
100n
10n 10n

GND GND GND


GND GND GND GND

MPPT Charger 20A

Libre Solar
Website: http://libre.solar
D Sheet: /Analog Frontend/ D
File: analog_frontend.sch
Author: Martin Jäger
If not stated otherwise, all MLCC 50V X7R
Size: A4 Date: 2018-01-18 Rev: 0.10
KiCad E.D.A. kicad (2017-11-18 revision ff5ee05de)-makepkg Page: 6/6
1 2 3 4 5 6

You might also like