Đồ án tốt nghiệp: Ứng dụng ARM STM32F4 và Simulink thiết kế các bộ điều khiển

Tài liệu đồ án ứng dụng STM32F4 và MATLAB Simulink. Hướng dẫn chi tiết thiết kế bộ điều khiển PID, ADC, PWM, UART và mô hình tham khảo.

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2018

103
3
0

Phí lưu trữ

35 Point

Tóm tắt

I. Giới thiệu về STM32F4 Discovery và ứng dụng trong thiết kế bộ điều khiển

STM32F4 Discovery là một nền tảng phát triển mạnh mẽ dựa trên kiến trúc ARM Cortex-M4, được thiết kế đặc biệt cho các ứng dụng điều khiển công nghiệp và nhúng. Board này cung cấp khả năng xử lý tín hiệu nhanh, tiêu thụ năng lượng thấp và hỗ trợ nhiều giao tiếp ngoại vi như ADC, DAC, PWM, UART, I2C. Trong lĩnh vực thiết kế bộ điều khiển, STM32F4 Discovery cho phép các kỹ sư xây dựng các hệ thống điều khiển vị trí, tốc độ và các ứng dụng phức tạp như con lắc ngược, robot cân bằng. Sự kết hợp giữa STM32F4 và MATLAB/Simulink tạo ra một quy trình phát triển liền mạch, từ mô phỏng lý thuyết đến triển khai thực tế. Điều này giúp giảm thời gian phát triển và nâng cao độ chính xác của hệ thống.

1.1. Khám phá kiến trúc và đặc tính kỹ thuật của STM32F407

STM32F407 được trang bị CPU Cortex-M4 chạy tốc độ 168 MHz, bộ nhớ Flash 1 MB và RAM 192 KB. Board hỗ trợ đầy đủ các chức năng ADC 12-bit, DAC 12-bit, Timer đa năng và PWM. Các đặc tính này làm cho STM32F407 trở thành lựa chọn lý tưởng cho các ứng dụng điều khiển thời gian thực đòi hỏi tốc độ xử lý cao và độ chính xác cao.

1.2. Ưu điểm của việc sử dụng STM32F4 trong các dự án đồ án

STM32F4 cung cấp chi phí thấp, tài liệu phong phú và cộng đồng hỗ trợ lớn. Board cho phép sinh viên thực hành trực tiếp các khái niệm lý thuyết điều khiển trong các bài lab. Ngoài ra, sự tương thích với MATLAB/Simulink qua thư viện Waijung giúp quy trình mô phỏng và triển khai trở nên hiệu quả hơn.

II. MATLAB Simulink và thư viện Waijung Công cụ thiết kế điều khiển hiệu quả

MATLAB/Simulink là môi trường tích hợp tuyệt vời để thiết kế, mô phỏng và triển khai các bộ điều khiển trên STM32F4. Thư viện Waijung mở rộng khả năng của Simulink bằng cách cung cấp các khối (blocks) để giao tiếp trực tiếp với bo mạch ARM STM32F407. Quy trình làm việc bao gồm: xây dựng mô hình toán học trong Simulink, thử nghiệm với các bộ điều khiển PID/Lead-Lag, tạo mã C và nạp vào STM32F4. Waijung hỗ trợ ADC, DAC, PWM, Digital I/O, Timer, UART, I2C, Encoder Read - tất cả các chức năng cần thiết cho điều khiển. Điều này cho phép các kỹ sư tập trung vào thiết kế logic điều khiển mà không cần lo lắng về lập trình cấp thấp phức tạp.

2.1. Các khối chức năng chính của thư viện Waijung

Waijung cung cấp nhiều khối như Regular ADC, Regular DAC, Digital Input/Output, Basic PWM, Encoder Read, Timer IRQ. Mỗi khối được cấu hình chi tiết để hoạt động với STM32F407, cho phép mô phỏng và triển khai các bộ điều khiển P, PI, PD, PID một cách trực tiếp. Các khối này được tích hợp sẵn các tham số phù hợp với phần cứng.

2.2. Lợi ích của mô phỏng trong Simulink trước khi triển khai

Mô phỏng trong Simulink cho phép kiểm tra tính ổn định, độ chính xác và hiệu suất của bộ điều khiển PID trước khi nạp vào STM32F4. Phương pháp này giảm rủi ro lỗi phần cứng, tiết kiệm chi phí và thời gian. Kỹ sư có thể điều chỉnh các thông số điều khiển một cách dễ dàng dựa trên kết quả mô phỏng.

III. Quy trình thiết kế bộ điều khiển từ lý thuyết đến thực tiễn

Thiết kế bộ điều khiển trên nền tảng STM32F4 và MATLAB/Simulink tuân theo quy trình khoa học: trước hết xây dựng mô hình toán học của hệ thống cần điều khiển (như motor DC, con lắc ngược); tiếp theo thiết kế bộ điều khiển PID hoặc Lead-Lag dựa trên lý thuyết điều khiển cổ điển; sau đó mô phỏng toàn bộ hệ thống trong Simulink để kiểm tra hiệu suất; cuối cùng triển khai mã code tự động sinh từ Simulink lên STM32F407. Các khối ADC đọc tín hiệu từ cảm biến (encoder, cảm biến tốc độ), bộ điều khiển tính toán tín hiệu điều khiển, và DAC/PWM điều khiển actuator (động cơ). Quy trình này đảm bảo tính chính xác, độ tin cậy cao và tiết kiệm thời gian phát triển so với lập trình truyền thống.

3.1. Các bước thiết kế bộ điều khiển PID cơ bản

Bước 1: Xác định hàm truyền của hệ thống; Bước 2: Thiết kế bộ điều khiển PID với các hệ số Kp, Ki, Kd phù hợp; Bước 3: Xây dựng mô hình Simulink với các khối ADC, PID, DAC; Bước 4: Mô phỏng và điều chỉnh các thông số cho đến khi đạt yêu cầu; Bước 5: Sinh mã C và nạp vào STM32F407.

3.2. Ứng dụng thực tế Điều khiển tốc độ động cơ DC

Để điều khiển tốc độ động cơ DC sử dụng STM32F407, cần đọc tín hiệu từ encoder bằng khối Encoder Read, so sánh với tốc độ mong muốn, tính toán tín hiệu điều khiển bằng bộ điều khiển PID, và điều khiển DAC/PWM để phát động cơ. Quy trình này được mô phỏng hoàn chỉnh trong Simulink trước khi triển khai.

IV. Các công cụ kỹ năng và lộ trình học tập cho sinh viên

Để thành công trong thiết kế bộ điều khiển bằng STM32F4 và MATLAB/Simulink, sinh viên cần chuẩn bị: phần cứng gồm bo mạch STM32F407 DISCOVERY, các cảm biến (encoder, cảm biến tốc độ), actuator (động cơ DC), điện trở, LED; phần mềm bao gồm MATLAB, Simulink, thư viện Waijung, công cụ Stm32CubeMX, Keil uVision; kiến thức về lý thuyết điều khiển cổ điển, điện tử, nhúng; kỹ năng lập trình C, hiểu biết về các giao tiếp như UART, I2C, PWM. Lộ trình học tập nên bắt đầu từ các thí nghiệm cơ bản (điều khiển LED, đọc ADC), sau đó nâng cao (PWM, Encoder, UART), cuối cùng đến thiết kế bộ điều khiển phức tạp. Việc thực hành kết hợp lý thuyết và thực nghiệm sẽ giúp sinh viên nắm vững và ứng dụng hiệu quả những kiến thức này.

4.1. Danh sách phần cứng và phần mềm cần thiết

Phần cứng: Bo mạch STM32F407 DISCOVERY, cảm biến encoder, động cơ DC, LED, điện trở, breadboard. Phần mềm: MATLAB R2018b trở lên, Simulink, Waijung 2 Blockset, STM32CubeMX, Keil MDK-ARM. Toàn bộ công cụ này cấu thành một hệ sinh thái phát triển hoàn chỉnh cho thiết kế điều khiển.

4.2. Kế hoạch học tập và thực hành cho sinh viên kỹ thuật

Giai đoạn 1 (tuần 1-2): Làm quen với STM32F407, MATLAB, Simulink; Giai đoạn 2 (tuần 3-4): Thực hành ADC, DAC, Digital I/O; Giai đoạn 3 (tuần 5-6): PWM, Encoder, Timer; Giai đoạn 4 (tuần 7-10): Thiết kế bộ điều khiển PID cho motor/con lắc; Giai đoạn 5 (tuần 11-14): Hoàn thiện và kiểm thử toàn hệ thống.

21/12/2025

Trích đoạn nội dung tài liệu

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 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 • Nghiên cứu của Mai Tuấn Đạt (Đại học Bách Khoa -thành phố Hồ Chí Minh) với đề tài “Xe hai bánh tự cân bằng di chuyển trên địa hình phẳng” • Trương Lê Hữu Phát – Lê Phước Vạn, Đồ án tốt nghiệp “Robot hai bánh tự cân bằng dùng LQR”, Tp. Hồ Chí Minh, 2016 • 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 1. 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 để Kit mô hình 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 1 Tìm hiểu các thiết bị ngoại vi và hướng dẫn sử dụng Board ARM STM32F407 DISCOVERY khi nhúng vào Matlab/Simulink. Đọc được tín hiệu cảm biến tốc độ và vị trí, cảm biến gia tốc để đ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 con lắc ngược và robot cân bằng. Khôi phục cải tiến lại mô hình DC motor và con lắc ngược. Thiết kế, chế tạo robot cân bằng.

Đ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 chuyển động quay và robot cân bằng.

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. 2 CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT 2. Lịch sử phát triển lý thuyết điều khiển Định nghĩa điều khiển: Điều khiển là quá trình thu nhập thông tin, xử lý thông tin và tác động lên hệ thống để đáp ứng của hệ thống “gần” với mục đích định trước.

Điều khiển tự động là quá trình điều khiển không cần sự tác động của con người. Đ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. Điều khiển hiện đại (modern control) Từ khoảng năm 1960 đến nay 3 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 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 thô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 4 Chú thích các ký hiệu viết tắt: - r(t): tín hiệu vào, tín hiệu chuẩn - c(t): tín hiệu ra - cht(t): tín hiệu hồi tiếp - e(t): sai số - u(t): tín hiệu điều khiển Hình 2.1 Sơ đồ khối 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. Thiết kế bộ điều khiển 2.

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 bi 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.2 Sơ đồ khối hiệu chỉnh nối tiếp 5 - 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.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ