Theo datasheet chiều dài cụm sensor là 10.2mm
Hình 4.41 Kích thước sensor
Với bề dày line chọn 19mm, khi di chuyển cảm biến qua 1 đoạn 19-d (mm) thì ln có 2 cảm biến phát hiện line với giá trị analog (bên trái và chính giữa) như nhau nên khơng xác định được. Nếu như tiếp tục di chuyển trong vùng 2d-19 chỉ có 1 sensor phát hiện line nên cũng khơng được. Chọn 19-d = 2d-26 nên d = 12,67 (mm)
Vì ít nhất 2 sensor nằm trong đường line nên có 10.2 mm < d < 19mm. Để đảm bảo nằm hoàn toàn trong line và đủ xa để không bị chồng vùng làm việc, ta chọn khoảng cách cảm biến là 13 mm.
Ta nhận thấy khi sử dụng giải thuật xấp xỉ bậc 2 thì cần ít 3 cặp cảm biến để nhận dạng được tâm đường line. Vì thế giả sử khi tâm đường line trùng với tâm nội suy từ cảm biến thì cần 3 cặp cảm biến, đồng thời khi xe lệch về bên trái/phải ta cần thêm 1 cặp cảm biến ở mỗi bên để nhận dạng được phía lệch của xe. Từ lập luận trên ta nhận thấy với việc sử dụng 5 cảm biến ta hồn tồn có thể xác định được phía lệch của xe. Nhưng khi gặp các khúc cua thì việc sử dụng 5 cặp cảm biến sẽ dẫn đến việc ơm cua của xe trở nên khó khăn hơn do xe khơng nhận được tín hiệu cần thiết. Từ đó, ta tăng thêm mỗi bên của mạch cảm biến một cặp LED nên mạch cảm biến của ta sẽ sử dụng 7 cặp LED.
Hình 4.42 Kích thước dãy cảm biến
Mạch điện:
Hình 4.43 Mạch proteus cảm biến
Hình 4.44 Mạch PCB cảm biến
+ Kích thước bao mạch cảm biến theo 2 phương là: 92mm x 21mm
Mơ hình 3D:
Hình 4.45 Mơ hình 3D cảm biến
4.2.2 Lựa chọn và thiết kế mạch driver
- Nhóm sử dụng động cơ DC servo GA25 có thơng số điện áp hoạt động là 12V,cơng suất 4W, dịng lớn nhất motor chịu được là 0,9A có tốc độ 280rpm nên lựa chọn tham khảo motor driver L298N [41] có thơng số như sau:
Bảng 8 Thông số driver L298N
Driver L298N
Điện áp cần cấp cho động cơ +5V -> +12V Dòng tối đa mỗi cầu H 2A
Điện áp logic +5 -> +7V Dịng điện của tín hiệu điều khiển 0 -> 36mA
Cơng suất hao phí 20W
- Để thiết kế mạch driver, nhóm chọn IC L298N có tích hợp mạch ngun khối cầu H có các tranjitor NPN và opamp để so sánh tín hiệu đảo chiều động cơ khi cần thiêt.
Hình 4.40 Block diagram của IC L298N
Trong khối block diagram có 2 mạch cầu H. Xét nửa bên trái ta có chân 2,3 là 2 đầu động cơ, chân +Vss là nguồn nuôi các opamp, chân In1 In2 là hai chân xác đinh chiều của động cơ, chân EnA là chân quy định cầu A có hoạt động hay khơng. Cả 3 chân In1 In2 và EnA là 3 chân nhận tín hiệu từ vi điều khiển, nếu EnA lên mức ‘1’ thì cầu A hoạt động, chân In1 lên ‘1’ và chân In2 lên ‘0’ thì cầu H quay thuận, khi In2 lên ‘1’ và In1 lên ‘0’ thì động cơ quay chiều nghịch. Để điều chỉnh tốc độ động cơ cần cấp xung PWM vào chân EnA.
Opamp so sánh, để chuyển trạng thái từ ‘Off’ lên ‘On’ thì chân ENA và INPUT phải có giá trị ‘HIGH’.
Ngược lại với opamp trên, để chuyển trạng thái từ ‘Off’ lên ‘On’ thì chân ENA phải ‘HIGH’ và chân INPUT phải ‘LOW’.
- Thiết kế mạch driver cần các linh kiện: IC L298N (hay chính là IC multiWatt 15), tụ điện, các diot chống ngược dòng và các điện trở. Tụ điện để lọc nhiễu do dòng điện qua động cơ ‘on’ ‘off’ liên tục khi sử dụng PWM, thứ 2 là chống dịng ngược.
Hình 4.42 Mơ hình 3D driver
4.2.3 Lựa chọn nguồn và mạch hạ ápMạch nguồn: Mạch nguồn:
- Yêu cầu: Khối driver sử dụng nguồn 12V, micro controller và các cảm biến ta sử dụng nguồn 5V, encoder dùng nguồn 3,3V.
- Cần cách ly mạch điều khiển và mạch động lực.
- Do đó dùng 2 pin 9V cấp nguồn cho mạch động lực và 1 pin 9V cấp nguồn cho mạch điều khiển.
Pin Mã hiệu Dịng điện max Dung tích Chức năng 9V Eveready Silver
9V (6F22)
5mA 600mAh Nguồn nuôi cho vi điều khiển
Hình 4.46 Datasheet Pin 9V Eveready Silver
Mạch hạ áp
+ Mạch hạ áp 18V thành 12V: tham khảo module hạ áp LM7812. Sử dụng chip IC7812, 2 tụ điện 0,33 và 0,1uF và 1 diode ngăn dòng ngược. IC7812 nhận giá trị điện áp đầu vào từ 14.2V đến 27V, dịng cực đại 2.2A
Hình 4.47 Block diagram module hạ áp LM7812
Sơ đồ mạch và kiểm tra
Hình 4.48 Sơ đồ mạch hạ áp 12V
+ Với điện áp đầu vào (D1(A)) là 18V mạch cho giá trị hiệu điện thế đầu ra là 12V.
+Với mạch hạ áp 9V thành 5V cấp nguồn nuôi cho vi điều khiển sử dụng IC 7805, 2 tụ điện tương tự cho mạch hạ áp IC 7805.
Hình 4.46 Sơ đồ mạch hạ áp 5V
Với điện áp đầu vào (C1(A)) là 9V mạch cho giá trị hiệu điện thế đầu ra là 5V. + Với mạch hạ áp 5V thành 3,3V cấp nguồn nuôi cho vi điều khiển sử dụng IC LM 1117DT-3,3, 2 tụ điện âm dương 10uF cho mạch hạ áp IC LM 1117.
Sơ đồ mạch và kiểm tra
Hình 4.47 Sơ đồ mạch hạ áp 3,3V
4.2.4 Thiết kế bộ điều khiển trung tâm4.2.4.1Yêu cầu vi điều khiển 4.2.4.1Yêu cầu vi điều khiển
Lựa chọn vi điều khiển
Theo như sơ đồ khối của hệ thống điều khiển cần 3 vi điều khiển bao gồm 1 slave điều khiển động cơ, 1 slave nhận tín hiệu từ cảm biến và xử lý và 1 master. Yêu cầu của vi điều khiển là:
- Đọc giá trị analog của 7 cảm biến.
- Đọc tín hiệu trả về từ encoder của động cơ.
- Chân PWM để điều khiển động cơ.
- Giao tiếp giữa master và slave.
- Ngắt timer và ngắt ngồi để đọc tín hiệu từ encoder
Từ những yêu cầu trên nhóm sử dụng vi điều khiển Atmega328 với các thông số:
- 8 kênh ADC 10 bit
- Giao tiếp: 1 UART, 1 I2C, 2 SPI
- 6 kênh PWM trong đó có 2 kênh tần số cao (62500Hz)
Hình 4.48 Sơ đồ chân vi điều khiển Atmega 328
Các tiêu chí khác:
+ Giao tiếp Slaver 1: 7 chân đọc tín hiệu analog và giao tiếp
+ Giao tiếp Slaver 2: 4 chân logic và 2 chân PWM cho driver, giao tiếp và 2 chân ngắt ngoài encoder.
+ 1 Master giao tiếp với 2 Slaver
Kết luận: Nhóm chọn slaver 1 là atmega328P dạng TQFQ, master và slaver 2 là atmega328P dạng PDIP.
4.2.3.2 Chuẩn giao tiếp
- Giao tiếp master và slaver 1 là: RX, TX - Giao tiếp master và slaver 2 là: I2C
4.2.3.3 Thiết kế mạch điện
Hình 4.51 Model 3D mạch điều khiển trung tâm
Kết luận: Mạch khơng q phức tạp nên nhóm chọn phương pháp hàn tay mạch.
4.3 Mơ hình hố hệ thống
Vì xe có trọng lượng khơng đổi trong quá trình di chuyển nên phần lực tác dụng theo phương thẳng đứng không đổi và xe chỉ chịu tác dụng của ngoại lực là lực ma sát, xe di chuyển trên sa bàn phẳng, không gồ ghề nên hầu như ngoại lực tác động vào xe không đổi => Chọn phân tích động học cho hệ thống.
4.3.1 Mơ hình động học của robot
Để thực hiện việc điều khiển xe bám được line tốt, ta tiến hành thực hiện mơ hình động học của hệ thống. Ta chọn mơ hình động học vì: sa bàn bằng phẳng, ngoại lực tác dụng xấp xỉ bằng 0, trọng lượng xe khơng đổi.
Trong mơ hình này bao gồm: Điểm tham chiếu R: chứa các thông tin về vị trí và hướng tiếp tuyến của line để robot bám theo, điểm M: trung điểm của đoạn thẳng nối tâm 2 bánh xe, điểm C là điểm tracking có thơng tin về vị trí và hướng hiện tại của robot
Phương trình động học tại điểm M:
Trong đó v và w là vận tốc dài và vận tốc góc của xe. Phương trình động học tại điểm C
Với d là khoảng cách từ M đến điểm tracking C.
Phương trình động học tại điểm R (điểm mong muốn của C trên line)
vận tốc mong muốn của mobile platform tại điểm tham chiếu. Ta có sai số động học:
Đạo hàm sai số động học, ta được:
Do hệ thống phototransistor chỉ xác định được sai số theo phương pháp tuyến với phương chuyển động của xe. Do đó mơ hình động học của xe cần được giới thiệu lại với điểm C là tâm của dãy sensor, M là trung điểm hai bánh chủ động và là điểm tracking của xe. Giả sử xe sẽ chạy với vận tốc bằng vận tốc tham chiếu nên ta có e1 = 0. Mơ hình này được thể hiện trên Hình 4.52. Như vậy, để xác định được đầy đủ thơng tin về vị trí của điểm tracking so với tham chiếu, sai số e2 và e3 cần được xác định.
Hình 4.53 Mơ hình động học sử dụng cho robot dị line
Hình 4.54 Xác định sai số e3
Trên thực tế, e2 được xác định trực tiếp từ hệ thống sensor. Đối với e3, phương án xác định được đề xuất là cho robot di chuyển theo phương trước đó một đoạn ds đủ nhỏ để khi
nối 2 điểm RR’ tạo thành tiếp tuyến của đường cong (Hình 4.54). Khi đó, sai số e3 được xác định theo cơng thức.
4.3.2 Tìm hàm truyền động cơ
Xác định số lần lấy mẫu và chu kì lấy mẫu:
Động cơ chạy với vận tốc tối đa là 280 rpm = 280/60 vòng/s = 14/3 vòng/s Suy ra = 14/3 vòng/s
Theo tiêu chuẩn lấy mẫu Nyquist thì: = 28/3 ≈ 9.33 Hz
Chọn Hz vì lý do phụ thuộc vào độ phân giải của encoder của động cơ. Số lần lấy mẫu cần thiết:
Với là thời gian lấy mẫu vận tốc động cơ là chu kì quay của động cơ
N là số lần lấy mẫu. Chọn giá trị N để m là số nguyên
Vậy là giá trị đầu tiên để m là số nguyên => Phải lấy mẫu vận tốc 75 lần với chu kì lấy mẫu là 0.02s
Các bước tìm hàm truyền động cơ:
Bước 1: Cấp PWM từ vi điều khiển cho động cơ, tăng dần giá trị này (ghi lại các giá trị vận
Hình 4.55 Đồ thị vận tốc theo PWM
Nhận xét: đồ thị vận tốc động cơ theo PWM là khơng tuyến tính và có thể dùng
phương pháp xấp xỉ tuyến tính để xấp xỉ vận tốc theo PWM
Đồ thị trên với trục hoành là PWM (55), trục tung là tốc độ động cơ (rpm), đường màu xanh là giá trị đo được, đường màu đỏ là đường xấp xỉ tuyến tính.
Từ phương pháp xấp xỉ ta suy ra được phương trình vận tốc theo PWM là:
Từ kết quả phần mô phỏng ta thấy vận tốc động cơ cỡ khoảng 220 rpm nên ta sẽ sử dụng giá trị này để tìm hàm truyền và đáp ứng của động cơ khi chưa có bộ điều khiển PID.
Bước 2: Tìm hàm truyền khi chưa có bộ điều khiển PID.
Với v = 220 rpm thì PWM = (223.456)/0.659 = 192
Hình 4.56 Dữ liệu tìm hàm truyền khi chưa có bộ điều khiển PID
Bước 3: Đo vận tốc theo thời gian
Trục hoành là thời gian (s) trục tung là vận tốc động cơ (rpm) với vận tốc tham chiếu là 220 rpm
Bước 4: Dùng công cụ Ident của Matlab để tìm hàm truyền:
Hình 4.58 Cơng cụ Ident của Matlab
Chọn Time-Domain Signals để chọn nhập dữ liệu trong miền thời gian. Input: nhập mảng 1 chiều có giá trị của các phần tử là vận tốc tham chiếu. Output: nhập mảng 1 chiều là giá trị vận tốc của động cơ.
Hình 4.60 Hàm truyền khi chưa có bộ điều khiển PID
Ở bước này cần chọn số Poles sao cho độ chính xác xấp xỉ cao nhất có thể và ở 2 động cơ bài này có độ chính xác là 87.2% và 91%.
Bảng 9 Hàm truyền động cơ trước khi có PID
Trước khi có PID Động cơ trái Hàm truyền
Độ chính xác xấp xỉ: 87.2%
%Os (%) 0
(s) 0.4011
Động cơ phải Hàm truyền
Độ chính xác xấp xỉ: 91%
%Os(%) 0
(s) 0.3528
4.3.3 Thiết kế bộ điều khiển
4.3.3.1 Tiêu chí thiết kế bộ điều khiển
Tiêu chí chọn bộ điều khiển PID:
- Thời gian xác lập của động cơ < 0,15s (để đảm bảo chu kì lấy mẫu của bộ điều khiển bám line).
- Sai số xác lập < 5%.
- Sai số bám line = ± 18mm.
4.3.3.2 Lý do lựa chọn và phương trình bộ điều khiển
- Thiết kế bộ điều khiển PID để điều khiển vận tốc cho động cơ: Có thể mơ phỏng,
dự đốn và thay đổi được đáp ứng của động cơ khi áp dụng bộ điều khiển, là bộ điều khiển phổ biến để điều khiển realtime, dễ dàng đưa giải thuật điều khiển vào vi điều khiển.
Phương trình bộ điều khiển PID là:
Rời rạc hóa phương trình trên dể đưa giải thuật điều khiển vào code vi điều khiển:
Các bước tìm hàm truyền và hệ số PID
Bước 1: Dùng PID Tuner của Matlab để xác dịnh các hệ số PID
Tiêu chí để chọn bộ điều khiển là thời gian xác lập (để đảm bảo chu kì lấy mẫu của bộ điều khiển bám line)
Hình 4.61 Hệ số PID và đồ thị đáp ứng
Kp = 1.4268; Ki = 28.9187; Kd = 0
Bước 2: Sau khi có các hệ số PID, đưa các hệ số này vào code và nạp cho vi điều khiển và
đo lại vận tốc động cơ sau khi có bộ điều khiển PID
Đồ thị vận tốc theo thời gian khi có bộ điều khiển PID.
Sử dụng lại cơng cụ Ident của Matlab để xác định hàm truyền động cơ khi có bộ điều khiển PID.
Kết quả được hàm truyền là:
đối với động cơ trái. đối với động cơ phải.
Hình 4.64 Đáp ứng step của động cơ phải
Bảng 10 Hàm truyền động cơ sau khi dùng bộ điều khiển PID
Sau khi có PID Phương trình xấp xỉ vận tốc theo PWM Hệ số PID Động cơ trái Hàm truyền Độ chính xác xấp xỉ: 88.27% Kp = 1.4268 %Os (%) 2.85 Ki = 28.918 7
(s) 0.1375 Kd = 0 Động cơ phải Hàm truyền Độ chính xác xấp xỉ: 91.72% Kp = 3.975 %Os(%) 0.7441 Ki = 49.195 2 (s) 0.1234 Kd = 0
Kết luận: Dựa vào 2 đồ thị, thời gian đáp ứng 2 động cơ lần lượt là 0,13s và 0,12s <
0,15s mục tiêu thiết kế => Đạt yêu cầu.
- Giải thuật điều khiển tracking: thực hiện theo yêu cầu về vận tốc mong muốn và
sai số vị trí so với đường line từ đó tính ra vận tốc góc của từng bánh xe để điều khiển xe chạy bám line. Kết quả bám line tốt và sai số nhỏ.
Bộ điều khiển được sử dụng để từ tín hiệu đầu vào điều khiển hệ thống hội tụ về điểm làm việc .
Định lý: Một hệ được mơ tả bởi phương trình trạng thái . Nếu tìm được hàm là một
hàm xác định dương với mọi biến trạng thái, sao cho đạo hàm của nó theo thời gian là một hàm xác định dấu âm thì hệ ổn định.
Hệ thống được ổn định theo tài liệu [7] bởi phương trình:
Chọn hàm Lyapunov xác định dương:
Bộ điều khiển (1) làm giá trị âm, điều này có nghĩa hệ thống được ổn định theo tiêu chuẩn Lyapunov và những giá trị sai số , , sẽ hội tụ về 0 khi
4.3.4 Lưu đồ giải thuật điều khiển