(Đồ án tốt nghiệp ngành Công nghệ kỹ thuật Ô tô) Thiết kế, chế tạo bộ kit thí nghiệm điều khiển tự động(Đồ án tốt nghiệp ngành Công nghệ kỹ thuật Ô tô) Thiết kế, chế tạo bộ kit thí nghiệm điều khiển tự động(Đồ án tốt nghiệp ngành Công nghệ kỹ thuật Ô tô) Thiết kế, chế tạo bộ kit thí nghiệm điều khiển tự động(Đồ án tốt nghiệp ngành Công nghệ kỹ thuật Ô tô) Thiết kế, chế tạo bộ kit thí nghiệm điều khiển tự động(Đồ án tốt nghiệp ngành Công nghệ kỹ thuật Ô tô) Thiết kế, chế tạo bộ kit thí nghiệm điều khiển tự động(Đồ án tốt nghiệp ngành Công nghệ kỹ thuật Ô tô) Thiết kế, chế tạo bộ kit thí nghiệm điều khiển tự động(Đồ án tốt nghiệp ngành Công nghệ kỹ thuật Ô tô) Thiết kế, chế tạo bộ kit thí nghiệm điều khiển tự động(Đồ án tốt nghiệp ngành Công nghệ kỹ thuật Ô tô) Thiết kế, chế tạo bộ kit thí nghiệm điều khiển tự động(Đồ án tốt nghiệp ngành Công nghệ kỹ thuật Ô tô) Thiết kế, chế tạo bộ kit thí nghiệm điều khiển tự động(Đồ án tốt nghiệp ngành Công nghệ kỹ thuật Ô tô) Thiết kế, chế tạo bộ kit thí nghiệm điều khiển tự động(Đồ án tốt nghiệp ngành Công nghệ kỹ thuật Ô tô) Thiết kế, chế tạo bộ kit thí nghiệm điều khiển tự động(Đồ án tốt nghiệp ngành Công nghệ kỹ thuật Ô tô) Thiết kế, chế tạo bộ kit thí nghiệm điều khiển tự động(Đồ án tốt nghiệp ngành Công nghệ kỹ thuật Ô tô) Thiết kế, chế tạo bộ kit thí nghiệm điều khiển tự động(Đồ án tốt nghiệp ngành Công nghệ kỹ thuật Ô tô) Thiết kế, chế tạo bộ kit thí nghiệm điều khiển tự động(Đồ án tốt nghiệp ngành Công nghệ kỹ thuật Ô tô) Thiết kế, chế tạo bộ kit thí nghiệm điều khiển tự động(Đồ án tốt nghiệp ngành Công nghệ kỹ thuật Ô tô) Thiết kế, chế tạo bộ kit thí nghiệm điều khiển tự động(Đồ án tốt nghiệp ngành Công nghệ kỹ thuật Ô tô) Thiết kế, chế tạo bộ kit thí nghiệm điều khiển tự động
Trang 2LỜI CẢM ƠN
Đối với sinh viên trường Đại học Sư phạm kỹ thuật Thành phố Hồ Chí Minh Đồ án tốt nghiệp là một minh chứng rõ nhất cho sự đúc kết những kiến thức đã học sau bốn năm học tập tại trường Trong quá trình thực hiện đề tài, nhóm chúng em nhận được rất nhiều sự hỗ trợ, hướng dẫn và chỉ bảo tận tình từ các quý thầy và các bạn
Trước hết nhóm chúng em xin chân thành cảm ơn các quý thầy từ bộ môn Điện Tử Ô tô, cũng như các thầy cô trong khoa Cơ Khí Động Lực, trường Đại học Sư phạm kỹ thuật Thành phố Hồ Chí Minh, những người đã dìu dắt chúng em trong suốt thời gian học tập Được các quý thầy cô tận tình chỉ dạy và giúp đỡ từ những kiến thức chuyên môn trong nhà trường đến thực tiễn trong cuộc sống đã giúp chúng em hiểu biết rõ hơn về ngành nghề mà mình đã chọn
Từ những nền tảng kiến thức và hiểu biết vững chắc đó đã giúp chúng em hoàn thành tập đồ
án này và là hành trang để chúng em bước vào đời
Đặc biệt nhóm gửi lời cảm ơn sâu sắc đến Thạc sĩ Giảng viên NGUYỄN TRUNG HIẾU
Giáo viên hướng dẫn đề tài, người thầy đã định hướng và tận tình hướng dẫn, chỉ bảo, tạo điều kiện, động viên và giúp đỡ chúng em rất nhiều về mặt tinh thần cũng như kiến thức để chúng
em vượt qua những ngày tháng khó khăn trong quá trình thực hiện đồ án này Ngoài ra nhóm chúng em cũng gửi lời cảm ơn đến các anh, các bạn đang làm việc và nghiên cứu tại phòng thí nghiệm Điều khiển tự động thuộc khoa Cơ Khí Động Lực trường Đại học Sư phạm kỹ thuật Thành phố Hồ Chí Minh
Mặc dù đã rất cố gắng và nỗ lực nhiều, nhưng do kiến thức còn hạn chế cũng như thời gian nghiên cứu là có hạn nên những thành quả đạt được không tránh khỏi những thiếu sót Do đó chúng em kính mong nhận được những sự đóng góp, chỉ dạy của quý thầy cô để chúng em hoàn thiện đồ án được tốt hơn
Nhóm chúng em xin chân thành cảm ơn!
Tp Hồ Chí Minh, ngày … tháng năm 2021
Nhóm sinh viên thực hiện
BÙI NHỰT QUANG TRẦN THỊ NGỌC MỸ
Trang 3TÓM TẮT
Trong thời đại hiện nay với sự phát triển không ngừng của khoa học kỹ thuật Lĩnh vực điều khiển đã và đang là một trong những ngành có vai trò rất quan trọng trong đời sống xã hội, sản xuất công nghiệp, quân sự, hàng không vũ trụ… Bất cứ ở một vị trí nào một công việc
gì mỗi người trong chúng ta đều phải tiếp cận với điều khiển, nó là khâu quan trọng cuối cùng trong mọi hoạt động của chúng ta Trên thế giới và trong nước đã có nhiều công bố về các công trình nghiên cứu các hệ thống điều khiển tự động
Vì những lí do trên chúng em quyết định chọn đề tài “THIẾT KẾ, CHẾ TẠO BỘ KIT THÍ NGHIỆM ĐIỀU KHIỂN TỰ ĐỘNG”
Để chế tạo bộ KIT thí nghiệm điều khiển tự động đầu tiên nhóm tìm hiểu những công trình nghiên cứu trước đó để kế thừa ưu điểm và cố gắng khắc phục những hạn chế Tiếp đó nghiên cứu về cơ sở lý thuyết điều khiển tự động, phân tích động học các hệ thống, tiến hành mô phỏng thu thập dữ liệu, viết giải thuật trên Matlab/Simulink và thiết kế chế tạo mô hình thực nghiệm
Nhóm đã thiết kế và hoàn thiện các mô hình thí nghiệm: Điều khiển tốc và vị trí DC motor, điều khiển cân bằng con lắc ngược xoay (Inverted pendulum) và điều khiển cân bằng Aeropendulum Đáp ứng được những yêu cầu kỹ thuật về hoạt động như: độ ổn định khi hoạt động, thời gian đáp ứng nhanh, độ vọt lố thấp và giảm sai số đến mức thấp… Sử dụng Board mạch điều khiển STM32F4 Discovery để khắc phục những hạn chế của thư viện Matlab/Simulink trên Board mạch phổ thông Arduino Mega 2560
Các mô hình thí nghiệm hiện tại chỉ ở mức độ dùng để nghiên cứu và học tập về hệ thống điều khiển tự động, nhưng sẽ là tiền đề và cơ sở quan trọng để nghiên cứu phát triển các hệ thống có thể ứng dụng vào sản sản xuất nói chung và ngành công nghệ kỹ thuật ô tô nói riêng như: cánh tay robot trong nhà máy lắp ráp ô tô, hệ thống ga tự động (Cruise Control), Bướm
ga điện tử (Throttle by Wire), hệ thống chống bó cứng phanh ABS,…
Trang 4MỤC LỤC
LỜI CẢM ƠN i
TÓM TẮT ii
MỤC LỤC iii
DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU vi
DANH MỤC CÁC HÌNH vii
DANH MỤC CÁC BẢNG xiii
CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI 1
Tình hình nghiên cứu trong và ngoài nước 1
Tổng quan tình hình nghiên thuộc lĩnh vực đề tài 1
Danh mục các công trình liên quan 1
Tính cấp thiết của đề tài 1
Mục tiêu của đề tài 1
Phương pháp và phạm vi nghiên cứu 2
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 3
Lịch sử phát triển lý thuyết điều khiển 3
Điều khiển kinh điển (classical control) 3
Điều khiển hiện đại (modern control) 4
Điều khiển thông minh (intelligent control) 4
Thành phần cơ bản của hệ thống điều khiển 5
Thiết kế bộ điều khiển 6
Phân loại thiết kế bộ điều khiển 6
Bộ điều khiển PID 7
CHƯƠNG 3 GIỚI THIỆU PHẦN MỀM VÀ PHẦN CỨNG 9
Phần mềm Matlab/Simulink 9
Giới thiệu về board mạch ARDUINO MEGA 2560 11
Giới thiệu về board mạch ARM STM32F407 DISCOVERY 13
Giới thiệu về mạch cầu H và board mạch công suất 700W Single H-Brigde 14
Board mạch công suất 700W Single H-Brigde 16
Trang 5Mạch cầu H L298 18
CHƯƠNG 4 MÔ HÌNH DC MOTOR 19
Giới thiệu phần cứng mô hình DC motor 19
Xây dựng phương trình động học 19
Thông số DC motor 20
Thiết lập phương trình vi phân 20
Thiết lập hàm truyền 21
Thiết lập không gian trạng thái 25
Mô Phỏng 25
Mô hình thực nghiệm 29
Mô hình, sơ đồ khối và giải thuật 29
Kết quả thực nghiệm bộ điều khiển sử dụng Board ARDUINO 2560 32
Kết quả thực nghiệm bộ điều khiển sử dụng Board STM32F4 36
So sánh, đánh giá kết quả đạt được 38
CHƯƠNG 5 MÔ HÌNH INVERTED PENDULUM 45
Giới thiệu phần cứng mô hình con lắc ngược (Inverted Pendulum) 45
DC motor 45
Cảm biến góc quay (Encoder) 46
Xây dựng phương trình động học 46
Thông số con lắc 46
Thiết lập phương trình vi phân 47
Thiết lập hàm truyền 49
Mô phỏng mô hình con lắc ngược 50
Mô phỏng con lắc ngược 50
Mô phỏng bộ điều khiển con lắc ngược bằng PID 52
Mô hình thực nghiệm 53
Mô hình, sơ đồ khối và giải thuật 54
Bộ điều khiển con lắc ngược sử dụng board Arduino Mega 2560 56
Bộ điều khiển con lắc ngược sử dụng board STM32F4 58
Trang 6So sánh, đánh giá kết quả đạt được 60
CHƯƠNG 6 MÔ HÌNH AEROPENDULUM 62
Giới thiệu phần cứng mô hình Aeropendulum 62
Xây dựng phương trình động học 63
Thiết lập phương trình vi phân 64
Thiết lập hàm truyền 65
Tính ổn định hệ thống 65
Thiết lập hàm truyền Aeropendulum bằng nhận diện hệ thống 66
Mô phỏng bộ điều khiển Aeropendulum 69
Mô hình thực nghiệm 70
Mô hình, sơ đồ khối và giải thuật 70
Kết quả thực nghiệm bộ điều khiển sử dụng Board Arduino Mega 2560 72
Kết quả thực nghiệm bộ điều khiển sử dụng Board STM32F4 75
So sánh, đánh giá kết quả đạt được 77
CHƯƠNG 7 KẾT LUẬN VÀ ĐỀ NGHỊ 78
Kết quả thực hiện 78
Hướng phát triển đề tài 78
DANH MỤC TÀI LIỆU THAM KHẢO 79
PHỤ LỤC 80
Trang 7DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU
ADC Analog to Digital Converter
DAC Digital to Analog Coverter
DC motor Direct Current motor
I2C Inter-Intergrated Circuit
MATLAB Maxtric Laboratory
MIMO Multi-Input/Multi-Ouput
PID Proportional Intergral Derivative
QĐNS Qũy đạo nghiệm số
SISO Single-Input/Single-Output
Trang 8DANH MỤC CÁC HÌNH
Hình 2.1 Sơ đồ khối hệ thống điều khiển 5
Hình 2.2 Sơ đồ khối hiệu chỉnh nối tiếp 6
Hình 2.3 Sơ đồ khối hồi tiếp trạng thái 6
Hình 2.4 Sơ đồ khối PID 7
Hình 2.5 Sơ đồ bộ điều khiển P 7
Hình 2.6 Sơ đồ bộ điều khiển I 8
Hình 2.7 Sơ đồ bộ điều khiển D 8
Hình 3.1 Phần mềm MATLAB & SIMULINK 9
Hình 3.2 Giao diện Simulink 10
Hình 3.3 Các khối cơ bản của thư viện Simulink support package for arduino hardware 11
Hình 3.4 Các khối cơ bản thư viện Waijung Blockset 11
Hình 3.5 Board Arduino Mega 2560 12
Hình 3.6 Sơ đồ chân Board Arduino Mega 2560 12
Hình 3.7 Board mạch ARM STM32F407 DISCOVERY 14
Hình 3.8 Sơ đồ chân Board mạch ARM STM32F407 DISCOVERY 14
Hình 3.9 Nguyên lý mạch cầu H 15
Hình 3.10 Điều khiển động cơ quay thuận và ngược 15
Hình 3.11 Sơ đồ nguyên lý mạch cầu H 16
Hình 3.12 Board mạch công suất 700W Single H-Brigde 16
Hình 3.13 Sơ đồ chân Board mạch công suất 700W Single H-Brigde 17
Hình 3.14 Mạch cầu H L298 18
Hình 4.1 Motor R01SAKOE 19
Hình 4.2 Mạch điện phần cứng và sơ đồ chuyển động của roto 20
Hình 4.3 Code thu thập dữ liệu cho Toolbox 22
Hình 4.4 Dữ liệu được đưa ra Workspace bằng khối Simout 22
Hình 4.5 Cửa sổ làm việc System Identification 23
Hình 4.6 Cửa sổ nhập thông số của dữ liệu 23
Hình 4.7 Hệ số của hàm truyền và dạng hàm truyền sau khi chương trình xử lý xong 24
Trang 9Hình 4.8 Độ chính xác của hàm truyền so với hoạt động thực tế (Màu đỏ thực tế, màu xanh
được mô phỏng từ hàm truyền vừa tìm) 24
Hình 4.9 Mô phỏng hàm truyền tốc độ DC mô tơ 26
Hình 4.10 Kết quả mô phỏng hàm truyền tốc độ 26
Hình 4.11 Mô phỏng hàm truyền vị trí DC mô tơ 26
Hình 4.12 Kết quả mô phỏng hàm truyền vị trí 27
Hình 4.13 Khối PID liên tục 27
Hình 4.14 Bộ điều khiển PID liên tục điều khiển tốc độ động cơ 28
Hình 4.15 Kết quả mô phỏng tốc độ motor bằng PID liên tục 28
Hình 4.16 Bộ điều khiển PID liên tục điều khiển vị trí động cơ 29
Hình 4.17 Kết quả mô phỏng vị trí motor bằng PID liên tục 29
Hình 4.18 Mô hình bộ KIT thí nghiệm DC motor sử dụng Board Arduino Mega 2560 30
Hình 4.19 Mô hình bộ KIT thí nghiệm DC motor sử dụng Board STM32F4 Discovery 30
Hình 4.20 Sơ đồ khối điều khiển DC motor 31
Hình 4.21 Sơ đồ mạch điện điều khiển DC mô tơ bằng Arduino Mega 2560 32
Hình 4.22 Giải thuật điều khiển tốc độ DC mô tơ bằng Arduino Mega 2560 32
Hình 4.23 Khối Encoder Read 32
Hình 4.24 Khối Actuator 33
Hình 4.25 Kết quả điều khiển tốc độ DC motor bằng Arduino 33
Hình 4.26 Kết quả chi tiết điều khiển tốc độ DC motor bằng Arduino 34
Hình 4.27 Giải thuật điều khiển vị trí DC motor bằng Arduino 34
Hình 4.28 Kết quả điều khiển vị trí DC motor bằng Arduino 35
Hình 4.29 Kết quả điều khiển chi tiết vị trí DC motor bằng Arduino 35
Hình 4.30 Sơ đồ mạch điện bộ điều khiển DC motor bằng STM32F4 36
Hình 4.31 Giải thuật điều khiển Tốc độ DC motor 36
Hình 4.32 Kết quả điều khiển tốc độ DC motor STM32F4 đầu vào xung vuông chu kì 4s 37
Hình 4.33 Giải thuật điều khiển Vị trí DC motor bằng STM32F4 37
Hình 4.34 Kết quả điều khiển vị trí DC motor STM32F4 đầu vào là xung vuông chu kì 5s 38 Hình 4.35 Kết quả điều khiển tốc độ sử dụng ARDUINO MEGA 2560 – chu kì 5s 39
Trang 10Hình 4.36 Kết quả điều khiển tốc độ sử dụng STM32F407 DISCOVERY – xung vuông, chu
kỳ 5s (xanh - mong muốn; đỏ – thực tế) 39
Hình 4.37 Kết quả của bộ điều khiển tốc độ sử dụng ARDUINO MEGA 2560 – xung vuông, chu kỳ 1s (xanh - mong muốn; nâu – thực tế) 40
Hình 4.38 Kết quả của bộ điều khiển tốc độ sử dụng STM32F4 DISCOVERY– xung vuông, chu kỳ 1s (xanh lục - mong muốn; đỏ – thực tế) 40
Hình 4.39 Kết quả của bộ điều khiển vị trí sử dụng ARDUINO MEGA 2560 – đầu vào xung vuông, chu kì 6s (xanh - mong muốn; nâu – thực tế) 41
Hình 4.40 Kết quả của bộ điều khiển vị trí sử dụng STM32F4 DISCOVERY– đầu vào xung vuông, chu kì 6s (xanh - mong muốn; đỏ – thực tế) 41
Hình 4.41 Kết quả của bộ điều khiển vị trí sử dụng ARDUINO MEGA 2560 – đầu vào xung vuông, chu kì 1s (xanh - mong muốn; nâu – thực tế) 42
Hình 4.42 Kết quả của bộ điều khiển vị trí sử dụng STM32F4 DISCOVERY – đầu vào xung vuông, chu kì 1s (xanh - mong muốn; đỏ – thực tế) 42
Hình 4.43 Kết quả của bộ điều khiển vị trí sử dụng ARDUINO MEGA 2560 – đầu vào xung sin, tần số pi (xanh - mong muốn; nâu – thực tế) 43
Hình 4.44 Kết quả của bộ điều khiển vị trí sử dụng STM32F4 DISCOVERY – đầu vào xung sin, tần số pi(xanh - mong muốn; đỏ – thực tế) 43
Hình 5.1 Mô hình tổng quan con lắc ngược (Inverted pendulum) 45
Hình 5.2 Cảm biến góc quay (Encoder) 46
Hình 5.3 Sơ đồ vật thể tự do hệ con lắc 47
Hình 5.4 Hình con lắc theo phương chiếu thẳng bằng 47
Hình 5.5 Hình con lắc theo phương chiếu thẳng đứng 47
Hình 5.6 Khối mô phỏng con lắc ngược 50
Hình 5.7 Khối hàm truyền sử dụng mô phỏng con lắc ngược 50
Hình 5.8 Khối mô phỏng con lắc 50
Hình 5.9 Sơ đồ khối xây dựng mô phỏng hệ con lắc 51
Hình 5.10 Sơ đồ khối mô phỏng đáp ứng của hệ con lắc 51
Hình 5.11 Khối Signal Builder 51
Trang 11Hình 5.12 Kết quả đáp ứng của con lắc khi chưa có bộ điều khiển 52
Hình 5.13 Khối PID liên tục 52
Hình 5.14 Bộ điều khiển PID mô phỏng con lắc ngược 53
Hình 5.15 Kết quả đáp ứng cân bằng con lắc ngược 53
Hình 5.16 Mô hình con lắc ngược sử dụng board STM32F4 54
Hình 5.17 Mô hình con lắc ngược sử dụng board Arduino 54
Hình 5.18 Sơ đồ khối bộ điều khiển cân bằng con lắc ngược 55
Hình 5.19 Sơ đồ mạch điện bộ điều khiển con lắc ngược sử dụng Board Arduino 56
Hình 5.20 Giải thuật bộ điều khiển con lắc ngược sử dụng Board Arduino 56
Hình 5.21 Giải thuật bên trong khối Encoder 56
Hình 5.22 Giải thuật bên trong khối Actuator 57
Hình 5.23 Kết quả thực nghiệm bộ điều khiển cân bằng con lắc ngược bằng Board Arduino 57
Hình 5.24 Sơ đồ mạch điện bộ điều khiển con lắc ngược bằng STM32F4 58
Hình 5.25 Giải thuật điều khiển cân bằng con lắc ngược trên Board STM32F4 58
Hình 5.26 Khối Encoder Read 59
Hình 5.27 Khối Actuator 59
Hình 5.28 Kết quả thực nghiệm bộ điều khiển 59
Hình 5.29 So sánh kết quả thực nghiệm của hai bộ điều khiển 60
Hình 6.1 Mô hình tổng quan Aeropendulum 62
Hình 6.2 Motor N720 62
Hình 6.3 Biến trở 63
Hình 6.4 Mạch cầu H L298 63
Hình 6.5 Mô hình Aeropendulum 64
Hình 6.6 Mặt phẳng phức 65
Hình 6.7 Chương trình thu thập dữ liệu từ hệ thống 66
Hình 6.8 Dữ liệu thu thập được từ hệ thống 67
Hình 6.9 Dữ liệu được vào identification toolbox 67
Hình 6.10 Dữ liệu nhập vào 68
Trang 12Hình 6.11 Hàm truyền được ước tính 68
Hình 6.12 Mô phỏng bộ điều khiển Aeropendunlum với hàm truyền biến đổi laplace 69
Hình 6.13 Kết quả mô phỏng bộ điều khiển Aeropendulum 69
Hình 6.14 Mô phỏng bộ điều khiển Aeropendulum bằng hàm truyền nhận diện hệ thống 69
Hình 6.15 Kết quả mô phỏng bộ điều khiển Aeropendulum bằng hàm truyền nhận diện hệ thống 70
Hình 6.16 Mô hình thiết kế Aerospendulum 70
Hình 6.17 Mô hình thực nghiệm Aerospendulum 71
Hình 6.18 Sơ đồ khối bộ điều khiển Aeropendulum 71
Hình 6.19 Sơ đồ mạch điện bộ điều khiển sử dụng Board Arduino 72
Hình 6.20 Giải thuật bộ điều khiển trên Board Arduino 72
Hình 6.21 Giải thuật bên trong khối Analog READ 73
Hình 6.22 Giải thuật bên trong khối ACTUATOR 73
Hình 6.23 Kết quả đáp ứng khi khởi động bằng bộ điều khiển Aeropendulum sử dụng Board Arduino 73
Hình 6.24 Kết quả bộ điều khiển Aeropendulum sử dụng Board Arduino 74
Hình 6.25 Sơ đồ mạch điện bộ điều khiển sử dụng Board STM32F4 75
Hình 6.26 Giải thuật bộ điều khiển sử dụng Board STM32F4 75
Hình 6.27 Kết quả đáp ứng bộ điều khiển sử dụng Board STM32F4 76
Hình 6.28 Kết quả bộ điều khiển Aeropendulum sử dụng Board STM32F4 76
Hình 0.1 Giao diện Website Waijung Blockset (1) 80
Hình 0.2 Giao diện Website Waijung Blockset (2) 80
Hình 0.3 Biểu tượng phần mềm Matlab/Simulink 81
Hình 0.4 Thư viện phần mềm Simulink (1) 81
Hình 0.5 Thư viện phần mềm Simulink (2) 82
Hình 0.6 Demo trong Simulink 83
Hình 0.7 Giao diện sau khi nạp thành công 83
Hình 0.8 Run file setup 84
Hình 0.9 Chọn Next để tiếp tục cài đặt 84
Trang 13Hình 0.10 Quá trình cài đặt 85
Hình 0.11 Hai cửa sổ hiện ra chọn Next và Finish 85
Hình 0.12 Mô-đun UART PL2303 86
Hình 0.13 Kết nối UART với máy tính 86
Hình 0.14 Giao diện thiết lập UART Setup (trái) và giao diện UART Tx (phải) 87
Hình 0.15 Giải nén phần mềm 87
Hình 0.16 Sơ đồ đấu dây DC Motor với Board Arduino 88
Hình 0.17 Sơ đồ đấu dây DC Motor với Board STM32 88
Hình 0.18 Khối Encoder Read 89
Hình 0.19 Khối Actuator 89
Hình 0.20 Code vị trí DC Motor với Board Arduino 91
Hình 0.21 Code vị trí DC Motor với Board STM32 91
Hình 0.22 Code hiển thị kết quả từ Serial trên Matlab 91
Hình 0.23 Nhập các giá trị Kp, Ki, Kd 92
Hình 0.24 Màn hình hiển thị Scope 92
Hình 0.25 Code điều khiển tốc độ trên Arduino Mega 2560 94
Hình 0.26 Code điều khiển tốc độ trên STM32F4 94
Hình 0.27 Màn hình hiển thị Scope 95
Hình 0.28 Sơ đồ đấu dây điều khiển con lắc ngược trên Arduino Mega 97
Hình 0.29 Sơ đồ đấu dây điều khiển con lắc ngược trên STM32 97
Hình 0.30 Code điều khiển cân bằng con lắc ngược trên Arduino 99
Hình 0.31 Code cân bằng con lắc ngược trên STM32 99
Hình 0.32 Thay đổi tăng dần các giá trị Kp, Ki, Kd 100
Hình 0.33 Màn hình hiển thị scope 100
Hình 0.34 Sơ đồ đấu dây mô hình trên Arduino Mega 2560 102
Hình 0.35 Sơ đồ đấu dây mô hình trên STM32F4 102
Hình 0.36 Chương trình cân bằng con lắc Aeropendulum trên Arduino 103
Hình 0.37 Chương trình cân bằng con lắc Aeropendulum trên STM32F4 103
Hình 0.38 Thay đổi tăng dần các giá trị Kp, Ki, Kd 104
Trang 14DANH MỤC CÁC BẢNG
Bảng 3.1 Thông số Arduino 2560 13
Bảng 3.2 Thông số 700W H Brigde 17
Bảng 4.1 So sánh kết quả hai bộ điều khiển DC motor 44
Bảng 5.1 So sánh kết quả thực nghiệm hai bộ điều khiển con lắc ngược 60
Bảng 6.1 So sánh kết quả thực nghiệm hai bộ KIT Aeropendulum 77
Phụ lục: Bảng 0.1 Bảng kết quả tốc độ RPM theo điện áp 90
Bảng 0.2 Bảng kết quả điều khiển vị trí trên Arduino 93
Bảng 0.3 Bảng kết quả điều khiển vị trí trên STM32 93
Bảng 0.4 Kết quả điều khiển tốc độ trên Arduino 96
Bảng 0.5 Bảng kết quả điều khiển tốc độ trên STM32 96
Bảng 0.6 Bảng kết quả điều khiển cân bằng con lắc ngược trên Board Arduino 101
Bảng 0.7 Bảng kết quả điều khiển cân bằng con lắc ngược trên Board STM32F4 101
Bảng 0.8 Bảng kết quả điều khiển cân bằng Aeropendulum trên Board Arduino 104
Bảng 0.9 Bảng kết quả điều khiển cân bằng Aeropendulum trên Board STM32F4 105
Trang 15TỔNG QUAN ĐỀ TÀI Tình hình nghiên cứu trong và ngoài nước
Tổng quan tình hình nghiên thuộc lĩnh vực đề tài
Trong nước: Hiện nay có nhiều đề tài nghiên cứu dùng các lý thuyết điều khiển khác nhau:
PID, Fuzzy, LQR đề điều khiển robot cân bằng, con lắc ngược thông qua điều khiền tốc độ
và vị trí của DC motor Tuy nhiên con lắc ngược và đặc biệt là robot cân bằng cũng luôn đặt
ra nhiều vấn đề khó khăn đối với lý thuyết điều khiển cũng như thiết bị điều khiển chung vì
nó là hệ phi tuyến
Ngoài nước: Công trình nghiên cứu chủ yếu là thiết kế hoàn chỉnh một module điều khiển
duy nhất từ phần xử lý tín hiệu, xử lý và tính toán trung tâm, công suất
Danh mục các công trình liên quan
Nguyễn Tùng Lâm – Nguyễn Tường Duy, Đồ án tốt nghiệp “Thiết kế chế tạo bộ KIT thí nghiệm phục vụ môn học điều khiển tự động”, Tp Hồ Chí Minh, 2016
Trần Anh Tuấn – Lê Quang Tài, Đồ án tốt nghiệp “Ứng dụng ARM STM32F4 Discovery và Matlab/Simulink trong thiết kế các bộ điều khiển”
Tính cấp thiết của đề tài
Môn học ứng dụng điều khiển tự động trên ô tô là môn học được áp dụng cho sinh viên năm 3 ngành công nghệ kỹ thuật ô tô của trường Đại học Sư phạm Kỹ thuật TPHCM Môn học này trang bị cho sinh viên các kiến thức về hệ thống điều khiển tự động Mặc dù đã có một số ví dụ minh họa và mô hình giảng dạy nhưng qua thời gian thì một số mô hình cũng đã trở nên hư hỏng cần phải phục chế lại Thêm vào đó với việc dùng Board Arduino Mega 2560 vào bộ KIT DC motor và con lắc ngược cũng có một số hạn chế như là trong một số thời điểm cần đáp ứng nhanh thì vẫn chưa thực hiện được do tốc độ xử lí của Arduino chưa cao
Từ vấn đề trên chúng em thấy cần thiết phải nghiên cứu và ứng dụng một Board mạch khác
có bộ nhớ và tốc độ xử lí nhanh hơn để đáp ứng cho vào các mô hình trên mà cụ thể là Board ARM STM32F407 DISCOVERY
Mục tiêu của đề tài
Tìm hiểu các thiết bị ngoại vi và hướng dẫn sử dụng Board Arduino Mega 2560 và ARM STM32F407 DISCOVERY khi nhúng vào Matlab/Simulink
Trang 16Đọc được tín hiệu cảm biến tốc độ và vị trí để điều khiển các mô hình điều khiển
Điều khiển tốc độ và vị trí DC motor khi thay đổi các tín hiệu đầu vào (hằng số, xung vuông và sóng sin) và tăng dần thời gian đáp ứng
Dựa vào bài toán vị trí DC motor điều khiển Inverted pendulum (Con lắc ngược) và Aeropendulum
Thiết kế, chế tạo mô hình DC motor, con lắc ngược và aeropendulum
Điều khiển, lấy kết quả thực nghiệm các mô hình và so sánh kết quả điều khiển dùng Board Arduino Mega 2560
Phương pháp và phạm vi nghiên cứu
Phương pháp nghiên cứu kết hợp giữa lý thuyết và thực nghiệm, nghiên cứu các tài liệu về
lý thuyết điều khiển tự động và các tài liệu có liên quan, dựa vào phần tính toán mô phỏng của các đề tài trước để hiểu được lý thuyết thuật toán và mô phỏng Tìm hiểu các thiết bị ngoại vi
và bảng dữ liệu của Board ARM STM32F407 để thiết lập mô hình điều khiển
Phạm vi nghiên cứu gồm điều khiển vị trí, tốc độ DC motor, cân bằng con lắc ngược và aeropendulum Từ đó, chúng em đánh giá kết quả lý thuyết và kết quả thực nghiệm dựa trên
mô phỏng và thực nghiệm đồng thời đưa ra các so sánh về tốc độ xử lí của 2 board mạch Arduino và ARM STM32F407 Cuối cùng chúng em đưa ra nhận xét và đề xuất hướng phát triển đề tài
Trang 17CƠ SỞ LÝ THUYẾT Lịch sử phát triển lý thuyết điều khiển
Lý thuyết điều khiển tự động là một nhánh liên ngành của kỹ thuật và toán học, liên quan đến hành vi của các hệ thống động lực Đầu ra mong muốn của một hệ thống được gọi là giá trị đặt trước Khi một hoặc nhiều biến đầu ra của hệ thống cần tuân theo một giá trị đặt trước theo thời gian, một bộ điều khiển điều khiển các đầu vào cho hệ thống để đạt được hiệu quả mong muốn trên đầu ra hệ thống
Điều khiển kinh điển (classical control)
Lý thuyết điều khiển kinh điển (trước 1960) mô tả hệ thống trong miền tần số (phép biến đổi Fourier) và mặt phẳng s (phép biến đổi Laplace) Do dựa trên các phép biến đổi này, lý thuyết điều khiển kinh điển chủ yếu áp dụng cho hệ thống tuyến tính bất biến theo thời gian, mặc dù có một vài mở rộng để áp dụng cho hệ phi tuyến, thí dụ phương pháp hàm mô tả Lý thuyết điều khiển kinh điển thích hợp để thiết kế hệ thống một ngõ vào – một ngõ ra (SISO: single-input/single-output), rất khó áp dụng cho các hệ thống nhiều ngõ vào – nhiều ngõ ra (MIMO: multi-input/multi-ouput) và các hệ thống biến đổi theo thời gian
Các phương pháp phân tích và thiết kế hệ thống trong lý thuyết điều khiển kinh điển gồm các phương pháp Nyquist, Bode, và phương pháp quỹ đạo nghiệm số Để thiết kế hệ thống dùng phương pháp Nyquist và Bode cần mô tả hệ thống dưới dạng đáp ứng tần số (đáp ứng biên độ và đáp ứng pha), đây là một thuận lợi vì đáp ứng tần số có thể đo được bằng thực nghiệm Mô tả hệ thống cần để thiết dùng phương pháp quỹ đạo nghiệm số là hàm truyền, hàm truyền cũng có thể tính được từ đáp ứng tần số Hàm truyền của các hệ thống phức tạp được tính bằng cách sử dụng sơ đồ khối hay sơ đồ dòng tín hiệu Mô tả chính xác đặc tính động học bên trong hệ thống là không cần thiết đối với các phương pháp thiết kế kinh điển, chỉ có quan hệ giữa ngõ vào và ngõ ra quan trọng
Các khâu hiệu chỉnh đơn giản như hiệu chỉnh vi tích phân tỉ lệ PID (Proportional Integral Derivative), hiệu chỉnh sớm trễ pha,… thường được sử dụng trong các hệ thống điều khiển kinh điển Ảnh hưởng của các khâu hiệu chỉnh này đến biểu đồ Nyquist, biểu đồ Bode và quỹ đạo nghiệm số có thể thấy được dễ dàng, nhờ đó có thể dễ dàng lựa chọn được khâu hiệu chỉnh thích hợp
Trang 18Điều khiển hiện đại (modern control)
Từ khoảng năm 1960 đến nay
Kỹ thuật thiết kế hệ thống điều khiển hiện đại dựa trên miền thời gian Mô tả toán học dùng để phân tích và thiết kế hệ thống là phương trình trạng thái Mô hình không gian trạng thái có ưu điểm là mô tả được đặc tính động học bên trong hệ thống (các biến trạng thái) và
có thể dễ dàng áp dụng cho hệ MIMO và hệ thống biến đổi theo thời gian Lý thuyết điều khiển hiện đại ban đầu được phát triển chủ yếu cho hệ tuyến tính, sau đó được mở rộng cho
hệ phi tuyến bằng cách sử dụng lý thuyết của Lyapunov
Bộ điều khiển được sử dụng chủ yếu trong thiết kế hệ thống điều khiển hiện đại là bộ điều khiển hiện đại là bộ điều khiển hồi tiếp trạng thái Tùy theo cách tính vector hồi tiếp trạng thái
mà ta có phương pháp phân bố cục, điều khiển tối ưu, điều khiển bền vững…
Với sự phát triển của lý thuyết điều khiển số và hệ thống rời rạc, lý thuyết điều khiển hiện đại rất thích hợp để thiết kế các bộ điều khiển là các chương trình phần mềm chạy trên vi xử
lý và máy tính số Điều này cho phép thực thi được các bộ điều khiển có đặc tính động phức tạp hơn cũng như hiệu quả hơn so với các bộ điều khiển đơn giản như PID hay sớm trễ pha trong lý thuyết điều khiển kinh điển
Điều khiển thông minh (intelligent control)
Điều khiển kinh điển và điều khiển hiện đại, gọi chung là điều khiển thông thường (conventional control) có khuyết điểm là để thiết kế được hệ thống điều khiển cần phải biết
mô hình toán học của đối tượng Trong khi đó thực tế có những đối tượng điều khiển rất phức tạp, rất khó hoặc không thể xác định được mô hình toán Các phương pháp điều khiển thông minh như điều khiển mờ, mạng thần kinh nhân tạo, thuật toán di truyền mô phỏng/bắt chước các hệ thống thông minh sinh học, về nguyên tắc không cần dùng mô hình toán học để thiết
kế hệ thống, do đó có khả năng ứng dụng thực tế rất lớn Khuyết điểm của điều khiển mờ là quá trình thiết kế mang tính thử sai, dựa vào kinh nghiệm của chuyên gia Nhờ kết hợp logic
mờ với mạng thần kinh nhân tạo hay thuật toán di truyền mà thông số bộ điều khiển mờ có thể thay đổi thông qua quá trình học hay quá trình tiến hóa, vì vậy khắc phục được khuyết điểm thử sai Hiện nay các bộ điều khiển thông thường kết hợp với các kỹ thuật điều khiển
Trang 19thông minh tạo nên các bộ điều khiển lai điều khiển các hệ thống phức tạp với chất lượng rất tốt
Thành phần cơ bản của hệ thống điều khiển
Để thực hiện được quá trình điều khiển như định nghĩa ở trên, một hệ thống điều khiển bắt buộc gồm có ba thành phần cơ bản là thiết bị đo lường (cảm biến), bộ điều khiển và đối tượng điều khiển Thiết bị đo lường có chức năng thu nhập thông tin, bộ điều khiển thực hiện chức năng xử lý thông tin, ra quyết định điều khiển và đối tượng điều khiển chịu sự tác động của tín hiệu điều khiển Hệ thống điều khiển trong thực tế rất đa dạng, sơ đồ khối trên là cấu hình của hệ thống điều khiển thường gặp nhất
Hình 0.1 Sơ đồ khối hệ thống điều khiển
Trang 20Thiết kế bộ điều khiển
Phân loại thiết kế bộ điều khiển
Thiết kế là toàn bộ quá trình bổ sung các thiết bị phần cứng cũng như thuật toán, phần mềm vào hệ cho trước để được hệ mới thỏa mãn yêu cầu về tính ổn định, độ chính xác, đáp ứng quá độ Có 2 cách thiết kế:
Hiệu chỉnh nối tiếp: thêm các bộ điều khiển nối tiếp với hệ hở cho trước
Hình 0.2 Sơ đồ khối hiệu chỉnh nối tiếp
- Các bộ điều khiển thường được sử dụng: sớm pha, trễ pha, sớm trễ pha, P, PI, PD, PID
- Phương pháp thiết kế ở dạng này là phương pháp QĐNS, phương pháp biểu đồ Bode
Điều khiển hồi tiếp trạng thái: Tất cả các trạng thái của hệ thống được phản hồi trở
về ngõ vào
Hình 0.3 Sơ đồ khối hồi tiếp trạng thái
- Khi đó, bộ điều khiển sẽ là: r(t) - Kx(t), với K = [ki k2 kn] lá vector hồi tiếp trạng thái
- Phương pháp thiết kế: phân bô cực, LQR
Trang 21Bộ điều khiển PID
Hình 0.4 Sơ đồ khối PID
Bộ điều khiển PID là bộ điều khiển hồi tiếp vòng kín, kết hợp ba bộ điều khiển vi phân, tích phân, tỉ lệ Nó có chức năng điều khiển hệ thống đáp ứng nhanh, vọt lố thấp, sai số xác lập bằng không nếu chọn thông số phù hợp
Mục tiêu điều khiển của bộ PID là giảm độ vọt lố (POT), giảm thời gian xác lập (ts), triệt tiêu sai số xác lập và giảm dao động
Bộ điều khiển P
Hình 0.5 Sơ đồ bộ điều khiển P
- Hàm truyền của bộ điều khiển P là Kp
Trang 22Hình 0.6 Sơ đồ bộ điều khiển I
- Khâu D rất nhạy với nhiễu tần số cao
Trong thực tế, thiết kế bộ điều khiển PID bằng nhiều phương pháp như QĐNS, dùng biểu
đồ Bode, hay phương pháp giải tích nhưng rất ít dùng do khó khăn trong việc xây dựng hàm truyền Một trong những phương pháp phổ biến để thiết kế bộ điều khiển PID là phương pháp Zeigler – Nichols Và phương pháp điều chỉnh thủ công cũng là một trong những phương pháp thực nghiệm phổ biến để thiết kế bộ điều khiển PID
Hình 0.7 Sơ đồ bộ điều khiển D
Trang 23GIỚI THIỆU PHẦN MỀM VÀ PHẦN CỨNG Phần mềm Matlab/Simulink
MATLAB/SIMULINK là một chương trình viết cho máy tính PC hoạt động trong môi trường MS-DOS và môi trường WINDOWS nhằm hỗ trợ cho lập trình, các tính toán khoa học
và kỹ thuật được thiết kế với công ty “The MATHWORKS”
Thuật ngữ MATLAB được viết tắt của hai từ MATRIX và LABORATORY MATLAB được điều khiển với các tập lệnh, tác động qua bàn phím Nó cho phép tính toán số với ma trận, vẽ đồ thị hàm số hay biểu đồ thông tin, thực hiện thuật toán, tạo các giao diện người dùng
và liên kết với những chương trình máy tính viết trên nhiều ngôn ngữ lập trình khác Matlab giúp đơn giản hóa việc giải quyết các bài toán tính toán kỹ thuật so với các ngôn ngữ lập trình truyền thống như C, C++, và Fortran Các câu lệnh trong MATLAB rất mạnh và có những vấn đề chỉ cần một câu lệnh là đủ giải quyết bài toán Mô phỏng trong MATLAB sẽ cho ta hình ảnh tọa độ không gian hai chiều (2D) và ba chiều (3D)
SIMULINK là một phần mềm mở rộng của MATLAB (1 Toolbox của Matlab) dùng để
mô hình hóa, mô phỏng và phân tích một hệ thống động Nó cho phép mô tả hệ thống tuyến
Hình 0.1 Phần mềm MATLAB & SIMULINK
Trang 24tính, hệ phi tuyến, các mô hình trong miền thời gian liên tục, hay gián đoạn hoặc một hệ gồm
cả liên tục và gián đoạn MATLAB/SIMULINK được sử dụng trong nhiều lĩnh vực, bao gồm
xử lý tín hiệu và ảnh, truyền thông, thiết kế điều khiển tự động, đo lường kiểm tra, phân tích
mô hình tài chính, hay tính toán sinh học Với hàng triệu kỹ sư và nhà khoa học làm việc trong môi trường công nghiệp cũng như ở môi trường hàn lâm, MATLAB/SIMULINK là ngôn ngữ của tính toán khoa học
Simulink được bắt đầu từ lệnh MATLAB bằng cách nhập vào lệnh sau đây:
“simulink” hoặc biểu tượng Simulink trong bảng chọn Home
Hình 0.2 Giao diện Simulink
Trang 25Hình 0.3 Các khối cơ bản của thư viện Simulink support package for arduino hardware
Hình 0.4 Các khối cơ bản thư viện Waijung Blockset
Giới thiệu về board mạch ARDUINO MEGA 2560
Board Arduino Mega 2560 là một KIT Arduino sử dụng vi điều khiển ATmega 2560 Nó
có thể kết nối trực tiếp với máy tính thông qua cổng USB để điều khiển và theo dõi quá trình
Trang 26hoạt động, nhờ sử dụng chíp ATmega16U2 lâp trình như là một công cụ để chuyển đổi tín hiêu từ USB
Hình 0.5 Board Arduino Mega 2560
Hình 0.6 Sơ đồ chân Board Arduino Mega 2560
Trang 27Dòng một chiều ở chân 3.3V: 50 mA
Giới thiệu về board mạch ARM STM32F407 DISCOVERY
Board mạch STM32F407 Discovery là một loại kit thuộc họ vi điều khiển ARM Dòng ARM Cortex KIT STM32F4 Discovery là một bộ xử lí thế hệ mới đưa ra một kiến trúc chuẩn cho nhu cầu đa dạng về công nghệ Nó được ứng dụng vào rất nhiều thị trường khác nhau bao gồm các ứng dụng doanh nghiệp, mạng gia đình, cộng nghệ mạng không dây và các hệ thống
Trang 28Hình 0.7 Board mạch ARM STM32F407 DISCOVERY
Hình 0.8 Sơ đồ chân Board mạch ARM STM32F407 DISCOVERY
Giới thiệu về mạch cầu H và board mạch công suất 700W Single H-Brigde
Mạch cầu H là một mạch đơn giản dùng để điều khiển động cơ DC quay thuận hoặc quay nghịch Trong thực tế, có nhiều kiểu mạch cầu H khác nhau tùy vào linh kiện có dòng điện,
áp điều khiển lớn hay nhỏ, tần số xung PWM… Và chúng sẽ quyết định đến khả năng điều khiển của cầu H
Trang 29Một động cơ DC có thể quay thuận hoặc quay nghịch tùy thuộc vào cách mắc cực âm và dương cho motor đó Ví dụ, động cơ DC có hai đầu A và B Nếu nối A vào cực dương (+) và
B vào cực âm (-) của nguồn thì động cơ quay theo chiều thuận (giả sử cùng chiều kim đồng hồ) Bây giờ nối ngược lại, A vào (-) và B vào (+), động cơ sẽ quay nghịch (giả sử ngược
chiều kim đồng hồ)
Hình 0.9 Nguyên lý mạch cầu H
Hình 0.10 Điều khiển động cơ quay thuận và ngược
Trang 30Khi ta đóng S1 và S4, ta đã cho A nối với cực dương (+) và B nối với cực âm (-) của nguồn, một dòng điện chạy từ nguồn qua S1 qua động cơ qua S4 về mass làm động cơ quay theo chiều thuận Ngược lại, khi đóng S2 và S3, động cơ quay nghịch
Hình 0.11 Sơ đồ nguyên lý mạch cầu H
Trên thực tế để điều khiển động cơ với tần số cao người ta thường sử dụng các Transistor hoặc MOSFET để đóng ngắt các công tắc S1, S2, S3, S4 Ngoài ra còn có thêm các linh kiện điện tử khác để bảo vệ mạch và giúp mạch hoạt động tốt hơn
Board mạch công suất 700W Single H-Brigde
Hình 0.12 Board mạch công suất 700W Single H-Brigde
Mạch cầu H được sử dụng trong 2 bộ KIT điều khiển DC motor và con lắc ngược là board mạch 700W Single H-Brigde
Trang 31Hình 0.13 Sơ đồ chân Board mạch công suất 700W Single H-Brigde
Thông số kỹ thuật của Board 700W H Brigde
Bảng 0.2 Thông số 700W H Brigde
Mức tín hiệu điều khiển 3.3-5.0V
Trang 32Mạch cầu H L298
Hình 0.14 Mạch cầu H L298
Mạch điều khiển động cơ DC L298 có khả năng điều khiển 2 động cơ DC, dòng tối đa 2A mỗi động cơ, mạch tích hợp diod bảo vệ và IC nguồn 7805 giúp cấp nguồn 5VDC cho các module khác
Thông số kỹ thuật:
IC chính: L298 - Dual Full Bridge Driver
Điện áp đầu vào: 5~30VDC
Công suất tối đa: 25W 1 cầu
Dòng tối đa cho mỗi cầu H là: 2A
Mức điện áp logic: Low -0.3V~1.5V, High: 2.3V~Vss
Trang 33MÔ HÌNH DC MOTOR Giới thiệu phần cứng mô hình DC motor
Động cơ một chiều (DC motor) là một thiết bị chuyển đổi điện năng thành cơ năng, nó có hai bộ phận chính là nam chân vĩnh cửu và cuộn dây Ngoài ra nó còn có một chuổi than để liên kết nguồn điện bên ngoài với cuộn dây của motor, khi cuộn dây có điện thì sẽ có từ trường xung quanh cuộn dây Chiều quay của motor phụ thuộc vào chiều điện áp cấp cho motor làm cho motor quay cùng chiều hoặc ngược chiều kim đồng hồ
DC motor thường là bộ phận chấp hành quan trọng của nhiều hệ thống điều khiển Nó trực tiếp cung cấp chuyển động quay cho trục động cơ, gắn với bánh xe hoặc dây đai có thể cung cấp chuyển động tịnh tiến
Để phù hợp với mô hình mô phỏng ta chọn động cơ Model R01SAKOE:
Nguồn cấp cho động cơ: 12-24V
Tốc độ không tải khi cấp nguồn 24VDC 4200 vòng/ phút
Số xung một vòng của Encoder: 200 xung/vòng
Dòng điện: 2.2A
Hình 0.1 Motor R01SAKOE
Xây dựng phương trình động học
Trang 34Thông số DC motor
Hình 0.2 Mạch điện phần cứng và sơ đồ chuyển động của roto
Giả sử, đầu vào của hê ̣thống là điêṇ áp (V) cấp cho phần ứng của motor, đầu ra là tốc
đô ̣góc (𝜃̇) và vi ̣trí (𝜃) của rotor Mô men ma sát nhớt của rotor tỉ lê ̣ với vâṇ tốc góc Thông
số của motor thưc̣ tế chúng em làm mô phỏng như sau [7]:
Mô - men quán tính của rotor: J = 4,6.10-6 kg.m2
Sức phản điện động của motor e tỉ lệ với vận tốc góc của trục bởi hằng số Ke
Trang 35Trong đơn vị SI, hằng số momen xoắn động cơ và sức phản điện động của motor bằng nhau Kt = Ke Do đó, ta sẽ sử dụng K đại diện cho cả hai hằng số momen xoắn động cơ và hằng sốsức phản điện động của motor
Từ hình 4.1, chúng ta có thể thiết lâp ̣ các phương trình sau đây dựa trên định luật II Newton
Biến đổi Laplace 2 vế phương trình (4.3), (4.4) ta đươc̣:
1.13.3.2 Thiết lập hàm truyền bằng phương pháp nhận diện hệ thống
Khi cần mô phỏng một hệ thống lớn mà trong đó có DC motor nhưng không có những thông số chi tiết của DC motor đó thì chúng ta có thể dùng những dữ liệu thu thập từ thực tế
để thiết lập hàm truyền cho motor đó bằng công cụ Identification Toolbox
Để thiết lập được hàm truyền của một DC motor bất kì ta cần nhận diện hệ thống để tìm các hệ số cần thiết Các bước để nhận diện thông số của một DC motor
Trang 36Thiết lập bộ điều khiển DC motor để thu thập dữ liệu đầu vào cho Identification
Toolbox
Hình 0.3 Code thu thập dữ liệu cho Toolbox
Hình 0.4 Dữ liệu được đưa ra Workspace bằng khối Simout
Sau khi dữ liệu đầu vào và đầu ra ta sử dụng lệnh “save ident volt rpm2” để lưu dữ liệu workspace
Trang 37Hình 0.5 Cửa sổ làm việc System Identification
Sau đó nhập các dữ liệu thông số cần thiết để Import dữ liệu vào
Hình 0.6 Cửa sổ nhập thông số của dữ liệu
Sau khi nhập đầy đủ các thông số trên ta chọn Process Models và lựa chọn Poles của hàm truyền trong ô Transfer Function Chọn giá trị 2 cho Poles để xuất hệ số hàm truyền tốc độ Chọn giá trị 3 cho Poles để xuất hệ số hàm truyền vị trí
Trang 38Hình 0.7 Hệ số của hàm truyền và dạng hàm truyền sau khi chương trình xử lý xong
Nhận diện hệ thống để thiết lập hàm truyền có một vài ưu điểm so với hàm truyền được tính toán dựa vào các thông số chi tiết sẳn có của mô tơ như: Có thể thiết lập hàm truyền cho các mô tơ không có thông số chi tiết, thiết lập hàm truyền mô phỏng sát với thực tế hơn do
mô tơ làm việc trong các môi trường khác nhau, sự hao mòn theo thời gian dẫn đến các thông
số chi tiết không còn lý tưởng như nhà sản xuất đưa ra
Thay các hệ số được máy tính ước tính vào phương trình ta được hàm truyền của hệ thống
Để kiểm tra độ chính xác của hàm truyền vừa nhận được dùng các khối đầu vào giống nhau (xung vuông và xung sin) để thu được những đầu ra tương tự nhau để dễ so sánh
Hình 0.8 Độ chính xác của hàm truyền so với hoạt động thực tế (Màu đỏ thực tế, màu
xanh được mô phỏng từ hàm truyền vừa tìm)
Trang 39Thiết lập không gian trạng thái
𝐿𝜃̇ +𝑉𝐿
𝑖] = [
0 −𝑏𝐽
𝐾 𝐽
0 −𝐾𝐿
−𝑅 𝐿] [
𝜃𝜃̇
𝑖] + [
001 𝐿] 𝑉
𝑦(𝑡) = [1 0 0] [
𝜃𝜃̇
𝑖]
Với 𝐴 = [
0 −𝑏𝐽
𝐾 𝐽
0 −𝐾𝐿
−𝑅 𝐿] ; 𝐵 = [
001 𝐿] ; 𝐶 = [1 0 0]
Mô Phỏng
Thực hiện mô phỏng DC mô tơ bằng hàm truyền trên Matlab/Simulink với đầu vào là điện
áp (Volt) đầu ra là tốc độ (vòng/phút) Đưa một giá trị điện áp liên tục 12V vào hàm truyền
DC mô tơ trong 10s
Trang 40Hình 0.9 Mô phỏng hàm truyền tốc độ DC mô tơ
Hình 0.10 Kết quả mô phỏng hàm truyền tốc độ
Hình 0.11 Mô phỏng hàm truyền vị trí DC mô tơ