1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

XE điều KHIỂN FOLLOW ME (có code)

40 490 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 40
Dung lượng 1,65 MB

Nội dung

XE điều KHIỂN FOLLOW ME (có code) ............................................................ XE điều KHIỂN FOLLOW ME (có code) ............................................................ XE điều KHIỂN FOLLOW ME (có code) ............................................................ XE điều KHIỂN FOLLOW ME (có code) ............................................................ XE điều KHIỂN FOLLOW ME (có code) ............................................................ XE điều KHIỂN FOLLOW ME (có code) ............................................................

ĐỒ ÁN TỐT NGHIỆP XE ĐIỀU KHIỂN “FOLLOW ME” MỤC LỤC DANH MỤC CÁC HÌNH VẼ DANH MỤC CÁC BẢNG BIỂU DANH MỤC CÁC TỪ VIẾT TẮT GPS Global Positioning System I2C Inter-integrated Circuit LCD Liquid Crystal Display NMEA National Marine Electronics Assocition UART Universal Asynchronous Receiver-Transmitter ĐỒ ÁN TỐT NGHIỆP Trang 5/37 CHƯƠNG GIỚI THIỆU ĐỀ TÀI 1.1 Giới thiệu Xe điều khiển loại robot quen thuộc, sử dụng với nhiều mục đích khác nhau, ứng dụng đời sống từ việc nhỏ nhặt đến việc người khơng thể làm Hình 1-1 Xe golf “follow me”[5] Hình 1-2 Cách hoạt động[9] Xe điều khiển Follow Me ĐỒ ÁN TỐT NGHIỆP Trang 6/37 Xe điều khiển “Follow me” xe hay robot tự động theo người điều khiển, hoạt động nhờ định hướng la bàn số tọa độ GPS xe với người thơng qua đường truyền bluetooth Nó phụ giúp mang, di chuyển đồ vật Xe “Follow me”: - Ưu điểm: điều khiển qua bluetooth, đáp ứng nhiều nhu cầu, phục vụ đời sống, ứng dụng nhiều mục đích - Khuyết điểm: hoạt động dựa GPS nên sử dụng ngồi trời thống, sai số la bàn gần thiết bị có trường điện từ Đề tài sử dụng chíp vi điều khiển Atmega328p, cảm biến la bàn số HMC5883L, điều khiển qua module bluetooth HC-05, module GPS NEO7 1.2 Mục tiêu đề tài Thiết kế mạch vi điều khiển Atmega328p, hiểu cảm biến bàn số, tìm hiểu liệu GPS cơng thức tính tốn, biết thuật toán hoạt động định hướng la bàn tọa độ GPS Lấy liệu tọa độ từ module GPS chuyển qua vi điều khiển module bluetooth, thiết kế xe ứng dụng thực tế 1.3 Hướng thực đề tài Đọc tài liệu tìm hiểu cảm biến la bàn số HMC5883L, module GPS NEO7, vi điều khiển Atmega328p, lấy thơng tin GPS smartphone Tìm hiểu thuật tốn tìm đường hướng la bàn số tọa độ GPS, củng cố kỹ lập trình, đọc hiểu datasheet, tài liệu liên quan, củng cố kỹ thiết kế mạch, vẽ mơ hình xe Xe điều khiển Follow Me ĐỒ ÁN TỐT NGHIỆP Trang 7/37 CHƯƠNG THIẾT KẾ ĐỀ TÀI 1.4 Sơ đồ khối 1.1.1 Sơ đồ khối GPS HC-05 Xe “Follow Me” GPS La bàn HC-05 LCD Hình 2-2 Sơ đồ khối hệ thống Vi điều khiển Màn hình LCD Xe điều khiển Follow Me ĐỒ ÁN TỐT NGHIỆP Trang 8/37 Hình 2-3 Sơ đồ khối xe Nguồn(pin) Bluetooth HC-05 UART Hình 2-2 Sơ đồ khối phía phát Xe điều khiển Follow Me Vi điều khiển UART M ĐỒ ÁN TỐT NGHIỆP Trang 9/37 1.1.2 Chức khối Phần phía phát: sử dụng vi điều khiển đọc giá trị module GPS, truyền chuỗi thông tin qua bluetooth module HC-05 Hai module bluetooth tự động kết nối với sau vài giây cấp nguồn Khối Bluetooth HC-05: truyền nhận thông tin chuỗi GPS Khối vi điều khiển: Atmega 328P đọc liệu bluetooth, GPS cảm biến la bàn, xử lý số liệu xuất tín hiệu điều khiển động Khối nguồn (pin): sử dụng pin lipo 11,1V cung cấp cho động toàn mạch Khối L298: nhận tín hiệu điều khiển, sử dụng mạch cầu H điều khiển động DC Khối động cơ: sử dụng động DC giảm tốc, thành phần tạo di chuyển mơ hình 1.5 Tìm hiểu thành phần, module 1.1.3 Vi điều khiển Atmega328P Đồ án dùng chíp vi điều khiển Atmega328P 8-bit, nhỏ nhẹ, đủ cung cấp điều kiện để đọc, xử lý tín hiệu điều khiển Atmega328p vi điều khiển họ AVR mới, sản xuất hãng ATmel, dòng vi điều khiển bit mạnh mẽ, hỗ trợ bootloader ngôn ngữ lập trình C,C++ Hình 2-3 Atmega328P [8] Xe điều khiển Follow Me ĐỒ ÁN TỐT NGHIỆP Trang 10/37 Bảng 2-1 Tóm tắt Atmega328P [8] - Điện áp hoạt động - Digital I/O pin - PWM Digital I/O Pins - Analog Input Pins - Cường độ dòng điện I/O pin - Kết nối - Flash Memory - SRAM - EEPROM - Tốc độ Xe điều khiển Follow Me 1.8-5 V 14 6 20 mA I2C, SPI, UART 32KB 2KB 1KB 16MHz ĐỒ ÁN TỐT NGHIỆP Trang 26/37 CHƯƠNG KẾT LUẬN 1.8 Đánh giá Xe thử nghiệm nhiều lần đoạn đường thẳng, gấp khúc, chuyển hướng đột ngột Đối với đoạn đường thẳng, xe theo người xác hơn, đơi lệch ngang hướng; đường gấp khúc chuyển hướng đột ngột cần khoảng trống lớn xe di chuyển xe không tránh vật cản 1.9 Kết luận Hiểu thuật tốn định hướng, tìm đường ứng dụng phổ biến ứng dụng đường Sai số tọa độ module GPS độ nhiễu la bàn số vấn đề lớn cần khắc phục Sử dụng module GPS dành cho dân nên có khoảng sai số khơng tránh khỏi, đơi chạy sai lệch so với thực tế 1.10 Hướng phát triển Nghiên cứu giảm sai số hay ứng dụng vào dự án có khoảng cách lớn hơn, áp dụng thuật tốn tìm đường cho phương tiện giao thơng Xe thêm camera xử lý ảnh với GPS cải thiện độ xác, thêm cảm biến để xe tránh vật cản, áp dụng vào dịch vụ vận chuyển có phạm vi nhỏ vận chuyển hàng hóa sân bay, bến xe TÀI LIỆU THAM KHẢO Xe điều khiển Follow Me ĐỒ ÁN TỐT NGHIỆP Trang 27/37 Tiếng Việt: [1] http://arduino.vn/bai-viet/1257-gps-va-arduino-phan-2-lay-du-lieu-tu-vetinh-gps [2] Ngô Diên Tập(NXB Khoa Học Kỹ Thuật 2003) – Kỹ Thuật Vi Điều Khiển Với AVR [3] http://www.dientuachau.com/motors [4] Lê Tiến Thường – Hệ Thống Viễn Thông Tiếng Anh: [5] http://www.damngeeky.com/2014/04/16/20297/x9-follow-bluetoothpowered-golf-trolley-makes-golfing-fun-relaxing.html [6] Datasheet GPS NEO [7] Datasheet HMC5883L [8] Datasheet Atmega328P [9] http://dasl.unlv.edu/daslDrexel/alumni/bGreen/www.pages.drexel.edu/_weg2 2/gpsEmaxx/gpsEmaxx.html Xe điều khiển Follow Me ĐỒ ÁN TỐT NGHIỆP Trang 28/37 PHỤ LỤC #include #include #include #include #include "FastLED.h" LiquidCrystal_I2C lcd(0x3F,20,4); TinyGPS gps; SoftwareSerial ss(10,9);//tx gps nối zo pin 12, rx pin 11 #define addr 0x1E //I2C Address for The HMC5883 #define NUM_LEDS 16 // Number of LEDs on Ring #define DATA_PIN_RING 13 // Pin 13 connected to RGB Ring CRGB leds[NUM_LEDS]; const double RtoD = 180/PI; const double DtoR = PI/180; float kp = 7.5; float ki = 0.065; float kd = 6.45; String nmea[15]; int pos; int stringplace = 0; float vidoGPS,kinhdoGPS,Latitude,Longtitude; float goclaban,gocxoay,distance; int pwm1,pwm2,gocmoi,s,b; Xe điều khiển Follow Me ĐỒ ÁN TỐT NGHIỆP Trang 29/37 float loi,tongloi,loitruoc,dloi,pid_out; /**************************** MAIN SETUP **************************************/ void setup(void) { Serial.begin(9600); ss.begin(9600); //DDRD = B11111100; pinMode(2,OUTPUT); pinMode(3,OUTPUT); pinMode(4,OUTPUT); pinMode(5,OUTPUT); pinMode(6,OUTPUT); pinMode(7,OUTPUT); FastLED.addLeds(leds, NUM_LEDS); FastLED.setBrightness(60); lcd.init(); lcd.backlight(); lcd.clear(); setup_laban(); } /**************************** **************************************/ void loop() { Serial.flush(); ss.flush(); GPS_M8N(); gps_Neo7(); Xe điều khiển Follow Me MAIN LOOP ĐỒ ÁN TỐT NGHIỆP Trang 30/37 laban(); NeoPixel(); if (vidoGPS != 0.0 && kinhdoGPS != 0.0 && Latitude != 0.0 && Longtitude != 0.0) { khoangcach(); goc2toado(); loi = goclaban - gocxoay ; while(loi >= 180) loi -= 360; while(loi 40) { lastCompassRead = now; Xe điều khiển Follow Me Tính góc la bàn ĐỒ ÁN TỐT NGHIỆP Trang 37/37 int x,y,z; Wire.beginTransmission(addr); Wire.write(0x03); //start with register Wire.endTransmission(); //Read the data bytes for each axis total bytes Wire.requestFrom(addr, 6); if(6

Ngày đăng: 27/02/2018, 10:44

TỪ KHÓA LIÊN QUAN

w