Mô hình mô phỏng bằng Matlab Simulink

Một phần của tài liệu Nghiên cứu và phát triển xe điện một bánh tự cân bằng (Trang 51)

7. Ngày hoàn thành đồ án:

3.3.Mô hình mô phỏng bằng Matlab Simulink

3.3.1. Sơ đồ mô phỏng tổng thể

Hình 3.10. Sơ đồ điều khiển dòng điện pha

3.3.2. Khối mạch nghịch lƣu - khối đo lƣờng - động cơ

Chương 3. Điều khiển động cơ phát động

Hình 3.12. Khối đo lường

3.3.3. Khối Hall Decoder

Dựa vào vị trí rotor ( theo vị trí Hall ) , xác định dòng điện động cơ dẫn theo pha nào ,dẫn theo chiều nào .

Chương 3. Điều khiển động cơ phát động

3.3.4. Khối điều khiển dòng điện HCC

Chương 3. Điều khiển động cơ phát động

3.4. Kết quả mô phỏng và thực nghiệm

Mô phỏng động cơ với sơ đồ trình bày trong hình 3.10 và tham số trong bảng P1.1

3.4.1. Kết quả trên phần mềm mô phỏng Matlab Simulink

Hình 3.15. Dòng điện pha A không điều khiển.

 Đặt dòng đặt I* = 3.4 A

Hình 3.16. Dòng điện pha A có điều khiển.

Nhận xét:

Kết quả mô phỏng cho thấy dòng đo về bám với lượng đặt. Mục tiêu điều khiển dòng điện đã đạt được. 0.25 0.255 0.26 0.265 0.27 0.275 0.28 0.285 0.29 0.295 0.3 -4 -2 0 2 4 Time(s) D o n g d ie n ( A )

Dong dien pha A khong dieu khien

Dong pha a 0.6 0.61 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7 -4 -2 0 2 4 Time(s) D o n g d i e n ( A )

DONG DIEN PHA A

Dong dien dat Dong do

Chương 3. Điều khiển động cơ phát động

3.4.2. Kết quả thực nghiệm

a). Chạy động cơ không điều khiển

Hình 3.17. Dòng điện thực nghiệm pha A không điều khiển.

b). Chạy động cơ có điều khiển

Chương 3. Điều khiển động cơ phát động

Nhận xét:

Dải trễ được đặt là 0.15A, dòng điện đặt là 6A. Ta nhận thấy bộ điều khiển đã cắt được giá trị dòng điện trong khoảng 6A. Tuy nhiên bộ điều khiển lại cắt tới khi dòng điện gần bằng 0A mới đóng lại do tần số trích mẫu hiện tại là chưa đủ để thực hiện kịp ( 16KHz). Giải pháp nâng cao chất lượng điều khiển là cần phải tăng tần số trích mẫu lên nữa.

Chương 4. Triển khai phần cứng và phần mềm

Chƣơng 4

TRIỂN KHAI PHẦN CỨNG VÀ PHẦN MỀM

Chương này giới thiệu về mô hình thực nghiệm của chiếc xe một bánh tự cân bằng đã giới thiệu trong chương 1.

4.1. Triển khai phần cứng 4.1.1. Động cơ

Như đã trình bày trong chương 3, động cơ được sử dụng trong mô hình thực nghiệm là loại động cơ một chiều không chổi than BLDC dùng cho xe điện. Động cơ là loại Hub-Motor có Rotor nằm ngoài Stator. Động cơ có công suất 1200W, điện áp định mức 60V. Động cơ có 24 cặp cực, đầu vào là 3 dây pha, đầu ra là 3 dây tín hiệu Hall do cảm biến Hall bên trong phát ra. Bánh xe và động cơ được thể hiện trong hình 4.1 bên dưới.

Hình 4.1. Động cơ BLDC

4.1.2. Mạch động lực

Chương 4. Triển khai phần cứng và phần mềm

Hình 4.2. Mạch động lực

Động cơ có công suất 1200W ,dòng định mức 20A. Đ ộng cơ BLDC được điều khiển theo chế độ 2 van dẫn do đó tại mỗi thời điểm chỉ có 2 van cùng dẫn: 1 van ở phía High Side, 1 van ở phía Low Side. Vì vậy mỗi van sẽ dẫn trong một phần ba chu kì điện tức là 1200 điện. Dòng điện trung bình qua van là:

Giả thiết hệ số dòng khởi động là 2.5, van được làm mát tự nhiên bằng cánh tản nhiệt. Ta chọn hệ số dữ trữ dòng cho van là 5, ta có dòng làm việc cho van cần chọn là:

Trong quá trình thử nghiệm xe được chạy ở điện áp 24V cấp từ ắc quy. Từ sơ đồ nguyên lý ta có thể thấy khi 1 trong 2 van trên cùng một nhánh dẫn thì van còn lại sẽ có điện áp đặt lên là 24V. Do đó ta có thể chọn van loại MOSFET IRF3205 có các thông số như sau Bảng 4.1. Thông số kỹ thuật của IRF3205 IRF3205 (4.1) (4.2)

Chương 4. Triển khai phần cứng và phần mềm

Một thành phần quan trọng nữa của mạch động lực đó là tụ C. Tụ đóng vai trò hút và phát dòng điện ngay lập tức khi các van đóng cắt [19]. Tụ này còn giúp giảm sự tấn công lên MOSFET khi dòng điện bị cắt đột ngột [20].Công thức tính chọn tụ được đề cập đến trong tài liệu [19]. Ở đây ta chọn tụ có dung lượng .

Ở trên ta đã chọn được van phù hợp với mạch động lực. Công việc tiếp theo chúng ta cần phải thiết kế mạch lái cho MOSFET của mạch động lực.

4.1.3. Mạch lái(Driver)

Do tất cả MOSFET được sử dụng trong mạch động lực là loại N-Channel nên để có thể mở được van phía High Side ta cần phải sử dụng kỹ thuật Boostrap. Ở trong đồ án này sử dụng loại IC lái chuyên dụng đã tích hợp sẵn kỹ thuật này. Đó là IC IR2103 của hãng International Rectifier. Sơ đồ mạch lái được mắc như hình 4.3

Hình 4.3. Mạch lái cho MOSFET

Chương 4. Triển khai phần cứng và phần mềm

Các thành phần của mạch cần phải được xác định ở đây bao gồm: diode boostrap , tụ Boostrap , điện trở cực Gate .

Tụ Boostrap và diode Boostrap được chọn theo công thức [21]:

  ( ) 2.[2. g qbs max ls cbs leak ] b cc f ls min I I Q Q f f C V V V V       

Ở đây là điện tích cần nạp cho cực Gate, là giá trị của dòng điện dò của tụ boostrap, f là tần số hoạt động, là điện áp nguồn cung cấp cho IR2103, là điện áp rơi trên diot boostrap khi nó dẫn, là điện áp rơi trên van dưới(Low Side), là điện áp nhỏ nhất giữa B và S. Theo như chú ý của tài liệu [21] giá trị tụ boostrap sau khi tính xong cần nhân thêm 15 lần nữa. Trong đồ án này ta chọn .

Diode Boostrap phải là loại có khả năng phục hồi nhanh để giảm tối thiểu dòng trả ngược về nguồn Vcc từ tụ boostrap khi van High Side dẫn. Đồng thời diode này cũng phải có khả năng khóa hoàn toàn điện áp nguồn. Diode được chọn trong đồ án là loại 1N4148 có khả năng chịu điện áp ngược tới 100V, thời gian phục hồi là 4ns

4.1.4. Mạch điều khiển

Mạch điều khiển sử dụng vi điều khiển dsPIC4011 làm nhiệm vụ điều khiển động cơ để duy trì sự cân bằng cho xe. dsPIC4011 có lõi DSP cho phép tính toán xử lý ở tốc độ cao đồng thời lại có giá thánh rẻ.

 dsPIC4011 có thể đạt tới tốc độ tính toán 30MIPS

 Khối MCPWM có 6 đầu ra đồng thời có thanh ghi OVDCON rất phù hợp với việc điều khiển động cơ BLDC. Ngoài ra MCPWM còn có khả năng trigger sang ADC cho phép ta có thể trích mẫu dòng điện đồng bộ với PWM. Nhờ đó ta có thể thu được giá trị dòng điện chính xác nhất.

 Khối ADC có tốc độ nhanh,có khả năng trích mẫu nhiều kênh tại một thời điểm phù hợp với việc trích mẫu dòng điện, cảm biến vận tốc góc gyroscope và cảm biến gia tốc accelerometer.

 Khối UART có 2 module cho phép ta có thể sử dụng để debug chương trình và hiệu chỉnh các thông số của bộ điều khiển một cách dễ dàng.

 Khối CN cho phép ta có thể dò được tín hiệu của cảm biến HALL từ đó xác định được vị trí để đưa ra bảng đóng cắt phù hợp.

Chương 4. Triển khai phần cứng và phần mềm

Từ việc sử dụng các khối ngoại vi như ở trên, mạch điều khiển được xây dựng để phục vụ các công việc đó. Sơ đồ nguyên lý các khối trong mạch điều khiển được trình bày trong hình vẽ 4.5.

Hình 4.5. Mạch điều khiển

4.1.5. Mạch nguồn

Vi điều khiển sử dụng nguồn cung cấp 5VDC, mạch lái sử dụng nguồn 12VDC. Do vậy nhóm sử dụng IC LM2576-12V có dòng cung cấp lên đến 3A để đảm bảo đủ công suất cho mạch driver và mạch điều khiển. Nguồn 5V được lấy từ IC LM7805.

Chương 4. Triển khai phần cứng và phần mềm

Hình 4.6. Mạch nguồn

4.1.6. Mạch phản hồi dòng điện

Trong đồ án sử dụng phương pháp điều khiển dòng tổng, do đó ta chỉ cần sử dụng một cảm biến. Cảm biến được sử dụng ở đây là loại ACS712-30A hiệu ứng HALL có khả năng đo dòng điện lên tới 30A. Một số thông số của ACS712 được đề cập đến dưới đây.

Bảng 4.2. Thông số kỹ thuật của ACS712-30A ACS712-30A

Dòng điện đo được A

Cách ly về điện 2.1 kV

Tần số hoạt động 80 Khz

Điện áp đầu ra 0 - 5 V

Nhiệt độ làm việc -40 150 0C

Chương 4. Triển khai phần cứng và phần mềm

Hình 4.7. Mạch cảm biến ACS712-30A

4.1.7. Mạch đo góc nghiêng

Như đã trình bày trong chương 2, để xác định được góc nghiêng của xe ta sử dụng kết hợp 2 cảm biến Gyroscope đo vận tốc góc và cảm biến Accelerometer đo gia tốc.

 Cảm biến gia tốc ADXL311: đo gia tốc theo 2 trục X và Y Bảng 4.3. Cảm biến gia tốc

Hình 4.8. Cấu tạo cảm biến gia tốc.

 Cảm biến vận tốc góc ADXRS401: đo vận tốc góc quay quanh trục yaw Bảng 4.4. Cảm biến vận tốc góc

Hình 4.9. Cấu tạo ADXRS401

ADXL311 Dải đo g Điện áp 0g 2.5 V Dải nhiệt độ 0-70 Độ Độ nhạy 312 mV/g ADXRS401 Độ phân giải 15 mV/độ/s Điện áp ra tại 0 2.5 V Nguồn cấp 5 V Độ phân giải nhiệt độ 8.4 mV/K

Chương 4. Triển khai phần cứng và phần mềm

Để kết hợp 2 cảm biến ta cần phải đặt vị trí 2 cảm biến cho chính xác. Chọn hướng X của Accelerometer để đo góc nghiêng nên ta phải đặt ADXL311 song song với mặt đất, trục X hướng theo hướng đổ của xe, còn Gyro ADXRS401 đặt vuông góc với mặt đất có nghĩa là vuông góc với ADXL311 để hướng quay của Gyro trùng với hướng đổ của xe như trong hình 4.15 ở phía dưới.

4.1.8. Một vài hình ảnh thực nghiệm

Hình 4.10. Mạch động lực

Chương 4. Triển khai phần cứng và phần mềm

Hình 4.12. Mạch nguồn cho mạch điều khiển

Hình 4.13. Cảm biến vận tốc góc ADXRS401

Chương 4. Triển khai phần cứng và phần mềm

Chương 4. Triển khai phần cứng và phần mềm

4.2. Triển khai phần mềm

4.2.1. Phần mềm chƣơng trình điều khiển

Phần mềm được triển khai trên vi điều khiển dsPIC30F4011 với các tác vụ chính sau

Hình 4.16. Các tác vụ chính trong phầm mềm

Vòng lặp trong được thực hiện với tần số cao16KHz để thực hiện bộ điều khiển dòng điện theo phương pháp HCC. Vòng lặp ngoài thực hiện bộ điều khiển góc nghiêng với tần số thấp 100Hz do quá trình tính toán Kalman khá phức tạp và nhiều phép tính.

Chương 4. Triển khai phần cứng và phần mềm

Chương 4. Triển khai phần cứng và phần mềm

4.2.2. Phần mềm giám sát và thu thập dữ liệu

Trong quá trình thực hiện rất cần một phần mềm có khả năng làm nhiệm vụ gỡ rối chương trình trên vi điều khiển đồng thời thu thập dữ liệu đo đạc về giúp cho việc điều khiển trở nên dễ dàng hơn. Có rất nhiều ngôn ngữ lập trình có thể được sử dụng để viết phần mềm này như Visual Basic, Visual C#, MatLab. Nhưng ở đây chúng em chọn ngôn ngữ LABVIEW để thực hiện. LABVIEW và vi điều khiển được kết nối thông qua cổng COM.

a). Giới thiệu về LABVIEW

LabVIEW (viết tắt của nhóm từ Laboratory Virtual Instrumentation Engineering Workbench) là một phần mềm máy tính được phát triển bởi công ty National Instruments, Hoa kỳ [25]. LabVIEW còn được biết đến như là một ngôn ngữ lập trình với khái niệm hoàn toàn khác so với các ngôn ngữ lập trình truyền thống như ngôn ngữ C, Pascal. Bằng cách diễn đạt cú pháp thông qua các hình ảnh trực quan trong môi trường soạn thảo, LabVIEW đã được gọi với tên khác là lập trình G (viết tắt của Graphical, nghĩa là đồ họa).

LabVIEW được dùng nhiều trong các phòng thí nghiệm, lĩnh vực khoa học kỹ thuật như tự động hóa, điều khiển, điện tử, cơ điện tử, hàng không, hóa sinh, điện tử y sinh,... Hiện tại ngoài phiên bản LabVIEW cho các hệ điều hành Windows, Linux, Hãng NI đã phát triển các mô-đun LabVIEW cho máy hỗ trợ cá nhân (PDA). Các chức năng chính của LabVIEW có thể tóm tắt như sau:

- Thu thập tín hiệu từ các thiết bị bên ngoài như cảm biến nhiệt độ, hình ảnh từ webcam, vận tốc của động cơ, ...

- Giao tiếp với các thiết bị ngoại vi thông qua nhiều chuẩn giao tiếp thông qua các cổng giao tiếp: RS232, RS485, USB, PCI, Ethernet

- Mô phỏng và xử lý các tín hiệu thu nhận được để phục vụ các mục đích nghiên cứu hay mục đích của hệ thống mà người lập trình mong muốn

- Xây dựng các giao diện người dùng một cách nhanh chóng và thẩm mỹ hơn nhiều so với các ngôn ngữ khác như Visual Basic, Matlab,..

Cho phép thực hiện các thuật toán điều khiển như PID, Logic mờ (Fuzzy Logic), một cách nhanh chóng thông qua các chức năng tích hợp sẵn trong LabVIEW.

Chương 4. Triển khai phần cứng và phần mềm

b). Giao diện chương trình giám sát và thu thập dữ liệu

Hình 4.18. Giao diện chương trình giám sát và thu thập dữ liệu

c). Code chương trình thực hiện bằng ngôn ngữ LABVIEW

Kết luận

KẾT LUẬN

Sau một quá trình học tập và nghiên cứu, nhóm chúng em đã thu được những kết quả nhất định. Những kết luận sau đây là sự đánh giá tổng hợp cho toàn bộ quá trình nghiên cứu của nhóm:

 Mô hình hóa hệ thống xe một bánh tự cân bằng

 Đề xuất phương pháp điều khiển PD cho xe một bánh tự cân bằng

 Thực hiện mô phỏng và kiểm nghiệm thuật toán lọc Kalman trên vi điều khiển dsPIC30F4011

 Điều khiển động cơ BLDC sử dụng bộ điều khiển dải trễ dòng điện HCC

 Xây dựng chương trình giám sát và thu thập dữ liệu. Công việc tiếp theo của nhóm là:

- Hoàn thiện code điều khiển động cơ trên vi điều khiển dsPIC30F4011 để cải thiện những vướng mắc đã trình bày trong mục 3.4.2.

- Tiến hành kiểm nghiệm khả năng đưa xe trở lại trạng thái cân bằng như phương pháp đề xuất trong mục 2.2.2

- Thử nghiệm xe chạy trên đường có người lái.

Một lần nữa nhóm chúng em xin chân thành cảm ơn sự hướng dẫn, giúp đỡ tận tình của thầy giáo TS. Nguyễn Hồng Quang, thầy giáo Nguyễn Duy Đỉnh và các thầy cô trong bộ môn Tự Động Hóa đã nhiệt tình giúp đỡ, động viên và tạo điều kiện trong quá trình chúng em làm đồ án tại phòng C9-102 cũng như trong suốt những năm học chuyên ngành vừa qua.

Em xin chân thành cảm ơn.

Hà Nội, ngày 5 tháng 06 năm 2013

Sinh viên thực hiện

Tài liệu tham khảo

TÀI LIỆU THAM KHẢO

[1] A. Kadis, D. Caldecott, A. Edwards, M. Jerbic, R. Madigan, M. Haynes, B.Cazzolato and Z. Prime, “Modelling, simulation and control of an electric unicycle”, The University of Adelaide, Australia, 2010.

[2] Nguyễn Hồng Quang, Nguyễn Hoàng Anh, “Nghiên cứu, thiết kế và chế tạo xe 2 bánh tự cân bằng”, Công trình dự thi giải thưởng “Sinh viên nghiên cứu khoa học”,2007.

[3] Nguyễn Gia Minh Thảo, Mai Tuấn Đạt, Dương Hoài Nghĩa, Nguyễn Hữu Phúc, “Nonlinear Controllers For Two – Wheeled Self – Balancing Robot”, The 2011 ASEAN Symposium Control, Ho Chi Minh City, Viet Nam, November 8-9, 2011. [4] Nguyễn Gia Minh Thảo, Mai Tuấn Đạt, Dương Hoài Nghĩa, Nguyễn Hữu Phúc,

“A PID Backstepping Controller For Two – Wheeled Self – Balancing Robot”,

IFOST 2010 Proceedings, Ulsan, South Korea, 13 – 15 October, 2010.

[5] Nguyễn Mạnh Tiến, Điều khiển robot công nghiệp, NXB Khoa Học Kỹ Thuật, 2009

[6] http://en.wikipedia.org/wiki/Inertial_measurement_unit

[7] http://web.mit.edu/scolton/www/filter.pdf

[8] http://ocw.mit.edu/courses/aeronautics-and-astronautics/16-333-aircraft-stability

Một phần của tài liệu Nghiên cứu và phát triển xe điện một bánh tự cân bằng (Trang 51)