Transcript File



Team: May 12-03
Team member: Avinav Verma, Dixiao Jiang,
MengQian Ding

Advisor: Aymen Fayed

Client : Powerfilm . Inc
Li-ion battery charging
cycle includes three
phases: trickle, constant
current, and constant
voltage. The charging
cycles must be strictly
followed to prevent
battery pack overcharge
and fire.
1. We would like to upgrade it to a more powerful
processor that will have a higher operating frequency,
more flash memory, and more integrated ADCs to
enable sensing more signals in the system.
2. The other thing we need to consider is track the max
point voltage accurately. The MPPT algorithm needs to
be improved to avoid being stuck in local maxima.
3. Make high side current sensor more accurate
4. Send data to from microcontroller to computer so we
can monitor charging state
Component
Estimate cost
Resistor, capacitor, inductor, diode, voltage
regulator
$16
PCB board
$30
High side amplifier(LT 1636)
$1.5
Microcontroller (Msp430f5152)
$1.5
Solar panel (power film foldable charger)
$ 80
Battery (Tenargy 5000)
$67
Total cost
$196
Design
Microprocessor
According to the previous project, the MSP430f2013 MCU, which runs
at 16MHz with 2kB of flash memory and 4 -16bit ADCs has good
performance, however, we want a higher performance microprocessor
in our project.
The requirements of new microprocessor are:
a. higher operating frequency
b. more flash memory
c. more integrated ADCs to enable sensing more signals
Microprocessor cont.
Comparison between MCUs:
Flash (KB)
ADC
ADC Channels
Numeric Price
Freq. (MHz)
MPPT algorithms
dP - O&P algorithm (This year)
Whey we chose this method
?
• It is a improved method of
O&P method
• It does not track wrong
direction under rapid
change in atmosphere
Buck converter
To maximize efficiency we used the following equations to calculate
ripple current and ripple voltage.
𝑇𝑠𝑤 = switching period
d = duty cycle
(𝑉𝑖𝑛 −𝑉𝑜𝑢𝑡 )∗𝑑𝑇𝑠𝑤
Ripple Current: ∆𝐼 =
𝐿
1−𝑑 ∗𝑉𝑜
Ripple Voltage:∆𝑉 =
2
8∗𝐶∗𝐿∗𝑓𝑠𝑤

The customer says:
We were able to read
currents obviously,
but as some times we
could be as far off as
100mA or more which
is not very acceptable
for a finished
product…….We would
like to get accuracy
better than 10mA50mA, this may
require some tuning.



We think the problem is offset voltage of op
amp.
Then we analysis the circuit including VOS of
amp.
increase Rs can dramatically reduce current
sensor error

We want to send data from MSP430 Target board to computer, so we
can reflect our microcontroller’s data on GUI. With this data, we can
check our C code program and monitor our circuit.
popular solution is to connect the UART of the MSP430 to a USB
to UART converter such as the FT232RL and FT2232 from
FTDICHIP.

PCB board

Buck_Control and MPPT test






/*
* buck_control.c
*
* Created on: 2012-2-9
*
Author: dxjiang
*/






#include "msp430f5172.h"
#include "PWM.h"
//char pwm_limit1=0;
void buck_control (unsigned int
measurement, unsigned int desired){
signed int delta = measurement desired;






if(delta>0) pwm(0,2); //buck voltage
too high;
else if(delta<0) pwm(0,2); // buck
voltage too low
//else pwm_limit1=0; buck voltage
right on
__delay_cycles(10); //give buck
converter time to settle
}
void mppt(void) {
solar_voltage1 = ADC(1);
solar_current1 = ADC(2);
pwm(0,1); //back 1/2 T
solar_voltage2 = ADC(1);
solar_current2 = ADC(2);
pwm(1,2); //forward T
solar_voltage3 = ADC(1);
solar_current3 = ADC(2);
power_0 = (long)solar_voltage1 * solar_current1; //current power
power_1 = (long)solar_voltage2 * solar_current2; //previous 1/2T power
power_2 = (long)solar_voltage3 * solar_current3; //forward 1/2T power
dP = (long)2*power_0 - power_1-power_2;
if(dP==0){
pwm(0,0);
}
else {
if(dP>0){
if(solar_voltage3 > solar_voltage2){
pwm(1,2); //increase T's voltage
}
else{
pwm(0,2); //decrease
T's voltage
}
}
else{
//dP<0;
if(solar_voltage3 > solar_voltage2){
pwm(0,2); //decrease T's voltage
}
else{
pwm(0,2); //increase
T's voltage
}
}
}
}

we can see data transmit from microcontroller to
computer. However, after some good data, there
is some garbage signal. We think that’s due to
the noise of the MSP430. So we decide to close
the pin after the data transmitted. If we want to
transmit again, then reopen the pin. In this way,
the noise is significant reduced.

To test the circuit, we use Tenergy high discharge Li
polymer battery as the target battery to charge. We use TI
bq20Z70 with EV2300 to monitor the battery charging.




If you don’t have any idea on how to use a
software, check Youtube.
Google the error, there always people have
same problem as you.
Ask as many people as you can when you
stuck somewhere. There are always someone
can help you.
Make PCB board as early as possible



Make a interface that is easier to check the
data send to computer
Using Li-Ion Phosphate battery instead of
traditional Li-Ion
Figure out why EVM can’t send battery data to
computer