Hình 3-30: Tầng xử lý của MSP430G2553
Tại tầng xử lý của MSP430G2553 sẽ nhận dữ liệu từ 2 phần: Phần thứ nhất là dữ liệu từ Raspberry gửi xuống điều hướng, dẫn đường tự động cho Robot UV. Phần thứ hai là dữ liệu từ điều khiển từ xa gửi tới để điều hướng Robot UV thủ công. Dữ liệu UART được chọn 1 trong 2 đường.
Raspberry Pi – MSP430G2553
Dữ liệu từ Raspberry gửi xuống thông qua đường truyền UART có dạng (𝑣, 𝜔). Trong đó: 𝑣 là vận tốc thẳng (m/s) và 𝜔 là vận tốc xoay (rad/s) của Robot UV. Nhiệm vụ của MSP430G2553 là phải điều khiển Robot UV thực thi đúng với các vận tốc ấy.
Từ vận tốc dài và vận tốc xoay nhận được, ta chuyển thành vận tốc dài cho bánh xe trái và bánh xe phải thông qua các mối liên hệ:
𝑣𝑙𝑒𝑓𝑡 =2𝑣 − 𝜔𝐿
2 (𝑚/𝑠) 𝑣𝑟𝑖𝑔ℎ𝑡 =2𝑣 + 𝜔𝐿
2 (𝑚/𝑠)
Trong đó: L là khoảng cách giữa hai bánh xe với đơn vị là mét.
Sau khi có được vận tốc dài của bánh xe trái và bánh xe phải. Ta chuyển sang vận tốc góc thông qua mối liên hệ giữa chuyển động tròn và chuyển động thẳng:
𝑣 = 𝑅. 𝜔
Trong đó: 𝑣 là vận tốc dài (m/s) , R là bán kính (m) và 𝜔 là tốc độ góc (rad/s) của bánh xe. Ta được:
𝜔𝑙𝑒𝑓𝑡 =𝑣𝑙𝑒𝑓𝑡 𝑅 (𝑟𝑎𝑑/𝑠) 𝜔𝑟𝑖𝑔ℎ𝑡 =𝑣𝑟𝑖𝑔ℎ𝑡 𝑅 (𝑟𝑎𝑑/𝑠) MSP430G2553 RF 433Mhz UART UART Raspberry UART T
Tốc độ góc của bánh xe: 𝜔 = ∆∝
∆𝑡 (𝑟𝑎𝑑/𝑠) là đại lượng đặc trưng cho số góc quay được trong 1s nên ta có:
∆∝𝑙𝑒𝑓𝑡= 𝜔𝑙𝑒𝑓𝑡 . 1𝑠 ∆∝𝑟𝑖𝑔ℎ𝑡= 𝜔𝑟𝑖𝑔ℎ𝑡 . 1𝑠
Động cơ dùng trong Robot UV là động cơ step với góc bước là 1.8 độ => mỗi vòng quay của step cần 360 / 1.8 = 200 xung đặt vào.
Bộ truyền từ động cơ step đến bánh xe có tỉ số truyền là 4 => mỗi vòng quay bánh xe cần 200 . 4 = 800 xung đặt vào step.
Tại mỗi bánh xe ta có mối liên hệ:
2𝜋 800 xung ∆∝𝑛𝑥𝑢𝑛𝑔
Ta được số xung đặt vào mỗi step trong 1 giây và đây cũng chính là tần số xung clock đặt vào step:
𝑃𝑢𝑙𝑠𝑒 𝑙𝑒𝑓𝑡 =∆∝𝑙𝑒𝑓𝑡∗ 800
2𝜋 (𝑥𝑢𝑛𝑔 𝑡𝑟𝑜𝑛𝑔 1𝑠) 𝑃𝑢𝑙𝑠𝑒 𝑟𝑖𝑔ℎ𝑡 =∆∝𝑟𝑖𝑔ℎ𝑡∗ 800
2𝜋 (𝑥𝑢𝑛𝑔 𝑡𝑟𝑜𝑛𝑔 1𝑠)
Từ đó khởi tạo TIMER xuất tần số vào driver điều khiển step quay theo tốc độ của ROS gửi xuống.
RF 433Mhz – MSP430G2553
Bộ điều khiển từ xa RF 433Mhz gửi tín hiệu điều khiển theo dạng mỗi phím điều hướng tương ứng với 1 ký tự được mã hoá và gửi đến Robot UV. Tại đây, dữ liệu được giải mã và thực thi các dòng lệnh tương ứng.
MSP430G2553 RF 433Mhz
UART
‘X’