Đồ án môn : Đồ án đo lường và cảm biến Đề tài: Thiết kế và điều khiển tốc độ động cơ servo bằng encoder từ tính Đã có mạch lắp ráp và code sẵn trong tài liệu, Hệ thống điều khiển tốc độ Servo qua encoder từ tính và điều khiển ổn định bằng PID liên tục và bộ lọc Low-pass -Có trình bày cách hoạt động của encoder từ tính
Tổng quan về hệ thống
Giới thiệu chung
Việc đo tốc độ động cơ là rất quan trọng trong lĩnh vực kỹ thuật Có nhiều phương pháp khác nhau được sử dụng để thực hiện việc này, đảm bảo độ chính xác và hiệu quả trong quá trình đo lường.
Tốc độ kế kiểu điện từ hoạt động dựa trên nguyên lý cảm ứng điện từ, bao gồm hai phần: phần cảm và phần cứng Khi có sự chuyển động tương đối giữa hai phần này, từ thông qua phần ứng sẽ biến thiên, tạo ra suất điện động cảm ứng.
Hệ thống đo tốc độ động cơ sử dụng tốc độ kế vòng loại xung, hoạt động dựa trên nguyên tắc đo tần số của các phần tử chuyển động tuần hoàn, như chuyển động quay Cảm biến này thường bao gồm một đĩa mã hóa gắn với trục quay, trong đó có các phần tử trong suốt và không trong suốt xen kẽ Khi ánh sáng chiếu qua đĩa đến đầu thu quang, xung điện thu được có tần số tỷ lệ với vận tốc cần đo Đồ án này chủ yếu tập trung vào nghiên cứu và xây dựng hệ thống đo tốc độ động cơ và điều khiển ổn định tốc độ đặt, bao gồm ba thành phần chính.
+ Phần cơ khí: Một giá đỡ các linh kiện và động cơ
+ Phần điện: Nguồn 12V cho động cơ và broad Arduino
+ Phần điện tử: Gồm động cơ, cảm biến encoder, modun điều khiển động cơ, mạch điều khiển chính, màn hình hiển thị tốc độ, bàn phím.
Các yêu cầu cơ bản
+ Thiết kế hệ thống đo tốc độ động cơ bằng encoder
+ Điều khiển tốc độ động cơ với tốc độ đặt vào với sai số cho phép
+ Đưa giá trị mong muốn vào từ bàn phím và hiển thị trên màn hình
+ Điều khiển động cơ tốc độ (0 -175 vòng/phút)
+ Đọc tín hiệu từ encoder trả về và thực hiện điều khiển động cơ với sai số < 2%.
Phương pháp, phạm vi và giới hạn nghiên cứu
Phương pháp nghiên cứu lý thuyết là quá trình tìm hiểu các thành phần và nguyên lý hoạt động của hệ thống cần xây dựng, dựa trên kiến thức đã học trên lớp cũng như các nguồn thông tin từ các phương tiện truyền thông.
Phương pháp dựa trên thực nghiệm bao gồm việc thử nghiệm và thực hành trên các phần mềm giả lập, mô phỏng và mô hình hệ thống Mục tiêu của phương pháp này là tìm hiểu và điều chỉnh các tham số cũng như giá trị của hệ thống để cải thiện hiệu quả hoạt động.
+ Phương pháp thiết kế cơ điện tử
+ Nghiên cứu tìm hiểu cơ chế làm việc của encoder từ tính
+ Nghiên cứu chế tạo mô hình động cơ servo tốc độ hoạt động từ 0 -175 vòng/phút + Hiển thị tốc độ động cơ lên màn hình LCD
+ Nhập tốc độ cho động cơ từ bàn phím.
Ý nghĩa thực tiễn
Sử dụng encoder từ tính để đo tốc độ động cơ là cơ sở để ứng dụng trong đo lường và điều khiển các thiết bị
Sử dụng trong các máy CNC, băng truyền, các loại máy móc có sử dụng encoder để đo và điều khiển.
Xây dựng mô hình hệ thống
Thiết kế sơ đồ khối
Dựa theo mục tiêu của đồ án xác định, nhóm chúng em đã nghiên cứu và xây dựng thiết kế hệ thống theo sơ đồ khối sau:
Hình 2.1 Sơ đồ khối hệ thống
+ Nguồn 12V cấp cho mạch Arduino và Driver L298
+ Arduino cấp nguồn 5V cho LCD, bàn phím và encoder
Dữ liệu nhập từ bàn phím sẽ được gửi đến Arduino để xử lý, sau đó Arduino sẽ truyền tín hiệu đến Driver L298 nhằm băm xung và điều khiển động cơ Đồng thời, Arduino cũng hiển thị tốc độ đã đặt và phím vừa nhấn trên màn hình LCD.
+ Động cơ được cấp nguồn xung từ L298 sẽ hoạt động và tốc độ được đo bởi encoder
+ Encoder truyền lại dữ liệu tốc độ đo được về Arduino để xử lý và điều khiển trở lại động cơ qua Driver
- Chức năng các khối trong hệ thống:
+ Nguồn 12V DC: cung cấp nguồn điện một chiều 12V cho các khối chức năng khác
Arduino UNO R3 là mạch xử lý chính trong hệ thống, có nhiệm vụ nhận và gửi tín hiệu dữ liệu cũng như nguồn điện đến các module như bàn phím, encoder, LCD và driver Nó xử lý tín hiệu đo từ encoder, dữ liệu nhập từ bàn phím và hiển thị thông tin lên LCD, đồng thời điều khiển tốc độ động cơ theo yêu cầu của người dùng Bàn phím đóng vai trò nhập xuất tốc độ từ người dùng và truyền tải thông tin về mạch xử lý dưới dạng tín hiệu điện.
+ Modun I2C: hỗ trợ giao tiếp I2C tới màn hình LCD, giảm số lượng chân cắm trên mạch
+ Màn hình LCD : Hiển thị các thông số tốc độ quay của động cơ và dữ liệu nhập từ bàn phím
+ Driver: hỗ trợ băm xung và cấp nguồn cho động cơ
Động cơ servo hoạt động bằng cách nhận tín hiệu điện từ Driver, cho phép nó thực hiện các điều khiển chính xác Đồng thời, Encoder đóng vai trò quan trọng trong việc đo lường và xử lý dữ liệu tốc độ quay của động cơ, sau đó gửi tín hiệu về mạch xử lý để đảm bảo hiệu suất hoạt động tối ưu.
Phân tích lựa chọn cảm biến và động cơ
2.2.1 Phân tích lựa chọn cảm biến
Encoder, hay bộ mã hóa, là thiết bị cảm biến chuyển động cơ học, tạo ra tín hiệu kỹ thuật số tương ứng với chuyển động Nó hoạt động như một tín hiệu cơ điện, có khả năng biến đổi tín hiệu số thành tín hiệu xung.
Trong đồ án này chúng em lựa chọn sử dụng encoder từ tính có cảm biến từ trường Hall
Encoder từ tính là bộ mã hóa quay sử dụng cảm biến để phát hiện sự thay đổi trong từ trường từ bánh xe hoặc vòng từ hóa quay.
➢ Cấu tạo của encoder từ tính:
+ Một Roto quay cùng trục và chứa các cực Bắc-Nam của nam châm vĩnh cửu cách đều nhau và xoay quanh chu vi của nó
Cảm biến Hall là thiết bị sử dụng hiệu ứng Hall, bao gồm nhiều bộ phận quan trọng Đầu tiên, cảm biến có một phần tử Hall tạo ra điện áp Hall (HV) thông qua hiệu ứng này Thứ hai, nó được trang bị một IC Hall, giúp xuất ra tín hiệu kỹ thuật số cao/thấp Cuối cùng, cảm biến còn có một IC Hall tuyến tính để khuếch đại và tuyến tính hóa đầu ra Điện áp đầu ra tỷ lệ thuận với độ mạnh của từ trường đặt thẳng đứng vào cảm biến, tạo ra điện áp dương hoặc âm tùy theo hướng của từ trường, trong khi điện áp ra khi không có từ trường là 0 V.
Hình 2.2 Cấu tạo encoder từ tính
Nam châm vĩnh cửu thường được sử dụng trong các bộ mã hóa từ tính, với hai loại hướng từ hóa chính là hướng xuyên tâm và hướng mặt phẳng Điều quan trọng là phải đảm bảo các điều kiện về mật độ từ thông để hoạt động hiệu quả Vật liệu và kích thước của nam châm có thể được lựa chọn linh hoạt, trong đó nam châm samarium-coban (SmCo) nổi bật với khả năng chịu nhiệt tốt, nam châm neodymium (Ne-Fe-B) giúp giảm kích thước và trọng lượng, còn nam châm ferit có giá thành rẻ thường được chọn tùy theo nhu cầu sử dụng.
➢ Nguyên lý hoạt động của encoder từ tính
Khi trục động cơ quay, từ trường do nam châm vĩnh cửu tạo ra cũng quay theo, duy trì cường độ không đổi gần tâm trục Phần tử Hall phát hiện sự thay đổi phân bố từ trường này và chuyển đổi thành tín hiệu điện Tuy nhiên, phần tử Hall chỉ có khả năng phát hiện cường độ từ trường theo một hướng duy nhất Do đó, để xác định vị trí quay của mặt phẳng XY, cần sử dụng hai phần tử Hall: một để phát hiện cường độ thành phần trục X (Bx) và một để phát hiện cường độ thành phần trục Y (By).
Hình 2.3 Đặc tính đầu ra của cảm biến Hall
Phần tử Hall chuyển đổi thông tin từ trường thành tín hiệu điện, sau đó được biến đổi thành tín hiệu số qua bộ chuyển đổi ADC Tín hiệu này được gửi đến mạch số học để tính toán tốc độ bằng cách xác định tần số đảo chiều của từ trường Bằng cách chuyển đổi thông tin góc tuyệt đối thành các pha A, B và Z, tín hiệu có thể được xuất ra dưới dạng xung Nếu độ phân giải của thông tin góc tuyệt đối đủ cao, tín hiệu xung có thể đạt độ phân giải tùy ý như 360 ppr, 1000 ppr, 2500 ppr hoặc 4000 ppr.
- Một số ưu điểm của encoder từ tính:
+ Có thể hoạt động bình thường trong môi trường bụi, dầu nước,
+ Khả năng chống sốc, chống dung cao, dễ dàng vệ sinh và giảm thời gian chết, …
+ Độ chính xác thấp hơn so với các loại encoder quang hay encoder điện trở từ
+ Bị ảnh hưởng nhiễu bởi từ tính
➢ Cách đọc và xử lí tín hiệu xung
Hình 2.5 Cường độ từ trường được phát hiện bởi cảm biến Hall Hình 2.4 Encoder từ tính cấu hình Shaft-End
Khi encoder quay, tại các kênh A và B, tín hiệu luôn có hai trạng thái High và Low, tạo thành dạng xung vuông Tín hiệu này có những đặc tính quan trọng như mức cao, mức thấp, sườn lên và sườn xuống của xung.
Như vậy, ta cho thể thấy việc đọc tín hiệu của encoder chính là bắt tín hiệu xung ở 1 trong 4 đặc tính trên
Có nhiều phương pháp để tính tốc độ từ encoder, và cách tính sẽ phụ thuộc vào yêu cầu cụ thể của bài toán Bài báo cáo này sẽ trình bày một phương pháp tính tốc độ cụ thể.
• Phương pháp: Sử dụng tín hiệu kênh A để ngắt và kênh B để đếm xung trong khoảng thời gian T để từ đó suy ra xung.60 v = T (vòng/phút)
T: thời gian lấy mẫu (s) xung: số xung đã đếm được trong khoảng thời gian T
• Các thực hiện: Trên Arduino hỗ trợ 2 chân ngắt ISR ( Interrupt Service
Cú pháp để gọi hàm ngắt: attachInterrupt(digitalPinToInterrupt(pin), ISR, mode) pin: chân dùng để ngắt
ISR: hàm được gọi đến khi có ngắt
Có 5 kiểu chế độ ngắt:
LOW: kích hoạt ngắt bất cứ khi nào chân cắm ở mức thấp
HIGH: kích hoạt ngắt bất cứ khi nào chân cắm ở mức cao
RISING: kích hoạt ngắt khi chân cắm từ trạng thái thấp lên cao
Khi sử dụng chế độ ngắt sườn xuống (FALLING), ngắt sẽ được kích hoạt khi chân cắm chuyển từ trạng thái cao xuống thấp Trong trường hợp này, chân tín hiệu kênh A được kết nối với pin 2 của Arduino, cho phép theo dõi sự thay đổi trạng thái của chân cắm Chế độ CHANGE cũng có thể được sử dụng để kích hoạt ngắt bất kỳ khi nào chân cắm thay đổi trạng thái.
Hàm ngắt được gọi đến sẽ thực hiện đếm xung bằng cách kiểm tra trạng thái kênh B Nếu tín hiệu mức thấp thì giá trị biến xung tăng thêm 1
Chú ý: Việc xác định trạng thái kênh B liên quan đến chiều quay của encoder
Hình 2.6 Giản đồ xung của encoder Như hình hình trên
Khi A đang ở mức thấp, B đang ở mức thấp thì encoder sẽ quay theo chiều thuận
Khi A đang ở mức thấp, B đang ở mức cao thì encoder sẽ quay theo chiều nghịch
2.2.3 Phân tích lựa chọn động cơ
Hình 2.7 Động cơ DC Servo GM25-370 DC Geared Motor Động cơ được nhóm chọn sử dụng trong đồ án này là động cơ điện 1 chiều: DC
Động cơ DC Servo GM25-370 được trang bị encoder cảm biến Hall, mang lại độ chính xác cao trong điều khiển Với cấu trúc kim loại bền bỉ, động cơ này lý tưởng cho các ứng dụng như robot, xe và thuyền Hộp giảm tốc đa dạng tỉ số truyền cho phép người dùng linh hoạt lựa chọn giữa lực kéo và tốc độ, phù hợp với nhu cầu sử dụng Sản phẩm sử dụng nguyên liệu chất lượng như lõi dây đồng nguyên chất, lá thép 407 và nam châm từ tính mạnh, đảm bảo sức mạnh và độ bền vượt trội Thông số kỹ thuật nổi bật bao gồm điện áp sử dụng 12V-DC, đường kính 25mm và điện áp cấp cho encoder từ 3.3 đến 5V-DC.
Dòng chịu đựng tối đa 750mA
Tốc độ không tải 250RPM
Tốc độ tối đa có tải 140RPM
Chiều dài hộp số 21mm
Số xung mỗi kênh 374 xung
Bảng 2.1 Thông số động cơ và encoder
Phân tích lựa chọn Vi xử lý
Mạch điều khiển trong đồ án này là Broad Arduino Uno R3
Arduino là một bo mạch vi xử lý mở, giúp phát triển các ứng dụng tương tác với nhau và môi trường xung quanh Nó được thiết kế dựa trên vi xử lý AVR Atmel 8bit, mang lại sự thuận lợi cho việc xây dựng các dự án điện tử.
ARM Atmel 32-bit hiện đang được trang bị với 1 cổng giao tiếp USB, 6 chân đầu vào analog và 14 chân I/O kỹ thuật số, tương thích với nhiều board mở rộng khác nhau Một số thông số kỹ thuật nổi bật của mạch này bao gồm khả năng mở rộng linh hoạt và tính tương thích cao với các thiết bị khác.
Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ được cấp qua cổng
USB) Tần số hoạt động 16 MHz
Dòng tiêu thụ khoảng 30mA Điện áp vào khuyên dùng 7-12V DC Điện áp vào giới hạn 6-20V DC
Số chân Digital I/O 14 (6 chân hardware PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader
Bảng 2.2 Thông số kĩ thuật broad Arduino UNO R3
Thiết kế bộ điều khiển
2.4.1 Bộ điều khiển PID là gì ?
Bộ điều khiển PID (Proportional Integral Derivative) là một giải pháp điều khiển cổ điển dựa trên cơ chế phản hồi vòng điều khiển PID kết hợp ba thành phần chính: tỉ lệ (Kp), tích phân (Ki) và vi phân (Kd) Với tính linh hoạt và hiệu quả, PID được ứng dụng rộng rãi trong các hệ thống điều khiển công nghiệp, điện, tự động hóa và điện tử, trở thành một trong những bộ điều khiển phổ biến nhất hiện nay.
Khâu tỉ lệ là quá trình làm thay đổi giá trị đầu ra, đồng thời tỷ lệ với giá trị sai số Để đáp ứng yêu cầu về tỷ lệ, có thể điều chỉnh độ lợi bằng cách nhân sai số với một hằng số K P.
Hệ số của khâu tỉ lệ lớn ảnh hưởng đến sự ổn định của hệ thống, với sự thay đổi lớn ở đầu ra và sai số nhỏ Nếu hệ số này quá cao, hệ thống sẽ trở nên mất ổn định Ngược lại, hệ số nhỏ có thể dẫn đến sai số lớn ở đầu vào, làm giảm hiệu suất và tốc độ phản hồi của bộ điều khiển Hệ số tỉ lệ quá thấp cũng không đáp ứng được yêu cầu đầu vào, gây ra các vấn đề trong quá trình điều khiển.
Khâu tích phân trong hệ thống điều khiển có mối liên hệ tỉ lệ thuận với biên độ sai số và thời gian xảy ra sai số Tổng sai số tức thời theo thời gian cho thấy cách mà tích lũy bù đã được hiệu chỉnh trước đó Tích lũy sai số sau đó sẽ được nhân với độ lợi tích phân và cộng thêm tín hiệu đầu ra của bộ điều khiển PID Biên độ phân phối trong khâu phân tích này được xác định bởi độ lợi tích phân K I.
Khâu vi phân được sử dụng để tính toán tốc độ thay đổi của sai số theo thời gian bằng cách xác định độ dốc của sai số Nó làm chậm tốc độ thay đổi của đầu ra bộ điều khiển, giúp giảm biên độ vọt lố do thành phần tích phân gây ra và tăng cường sự ổn định của bộ điều khiển hỗn hợp Tuy nhiên, trong quá trình hoạt động, khâu vi phân có thể bị ảnh hưởng bởi các tín hiệu khuếch đại nhiễu, dẫn đến độ nhạy cao hơn với nhiễu trong các sai số Biên độ phân khối của khâu vi phân được xác định bởi độ lợi vi phân K D.
• Tác động của việc tăng một số thông số độc lập
Thông số Thời gian khởi động
Quá độ Thời gian xác lập
Sai số ổn định Độ ổn định
𝐾 𝑝 Giảm Tăng Thay đổi nhỏ
𝐾 𝑖 Giảm Tăng Tăng Giảm đáng kể
𝐾 𝑑 Tăng Giảm ít Giảm ít Về lý thuyết không có tác động
Bảng 2.3 Tác động của các thông số độc lập
Ta có sơ đồ điều khiển hệ thống:
Hình 2.9 Sơ đồ khối điều khiển tốc độ động cơ bằng PID rời rạc
Ta có bộ điều khiển PID liên tục theo thời gian:
Để rời rạc hóa hệ thống, chúng ta sẽ chuyển đổi bộ điều khiển liên tục bằng các phương pháp như Euler tiến, Euler lùi và phương pháp hình thang với chu kỳ lấy mẫu T Dưới đây là bộ PID rời rạc sử dụng cách biến đổi khâu tích phân và vi phân theo phương pháp hình thang.
− Để thực hiện việc nhúng code vào board Arduino, bộ điều khiển PID trong miền z phải được chuyển đổi thành miền thời gian k
Biến đổi laplace ngược (*) về miền k:
Với u(k): đầu ra hiện tại u(k-1): đầu ra trước đó 1 mẫu e(k), e(k-1), e(k-2): sai số hiện tại, sai số trước đó 1 mẫu, sai số trước đó
Chế tạo và thử nghiệm hệ thống
Một số linh kiện khác được sử dụng trong đồ án
Hình ảnh Thông số kĩ thuật Công dụng
Driver điều khiển động cơ
-IC L298 -Điện áp 5 -30V -Công suất tối đa 25W
- Hỗ trợ điều khiển động cơ
-LCD kích thước 16 cột x 2 dòng
- Mỗi kí tự có 40 pixel
-Hiển thị tốc độ đặt và tốc độ quay của động cơ
-PCF8574 -Điện áp hoạt động 2.5 -6V -Biến trở thay đổi tương phản cho LCD
-Hỗ trợ giao tiếp I2C với LCD
-Loại 4x4 phím -Kích thước 76.9 x 69.2 mm
-Nhập giá trị tốc độ cho hệ thống
Bảng 3.1 Các linh kiện trong đồ án
Lưu đồ thuật toán hệ thống
Hình 3.1 Lưu đồ thuật toán
Sơ đồ dây nối
Để thực hiện vẽ sơ đồ và đi dây được minh họa một cách cụ thể và chân thực nhất thì ở đây ta sử dụng phần mềm Fritzing
Các linh kiện được sử dụng:
Hình 3.2 Sơ đồ dây nối
Mô phỏng hệ thống trên phần mềm Proteus
3.4.1 Thiết kế mạch mô phỏng
Mạch mô phỏng trên Proteus cho phép người dùng quan sát kết quả tương quan của hệ thống điều khiển, giúp tối ưu hóa quá trình thiết kế mô hình thực tế trước khi triển khai.
Hình 3.3 Sơ đồ mạch mô phỏng trên Proteus
3.4.2 Chạy mô phỏng và lựa chọn thông số điều khiển
Quá trình xây dựng code, chọn Kp, Ki, Kd và nạp vào mạch mô phỏng trên proteus:
- Nhóm đã lựa chọn phương pháp kiểm soát thông số bằng tay:
Bước đầu tiên trong quá trình điều chỉnh là thiết lập Ki và Kd bằng 0 Tiếp theo, tăng dần giá trị Kp cho đến khi đầu ra gần sát với giá trị đặt, nhằm đạt được sai số xác lập nhỏ nhất có thể Mặc dù sẽ có hiện tượng vọt lố, nhưng điều này vẫn được chấp nhận trong quá trình điều chỉnh.
Nếu giá trị Kp đã được tăng lên mức cao nhưng sai số vẫn không thay đổi, bước tiếp theo là tăng Ki Thông số Ki sẽ giúp đầu ra tăng dần cho đến khi đạt được giá trị mong muốn.
Để đảm bảo hiệu suất tối ưu, bước 3 là kiểm soát độ vọt lố và độ ổn định thông qua thông số Kd Sau đó, bước 4 yêu cầu điều chỉnh lại giá trị Kp và Ki để chúng khớp chính xác với giá trị đầu ra.
Sau khi thay các thông số theo những bước trên và nhóm đã lựa chọn các tham số cơ bản đáp ứng ổn như sau: Kp = 5 , Ki = 0,3, Kd = 9
Hình 3.4 Chạy mô phỏng hệ thống trên Proteus
- Thời gian đáp ứng nhanh dưới 2s
- Sai số xác lập lớn khoảng 12 vòng/phút
Kết quả cho thấy giá trị sai số lớn so với đầu ra, mặc dù việc điều chỉnh Kp, Ki, Kd có khả quan nhưng vẫn không giảm được sai số xác lập Vấn đề chính nằm ở độ nhiễu tín hiệu hồi tiếp từ đầu ra của hệ thống, với nhiều tín hiệu tần số cao gây ra dao động lớn, làm tăng giá trị sai số.
Để khắc phục vấn đề, bạn có thể thêm bộ lọc tần số thấp (low-pass filter) Bộ lọc này giúp giữ lại tín hiệu có tần số thấp hơn mức tần số cắt, đồng thời làm suy giảm tín hiệu có tần số cao hơn.
Tiến hành: Tham khảo cách xây dựng code hàm bộ lọc
Hình 3.5 Chạy mô phỏng sau khi thêm bộ lọc low-pass
- Thời gian đáp ứng nhanh
- Sai số xác lập giảm: sai số khoảng 2 vòng/phút
➢ Như vậy bộ lọc tần số thấp đã có hiệu quả với hệ thống làm giảm bớt sai số.
Chế tạo mô hình thực tế
Do những điều kiện khách quan và sự hỗ trợ hạn chế trong nhóm, chúng tôi đã quyết định đơn giản hóa quá trình chế tạo mô hình Sau khi mua đủ linh kiện, nhóm đã bắt đầu thiết kế và phác thảo sơ bộ Dưới đây là kết quả thực hiện của nhóm chúng tôi.
Hình 3.6 Chế tạo mô hình thực tế
Thử nghiệm động cơ trên mô hình thực tế
Sau khi chế tạo và lắp đặt hệ thống, tiến hành quá trình chạy thử
Code PID được nhúng vào board Arduino
So sánh mô phỏng hệ thống và chạy thật:
Tiến hành: với đầu vào và thông số Kp, Ki, Kd giống như phần mô phỏng trên proteus Ta thu được kết quả sau:
- Độ vọt lố thấp khoảng 2%
- Thời gian đáp ứng nhanh
Hình 3.7 Chạy thử mô hình với thống số mô phỏng
- Blue line: tốc độ đặt
- Green line : tốc độ khi không qua bộ low-pass filter
- Red line: tốc độ khi qua bộ low-pass filter
Thay đổi tốc độ từ 30v/p lên 90v/p:
Hình 3.8 Chạy thử trên mô hình - thay đổi tốc độ
Kết quả: Trong trường hợp trên, khi thay đổi tốc độ thời gian đáp ứng nhanh và không có vọt lố
Vấn đề gặp phải: Khi thay đổi tốc độ trong các khoảng từ 0 đến 175v/p là khác nhau
- Từ 0 - 60v/p: Độ vọt lố cao khoảng 20%
- Từ 60v/p – 175v/p: Độ vọt lố khoảng 2-5%
Nguyên nhân: Do sự tăng đột ngột tốc độ đặt mà động cơ có mang hộp số nên gây ra sự vấp từ các bánh răng.
KẾT QUẢ
+ Xây dựng được mô hình thực tế của hệ thống với sai số cho phép