4.2.1 Tính tốn cảm biến
Hình 4.7 Sơ đồ mạch điện cảm biến quang TCRT5000
Với sơ đồ nguyên lý trên, ta kết hợp với các giá trị được cho trong datasheet của TCRT5000, ta chọn VF=1.25 V, IF=20 mA
Ta chọn RF = 330Ω
Hình 4.39 Đồ thị thể hiện mối tương quan giữa dòng điện vào led phát với dòng điện transitor (bên trái) và với điện áp 2 dầu transistor (bên phải)
Dựa vào đồ thị thể hiện dòng và áp qua LED ta tìm được IC = 1mA và VCE = 0.6V
Ta chọn R2 = 4700 Ω
Chọn cách đặt cảm biến
Có hai cách đặt cảm biến: đặt theo chiều dọc (position 2) và đặt theo chiều ngang (positiion 1).
Hình 4.29 Cách đặt cảm biến
Dựa theo đồ thị ta thấy rằng Switching distance Xd của position 1(đặt theo chiều ngang) luôn nhỏ hơn Switching distance Xd của position 2 (đặt theo chiều dọc).
Khi đi từ nền trắng sang nền đen, thì khả năng nhận biết của cảm biến phụ thuộc vào giá trị Xd, giá trị Xd càng nhỏ thì khả năng nhận biết đương line của cảm biến càng tốt. Vì vậy chọn cách bố trí cảm biến theo chiều ngang.
Tính chọn chiều cao cảm biến so với mặt sàn
Để đảm bảo rằng phototransistor có thể nhận được tín hiệu từ led phát khi robot bám theo line, xuất hiện vùng giao nhau giữa vùng phát và thu
Hình 4.31 Sơ đồ đo chiều cao cảm biến so với mặt sàn
Trong trương hợp này, khoảng cách phù hợp là d>8.57mm.
Do phạm vi làm việc của cảm biến TCRT5000 tối đa là 15mm nên thí nghiệm được thực hiện với các khoảng cách trong phạm vi từ 9mm đến 15mm.
Hình 4.32 Đồ thị kết quả thí nghiệm đo giá trị điện áp trả về từ cảm biến tại từng vị trí so với tâm đường line
Kết quả: (được kiểm nghiệm đo đạt từ thực nghiệm)
- Với khoảng cách lớn (từ 13 – 15mm), độ chênh lệnh điện áp giữa vị trí tại lâm line
và trên nền trắng bị thu hẹp lại so với khoảng cách thấp (9 – 12 mm), và điện áp đo được tại vùng nền trắng không ổn định.
- Với khoảng cách thấp (từ 9 – 12mm), điện áp đo tại vùng nền trắng có sự ổn định hơn (các giá trị tương gần như nhau).
- Giá trị điện áp tại nền trắng ứng với khoảng cách 10mm ổn định hơn so với khoảng cách 9mm, 11mm và 12mm.
Kết luận: Như vậy, chiều cao cảm biến so với mặt đường được lựa chọn là 11mm. Xác định khoảng cách giữa các cảm biến
Yêu cầu:
- Có ít nhất 2 sensor nằm trong line và nhiều nhất là 3 sensor nằm trong line. - Phạm vi hoạt động của 2 led không chồng lên nhau
- Tối thiểu sai số 4.5
0
(14) (15)
Để cảm biến hoạt động tốt thì các led phải tách biệt nhau, các led không được giao thoa với nhau, vì sẽ gây nên sai số khi hoạt động.
Do sử dụng giải thuật xấp xỉ trọng số, ta bố trí các cảm biến đều nhau
- Giả sử ta đặt hai cảm biến sát nhau sao cho vùng hoạt động của chúng vừa chạm nhau như sau:
Hình 4.40 Sơ đồ tính tốn khoảng cách giữa 2 cảm biến
Khoảng cách giữa 2 led phát và thu liền kề phải đảm bảo: l > 10*(tan(80) + tan(150)) = 4.08 mm
Khoảng cách giữa 2 led trong 1 cảm biến là 3.5 mm. Do đó khoảng cách tối thiểu giữa 2 cảm biến sẽ là:
d= l + 3.5 = 4.08 + 3.5= 7.58 mm
Với điều kiện ít nhất 2 sensor nằm trong line và nhiều nhất 3 sensor nằm trong line 19 mm
Hình 4.34 Điều kiện khoảng cách giữa các cảm biến
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 q 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