Báo cáo Đồ án Thước Điện Tử (Mạch đo khoảng cách) dùng 8051 (89s52)

34 1.1K 12
Báo cáo Đồ án Thước Điện Tử (Mạch đo khoảng cách) dùng 8051 (89s52)

Đ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

LỜI MỞ ĐẦUMỤC LỤCPHẦN I: CƠ SỞ LÝ THUYẾT1.Cảm biến siêu âm1.1.Đặc điểm kỹ thuật cảm biến SRF041.2.Nguyên tắc hoạt động1.3.Tầm quét của cảm biến siêu âm1.4.Tính toán khoảng cách1.5.Một số đặc điểm khác của SRF042.Vi điều khiển 8051 (89S52)2.1.Cấu tạo chân2.2. Sơ đồ khối2.3.Chức năng của các chân 89S522.4.Giao tiếp với cảm biến siêu âm để đo khoảng cách3.LCD Giao tiếp với Vi điều khiển 89S523.1.Hình dáng và kích thước:3.2. Sơ đồ chân3.3. Kết nối với vi điều khiển4.Một số linh kiện khácPHẦN II: THIẾT KẾ VÀ THỰC HIỆN1.Sơ đồ khối2.Thiết kế phần cứng2.1.Sơ đồ nguyên lý2.2.Sơ đồ mạch3.Thực hiện phần mềm3.1.Lưu đồ thuật toán lập trình3.2.Phần mềm CodeKẾT LUẬN1.Ưu điểm2.Khuyết điểm3.Hướng phát triểnTÀI LIỆU THAM KHẢO

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP HCM KHOA ĐIỆN - ĐIỆN TỬ VIỄN THÔNG ™&™ BÁO CÁO ĐỒ ÁN MÔN HỌC ĐỀ TÀI: MẠCH ĐO KHOẢNG CÁCH (THƯỚC ĐIỆN TỬ) GVHD: Th.S Chu Hồng Hải SVTH: Lương Thành Trưởng Lớp: DV14 MSSV: 1451030148 TP HỒ CHÍ MINH, 12 - 2017 Đồ án mơn học Mạch đo khoảng cách LỜI MỞ ĐẦU Ngày vi điều khiển trở nên quen thuộc thiết bị kỹ thuật Các vi điều khiển có khả xử lý nhiều hoạt động phức tạp mà cần chip vi mạch nhỏ, thay tủ điều khiển lớn phức tạp mạch điện gọn nhẹ, dễ dàng thao tác sử dụng Vi điều khiển khơng góp phần vào kỹ thuật điều khiển mà góp phần to lớn vào việc phát triển thông tin Cho nên sinh viên ngành Điện - Điện tử viễn thông, việc tìm hiểu, khảo sát vi điều khiển ứng dụng chúng vào thực tế cần thiết Vì thế, em định chọn đề tài cho Đồ án môn học là: “Thiết kế mạch đo khoảng cách (dùng vi điều khiển 89s52 Cảm biến siêu âm”) Em xin cảm ơn tồn thể thầy giáo khoa Điện Điện tử viễn thông giảng dạy truyền đạt kiến thức, kinh nghiệm quý báu tạo điều kiện tốt cho em học tập nghiên cứu trường Cuối em xin chân thành cảm ơn thầy Chu Hồng Hải giảng viên Trường ĐH Giao Thơng Vận Tải TP Hồ Chí Minh hướng dẫn giúp đỡ nhiệt tình em trình thực đồ án Em xin chân thành cảm ơn! TP Hồ Chí Minh, tháng 12 năm 2017 Sinh viên thực SVTH: Lương Thành Trưởng Trang Đồ án môn học Mạch đo khoảng cách Lương Thành Trưởng MỤC LỤC LỜI MỞ ĐẦU MỤC LỤC PHẦN I: CƠ SỞ LÝ THUYẾT Cảm biến siêu âm 1.1 Đặc điểm kỹ thuật cảm biến SRF04 .5 1.2 Nguyên tắc hoạt động 1.3 Tầm quét cảm biến siêu âm 1.4 Tính tốn khoảng cách 1.5 Một số đặc điểm khác SRF04 Vi điều khiển 8051 (89S52) .10 2.1 Cấu tạo chân 11 2.2 Sơ đồ khối 12 2.3 Chức chân 89S52 .2 2.4 Giao tiếp với cảm biến siêu âm để đo khoảng cách.5 LCD - Giao tiếp với Vi điều khiển 89S52 3.1 Hình dáng kích thước: 3.2 Sơ đồ chân .6 3.3 Kết nối với vi điều khiển Một số linh kiện khác PHẦN II: THIẾT KẾ VÀ THỰC HIỆN 10 Sơ đồ khối 10 SVTH: Lương Thành Trưởng Trang Đồ án môn học Mạch đo khoảng cách Thiết kế phần cứng 11 2.1 Sơ đồ nguyên lý 11 2.2 Sơ đồ mạch 12 Thực phần mềm 13 3.1 Lưu đồ thuật tốn lập trình 13 3.2 Phần mềm Code 14 KẾT LUẬN .19 Ưu điểm .19 Khuyết điểm .19 Hướng phát triển 19 TÀI LIỆU THAM KHẢO 20 SVTH: Lương Thành Trưởng Trang Đồ án môn học Mạch đo khoảng cách PHẦN I: CƠ SỞ LÝ THUYẾT Cảm biến siêu âm Cảm biến siên âm có nhiều loại, tùy theo công dụng để nhận biết vật khoảng cách gần hay xa, nhận biết vật có tính chất khác điều kiện hoạt động khác mà người ta chế tạo loại cảm biến siêu âm khác Hình Cảm biến HC-SRF04 SRF05 bước phát triển từ SRF04, thiết kế để làm tăng tính Hình 3.bớt Cảm chi biến phí US-18 Range is linh hoạt, tăng ngồi giảm Hình 4.phạm Cảm biếnvi, US-015 increased from meters to meters.Khoảng cách tăng từ mét đến mét A new operating mode (tying the mode pin to ground) allows the SRF05 to use a single pin for both trigger and echo, thereby saving valuable pins on your controller.SRF05 cho phép sử dụng chân cho kích hoạt phản hồi, tiết kiệm giá trị chân điều khiển.When the mode pin is left unconnected, the SRF05 operates with separate trigger and echo pins, like the SRF04 Khi chân chế độ khơng kết nối, SRF05 hoạt động riêng biệt chân kích hoạt và chân hồi tiếp, giống SRF04 SVTH: Lương Thành Trưởng Hình Cảm biến Carlo Trang Gavazzi Đồ án môn học Mạch đo khoảng cách The SRF05 includes a small delay before the echo pulse to give slower controllers such as the Basic Stamp and Picaxe time to execute their pulse in commands 1.1 Đặc điểm kỹ thuật cảm biến SRF04The SRF05 is an evolutionary step from the SRF04, and has been designed to increase flexibility, increase range, and to reduce costs still further Thông số kỹ thuật Module SRF04: - Nguồn cung cấp: 5V DC - Khoảng cách đo: 2cm - 400cm (4m) - Kích thước module: 45x20mm - Độ xác: 0.5cm Cảm biến siêu âm SRF04 có chân: - Vcc nối nguồn 5V - Trig nối vi điều khiển (ngõ phát) - Echo nối vi điều khiển (ngõ thu) - Gnd nối âm SVTH: Lương Thành Trưởng Trang Hình Sơ đồ chân cảm biến SRF04 Đồ án môn học 1.2 Mạch đo khoảng cách Nguyên tắc hoạt động Nguyên tắc TOF (Time Of Flight): Sóng siêu âm truyền khơng khí với vận tốc khoảng 343m/s Nếu cảm biến phát sóng siêu âm thu sóng phản xạ đồng thời, đo khoảng thời gian từ lúc phát tới lúc thu về, máy tính xác định qng đường mà sóng di chuyển khơng gian Quãng đường di chuyển sóng Hìnhtừ6 cảm Nguyênbiến tắc TOF lần khoảng cách tới chướng ngoại vật, theo hướng phát sóng siêu âm Nếu đo xác thời gian khơng có nhiễu, mạch cảm biến siêu âm trả kết xác Điều phụ thuộc vào cách viết chương trình khơng sử dụng hàm delay Sóng siêu âm bị dội lại gặp số loại vật cản, phát sóng siêu âm vào chăn, nệm khơng nhận sóng SVTH: Lương Thành Trưởng Trang Đồ án môn học Mạch đo khoảng cách phản hồi Có thể sử dụng loại chip thông dụng để nhận xử lý liệu 8051, AVR, PIC, Arduino,… 1.3 Tầm quét cảm biến siêu âm Cảm biến siêu âm mơ hình hóa thành hình quạt, điểm dường khơng có chướng ngại vật, cácHình điểm thìSRF04 dường có chướng ngại Góc quétbiên cảm biến vật nằm 1.4 SRF05 = ' start with pin lowCalculating the DistanceTính toán khoảng cáchThe SRF05 Timing diagrams Hình Giản đồ định thời SRF04 are shown above for each mode Chỉ cần cung cấp đoạn xung ngắn 10us kích hoạt đầu vào để bắt đầu đo khoảng cách.The SRF05 will send out an cycle burst of ultrasound at 40khz and raise its echo line high (or trigger line in mode 2) It then listens for an echo, and as SVTH: Lương Thành Trưởng Trang Đồ án môn học Mạch đo khoảng cách soon as it detects one it lowers the echo line again Các SRF04 cho chu kỳ burst siêu âm 40KHz tăng cao dòng phản hồi Sau chờ phản hồi, sau phát giảm dòng phản hồi lại.The echo line is therefore a pulse whose width is proportional to the distance to the object Dòng phản hồi xung có chiều rộng tỷ lệ với khoảng cách đến đối tượng.By timing the pulse it is possible to calculate the range in inches/centimeters or anything else Bằng cách đo xung, ta hồn tồn để tính tốn khoảng cách theo inch/centimet đơn vị đo khác If nothing is detected then the SRF05 will lower its echo line anyway after about 30mS.Nếu khơng phát SRF04 giảm thấp dòng phản hồi sau khoảng 30mS.The SRF05 can be triggered as fast as every 50mS, or 20 times each second You should wait 50ms before the next trigger, even if the SRF05 detects a close object and the echo pulse is shorter Cách tính khoảng cách từ thời gian đo được: Gọi S quãng đường sóng âm: S = 2*d Gọi V vận tốc sóng âm: v = 344m/s = 34400cm/s = 0.0344cm/us Gọi t thời gian truyền, ta có: s = 2*d = v*t d = v * = 0.0344 * = 0.0344 * = ≈ (*) Vậy: d = (Đơn vị khoảng cách d cm, đơn vị thời gian t us) The other set of pinsChanging beam pattern and beam width 1.5 Một số đặc điểm khác SRF04 Mức độ sóng âm hồi tiếp phụ thuộc vào cấu tạo đối tượng góc phản xạ Một đối tượng mềm SVTH: LươngHình Thành Trưởng Độ xác phụ thuộc cấu tạo góc phản xạ Trang Đồ án môn học Mạch đo khoảng cách cho tín hiệu phản hồi yếu khơng có phải hồi Một đối tượng góc cân đối chuyển thành tín hiệu phản chiếu cho cảm biến nhận Vùng phát SRF04: Các vùng phát SRF04 nằm khoảng 1m chiều rộng từ bên sang bên không 4m chiều dài There are two constraints in this scenario to consider.If the threshold for object detection is set too close to the sensor then objects on a collision path might be in a blind spot.Nếu ngưỡng để phát đối tượng đặt gần với cảm biến, đối tượng đường bị va chạm điểm mù If the threshold is set at too great a distance from the sensor then objects will be detected which are not on a collision path (assuming that the width of the robot is less than a meter).Nếu ngưỡng đặt khoảng cách lớn từ cảm biến đối tượng phát mà đường va chạm Một kỹ thuật phổ biến để làm giảm điểm mù đạt phát chiều rộng lớn cự ly gần thêm cải tiến cách thêm cảm biến bổ sung hướng SVTH: Lương Thành Trưởng Trang Hình 10 Vùng phát SRF04 LCD - Giao tiếp với Vi điều khiển 89S52 Màn hình LCD sử dụng nhiều ứng dụng nhúng So với dạng hiển thị khác, LCD có nhiều ưu điểm: - Có khả hiển thị ký tự đa dạng, trực quan - Hiển thị nhiều ký tự - Giao tiếp với vi điều khiển đơn giản, tốn tài ngun vi điều khiển - Ngồi ra: tiết kiệm lượng, kích thước nhỏ gọn, giá thành rẻ, 3.1 Hình dáng kích thước: Hiện nay, có nhiều loại LCD với nhiều hình dáng kích thước khác nhau, hình hai loại LCD thông dụng Khả hiển thị LCD khác nhau, loại thông Hình 15 Các loại LCD thông dụng dụng: - LCD 16x2: hiển thị dòng, dòng 16 kí tự - LCD 20x2: hiển thị dòng, dòng 20 kí tự - LCD 20x4: hiển thị dòng, dòng 20 kí tự 3.2 Sơ đồ chân Hình 16 Sơ đồ chân LCD 16x2 Chức chân LCD 16x2 thể bảng sau: C hâ n Tên Chức V Chân nối đất cho LCD, thiết kế mạch ta nối chân với GND mạch điều khiển V Chân cấp nguồn cho LCD, thiết kế mạch ta nối chân với VCC=5V mạch điều khiển SS DD Chân dùng để điều chỉnh độ tương phản LCD Vee Chân chọn ghi (Register select) Nối chân RS với logic “0” (GND) logic “1” (VCC) để chọn ghi S R - Logic “0”: Bus DB0-DB7 nối với ghi lệnh IR LCD (ở chế độ “ghi” - write) nối với đếm địa LCD (ở chế độ “đọc” - read) - Logic “1”: Bus DB0-DB7 nối với ghi liệu DR bên LCD R /W Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W với logic “0” để LCD hoạt động chế độ ghi, nối với logic “1” để LCD chế độ đọc Chân cho phép (Enable) Sau tín hiệu đặt lên bus DB0-DB7, lệnh chấp nhận có xung cho phép chân E E - Ở chế độ ghi: Dữ liệu bus LCD chuyển vào(chấp nhận) ghi bên phát xung (high-to-low transition) tín hiệu chân E - Ở chế độ đọc: Dữ liệu LCD xuất DB0-DB7 phát cạnh lên (low-to-high transition) chân E LCD giữ bus đến chân E xuống mức thấp Tám đường bus liệu dùng để trao đổi thông tin với MPU D B0DB Có chế độ sử dụng đường bus này: - Chế độ bit : Dữ liệu truyền đường, với bit MSB bit DB7 - Chế độ bit : Dữ liệu truyền đường từ DB4 tới DB7, bit MSB DB7 3.3 Kết nối với vi điều khiển Hình 17 Kết nối 89S52 với LCD Một số linh kiện khác - Thạch anh 12M: tạo dao động thạch anh cho Vi điều khiển - IC7805: IC ổn áp nguồn 5V DC - Tụ 10uF, tụ 100uF: - Điện trở 10k: - Nút nhấn chân: nhấn giữ để dừng lại hiển thị khoảng cách lên LCD - Biến trở tam giác: dùng để chỉnh độ tương phản cho LCD PHẦN II: THIẾT KẾ VÀ THỰC HIỆN Sơ đồ khối Chức khối: - Khối cảm biến: SRF05 nhận tín hiệu xung kích từ vi điều khiển vào chân Trigger, trả lại tín hiệu phát vật chân Echo - Khối xử lý: phát xung kích nhân tín hiệu từ khối cảm biến, lưu chương trình, xử lý liệu truyền LCD điều khiển tải - Khối tải: gồm LED - Khối hiển thị: LCD hiển thị khoảng cách trạng thái (an toàn, cảnh báo nguy hiểm) Thiết kế phần cứng 2.1 Sơ đồ nguyên lý Hình 18 Sơ đồ nguyên lý mạch đo khoảng cách - Khối hiển thị LCD kết nối với 89s52 qua chân: 23, 24, 25, 26, 27, 28 - Chân Vee LCD nối vào chân biến trở để điều chỉnh độ tương phản - SRF04 kết nối với vi xử lý qua chân: - (Trigger), 12 (Echo) - Nút nhấn kết nối với chân 17 89s52 2.2 Sơ đồ mạch Hình 19 Sơ đồ mạch in Hình 20 Sơ đồ mạch 3D Hình 21 Mạch thực tế Thực phần mềm 3.1 Lưu đồ thuật toán lập trình Hình 22 Lưu đồ thuật tốn tổng qt Ngun lý hoạt động: Đầu tiên ta đưa chân Trig cảm biến lên mức 1, giữ khoảng 10us sau kéo 0, sóng siêu âm phát từ đầu phát Nếu có vật cản phía trước, sóng siêu âm phản xạ đầu thu Khi đầu thu nhận tín hiệu sóng phản hồi, chân ECHO đưa xuống mức Biết vận tốc sóng siêu âm 343m/s thời gian phát-thu đo Timer ngắt Ta dễ dàng tính khoảng cách từ vị trí phát đến vật Với cơng thức tính (*): d= (Đơn vị khoảng cách d cm, đơn vị thời gian t us) 3.2 Phần mềm Code #include // Ket noi chan Trig voi chan P3.1 cua 89s52 #define Trig P1_0 // Ket noi chan Echo voi chan P3.2 cua 89s52 #define Echo P3_2 // Khai bao ket noi lcd // #define LCD_RS P2_7 #define LCD_EN P2_6 #define LCD_D4 P2_5 #define LCD_D5 P2_4 #define LCD_D6 P2_3 #define LCD_D7 P2_2 #define nutnhan P3_7 unsigned char kt = 0; // khai bao bien kiem tra unsigned int x; // bien trung gian float time; // khai bao bien thoi gian, khoang cach int khoang_cach; // Cac Ham thiet lap LCD // void delay_us(unsigned int t) // Ham tre micro giay { unsigned int i; for(i=0;i>2)&1; LCD_D7 = (Data>>3)&1; } // Ham gui Byte du lieu // void LCD_Send1Byte(unsigned char byte) { LCD_Send4Bit(byte >>4);/* Gui bit cao */ LCD_Enable(); LCD_Send4Bit(byte); /* Gui bit thap*/ LCD_Enable(); } // Ham khoi tao LCD // void LCD_khoitao() { LCD_Send4Bit(0x00); delay_ms(20); LCD_RS = 0; LCD_Send4Bit(0x03); LCD_Enable(); delay_ms(5); LCD_Enable(); delay_ms(100); LCD_Enable(); LCD_Send4Bit(0x02); // Dua tro ve dau man hinh LCD_Enable(); LCD_Send1Byte(0x28); LCD_Send1Byte(0x0c); // Bat hien thi, bat tro // 0x0C neu muon tat tro // 0x0F bat tro LCD_Send1Byte(0x06); LCD_Send1Byte(0x01); delay_ms(20); } // Ham di chuyen tro: row=0-1; col=0-15 (2 hang + 16 cot) // void LCD_chonvitri(unsigned char row, unsigned char col) { unsigned char address; if (row == 0) address = (0x80 + col); // row=0 - hang else address = (0xC0 + col); // row=1 - hang delay_us(1000); LCD_Send1Byte(address); delay_us(50); } // Ham hien thi man hinh chuoi ki tu // void LCD_guichuoi(char *s) { while (*s) { LCD_RS=1; LCD_Send1Byte(*s); LCD_RS=0; s++; } } void LCD_guikitu(int s) { LCD_RS=1; LCD_Send1Byte(s); LCD_RS=0; } // Ham xoa man hinh // void LCD_xoamanhinh() { LCD_chonvitri(0,0); LCD_guichuoi(" LCD_chonvitri(1,0); LCD_guichuoi(" LCD_chonvitri(0,0); "); "); } // Ket thuc cac ham thiet lap LCD // // Ham xuat xung tren chan Trig va cho phep ngat // void phattinhieu() { Trig=1; delay_us(20); // Tao xung tren chan Trig toi thieu 10us Trig=0; delay_us(1); Echo=1; while(!(Echo)); // Doi cho den chan ECHO duoc keo len cao TR0=IT0=EX0=EA=1; // Cho phep ngat ngoai } // Ham khoi tao SRF05 - Thiet lap timer va ngat ngoai // void SRF_khoitao() { Trig = 0; TMOD = 0x01; // timer che (16bit) TR0 = 1; IT0 = 1; EX0 = 1; EA = 1; // ngat ngoai theo suon // cho phep ngat ngoai // cho phep ngat toan cuc } // Chuong trinh phuc vu ngat // void nhan_tin_hieu()interrupt { x = TH0; // Luu gia tri vao bien CTR_temp = TH0 TL0 (16 bit) x

Ngày đăng: 31/01/2018, 14:19

Mục lục

  • PHẦN I: CƠ SỞ LÝ THUYẾT

  • 1.2. Nguyên tắc hoạt động

  • 1.3. Tầm quét của cảm biến siêu âm

  • 1.5. Một số đặc điểm khác của SRF04

  • 2.3. Chức năng của các chân 89S52

  • 2.4. Giao tiếp với cảm biến siêu âm để đo khoảng cách

  • 3. LCD - Giao tiếp với Vi điều khiển 89S52

    • 3.1. Hình dáng và kích thước:

    • 3.3. Kết nối với vi điều khiển

    • 4. Một số linh kiện khác

    • PHẦN II: THIẾT KẾ VÀ THỰC HIỆN

    • 2. Thiết kế phần cứng

      • 2.1. Sơ đồ nguyên lý

      • 3. Thực hiện phần mềm

        • 3.1. Lưu đồ thuật toán lập trình

        • TÀI LIỆU THAM KHẢO

Tài liệu cùng người dùng

Tài liệu liên quan