Thực nghiệm cho 60 cell pin lithum-ion mắc nối tiếp

Một phần của tài liệu Nghiên cứu, thiết kế hệ thống kiểm soát năng lượng cho xe máy điện đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô (Trang 67)

Bảng 4.3 Kết quả sạc 60 cells pin lithium-ion nối tiếp từ 210V, ngắt khi đạt 220V STT Cường độ dòng

điện I (A) xấp xỉ

Thời gian t (h) Ghi chú

1 0.4 1 *Cho dòng 0.4A và 0.5A nhằm giảm

thiểu nguy cơ mất cân bằng giữa các cell pin

2 0.4 1

3 0.5 0.8

4 0.5 0.8

5 0.5 0.8

Nhận xét: Tương tự như 4 cells, quá trình ngắt cho 60 cells sẽ không ngắt ngay lập tức (khoảng 20 phút mới ngắt hẳn).

Nhóm chỉ thực nghiệm với dòng sạc 0.5A và điều khiển ngắt sạc khi điện áp bộ pin đạt 220V bởi vì hệ thống chưa kiểm soát được vấn đề cân bằng cell, sạc lên càng cao sẽ gây nguy cơ mất cân bằng cell lớn hơn.

Với số liệu trên ta có thể ước lượng được rằng, giả sử dòng điện ổn định là 1A thì thời gian sạc từ 180V lên 240V sẽ mất khoảng hơn 3h.

59

CHƯƠNG 5 KẾT LUẬN VÀ KIẾN NGHỊ 5.1 Kết luận

 Hệ thống đã kiểm soát được điện áp của bộ pin và ngăn chặn được tình trạng quá nạp và quá xả, qua đó giúp pin có tuổi thọ lâu hơn và đảm bảo an toàn cho người sử dụng.

 Việc nghiên cứu hệ thống quản lý năng lượng cho xe điện sử dụng pin lithium-ion bước đầu cho thấy những kết quả khả quan, và hơn hết nhóm thực hiện sẽ nghiên cứu, khắc phục và phát triển hệ thống trong tương lai.

5.2 Hạn chế của đề tài

Quá trình điều tiết sạc/xả một tế bào pin Li-ion và một hệ pin Li-ion hoàn chỉnh, bao gồm nhiều tế bào pin lắp nối tiếp với mức điện thế cao và tương đối khác biệt vì thế:

 Việc đảm bảo sự cân bằng giữa các cell pin chưa giải quyết được.  Chưa điều chỉnh được dòng sạc ổn định.

 Chưa kiểm soát được dung lượng của pin.

5.3 Kiến nghị

 Việc nghiên cứu và thực nghiệm với nguồn điện áp cao (220V) rất nguy hiểm nên cần phải hết sức cẩn trọng, dù có một sai sót nhỏ cũng có thể gây ảnh hưởng rất lớn đến sự an toàn và cản trở việc thực nghiệm.

 Trong quá trình thực nghiệm hay xảy ra cháy nổ vì vậy gây ảnh hưởng khá lớn đến thời gian hoàn thành đồ án.

 Đề tài còn nhiều vấn đề cần khắc phục và cải thiện như: Cân bằng cell, vấn đề nhiệt độ, dòng sạc chưa ổn định,… nên cần nhiều thời gian hơn để nghiên cứu và tính toán.

Tài liệu tham khảo

[1]Nguyễn Văn Trạng, Phạm Tuấn Anh, Nguyễn Duy Tấn: Nghiên cứu tối ưu tính năng làm việc của Pin Lithium-ion sử dụng cho xe gắn máy tích hợp truyền động lai, Tạp chí Phát triển Khoa học và Công nghệ, tập 20, số K6-2017.

[2]M.Brandl, G.Hall , Battery Management System For Electric Vehicle, 2016

[3]Research Article “A Novel Electric Bicycle Battery Monitoring System Based on Android Client”, https://www.hindawi.com/journals/je/2017/2579084/

[4]Bách Khoa toàn thư mở, “Pin Lithium-ion”, https://vi.wikipedia.org/wiki/Pin_Li- ion

[5]C.Wood, Lithium-ionbatteries, https://www.explainthatstuff.com/how-lithium-ion- batteries-work.html

[6]Atmel, ATmega328P, Datasheet, 2015.

[7]“Điều chế PWM là gì”, http://viettech.edu.vn/news/dieu-che-pwm-la-gi/

[8]“Why is IGBT a voltage control device”, https://www.quora.com/Why-is-IGBT-a- voltage-control-device

[9]Trần Thu Hà (Chủ biên), Điện tử cơ bản, NXB Đại học Quốc gia Tp. Hồ Chí Minh.

[10] Bách Khoa toàn thư mở, “Photocouple”, https://en.wikipedia.org/wiki/Opto isolator

[11] “Tìm hiểu Diode bán dẫn là gì”, http://dammedientu.vn/tim-hieu-diode-ban-dan- la-gi/

[12] “Diode là gì, Tìm hiểu về chức năng của Diode”, https://testostore.vn/diot-va- mach-chinh-luu-la-gi-nguyen-tac-cau-tao/

Phụ Lục

Chương trình C cho hệ thống:

/******************************************************* Project : Batterry Management System

Version : 1.0 Date : 9/7/2019 Author :

Company : Comments:

Chip type : ATmega328P Program type : Application

AVR Core Clock frequency: 8.000000 MHz Memory model : Small

External RAM size : 0 Data Stack size : 512

*******************************************************/

#include <mega328p.h> #include <delay.h> float giatriADC;

// Declare your global variables here

// Timer 0 output compare A interrupt service routine interrupt [TIM0_COMPA] void timer0_compa_isr(void) {

OCR0A = 0; PORTC.5 = 1; } else if (giatriADC <= 600) { OCR0A = 50; PORTC.5 = 0; } else { OCR0A = 100; PORTC.5 = 1; }

// Place your code here }

// Voltage Reference: AVCC pin

#define ADC_VREF_TYPE ((0<<REFS1) | (1<<REFS0) | (0<<ADLAR)) // Read the AD conversion result

unsigned int read_adc(unsigned char adc_input) {

ADMUX=adc_input | ADC_VREF_TYPE;

// Delay needed for the stabilization of the ADC input voltage delay_us(10);

// Start the AD conversion ADCSRA|=(1<<ADSC);

// Wait for the AD conversion to complete while ((ADCSRA & (1<<ADIF))==0);

ADCSRA|=(1<<ADIF); return ADCW; } void main(void) { // Port C initialization

// Function: Bit6=In Bit5=Out Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In

DDRC=(0<<DDC6) | (1<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0);

// State: Bit6=T Bit5=0 Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T

PORTC=(0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);

// Port D initialization

// Function: Bit7=In Bit6=Out Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In

DDRD=(0<<DDD7) | (1<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);

// State: Bit7=T Bit6=0 Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T

PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 1000.000 kHz // Mode: Fast PWM top=0xFF

// OC0B output: Disconnected // Timer Period: 0.256 ms // Output Pulse(s):

// OC0A Period: 0.256 ms Width: 0 us

TCCR0A=(1<<COM0A1) | (0<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) | (1<<WGM01) | (1<<WGM00);

TCCR0B=(0<<WGM02) | (0<<CS02) | (1<<CS01) | (0<<CS00); TCNT0=0x00;

OCR0A=0x00; OCR0B=0x00;

// Timer/Counter 0 Interrupt(s) initialization

TIMSK0=(0<<OCIE0B) | (1<<OCIE0A) | (0<<TOIE0);

// ADC initialization

// ADC Clock frequency: 1000.000 kHz // ADC Voltage Reference: AVCC pin // ADC Auto Trigger Source: ADC Stopped

// Digital input buffers on ADC0: On, ADC1: On, ADC2: On, ADC3: On // ADC4: On, ADC5: On

DIDR0=(0<<ADC5D) | (0<<ADC4D) | (0<<ADC3D) | (0<<ADC2D) | (0<<ADC1D) | (0<<ADC0D);

ADMUX=ADC_VREF_TYPE;

ADCSRA=(1<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (1<<ADPS1) | (1<<ADPS0);

ADCSRB=(0<<ADTS2) | (0<<ADTS1) | (0<<ADTS0);

#asm("sei") while (1) { giatriADC = read_adc(0); } }

Một phần của tài liệu Nghiên cứu, thiết kế hệ thống kiểm soát năng lượng cho xe máy điện đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô (Trang 67)