TÓM TẮTMột số thông tin về đề tài: - Nghiên cứu sử dụng phần mềm Matlab giao tiếp với STM32F407VG xử lý tín hiệu điều khiển tốc độ động cơ DC.. Phương pháp dược dùng trong nghiên cứu: -
TỔNG QUAN VỀ ĐỀ TÀI
Lý do chọn đề tài
Ngày nay, việc điều khiển các hệ thống máy móc phức tạp như máy CNC, hệ thống quân sự và robot công nghiệp vẫn là một thách thức lớn, đặc biệt khi yêu cầu độ chính xác vị trí cao Sự phức tạp này xuất phát từ tính phi tuyến của đối tượng điều khiển và các thành phần trong hệ thống Cơ cấu chấp hành, thiết bị điều khiển các hệ thống cơ khí, thường chứa các yếu tố phi tuyến như ma sát và khe hở Trong nhiều ứng dụng, các tham số phi tuyến có thể chỉ được biết một phần hoặc hoàn toàn không rõ, gây khó khăn cho kỹ sư điều khiển Các kỹ thuật thiết kế hệ thống điều khiển thông thường dựa vào sự hiểu biết tốt về đối tượng và môi trường, nhưng khi đối tượng trở nên phức tạp và thiếu cơ sở vật lý cho phân tích mô hình, việc thiết kế hệ thống điều khiển càng trở nên khó khăn hơn.
Trong lĩnh vực điều khiển tự động và kỹ thuật điều khiển động cơ, việc nghiên cứu và thực hiện đề tài là rất cần thiết, góp phần quan trọng cho công việc sau này Quá trình này không chỉ giúp củng cố kiến thức đã học mà còn mang lại những hiểu biết mới thông qua thực nghiệm Nhờ đó, sinh viên có thể nâng cao trình độ chuyên môn và phát triển các kỹ năng khác Thực hiện đề tài cũng mang đến những trải nghiệm thực tế, giúp hiểu rõ hơn về các vấn đề và khó khăn trong lĩnh vực này.
Đối tượng và phạm vi nghiên cứu
Phương pháp điều khiển PID điều khiển tốc độ động cơ DC.
Tìm hiểu và vận dụng các khối, lệnh để viết chương trình điều khiển.
Tổng quan về mạch điều khiển STM32F407VG.
Thiết kế sơ đấu nối các thiết bị.
Cách thức và các điều điện để các thiết bị hoạt động.
Các phần mềm hỗ trợ mô phỏng và thiết kế hệ thống.
Các công thức tính toán, quy đổi.
Phương pháp nghiên cứu
Tìm hiểu nghiên cứu các tài liệu lý thuyết, bài báo liên quan đến động cơ DC, bộ điều khiển PID, Encoder,
Thiết kế, lập trình hệ thống điều khiển trên nền tảng Matlab Simulink.
Xây dựng chương trình mô phỏng để tìm hiểu mối quan hệ của động cơ với các đại lượng vật lý.
Thiết kế và thực nghiệm hệ thống thực tế.
Phương pháp đánh giá và tối ưu hóa
Phân tích kết quả thực nghiệm cho thấy sự khác biệt so với mục tiêu ban đầu Để nâng cao hiệu quả hoạt động của hệ thống, cần đề xuất các cải tiến phù hợp với điều kiện sản xuất thực tế.
Mục tiêu thực hiện đề tài
Mong muốn điều khiển ổn định tốc độ động cơ với các tiêu chí đánh giá như: đáp ứng tốc độ động cơ không vượt quá 5%, sai số xác lập không quá 2%, và thời gian đáp ứng dưới 5 giây.
Mô phỏng động cơ DC trên Simulink.
Xây dựng và thiết kế mô hình phần cứng hệ thống.
CƠ SỞ LÝ THUYẾT
Các thiết bị phần cứng
2.1.1 Bảng mạch điều khiển STM32F407VG
Board STM32F407 Discovery là một công cụ phát triển mạnh mẽ dựa trên vi điều khiển STM32F407VG thuộc dòng STM32F4 của STMicroelectronics Vi điều khiển này sử dụng kiến trúc ARM Cortex-M4, cung cấp hiệu năng cao và khả năng xử lý tín hiệu số, phù hợp cho các ứng dụng yêu cầu tích hợp nhiều ngoại vi tiên tiến.
Hình 2.1 Bảng mạch điều khiển STM32F407VG
Thông số kỹ thuật của sản phẩm bao gồm chip CPU ARM 32-bit Cortex-M4 với bộ tính toán số thực FPU, có tần số hoạt động lên đến 168 MHz Ngoài ra, thiết bị còn được tích hợp sẵn bộ nạp và gỡ lỗi chương trình ST-Link/V2.
Để cấp nguồn cho thiết bị, cần sử dụng nguồn điện 5V, và trong trường hợp có nhiều thiết bị bên ngoài, việc thiết lập chân nối đất (mass) là yêu cầu cơ bản để tạo điểm mass chung cho tất cả các thiết bị.
Bộ nhớ: 1Mbyte Flash, 192 Kb SRAM.
Nguồn chung cấp cho các chân I/O từ 1.8V đến 3.6V.
Hai nút nhấn (nút nhấn User màu xanh lá, nút bấm Reset màu đen)
ADC 12-bit với 3 kênh hỗ trợ lên đến 24 đầu vào, lý tưởng cho các ứng dụng cần đo tín hiệu analog như cảm biến nhiệt độ và áp suất.
DAC: 2 DAC 12-bit, cho phép xuất tín hiệu analog từ vi điều khiển.
I2C: Tối đa 3 bus I2C cho phép kết nối với nhiều cảm biến và thiết bị ngoại vi.
SPI: Tối đa 3 bus SPI, hỗ trợ tốc độ truyền cao cho các cảm biến và thiết bị ngoại vi tốc độ cao.
USART/UART: Tối đa 6 cổng UART/USART cho giao tiếp nối tiếp, phù hợp cho các ứng dụng cần truyền tải dữ liệu nối tiếp.
CAN: 2 cổng CAN hỗ trợ giao tiếp trong các hệ thống mạng xe hơi và các ứng dụng công nghiệp.
USB 2.0: USB full-speed với khả năng hoạt động như host hoặc device, hỗ trợ truyền tải dữ liệu dễ dàng.
Bài viết này đề cập đến 14 bộ đếm (timers) bao gồm các bộ đếm 16-bit và 32-bit, được sử dụng trong các ứng dụng điều khiển thời gian, PWM và tạo tín hiệu.
PWM có 38 kênh riêng biệt cho phép xuất tín hiệu đầu ra độc lập Các bộ đếm có thể được sử dụng để tạo ra các tín hiệu PWM, rất phù hợp cho việc điều khiển động cơ, đèn LED và nhiều ứng dụng khác.
SDIO: Hỗ trợ giao tiếp với thẻ nhớ SD, MMC, rất hữu ích trong các ứng dụng cần lưu trữ dữ liệu.
Ethernet: Tích hợp giao tiếp Ethernet, cho phép kết nối mạng LAN, thích hợp cho các ứng dụng IoT hoặc các hệ thống yêu cầu kết nối mạng.
STM32F407VG, với hiệu suất mạnh mẽ và dung lượng bộ nhớ lớn, là sự lựa chọn lý tưởng để triển khai các hệ điều hành thời gian thực, giúp tối ưu hóa quản lý đa nhiệm một cách hiệu quả.
Module L298 là một mạch cầu H phổ biến, sử dụng IC điều khiển L298N, cho phép điều khiển 2 động cơ DC hoặc 1 động cơ bước 2 pha Nó rất phù hợp cho các ứng dụng cần điều chỉnh tốc độ và hướng quay, đặc biệt trong các hệ thống điều khiển động cơ với tải vừa và nhỏ.
Thông số kỹ thuật chính:
- Dòng điện tối đa: 2A/mỗi kênh (với tản nhiệt).
- Điện áp cung cấp mạch logic: 5V.
- Tín hiệu logic điều khiển 3V-5V
- Công suất: Có thể đạt tối đa 25W.
- Tần số điều khiển tối đa: 25 KHz.
- Vcc: Cấp điện cho động cơ (5V - 35V).
- GND: Chân nối đất chung cho nguồn động cơ và logic.
- +5V: Nguồn cấp điện áp 5V cho mạch logic.
- IN1, IN2: Điều khiển chiều quay động cơ A (MOTOR A).
- IN3, IN4: Điều khiển chiều quay động cơ B (MOTOR B).
- ENA: Điều khiển tốc độ quay động cơ A (MOTOR A).
- ENB: Điều khiển tốc độ quay động cơ B (MOTOR B).
- OUT1, OUT2: Kết nối động cơ A.
- OUT3, OUT4: Kết nối động cơ B.
2.1.3 Mạch chuyển đổi USB sang UART CP2102
Mạch chuyển USB UART CP2102 sử dụng IC CP2102 để chuyển đổi giao tiếp từ USB sang UART TTL và ngược lại, mang lại tốc độ và độ ổn định cao Driver của mạch tương thích với tất cả các hệ điều hành phổ biến hiện nay, bao gồm Windows, Mac, Linux và Android.
Hình 2.4 Mạch chuyển đổi USB sang UART CP2102
UART TTL là một giao thức truyền thông và tiêu chuẩn mức điện áp quan trọng, cho phép truyền thông nối tiếp giữa các thiết bị điện tử Giao thức UART được sử dụng phổ biến trong ngành công nghiệp điện tử để truyền và nhận dữ liệu giữa bộ vi điều khiển, cảm biến và các thiết bị ngoại vi khác.
Mô tả chân như sau:
- 3.3V: Chân nguồn 3.3VDC (dòng cấp rất nhỏ tối đa 100mA), không sử dụng để cấp nguồn, thường chỉ sử dụng để thiết đặt mức tín hiệu logic.
- TXD: Chân truyền dữ liệu UART TTL (3.3VDC), dùng kết nối đến chân nhận RX của các module sử dụng mức tín hiệu TTL 3.3~5VDC.
- RXD: Chân nhận dữ liệu UART TTL (3.3VDC), dùng kết nối đến chân nhận
TX của các module sử dụng mức tín hiệu TTL 3.3~5VDC.
- GND: Chân mass hoặc nối đất.
- 5V: Chân cấp nguồn 5VDC từ cổng USB, dòng điện tối đa 500mA.
2.1.4 Động cơ một chiều có hộp số giảm tốc JGA24-370 Động cơ giảm tốc JGA25-370 này có tích hợp bộ mã 2 kênh cung cấp độ phân giải là 11 lần đếm trên mỗi vòng quay, đảm bảo kiểm soát chính xác tốc độ của động cơ Ứng dụng cần có độ chính xác cao: điều khiển PID, Robot tự hành,
Hình 2.5 Động cơ giảm tốc JGA25-370
Chức năng các chân của động cơ:
- Đỏ - M1: Dây cấp nguồn điện cực dương (+) cho động cơ
- Đen - Encoder (-): Dây cấp nguồn điện cực âm cho Encoder (0VDC).
- Vàng - Kênh A: Phản hồi tín hiệu kênh A.
- Xanh lá - Kênh B: Phản hồi tín hiệu kênh B.
- Xanh dương - Encoder (+): Dây cấp nguồn điện cực dương cho Encoder (3.3~5VDC).
- Trắng - M2: Dây cấp nguồn điện cực âm (-) cho động cơ.
- Điện áp định mức của động cơ: 12 [VDC].
- Công suất của động cơ: 3.6 [W].
- Điện áp cấp cho Encoder hoạt độn.g: 3.3~5 VDC.
- Tốc độ tối đa của động cơ: 6000 [vòng/phút].
- Encoder: Cảm biến từ trường Hall, có 2 kênh AB lệch nhau giúp xác định chiều quay và vận tốc của động cơ, đĩa Encoder trả ra 11 xung/1 kênh/ 1 vòng
- Tỉ số truyền của động cơ và trục chính hộp giảm tốc: 21.3:1.
- Chiều dài động cơ: 71 [mm].
- Đường kính động cơ: 25 [mm].
- Tốc độ không tải: 280 [vòng /phút].
- Dòng điện tải định mức:0.3 [A].
- Tốc độ khi có tải định mức: 220 [vòng/phút].
- Lực kéo moment định mức: 0.156 [N.m].
Giới thiệu các phần mềm điều khiển
Simulink là phần mềm thuộc bộ công cụ Matlab, được sử dụng để mô hình hóa, mô phỏng và phân tích các hệ thống tự động Phần mềm này cung cấp một thư viện phong phú các khối chức năng, bao gồm tín hiệu, khối nguồn, các khối tuyến tính và phi tuyến, cùng với các đầu nối.
Các tính năng chính của Simulink
Simulink sử dụng giao diện kéo-thả, cho phép người dùng xây dựng các mô hình mô phỏng bằng cách kết nối các khối chức năng.
Các khối có thể đại diện cho các phép toán, bộ điều khiển, bộ lọc, động cơ, cảm biến, và nhiều thành phần khác trong một hệ thống.
Simulink cho phép mô phỏng các hệ thống động lực học phức tạp như cơ điện, thủy lực, khí động học và điều khiển Những mô phỏng này hỗ trợ việc kiểm tra, tối ưu hóa và kiểm soát hệ thống trong môi trường ảo hiệu quả.
Aimagin là công ty Thái Lan chuyên phát triển sản phẩm kết nối phần mềm mô phỏng và điều khiển Matlab Simulink của Matworks với phần cứng sử dụng chip ARM mạnh mẽ và giá cả phải chăng từ STM.
Waijung Blockset là cầu nối hiệu quả giữa Matlab Simulink và vi điều khiển STM, cho phép xuất mã code cho các vi điều khiển tương ứng Giao diện của các khối trong Waijung rất thân thiện và có hướng dẫn chi tiết bằng tiếng Anh Đặc biệt, các khối từ Matlab, Waijung và các khối lập trình tùy chỉnh đều hỗ trợ xuất mã C, có thể biên dịch thông qua GNU – ARM và MDK – ARM để nạp và chạy trực tiếp.
2.2.3 Phần mềm truyền nhận dữ liệu Terminal
Phần mềm giao tiếp qua cổng RS232 (Com) cho phép nhận dữ liệu từ thiết bị và truyền dữ liệu từ máy tính xuống thiết bị để thực hiện điều khiển hiệu quả.
Bộ điều khiển PID
Bộ điều khiển vi tích phân tỉ lệ (PID) là một cơ chế phản hồi vòng điều khiển phổ biến trong các hệ thống điều khiển công nghiệp Nó hoạt động bằng cách tính toán giá trị “sai số”, tức là hiệu số giữa giá trị đo và giá trị đặt mong muốn, từ đó điều chỉnh giá trị điều khiển đầu vào để giảm thiểu sai số Mặc dù bộ điều khiển PID là lựa chọn tốt nhất khi không có kiến thức cơ bản về quy trình, việc điều chỉnh các thông số PID là cần thiết để phù hợp với đặc tính của hệ thống, nhằm đạt hiệu quả tối ưu trong quá trình điều khiển.
Bộ điều khiển PID là một thuật toán tính toán bao gồm ba thông số chính: Tỉ lệ (P), Tích phân (I) và Vi phân (D) Trong đó, thành phần tỉ lệ (P) điều chỉnh đầu ra dựa trên sai số hiện tại.
Thành phần tích phân (I - Integral): Điều chỉnh đầu ra dựa trên tổng tích lũy của sai số, giúp loại bỏ sai số tĩnh.
Thành phần vi phân (D - Derivative): Điều chỉnh đầu ra dựa trên tốc độ thay đổi của sai số, giúp giảm độ dao động của hệ thống.
Bằng cách điều chỉnh ba hằng số trong thuật toán của bộ điều khiển PID, thiết bị này có thể được áp dụng cho các thiết kế yêu cầu đặc biệt Đáp ứng của bộ điều khiển được mô tả qua độ nhạy sai số, giá trị vượt quá điểm đặt và mức độ dao động của hệ thống.
Một số ứng dụng có thể yêu cầu sử dụng một hoặc hai khâu tùy thuộc vào hệ thống Điều này được thực hiện bằng cách thiết lập độ lợi của các đầu ra không mong muốn về 0.
Bộ điều khiển PID có thể được phân loại thành các loại như PI, PD, P hoặc I tùy thuộc vào việc thiếu các thành phần điều khiển Trong đó, bộ điều khiển PI rất phổ biến nhờ vào khả năng phản ứng nhanh với các nhiễu đo lường Tuy nhiên, nếu thiếu thành phần tích phân, hệ thống có thể không đạt được giá trị mong muốn.
Công thức của bộ điều khiển PID liên tục:
(2.1) Trong đó: u(t): Đầu ra của bộ điều khiển. e(t): Sai số (sự khác biệt giữa giá trị mong muốn và giá trị thực tế).
: Các tham số của bộ điều khiển PID (
Hình 2.8 Sơ đồ bộ điều khiển PID liên tục Công thức của bộ điều khiển PID rời rạc:
(2.2) Trong đó: u(z): Đầu ra của bộ điều khiển. e(z): Sai số (sự khác biệt giữa giá trị mong muốn và giá trị thực tế).
: Các tham số của bộ điều khiển PID.
Hình 2.9 Sơ đồ bộ điều khiển PID rời rạc
Các phương pháp tìm thông số PID
Phương pháp chạy thử bắt đầu bằng cách đặt Ki = Kd = 0 và tăng Kp cho đến khi hệ thống đạt được trạng thái dao động tuần hoàn Sau đó, điều chỉnh giá trị Ki để giảm thiểu sai số ổn định, và cuối cùng, điều chỉnh Kd nhằm giảm dao động và làm mượt quá trình điều khiển.
Phương pháp này thay thế bộ điều khiển PID trong hệ kín bằng bộ khuếch đại, sau đó điều chỉnh tăng cho đến khi hệ đạt biên giới ổn định, biến hệ kín thành khâu dao động điều hòa Tại thời điểm đó, ta xác định được Ku và chu kỳ dao động Tu Các tham số cho bộ điều khiển PID được chọn theo bảng hướng dẫn cụ thể.
Bảng 2.1 Tham số cho bộ điều khiển PID
Bộ điều khiển Kp Ki Kd
PID 0.6*Ku (2*KP)/Tu (Kp*Tu)/8
Giá trị Kp là yếu tố quyết định khi hệ thống bắt đầu dao động liên tục Để kiểm tra điều này, bộ điều khiển PID được thiết lập ở chế độ P, chỉ sử dụng thành phần Kp Bắt đầu từ giá trị Kp thấp, tăng dần cho đến khi hệ thống xuất hiện dao động liên tục với biên độ không đổi.
Tu là chu kì giao động của hệ thống khi Kp = Ku.
Chỉnh định dùng phần mềm
Xây dựng mô hình hệ thống điều khiển bằng cách sử dụng công cụ phần mềm chuyên dụng Áp dụng phương pháp Auto-tuning để tự động điều chỉnh các tham số PID thông qua chức năng có sẵn trong phần mềm.
Dựa trên kết quả của quá trình Auto-tuning, người dùng có thể thực hiện việc chỉnh định thủ công các tham số PID nhằm đáp ứng những yêu cầu cụ thể của hệ thống.
Kiểm tra và tinh chỉnh:Kiểm tra kết quả điều khiển trên mô hình hoặc hệ thống thực tế, và tinh chỉnh các tham số PID nếu cần thiết.
Một số phần mềm có thể điều chỉnh thông số PID như: Mathlab/Simulink, LabVIEW, TIA Portal của Siemens, DeltaV của Emerson,
Tác động của các thành phần PID trong quá trình điều khiển tốc độ động cơ
Tác dụng của hệ thống điều khiển là điều chỉnh tốc độ động cơ dựa trên sai số giữa giá trị mong muốn và giá trị thực tế Khi sai số lớn, tín hiệu điều khiển sẽ mạnh hơn, dẫn đến việc tăng tốc độ động cơ nhanh chóng.
Nếu P quá lớn: Động cơ có thể bị dao động mạnh, vượt quá giá trị mong muốn và gây hiện tượng "overshoot" (vượt quá mục tiêu).
Nếu P quá nhỏ: Hệ thống sẽ không phản ứng đủ mạnh với sai số, làm cho tốc độ động cơ điều chỉnh chậm và không ổn định.
Tác dụng của việc cộng dồn sai số theo thời gian là loại bỏ sai số ổn định, giúp cải thiện độ chính xác của tốc độ động cơ Việc chỉ sử dụng P không thể khắc phục hoàn toàn sai số lâu dài, do đó, việc áp dụng phương pháp này sẽ mang lại kết quả chính xác hơn theo thời gian.
Nếu I quá lớn: Tạo ra sự điều chỉnh quá mức, dẫn đến dao động hoặc thậm chí không ổn định Hệ thống có thể bị chậm trong việc phản ứng hoặc tạo ra hiện tượng tích lũy sai số quá mức.
Nếu I quá nhỏ: Hệ thống sẽ không thể loại bỏ sai số ổn định, khiến cho tốc độ động cơ không đạt được giá trị mong muốn hoàn toàn.
Tác dụng của việc điều chỉnh tín hiệu điều khiển dựa trên tốc độ thay đổi của sai số là giảm thiểu sự dao động và cải thiện tính mượt mà cho hệ thống điều khiển Điều này giúp tăng cường hiệu suất và ổn định trong quá trình vận hành.
Nếu giá trị D quá lớn, hệ thống có thể trở nên nhạy cảm với những thay đổi nhỏ trong sai số, dẫn đến dao động không cần thiết và phản ứng quá mức.
Nếu D quá nhỏ: Hệ thống có thể thiếu khả năng dự đoán sự thay đổi sai số, dẫn đến hiện tượng dao động hay chậm phản ứng.
Tổng quan về Encoder
Hình 2.10 Hình minh họa Encoder
Encoder là một thành phần quan trọng trong cấu tạo của máy CNC, tương tự như công tơ mét trên xe máy hay ô tô, giúp đo đạc và hiển thị thông số tốc độ cho người sử dụng qua hệ thống giám sát của máy tính điều khiển Trong các hệ thống điều khiển tự động, encoder có chức năng đo lường dịch chuyển thẳng hoặc góc, đồng thời chuyển đổi vị trí góc và vị trí thẳng thành tín hiệu nhị phân.
Encoder là thiết bị thiết yếu trong hệ thống điều khiển tự động, giúp đo lường chính xác vị trí hoặc góc quay của các thành phần Tín hiệu nhị phân từ encoder cung cấp thông tin vị trí cho hệ thống điều khiển, đảm bảo độ chính xác và khả năng phản hồi nhanh trong các ứng dụng công nghiệp và tự động hóa.
Hình 2.11 Cấu tạo của encoder Encoder bao gồm:
- 1 đĩa quay có khoét lỗ gắn vào trục động cơ (code disk).
- 1 mắt thu quang điện được sắp xếp thẳng hàng (photodetector assembly).
- Bảng mạch điện giúp khuếch đại tín hiệu (electronics board).
Encoder có nhiều xuất xứ và chủng loại khác nhau, phân loại chúng theo 2 loại chính như sau:
Encoder tuyệt đối: sử dụng đĩa theo mã nhị phân hoặc mã Gray.
Hình 2.12 Hình ảnh minh họa Encoder kiểu tuyệt đối
Encoder kiểu tuyệt đối bao gồm ba phần chính: bộ phát ánh sáng (LED), đĩa mã hóa chứa dải băng mang tín hiệu, và bộ thu ánh sáng nhạy với ánh sáng phát ra Đĩa mã hóa được làm từ vật liệu trong suốt, với mặt đĩa được chia thành các góc đều nhau và các đường tròn đồng tâm.
Các đường tròn đồng tâm và bán kính giới hạn các góc hình thành các phân tố diện tích.
Dải băng là tập hợp các phân tố diện tích được giới hạn bởi hai vòng tròn đồng tâm Số lượng dải băng phụ thuộc vào công nghệ sản xuất và loại sản phẩm Mỗi dải băng sẽ đi kèm với một đèn LED và một bộ thu.
Encoder tương đối: có tín hiệu tăng dần hoặc theo chu kỳ.
Hình 2.13 Hình ảnh minh họa Encoder kiểu tương đối
Các Encoder kiểu tương đối có cấu trúc tương tự nhau, điểm khác biệt chính nằm ở đĩa mã hóa Đĩa mã hóa của Encoder tương đối bao gồm một dải băng tạo xung, được chia thành nhiều lỗ đều nhau và cách đều Chất liệu của dải băng có thể trong suốt, cho phép ánh sáng chiếu qua.
Khi đĩa quay và ánh sáng chiếu được 1 lỗ thì bộ thu nhận được tín hiệu từ đèn LED thì Encoder sẽ ghi nhận giá trị lên 1 biến đếm.
2.4.3 Nguyên lý hoạt dộng của Encoder
Khi Encoder hoạt động, bộ chuyển đổi sẽ xử lý chuyển động và chuyển đổi thành tín hiệu điện Những tín hiệu này được gửi đến các thiết bị điều khiển PLC để xử lý và hiển thị các giá trị cần đo bằng chương trình riêng Đặc biệt, tín hiệu có thể cho biết liệu ánh sáng có chiếu qua hay không, và việc ghi nhận đèn LED có chiếu qua lỗ hay không cũng có thể thực hiện Hơn nữa, số xung đếm được tăng lên dựa trên số lần ánh sáng bị cắt.
Ví dụ: trên đĩa có 1 lỗ duy nhất, khi mỗi lần con mắt thu nhận được 1 tín hiệu đèn Led thì có nghĩa là đĩa đã quay được 1 vòng.
Nguyên lý hoạt động của Encoder cơ bản là khi đĩa quay, tín hiệu thu nhận sẽ thay đổi tùy thuộc vào số lượng lỗ trên đĩa Đối với các loại Encoder khác, sự khác biệt trong số lỗ sẽ dẫn đến tín hiệu thu nhận khác nhau.
2.4.4 Cách xác định chiều quay
Encoder thường có hai tín hiệu xung A và B để xác định chiều quay của động cơ Tín hiệu khe Z chỉ xuất hiện khi động cơ quay một vòng Khi đèn LED phát tín hiệu, hai pha A và B sẽ thu nhận tín hiệu và tạo ra các xung vuông bật tắt theo trình tự Sự chênh lệch tần số xung giữa A và B giúp phân biệt chiều quay của động cơ; nếu pha A có chu kỳ trước pha B, đó được coi là chiều thuận, ngược lại là chiều ngược.
Encoder thường có 6 dây hoặc 4 dây tùy loại, bao gồm 2 dây nguồn, 2 dây pha A và B, cùng 1 dây pha Z Qua 2 dây A và B, chúng ta có thể xác định số vòng quay, vận tốc và chiều quay của động cơ Để lập trình xử lý tín hiệu encoder, cần nối 2 dây tín hiệu A và B vào 2 chân timer hoặc ngắt ngoài của vi điều khiển, sau đó thiết lập vi điều khiển ở chế độ counter để đếm xung từ encoder.
2.4.5 Nguyên lý hoạt động Encoder từ Hall
Encoder từ Hall là một cảm biến chuyên dụng để đo vị trí và tốc độ quay của các đối tượng như động cơ, thông qua sự biến đổi của từ trường Nguyên lý hoạt động của nó dựa trên hiệu ứng Hall, một hiện tượng vật lý xảy ra khi dòng điện đi qua vật liệu dẫn điện trong một từ trường.
Nguyên lý hoạt động của Encoder từ Hall:
Encoder Hall sử dụng cảm biến Hall để xác định vị trí của vật thể, thường là rotor của động cơ Những cảm biến này có khả năng phát hiện sự thay đổi từ trường khi nam châm di chuyển qua, giúp xác định chính xác vị trí.
Cấu tạo của Encoder từ Hall:
Cảm biến Hall: Được sử dụng để phát hiện sự thay đổi từ trường.
Nam châm vĩnh cửu: Gắn vào rotor của động cơ để tạo ra từ trường.
Mạch điện có chức năng xử lý tín hiệu từ cảm biến Hall, chuyển đổi chúng thành tín hiệu có thể đọc được, thường là tín hiệu xung hoặc tín hiệu số.
Tổng quan về động cơ DC
2.5.1 Cấu tạo động cơ điện một chiều
Cấu tạo của máy điện một chiều gồm có stator và rotor nó được thể hiện như sau:
Stator (còn gọi là phần tĩnh hay phần cảm)
Hình 2.14 Cấu tạo Stator động cơ điện một chiều
1 Vỏ máy: làm bằng thép đúc làm nhiệm vụ dẫn từ, gá lắp các cực từ và bảo vệ máy
2 Cực từ chính: bao gồm thân cực và mặt cực, thân cực làm bằng thép đúc, trên thân cực từ chính có quấn dây quấn kích từ Mặt cực làm bằng lá thép kỹ thuật điện để tránh tác động của dòng xoáy fuco lan truyền từ rotor sang.
3 Cực từ phụ: làm bằng thép đúc, trên có quấn dây quấn kích từ phụ
4 Dây quấn trên cực từ chính: làm bằng dây đồng bọc cách điện Gọi là cuộn kích từ độc lập hay kích từ song song tùy thuộc vào cách đấu dây
5 Dây quấn trên cực từ phụ: giống với cuộn nối tiếp nhưng quấn trên cực từ phụ và đấu nối tiếp với cuộn kích từ nối tiếp
Rotor (phần ứng) của máy điện một chiều gồm: lõi thép, dây quấn phần ứng, cổ góp và trục máy.
Hình 2.15 Cấu tạo rotor động cơ điện một chiều
1 Lõi thép phần ứng: Hình trụ làm bằng các lá thép kĩ thuật điện dày 0,5mm, phủ sơn cách điện ghép lại Các lá thép được dập các lỗ thông gió và rãnh để đặt dây quấn phần ứng
2 Khe đặt dây quấn phần ứng: chu vi mặt ngoài được xẻ rãnh đều đặn để đặt dây quấn.
3 Trục rotor: làm bằng hợp kim thép có độ cứng cao, được đỡ ở 2 đầu bằng 2 vòng bi
4 Dây quấn phần ứng: Gồm nhiều phần tử mắc nối tiếp nhau, đặt trong các rãnh của phần ứng tạo thành một hoặc nhiều vòng kín, hai đầu nối với hai phiến góp của vành góp
Chổi than và cổ góp:
Cổ góp, hay còn gọi là vành góp, là một cấu trúc bao gồm nhiều phiến đồng hình đuôi nhạn được kết hợp thành một khối hình trụ Các phiến này được cách điện với nhau và được gắn trên trục máy, đồng thời cũng cách điện với trục máy để đảm bảo an toàn trong quá trình hoạt động.
Hình 2.16 Cấu tạo cổ góp động cơ điện một chiều
Chổi than được cấu tạo từ bột than granit, nổi bật với độ dẫn điện cao và khả năng chống mài mòn tốt Bên trên chổi than có các lò xo, cho phép điều chỉnh lực căng nhằm tăng cường tiếp xúc giữa chổi than và cổ góp.
Hình 2.17 Cấu tạo chổi than động cơ điện một chiều
2.5.2 Nguyên lý làm việc và phân loại động cơ điện một chiều
Nguyên lý làm việc động cơ điện một chiều
Khi áp dụng điện áp một chiều U vào hai chổi điện A và B, dòng điện sẽ chạy qua dây quấn phần ứng Các thanh dẫn ab và cd mang dòng điện trong từ trường sẽ chịu lực tác dụng, tạo ra moment tác dụng lên rotor, dẫn đến việc rotor quay Chiều lực tác dụng được xác định theo quy tắc bàn tay trái.
Hình 2.18 Mô tả nguyên lý làm việc của động cơ điện một chiều
Khi phần ứng quay nửa vòng, vị trí của thanh dẫn ab và cd sẽ đổi chỗ, nhờ vào phiến góp giúp đổi chiều dòng điện Điều này biến dòng điện một chiều thành dòng điện xoay chiều đưa vào dây quấn phần ứng, giữ cho chiều lực tác dụng không đổi Nhờ đó, lực tác dụng lên rotor cũng duy trì theo một chiều nhất định, đảm bảo động cơ có chiều quay ổn định.
Phân loại động cơ điện một chiều
- Động cơ một chiều kích từ độc lập
- Động cơ một chiều kích từ song song
- Động cơ một chiều kích từ nối tiếp
- Động cơ một chiều kích từ hỗn hợp.
Thông tin về các khối trong Simulink
Khối constant cho phép tạo ra hằng số thực hoặc phức, với khả năng định nghĩa dưới dạng scalar, vector hoặc ma trận tùy thuộc vào cách khai báo tham số Constant Value và việc chọn ô Interpret vector parameters as 1-D Nếu ô này được chọn, tham số Constant Value có thể được định nghĩa là vector hàng hoặc cột với kích thước [1×n] hoặc [n×1] dưới dạng ma trận Ngược lại, nếu ô không được chọn, các vector hàng và cột chỉ được xem như vector với chiều dài n, tức là tín hiệu 1-D.
Khối Scope cho phép hiển thị tín hiệu trong quá trình mô phỏng Bằng cách nhấn vào nút Properties, người dùng có thể mở hộp thoại Scope Properties để điều chỉnh các đặc điểm của Scope Khi chọn mục general, có thể thiết lập chế độ cho các trục Nếu đặt Number of axes lớn hơn 1, cửa sổ Scope sẽ hiển thị nhiều đồ thị con tương tự như lệnh Subplot trong Matlab Bằng cách nhập một giá trị cụ thể vào ô time range, đồ thị sẽ chỉ được thể hiện tại thời điểm xác định theo giá trị đó.
Tín hiệu ra của khối Sum là tổng tín hiệu đầu vào Khối Sum cũng có thể tính tổng từng phần thử.
Khối Gain trong Simulink có chức năng khuếch đại tín hiệu đầu vào, có thể ở định dạng 1-D hoặc 2-D, thông qua biểu thức được khai báo trong ô Gain Biểu thức này có thể là một hoặc nhiều biến, và những biến này cần phải tồn tại trong môi trường Matlab Workspace để Simulink có thể thực hiện phép tính chính xác.
Khối MATLAB Function trong Simulink cho phép tích hợp mã MATLAB trực tiếp vào mô hình, giúp thực hiện các tính toán và xử lý dữ liệu mà không cần tạo S-Function phức tạp Đây là một công cụ mạnh mẽ hỗ trợ người dùng trong việc tối ưu hóa quy trình mô phỏng và phát triển hệ thống.
Khối Saturation có chức nắng giới hạn giá trị ngõ vào của khối.
Hệ thống có khả năng nhận diện sai số giữa giá trị đặt và giá trị thực đầu vào, từ đó sử dụng hàm toán học PID để tính toán giá trị điều khiển hiệu quả.
Inport và Outport là các khối đầu vào và đầu ra trong mô hình mô phỏng, với số thứ tự được xác định tại hộp thoại Block Parameters Simulink tự động đánh số các khối này từ 1, và khi thêm khối mới, nó sẽ nhận số thứ tự kế tiếp Nếu một khối bị xóa, các khối còn lại sẽ được đánh số lại tự động Ngoài ra, trong hộp thoại Block Parameters của Inport, có ô Port with để khai báo bề rộng tín hiệu vào.
Hình 2.26 Khối Inport và Outport
Khối Basic PWM: Khối có các chức năng chính là lựa chọn kênh phát xung, chu kỳ xung PWM và lựa chọn bộ đếm thời gian
Mô cả các phần trong khối Basic PWM:
- Chọn Timer 1-14: Lựa chọn bộ đếm thời gian cho khối Basic PWM
- PWM Period (seconds): chu kì của tín hiệu PWM
- Polarity: chọn điều chỉnh điện áp mức cao hay mức thấp (Active High là mức cao và Active Low là mức thấp)
- Channel: chọn kênh phát PWM
- Sample time (sec): thời gian khối gửi tín hiệu
Khối đếm xung từ 1 hoặc 2 kênh vi điều khiển STM32F407, cung cấp giá trị đếm (Position) và xác định chiều quay (Direction).
Mô tả cấu hình của khối Encoder Read:
- Timer: lựa chọn bộ đếm thời gian.
- Channel A/ Channel B Input Pin: là 2 kênh đọc tín hiệu encoder vào khối.
- PPR: là số xung đếm được khi encoder quay 1 vòng
- Reset counter: chọn nếu muốn xóa giá trị sau khi đếm xong và không chọn nếu muốn dữ giá trị đếm được
- Sample time (sec): thời gian lấy mẫu
2.6.11 Khối Timer (Time Base) IRQ
Khối này sẽ được ưu tiên thực hiện trước sau khi hoàn thành thì sẽ thực hiện các khối khác trong chương trình
Hình 2.29 Khối Timer (Time Base) IRQ
Mô tả cấu hình khối Timer (Time Base) IRQ:
- Configurayion module: chọn kiểu ngắt thường (Basic) và ngắt nâng cao (Advance) Tùy vào mục đích ngắt Timer mà ta chọn chế độ ngắt.
- Timer module: chọn bộ đếm thời gian để ngắt.
Khi có nhiều khối ngắt cùng xảy ra một lúc, việc chọn chế độ ưu tiên cho từng khối là rất quan trọng Bạn nên chọn mức ưu tiên từ 0 đến 15, trong đó 0 là mức ưu tiên cao nhất và 15 là mức ưu tiên thấp nhất Các khối ngắt sẽ được xử lý theo thứ tự ưu tiên đã được thiết lập.
- Sample time: thời gian ngắt.
Chức năng của khối là khởi tạo xác định vi điều khiển kết nối và điều chỉnh các chức năng khi nạp chương trình vào vi điều khiển.
Giao tiếp UART cho phép kết nối và tương tác với các thiết bị bên ngoài như máy tính và Wi-Fi, mang lại lợi ích không đồng bộ giúp dễ dàng truyền và nhận thông tin hai chiều.
Mô tả khối UART Setup:
- UART Module: chọn module UART để giao tiếp.
- Baud rate (bps): tốc độ truyền dữ liệu.
- Parity: lựa chọn bit chẵn/ lẻ.
- Stop bit: lựa chọn bit dừng.
- Tx Pin: tín hiệu UART sẽ được truyền ở chân đã chọn.
- Rx Pin: tín hiệu UART sẽ được nhận ở chân đã chọn.
- Hardware flow control: kiểm soát luồng phần cứng (None| RTS| CTS| RTS/CTS).
Chế độ cấu hình này là sử dụng khối UART Tx làm "Chặn" với gói tin "Ascii".
Mô tả cấu hình khối UART Tx:
- UART Module: chọn module UART để giao tiếp.
Chế độ chuyển đổi trong truyền dữ liệu bao gồm hai loại: Blocking và Non-Blocking Trong chế độ Blocking, khối sẽ chờ cho đến khi tất cả các byte trong gói tin được truyền xong trước khi tiếp tục quy trình Ngược lại, ở chế độ Non-Blocking, sau khi ghi dữ liệu gói truyền, khối sẽ không chờ đợi mà tiếp tục thực hiện các tác vụ khác Việc truyền gói được xử lý bởi mô-đun DMA, giúp tối ưu hóa hiệu suất truyền dữ liệu.
- Packet mode: bộ đếm Ascii.
- Ascii fomat: mẫu định dạng Ascii cho sscanf, được viết trong hoặc đơn gồm
2 phần trước dấu”=” là cổng dữ liệu và sau là kiểu dữ liệu.
- End of packet: chỉ định mẫu kết thúc của gói tin cần nhận (LF| CR| CRLF).
Chức năng của khối là đồng bộ thời gian thời của giá trị đầu vào và đầu ra của khối.
Các công thức tính toán
Công thức tính xung/giay
Soxungdem: số lượng xung đếm được từ 1 kênh hoặc 2 kênh của Encoder trong
T: Thời gian đếm xung Encoder [s].
Xung/giay: Tốc độ xung thay đổi trong vòng 1 giây của Encoder [xung/s].
Công thức tính tốc độ quay xung/phút từ công thức (2.1)
Xung/phut: Tốc độ thay đổi của số xung trong 1 phút của Encoder [xung/phút] Xung/giay: Tốc độ xung thay đổi trong vòng 1 giây của Encoder [xung/s].
Công thức tốc độ quay của Encoder vòng/phút từ công thức (2.2)
Vòng/phut: Tốc độ quay trong vòng 1 phút của Encoder [vòng/phút].
Xung/phút là đơn vị đo tốc độ thay đổi số xung trong một phút của Encoder Độ phân giải N của encoder biểu thị số xung mà encoder phản hồi khi quay hết một vòng.
Công thức tính vận tốc góc của động cơ
W: Vận tốc góc của động cơ [rad/s]. n: Vận tốc quay của đồng cơ [vòng/phút].
Công thức tính chu kỳ của động cơ
T: Chu kỳ của động cơ [s]. f: Tần số giao động của động cơ [Hz].
W: Vận tốc góc của động cơ [rad/s]. n: Vận tốc quay của đồng cơ [vòng/phút].
HÌNH HỆ THỐNG VÀ THIẾT KẾ CHƯƠNG TRÌNH ĐIỀU KHIỂN
Biểu diễn động cơ và các thông số định mức
3.1.1 Mô hình cơ khí của động cơ DC Động cơ DC là một thiết bị chấp hành thông dụng Nó tạo chuyển động quay và kết hợp với một số thiết bị khác tạo chuyển động thẳng.
Hình 3.1 Mô hình cơ khí của động cơ
3.1.2 Biểu diễn động cơ bằng phươn trình vi phân
Phương trình điện của động cơ DC liên quan đến nguồn điện áp V cung cấp cho cuộn dây stator, tạo ra dòng điện i Các thành phần điện trong động cơ bao gồm điện trở R, cảm kháng L, và điện áp tự cảm Eb, hay còn gọi là điện áp phản ứng.
Phương trình điện của động cơ DC có dạng:
V: Điện áp cấp vào động cơ (V).
L: Điện cảm của cuộn dây (H). i: Dòng điện chạy qua cuộn dây (A).
R: Điện trở của cuộn dây (Ω).
Điện áp phản ứng (Eb) là điện áp sinh ra trong cuộn dây khi rotor di chuyển trong từ trường, và nó tỷ lệ thuận với tốc độ góc (ω) của rotor.
Kb: Hằng số điện ỏp phản ứng (Vãs/rad). ω: Tốc độ góc của rotor (rad/s).
Phương trình cơ học của động cơ DC:
Chuyển động cơ học của rotor được xác định bởi các yếu tố quan trọng như mô men xoắn (T), mô men cản (Tf), tốc độ góc (ω) và gia tốc góc (α) Những yếu tố này tương tác với nhau, ảnh hưởng đến hiệu suất và hoạt động của rotor trong các hệ thống cơ khí.
Phương trình cơ học cơ bản là:
J: Mô men quán tính của rotor (kg.m²).
B: Hệ số ma sát cơ học (N.m.s). ω: Tốc độ góc của rotor (rad/s).
Tm: Moment xoắn định mức (N.m).
Mô men xoắn T được tạo ra bởi dòng điện i và được liên kết với điện áp qua hằng số mô men kt:
Km: Hằng số moment của động cơ (N.m/A) i: Dòng điện chạy qua động cơ (A).
Công thức tính hằng số moment và hằng số điện áp
Kb: Hằng số điện áp [V].
In: Dòng điện định mức [A].
Kết hợp các phương trình: Đây là hệ phương trình vi phân mô tả động cơ DC.
Hình 3.2 Thông số động cơ mô PENTA 4S
Dựa trên phương trình vi phân của động cơ và thông số kỹ thuật của động cơ PENTA 4S, chúng tôi đã tổng hợp bảng thông số cần thiết để thực hiện các phép tính và mô phỏng.
Bảng 3.1 Các thông số của phương trình biểu diễn động cơ
CÁC THÔNG SỐ CỦA HỆ THỐNG
Moment quán tính của rotor J=0.00115 [kgm 2 ]
Hệ số ma sát B=0.0844 [Nms]
Hằng số sức điện động Kb=0.4279 [V.s/Rad] Điện trở R=7.36 [Ω]
Momen tải động Td=0.95 [N.m] Điện áp định mức U0 [V]
Tốc độ định mức N000 [vòng/phút]
Mô phỏng động cơ với các giá trị định mức
3.2.1 Mô phỏng động cơ trong Simulink
Hình 3.3 Mô phỏng động cơ trong Simulink
Hình 3.5 Thông số định mức nhập vào khối mô phỏng động cơ
3.2.2 Kết quả đạt được với các thông số định mức
Biểu đồ phía trên biểu thị cho điện áp cấp vào động cơ, biểu đồ phía dưới biểu thị cho tốc độ động cơ.
Hình 3.6 Kết quả mô phỏng động cơ với thông số định mức
Nhận xét: Trên biểu độ hiển thị tốc độ xác lập ở mức 3000 vòng/phút với mức điện áp 180V Vì vậy mô hình hóa động cơ DC chính xác.
Mô phỏng điều khiển tốc độ động cơ với bộ điều khiển PID
3.3.1 Mô phỏng điều khiển tốc độ động cơ với PID
Hình 3.7 Mô phỏng điều khiển tốc độ động cơ với PID
Cài đặt giới hạn khối Saturation với giới hạn trên là 180V và giới hạn dưới là 0V Điều này là cần thiết vì điện áp hoạt động của động cơ nằm trong khoảng từ 0V đến 180V, do đó cần thiết lập giới hạn điện áp cung cấp cho khối động cơ.
Sử dụng khối Scope để quan sát các tín hiệu: Điện áp cấp vào động cơ, Tốc độ đặt, Tốc độ đo.
3.3.2 Các kết quả mô phỏng với bộ điều khiển PID
Cài đặt thông số PID có giá trị như sau: Kp5, Ki=0.5985, Kd=0.19. Đặt mức moment tải: TL=0.95 [N.m].
Hình 3.8 Kết quả mô phỏng số 1 Đánh giá:
Sai số xác lập: exl≈ 0%.
Thời gian ổn định: ts=0.08 [s]. Độ vọt lố: Mpθ ≈ 0%.
Thời gian tăng trưởng: Tr=0.01 [s]. Điện áp cấp cho động cơ giao động quanh mức: 60 [V].
Bằng cách sử dụng giá trị bộ điều khiển PID, chúng ta đã đạt được kết quả điều khiển đáp ứng đầy đủ các tiêu chí của một bộ điều khiển ổn định Bộ điều khiển PID này đã hoàn thành nhiệm vụ một cách hiệu quả.
Cài đặt thông số PID có giá trị như sau: Kp@, Ki=3.1785, Kd=0.3. Đặt mức moment tải: TL=0.95 [N.m].
Hình 3.9 Kết quả mô phỏng số 2 Đánh giá:
Sai số xác lập: exl≈ 0%.
Thời gian ổn định: ts=0.122 [s]. Độ vọt lố: Mpθ ≈ 0%.
Thời gian tăng trưởng: Tr=0.032 [s]. Điện áp cấp cho động cơ giao động quanh mức: 120 [V].
Bằng cách sử dụng giá trị bộ điều khiển PID, chúng ta đã đạt được kết quả điều khiển ổn định và đáp ứng đầy đủ các yêu cầu cần thiết Mặc dù bộ điều khiển PID này đã đạt yêu cầu, nhưng cần cải thiện thời gian ổn định và tăng trưởng lâu hơn do ảnh hưởng từ yếu tố tốc độ đặt.
Cài đặt thông số PID có giá trị như sau: Kp@, Ki=3.1785, Kd=0.3. Đặt mức moment tải: TL=0 [N.m].
Hình 3.10 Kết quả mô phỏng số 3 Đánh giá:
Sai số xác lập: exl≈ 0.006%.
Thời gian ổn định: ts=0.62 [s]. Độ vọt lố: Mpθ ≈ 0.008%.
Thời gian tăng trưởng: Tr=0.079 [s]. Điện áp cấp cho động cơ giao động quanh mức: 180 [V].
Bộ điều khiển PID đã đạt được kết quả điều khiển ổn định và đáp ứng đủ các yêu cầu cần thiết Tuy nhiên, cần cải thiện thời gian ổn định và tăng trưởng để khắc phục ảnh hưởng từ yếu tố tốc độ đặt.
3.3.3 Kết luận chung về quá trình mô phỏng
Trong quá trình điều khiển, giá trị điện áp và tốc độ có sự giao động nhưng vẫn nằm trong giới hạn sai số cho phép là 2% Độ vọt lố không vượt quá 5%, đảm bảo thời gian xác lập ổn định.
< 5 giây Vì vậy bộ điều khiển PID là phướng pháp điều khiển ổn định và hiệu quả cho động cơ DC.
Thiết kế và thi công phần cứng hệ thống
3.4.1 Sơ đồ khối hệ thống
Hình 3.11 Sơ đồ khối hệ thống
Chức năng của các khối:
Máy tính: Có vai trò là giao diện để thiết lập và quan sát tốc độ của động cơ. Điều chỉnh các thông số của hệ thống.
Mạch xử lý tín hiệu điều khiển sử dụng bảng mạch STM32F407 để nhận tín hiệu từ máy tính và cảm biến encoder Nó xuất ra tín hiệu xung áp PWM nhằm điều khiển tốc độ quay của động cơ DC thông qua mạch động lực L298, đảm bảo tốc độ hoạt động theo yêu cầu.
Mạch công suất điều khiển động cơ sử dụng L298, nhận tín hiệu xung áp PWM từ mạch xử lý tín hiệu Mạch này xuất tín hiệu điện áp để điều chỉnh tốc độ quay của động cơ DC theo tốc độ tham chiếu.
Nguồn điện cung cấp năng lượng cần thiết cho các thiết bị hoạt động một cách ổn định, trong khi động cơ DC nhận tín hiệu điện áp từ mạch công suất để thực hiện chức năng của mình.
Encoder: Đọc và trả về số xung thực cho bộ điều khiển.
Bảng mạch STM32f407 hoạt động bằng cách đọc giá trị tốc độ từ máy tính và tín hiệu phản hồi tốc độ của động cơ Sau đó, nó thực hiện tính toán thuật toán để xuất tín hiệu điều khiển tốc độ quay thông qua mạch công suất L298 Hệ thống này có thể được theo dõi trên máy tính thông qua cổng UART.
Lưu đồ giải thuật là một công cụ trực quan hữu ích để mô tả các bước trong một quy trình hoặc giải thuật Nó giúp hiển thị mối liên kết giữa các bước, từ đó giúp người đọc dễ dàng nắm bắt quy trình hoặc logic của hệ thống.
Bảng 3.2 Quy định của lưu đồ giải thuật
1 Bắt đầu/Kết thúc chương trình
5 Xử lý/Tính toán/Gán
Từ các quy định của lưu đồ giải thuật từ Bảng 3.2 ta tiến hành xây dựng lưu đồ giải thuật cho hệ thống.
Hình 3.12 Lưu đồ giải thuật của hệ thống
3.4.3 Sơ đồ kết nối phần cứng
Sơ đồ kết nối với mạch STM32F407
Hình 3.13 Sơ kết nối mạch STM32F407
Sơ đồ kết nối bới mạch L298
Hình 3.14 Sơ đồ kết nối với L298
Sơ đồ kết nối với động cơ
Hình 3.15 Sơ đồ kết nối với động cơ
Sơ đồ kết nối với UART CP2012
Hình 3.16 Sơ đồ kết nối với UART CP2012
Từ sơ kết nối ta tiến hành in mạch ra phích đồng để kết nối các thiết bị lại với nhau 1 cách dễ dàng và tiện lợi hơn.
3.4.4 Mô hình thực tế Đây là kết quá từ các bước vẽ sơ đồ khối, lưu đồ giải thuật, sơ đồ kết nối các thiết bị và mạch in cho ra sản phẩm mô hình thực tế.
Hình 3.18 Mô hình thực tế
Chương trình điều khiển sử dụng bộ điều khiển PID
3.5.1 Chương trình nạp vào chip dùng bộ điều khiển PID
Hình 3.19 Chương trình điều khiển
Cài đặt các thông số như sau:
Cài đặt khối khai báo vi điều khiển bao gồm việc sử dụng giao thức truyền GNU ARM để nạp đầy đủ chip, xóa các chương trình trước đó trong chip và tự động chạy sau khi nạp, với thời gian lấy mẫu là 0.01 giây.
Chọn chân PB8 làm chân phát xưng có chu kỳ xung là T= 0.001 s Chân PB7 và PB6 điều khiển chiều quay của động cơ.
Chọn phân PA0 làm chân truyền dữ liệu từ STM32F407 về máy tính.
Trong khối Encoder Read chọn chân E9 và E11 làm 2 chân nhận tín hiệu từEncoder.
Hệ thống hoạt động với các thông số điều khiển như sau: hệ số Kp là 1.6, Ki là 0.286, Kd là 0, thời gian lấy mẫu Tm là 0.01 giây và tốc độ đặt là 100 vòng/phút.
Hình 3.20 Kết quả thực nghiệm số 1
Nhận xét: Sai số xác lập=2%,Độ vọt lố 2%, Thời gian xác lập 3s Hệ thống thu được kết quả điều khiển thỏa mãn trong khoảng điều kiện.
Cho hệ thống hoạt động cới các thông số như sau: Kp=1.6 ,Ki=0.286, Kd=0, thời gian lấy mẫu Tm= 0.01 giây, tốc độ đặt 150 vòng/phút.
Hình 3.21 Kết quả thực nghiệm số 2
Nhận xét: Sai số xác lập=2%, Độ vọt lố 2%, Thời gian xác lập 3s Hệ thống thu được kết quả điều khiển thỏa mãn trong khoảng điều kiện.
3.5.3 Đánh giá và nhận xét chung kết quả thực nghiệm
Kết quả thực nghiệm không đạt yêu cầu với giá trị đặt, độ vọt lố, thời gian xác lập và sai số xác lập đều vượt mức cho phép Hệ thống điều khiển hiện tại chưa ổn định.