Chương 3: XÂY DỰNG MÔ HÌNH VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN
3.1. Xây dựng mô hình
3.1.2. Các thiết bị phần cứng sử dụng trong hệ thống
3.1.2.1. Giới thiệu về Raspberry Pi
Raspberry Pi là một seri các máy tính chỉ có một board mạch kích thước chỉ bẳng một thẻ tín dụng, được phát triển tại Anh bởi Raspberry Pi Foundation với mục đích thúc đẩy việc giảng dạy về khoa học máy tính cơ bản trong các trường học và các nước đang phát triển.
Raspberry Pi ban đầu được dựa trên hệ thống trên một vi mạch (SoC) BCM2835 của Broadcom, bao gồm một vi xử lý ARM1176JZF-S 700 MHz, VideoCore IV GPU, và ban đầu được xuất xưởng với 256 MB RAM, sau đó được nâng cấp (model B và B +) lên đến 512 MB. Board này cũng có socket Secure
Digital (SD) (model A và B) hoặc MicroSD (model A + và B +) dùng làm thiết bị khởi động và bộ lưu trữ liên tục.
Trong năm 2014, Raspberry Pi Foundation đã phát hành Compute Module, đóng gói một BCM2835 với 512 MB RAM và một flash chip eMMC vào một module để sử dụng như một phần của hệ thống nhúng.
Foundation này cung cấp Debian và Arch Linux ARM để người dùng download về. Các công cụ có sẵn cho Python như là ngôn ngữ lập trình chính, hỗ trợ cho BBC BASIC (thông qua RISC OS image hoặc Brandy Basic clone cho Linux), C, C++, Java, Perl và Ruby.
Tính đến ngày 08 Tháng Sáu năm 2015, khoảng 5-6.000.000 board Raspberry Pi đã được bán. Trong khi đã trở thành máy tính cá nhân bán chạy nhanh nhất của Anh, nó cũng đã được vận chuyển số lượng đơn vị lớn thứ hai phía sau Amstrad PCW, "Personal Computer Word-processor", bán được tám triệu chiếc.
Vào đầu tháng 2 năm 2015, thế hệ tiếp theo của Raspberry Pi, Raspberry Pi 2, đã được phát hành. Board máy tính mới này đầu tiên chỉ có một cấu hình (model B) và trang bị SoC Broadcom BCM2836, với một nhân ARM Cortex-A7 CPU lõi tứ và một VideoCore IV dual- core GPU; 1 GB bộ nhớ RAM với thông số kỹ thuật còn lại
tương tự như của các thế hệ model B+ trước đó.
Hình 3.5. Raspberry Pi 3
Ngày 29/01/2016, Raspberry Pi Foundation chính thức ra mắt Raspberry Pi 3 với rất nhiều điểm cải tiến mới, đặc biệt là hỗ trợ Wifi và Bluetooth sẵn trên bo mạch. Raspberry Pi 3 với CPU ARM Cortex-A53 Quadcore 1.2GHz 64-bit, RAM 1GB và đặc biệt hỗ trợ chuẩn Wifi 802.11n cùng Bluetooth 4.1. Thông tin cấu hình Raspberry Pi 3:
- Broadcom BCM2837 chipset running at 1.2 GHz - 64-bit quad-core ARM Cortex-A53
- 802.11 b/g/n Wireless LAN
- Bluetooth 4.1 (Classic & Low Energy)
- Dual core Videocore IV® Multimedia co-processor - 1 GB LPDDR2 memory
- Supports all the latest ARM GNU/Linux distributions and Windows 10 IoT - MicroUSB connector for 2.5 A power supply
- 1 x 10/100 Ethernet port
- 1 x HDMI video/audio connector - 1 x RCA video/audio connector - 4 x USB 2.0 ports
- 40 GPIO pins - Chip antenna
- DSI display connector - MicroSD card slot
- Dimensions: 85 x 56 x 17 mm - Ứng dụng của Raspberry Pi 3:
- Đầu coi phim HD giống như Android Box, hỗ trợ KODI đầy đủ.
- Máy chơi game cầm tay, console, game thùng. Chơi như máy điện tử băng ngày xưa, giả lập được nhiều hệ máy.
- Cắm máy tải Torrent 24/24.
- Dùng làm VPN cá nhân.
- Biến ổ cứng bình thường thành ổ cứng mạng (NAS).
- Làm camera an ninh, quan sát từ xa.
- Hiển thị thời tiết, hiển thị thông tin mạng nội bộ...
- Máy nghe nhạc, máy đọc sách.
- Làm thành một cái máy Terminal di động có màn hình, bàn phím, pin
dự phòng để sử dụng mọi lúc mọi nơi, dò pass Wi-Fi...
- Làm thiết bị điều khiển Smart Home, điều khiển mọi thiết bị điện tử trong nhà.
Hình 3.6. GPIO Raspberry Pi 3 model B
- Điều khiển robot, máy in không dây từ xa, Airplay...
GPIO của Raspberry gồm 40 chân, trong đó có 28 chân có thể giao tiếp và lập trình được. 4 chân nguồn, trong đó 2 chân cấp điện 3v, 2 chân cấp điện áp 5v và 8 chân đất. Sơ đồ bố trí các chân được chỉ ra trong Hình 3.6.
Để giao tiếp với các GPIO của Raspberry, ta có hai cách đánh số chân đó là:
đánh số chân trực tiếp và đánh số chân theo thư viện wiringPi. Việc cài đặt đánh số chân này được thực hiện bằng code đã được chỉ ở mục 2.1.2.
3.1.2.2. Giới thiệu về module L298
Module L298 là một module tích hợp nguyên khối gồm 2 mạch cầu H bên trong. Có tác dụng khuếch đại công suất điều khiển. L298 được dùng để điều khiển động cơ DC, động cơ bước, có thể đảo chiều động cơ.
Hình 3.7. Sơ đồ chân của module L298
Các chân của module L298:
- VS: Nguồn đầu vào cho động cơ, điện áp từ 3V – 45V, dòng điện <= 2A.
- GND: chân GND của nguồn cho động cơ.
- VSS: Điện áp vào của các khối logic, điện áp từ 5V – 7V.
- Enable Motor A, Enable Motor B (IN1, IN2, IN3, IN4): là các chân để điều khiển động cơ (điều khiển động cơ quay thuận, quay ngược).
- Enable PWM signal for Motor A, Enable PWM signal for Motor B (ENA, ENB): chân cho phép điều khiển động cơ.
- Out1, Out2, Out3, Out4: là các đầu ra nối đến động cơ.
3.1.2.3. Giới thiệu về cảm biến siêu âm HC-SR04
Cảm biến siêu âm HC-SR04 là cảm biến sử dụng sóng siêu âm để đo khoảng cách đến một đối tượng, giống như con dơi hoặc con cá heo đã làm. Nó có thể đo khoảng cách trong khoảng từ 2 – 45cm.
Hình 3.8. Cảm biến siêu âm HC-SR04 Cảm biến HC-SR04 có 4 chân là:
- Vcc: Chân cấp nguồn cho cảm biến HC-SR04, điện áp hoạt động 5v.
- Trig: Chân điều khiển phát.
- Echo: Chân nhận tín hiệu phản hồi.
- GND: Chân nối đất.
Để đo khoảng cách, ta sẽ phát 1 xung rất ngắn 5𝜇𝑠 từ chân Trig. Sau đó, cảm biến sẽ tạo ra 1 xung HIGH ở chân Echo cho đến khi nhận lại được sóng phản xạ ở chân này. Chiều rộng của xung sẽ bằng với thời gian sóng siêu được phát từ cảm biến và quay trở lại. Tốc độ của âm thanh trong không khí là 340m/s, tương đương với 106/(340*100) ≈ 29,412 𝜇𝑠/cm. Khi đã tính được thời gian, ta sẽ chia cho 29,412 và tiếp tục chia cho 2 để nhận được khoảng cách.
3.1.2.4. Động cơ servo
Động cơ servo được thiết kế những hệ thống hồi tiếp vòng kín. Tín hiệu ra của động cơ được nối với một mạch điều khiển. Khi động cơ quay, vận tốc và vị trí sẽ được hồi tiếp về mạch điều khiển này. Nếu có bầt kỳ lý do nào ngăn cản chuyển động quay của động cơ, cơ cấu hồi tiếp sẽ nhận thấy tín hiệu ra chưa đạt được vị trí mong muốn. Mạch điều khiển tiếp tục chỉnh sai lệch cho động cơ đạt được điểm chính xác.
Hình 3.9. Động cơ servo
Trong đồ án này em sử dụng động cơ RC servo Futaba S3003.
Thông số kỹ thuật của động cơ RC servo Futaba S3003:
- Điện áp hoạt động 4.8 ~ 6.0V
- Xung yêu cầu: xung vuông điện áp đỉnh từ 3 ~ 5V - Nhiệt độ hoạt động: từ - 20 đến 60oC
- Tốc độ hoạt động (4.8V); 0.23s / 60o khi không tải - Tốc độ hoạt động (6.0V); 0.19s / 60o khi không tải - Torque (4.8V): 3.2kg.cm Torque (6.0V): 4.1kg.cm - Dòng điện tiêu thụ (4.8V): 7.2mA khi đứng yên.
- Dòng điện tiêu thụ (6.0V): 7.2mA khi đứng yên.
- Kiểu bánh răng: bánh răng nhựa.
- Kích thước: 41 x 20 x 36mm - Khối lượng: 38g.
Sơ đồ chân của động cơ RC servo như Hình 3.10.
Hình 3.10. Sơ đồ chân của động cơ RC servo
Hoạt động của RC servo dựa trên nguyên lý nhận xung PWM và cho ra góc quay. RC servo chỉ có thể xoay ở góc cố định có nghĩa là không thể xoay quanh
trục như những loại động cơ bình thường. Tùy loại RC servo mà góc quay hoạt động được 90o hay 180o, đa phần thì 90o.
Nhìn Hình 3.11 ta thấy chu kỳ của PWM là 20ms (50 Hz), thời gian mức cao sẽ quyết định góc quay của RC servo dao động từ 1ms -> 2ms <=> 0 -> 90o.
3.1.2.5. Camera A4-Tech PK-720G
Hình 3.12. Camera A4-Tech PK-720G Hình 3.11. Sơ đồ hoạt động của động cơ RC Servo
Camera là thiết bị quan trọng của đồ án, nó như là con mắt của xe tự hành.
Là thiết bị thu thông tin môi từ môi trường để xử lý nhằm phát hiện làn đường và vật cản. Trong đồ án này thì em sử dụng camera A4-Tech PK-720G, giao tiếp bằng cổng USB.
Thông số kỹ thuật:
- Hình ảnh tĩnh: lên đến 16 Megapixel, 4608x3456.
- Cảm biến hình ảnh: 1/6 "CMOS, 640 × 480 pixel.
- Tốc độ khung: 30fps @ 160x120, @ 320x240, @ 640x480.
- Ống kính: F = 2,4; f = 3,5 mm.
- Xem góc: 54 độ.
- Tiêu cự: tự động tập trung, 10 cm đến vô cùng.
- Kiểm soát phơi sáng: tự động.
- Cân bằng trắng: tự động.
- Microphone: Built-in.
- Giao diện máy tính: USB 2.0.