-Trái tim của robot là ic Opam Lm393, ic chịu trách nhiệm so sánh tín hiệu đầu vào từ 2 quang trở, từ đó quyết định robot sẽ đi về hướng nào. Show
-Đầu robot được gắn 2 bóng led rọi thẳng xuống dưới nền, kèm theo đó là 2 cảm biến (quang trở) để đọc tín hiệu phản hồi từ bề mặt và chuyển về ic Lm393. Khi robot hoạt động, 2 bóng led luôn cách vạch đen của nền khoảng 2-3mm, nếu robot đi sai vạch, nó sẽ khiếnled sẽ chiếu vào vạch đen, điều này khiến cho ánh sáng hắt về sensor bị mất, làm mất tín hiệu về ic, lúc này, ic sẽ điều khiển để robot quay lại đúng vạch đen. Line giao tiếp Arduino là dùng Cảm biến dò line có thể dùng để phát hiện line trắng và đen. Mạch sử dụng cảm biến hồng ngoại TCRT5000 với khoảng cách phát hiện từ 1~25mm giúp dễ dàng trong quá trình cài đặt module lên thiết bị. Mạch cảm biến dò line thích hợp dùng cho các thiết bị cần di chuyển theo line, thiết bị phát hiện màu trắng, đen,… Có thể dễ dàng điều chỉnh độ nhạy của cảm biến qua biến trở được thiết kế sẵn trên board. Mạch cảm biến dò line 4 chân hoặc 3 chân đối với loại đơn và 8 chân đối với loại 5 line thích hợp dùng cho các thiết bị cần di chuyển theo line, thiết bị phát hiện màu trắng, đen,… Liên hệ làm Đồ án và Mạch điện tử Phone : 0967.551.477 Zalo : 0967.551.477 FB : Huỳnh Nhật Tùng Email : [email protected] Địa Chỉ: 171/25 Lê Văn Thọ, P8, Gò Vấp, Tp HCM Chi tiết: Nhận làm mạch và đồ án Điện tử Table of Contents 1. Linh kiện cần thiết làm mạch cảm biến Line giao tiếp Arduino1.1 Vi điều khiển Arduino Uno Line giao tiếp Arduinoa. Giới thiệuArduino Uno R3 (Dip) có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối). Các chức năng khácArduino Uno R3 là một bảng mạch vi điều khiển nguồn mở dựa trên vi điều khiển Microchip ATmega328 được phát triển bởi Arduino.cc. Bảng mạch được trang bị các bộ chân đầu vào/ đầu ra Digital và Analog có thể giao tiếp với các bảng mạch mở rộng khác nhau. Mạch Arduino Uno thích hợp cho những bạn mới tiếp cận và đam mê về điện tử, lập trình…Dựa trên nền tảng mở do Arduino.cc cung cấp các bạn dễ dàng xây dựng cho mình một dự án nhanh nhất ( lập trình Robot, xe tự hành, điều khiển bật tắt led…). b. Chức năng của Arduino R3:
Các chức năng khác
c.Thông số kỹ thuật Arduino Uno R3 (Dip)DatasheetsAtmega328Standard Package27CategoryIntegrated Circuits (ICs)FamilyEmbedded – AtmelSeriesAtmegaPackagingTubeCore ProcessorAVRCore Size8-BitSpeed16MHzConnectivityI²C, SPI, UART / USART, USBPeripheralsBrown-out Detec t/ Reset, HLVD, POR, PWM, WDTNumber of I /O14Program Memory Size32KBProgram Memory TypeFLASHEEPROM Size1KBRAM Size2KVoltage – Supply (Vcc/Vdd)4.2 V ~ 5.5 VData ConvertersA/D 6 x 10bitOscillator TypeInternalOperating Temperature-40°C ~ 85°CPackage / Case28-SOIC (0.295″, 7.50mm Width)Other NamesAtmega328 d. Power
e.Bộ nhớVi điều khiển ATmega328:
f. Các chân đầu vào và đầu raTrên Board Arduino Uno có 14 chân Digital được sử dụng để làm chân đầu vào và đầu ra và chúng sử dụng các hàm pinMode(), digitalWrite(), digitalRead(). Giá trị điện áp trên mỗi chân là 5V, dòng trên mỗi chân là 20mA và bên trong có điện trở kéo lên là 20-50 ohm. Dòng tối đa trên mỗi chân I/O không vượt quá 40mA để tránh trường hợp gây hỏng board mạch. Ngoài ra, một số chân Digital có chức năng đặt biệt:
1.2 Cảm biến Line giao tiếp Arduinoa. Giới thiệuLine giao tiếp Arduino là dùng Cảm biến dò line có thể dùng để phát hiện line trắng và đen. Mạch sử dụng cảm biến hồng ngoại TCRT5000 với khoảng cách phát hiện từ 1~25mm giúp dễ dàng trong quá trình cài đặt module lên thiết bị. Mạch cảm biến dò line thích hợp dùng cho các thiết bị cần di chuyển theo line, thiết bị phát hiện màu trắng, đen,… Có thể dễ dàng điều chỉnh độ nhạy của cảm biến qua biến trở được thiết kế sẵn trên board. Mạch cảm biến dò line 4 chân hoặc 3 chân đối với loại đơn và 8 chân đối với loại 5 line thích hợp dùng cho các thiết bị cần di chuyển theo line, thiết bị phát hiện màu trắng, đen,… b. Thông số kỹ thuật
c. Nguyên lý hoạt động
d. Ứng dụngCảm biến này có thể được sử dụng để xây dựng các mạch điện tử khác nhau
1.3 Module l298 điều khiển động cơ dc dùng Line giao tiếp Arduinoa. Giới thiệuModule điều khiển động cơ L298 ( mạch cầu H L298) là một module hưu ích, phổ biến với chức năng thông dụng và giá thành cực kỳ rẻ là lựa chọn của các bạn học sinh, sinh viên. Mạch này có thể điều khiển được 2 động cơ. Ứng dụng rất nhiều vào các đề tài: điều khiển xe robot, điều khiển cánh tay robot (Cánh tay robot 3 bậc bạn phải sử dụng tới 2 mô đun này), Arduino để điều khiển động cơ sử dụng mô đun điều khiển động cơ… Module l298 điều khiển được các động cơ như motor giảm tốc, motor mini, động cơ bước, động cơ servo, động cơ dc b. Thông số kỹ thuật
c. Sơ đồ chân module L298
1.4 Động cơ dc 12v giảm tốc V1 dùng Line giao tiếp Arduinoa. Giới thiệu
b. Thông số kỹ thuật
1.5 Khung xe dùng Line giao tiếp Arduinoa. Giới thiệuKhung xe robot 3 bánh được thiết kế phù hợp với các yêu cầu chế tạo robot dò đường, robot do thám, robot tránh vật cản, có thể lắp ghép với cánh tay robot để điều khiển. Là sản phẩm để làm robot mô hình, đặc biệt phù hợp với Arduino. Xe được thiết kế rất đẹp, chắc chắn có thể hoạt động linh hoạt, các bánh xe được lắp ghép đối xứng, giữ cân bằng và chính xác trong di chuyển. Trọn bộ khung xe robot 3 bánh bao gồm đầy đủ các chi tiết được lắp ghép gọn gàng. b. BÁNH XECó 2 bánh cố định được gắn chặt với động cơ làm nhiệm vụ truyền lực cho xe chạy: được làm bằng nhựa, lốp xe làm bằng cao su mềm, có độ bám đường tốt, chắc chắn. Kích thước đường kính bánh xe 65mm. 1 bánh xe dẫn động giúp xe chạy đa hướng. Vật liệu từ nhựa và thép, có vòng bi xoay. c. ĐỘNG CƠ2 Động cơ có hộp giảm tốc, có thể lập trình băm xung để điều chỉnh tốc độ của động cơ. Sử dụng nguồn nuôi có mức điện áp hoạt động 3 – 6V. d. KHUNG XE ROBOT 3 BÁNHĐược làm bằng nhựa có nhiều lỗ sẵn để bắt ốc vào những vị trí cần thiết để gắn board mạch Arduino, đế pin, công tắc, động cơ, bánh trước để gắn các board mạch gắn cảm biến. Kích thước của khung là 220×150mm. 2. Hướng dẫn đồ án Line giao tiếp Arduino điều khiển xe dò linePhần cứngPhần mềm// Định nghĩa các chân int ENA = 3; int IN1 = 1; int IN2 = 2; int ENB = 6; int IN3 = 4; int IN4 = 5; // tốc độ động cơ là 80 define ENASpeed 80define ENBSpeed 80// khai báo tất cả các cảm biến điều không tín hiệu) int Sensor1 = 0; int Sensor2 = 0; int Sensor3 = 0; int Sensor4 = 0; void setup() { pinMode(ENA, OUTPUT); pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(ENB, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); pinMode(Sensor1, INPUT); pinMode(Sensor2, INPUT); pinMode(Sensor3, INPUT); pinMode(Sensor4, INPUT); } void loop(){ //đọc giá trị các chân analogWrite(ENA, ENASpeed); analogWrite(ENB, ENBSpeed); // đọc cảm biến là sáng nếu vào đường đen, đèn cảm biến tắt khi lệch đường Sensor1 = digitalRead(8); Sensor2 = digitalRead(9); Sensor3 = digitalRead(10); Sensor4 = digitalRead(11); if(Sensor4 == HIGH && Sensor3 == HIGH && Sensor2 == LOW && Sensor1 == LOW){ // rẻ trái nếu cảm biến 3 và 4 lệch đường //động cơ trái dừng digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); //motor B Forward // động cơ phải tiến digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH); } else if (Sensor4 == LOW && Sensor3 == LOW && Sensor2 == HIGH && Sensor1 == HIGH){ // rẻ trái nếu cảm biến 1 và 2 lệch đường // động cơ trái tiến digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); //động cơ phải dừng digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); } else if (Sensor4 == LOW && Sensor3 == LOW && Sensor2 == LOW && Sensor1 == LOW){ //tất cả động cơ dừng lại nếu xe hoàn toàn lệch khỏi đường digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); } else if (Sensor4 == HIGH && Sensor3 == HIGH && Sensor2 == HIGH && Sensor1 == HIGH){ //tất cả động cơ dừng lại nếu tất cả cá cảm biến điều trên đường digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); } else{ //if(Sensor4 == LOW && Sensor3 == HIGH && Sensor2 == HIGH && Sensor1 == LOW // nếu cảm biến 4 và 1 nằm ngoài đường đen, cảm biến 2,3 trên đường đen thì xe chạy tới digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH); } } 3. Hoạt động của mạch cảm biến line giao tiếp ArduinoKhi cấp điện hệ thống hoạt động, vi điều khiển hiển thị thông tin ban đầu. lúc này vi điều khiển chờ tín hiệu từ module cảm biến line gửi vào. Khi nhận tín hiệu từ cảm biến dò line giao tiếp arduino thì kích xe hoạt động theo line đã được lập trình quy định. |