ĐỀ TÀI: THIẾT KẾ HỆ THỐNG TỰ ĐỘNG ĐO KHOẢNG CÁCH GVHD : TS.Ngô Đình Thanh MỤC LỤC Chương 1. Nguyên lí hoạt động của hệ thống vi điều khiển 4 1.1 Xây dựng mục tiêu 4 1.2 Nguyên lí hoạt động của hệ thống 4 Chương 2. Tính chọn các linh kiện sử dụng trong hệ thống: 7 2.1 .Giới thiệu về các linh kiện chính trong hệ thống: 7 2.1.1. Tổng quan về họ vi điều khiển PIC: 7 2.1.2. Vi điều khiển PIC 18F4520: 7 2.1.3. LED 7 đoạn: 16 2.1.4. SRF05 16 2.2. Tính toán các linh kiện có trong hệ thống: 17 2.2.1. Tính toán thông số đọc từ cảm biến: 17 2.2.2. Tính toán các điện trở nối LED 7 đoạn: 18 2.2.3. Tính chọn trở và LED đơn chỉ thị: 18 2.2.4. Chọn bộ nguồn cấp điện cho mạch: 18 Chương 3. Mô phỏng hệ thống: 19 3.1. Thiết kế mạch nguyên lí: 19 3.2. Chương trình lập trình C: 19 3.3. Chạy thử nghiệm trên testboard: 22 Danh sách hình ảnh Chương 1. Nguyên lí hoạt động của hệ thống vi điều khiển 1.1 Xây dựng mục tiêu Với sự phát triển ngày càng mạnh mẽ và rộng lớn của nền khoa học kỹ thuật. Các công nghệ mới thuộc các lĩnh vực khác nhau cũng nhờ đó đã ra đời để đáp ứng như cầu của xã hội, và trong đó phải để đến sự phát minh ra Vi điều khiển. Vi điều khiển quản lý và điều khiển hoạt động của hệ thống thông qua phần mền, nhờ vậy mà ta có thể mở rộng và thay đổi hoạt động theo chương trình đã nạp sẵn, đọc các tín hiệu từ bên ngoài đưa vào sau đó lưu trữ và xử lý, trên cơ sở đưa ra các thông báo, tín hiệu điều khiển các thiết bị bên ngoài hoạt động theo đúng thông số và yêu cầu của hệ thống. Hệ thống điện tử số sử dụng bộ vi điều khiển cà máy tính trong các dây chuyền sản xuất công nghiệp, thực hiển nhiệm vụ điều khiển và giám sát hệ thống. Ngoài ra vì điều khiển cũng có mặt trong các sản phẩm công nghiệp và tiêu dùng như: lò vi ba, lò sưỡi, máy giặt, hệ thống cảnh báo và giám sát của các phương tiện giao thông … và trong nhiều thiết bị công nghiệp khác. Với việc sử dụng các bộ vi điều khiển đễ điều khiển các công việc mang tính đi lặp đi lặp lại và thực hiện phép đo các đại lượng một cách tự động thay thế sự giám xác của con người. Trong tập đồ án này, em xin trình bày đề tài “Thiết kế hệ thống tự động đo khoảng cách” 1.2 Nguyên lí hoạt động của hệ thống Sơ đồ thiết kế nguyên lí của hệ thống: Hình 1. Nguyên lí thiết kế hệ thống Nguyên lí hoạt động của từng khối: Khối nguồn: cung cấp nguồn cho hệ thống. Khối hiển thị: gồm 3 led 7 đoạn hiển thị thông số đo được là giá trị khoảng cách. Đưa tín hiệu ra đèn xanh đỏ vàng để nhận biết Khối cảm biến: phát ra sóng rồi thu về khi có vật cản rồi truyền tín hiệu vào PIC. Khối xử lí trung tâm: PIC 18F4520 nhận tín hiệu từ cảm biến từ đó xuất tín hiệu ra cho khối hiển thị Khối điều khiển: gồm các nút nhấn tương ứng với các công việc Nguyên tắc hoạt động chung của hệ thống: Cảm biến (cụ thể là SRF05) phát ra sóng siêu âm truyền đi được trong không khí với vận tốc 343ms. Khi gặp vật cản thì các sóng này phản xạ trở về. PIC đo khoảng thời gian mà sóng đã di chuyển từ lúc phát đến lúc về, sử dụng các công thức được lập trình sẵn để tính ra khoảng cách. PIC đưa tín hiệu và hiển thị trên LED 7 đoạn và các LED đơn. Chương 2. Tính chọn các linh kiện sử dụng trong hệ thống: 2.1 .Giới thiệu về các linh kiện chính trong hệ thống: 2.1.1. Tổng quan về họ vi điều khiển PIC: PIC là một họ vi điều khiển RISC được sản xuất bởi công ty Microchip Technology. Dòng PIC đầu tiên là PIC1650 được phát triển bởi Microelectronics Division thuộc General_Instrument. PIC bắt nguồn từ chữ viết tắt của “Programmable Intelligent Computer” (Máy tính khả trình thông minh) là một sản phẩm của hãng General Instruments đặt cho dòng sản phẩm đầu tiên của họ là PIC1650. Lúc này, PIC 1650 được dùng để giao tiếp với các thiết bị ngoại vi cho máy chủ 16 bit CP1600, vì vậy, người ta cũng gọi PIC với tên “Peripheral Interface Controller” (Bộ điều khiển giao tiếp ngoại vi). CP1600 là một CPU tốt, nhưng lại kém về các hoạt động xuất nhập, và vì vậy PIC 8bit được phát triển vào khoảng năm 1975 để hỗ trợ hoạt động xuất nhập cho CP1600. PIC sử dụng microcode đơn giản đặt trong ROM, và mặc dù, cụm từ RISC chưa được sử dụng thời bấy giờ, nhưng PIC thực sự là một vi điều khiển với kiến trúc RISC, chạy một lệnh một chu kỳ máy (4 chu kỳ của bộ dao động). Năm 1985 General Instruments bán bộ phận vi điện tử của họ, và chủ sở hữu mới hủy bỏ hầu hết các dự án lúc đó quá lỗi thời. Tuy nhiên, PIC được bổ sung EPROM để tạo thành 1 bộ điều khiển vào ra khả trình. Ngày nay rất nhiều dòng PIC được xuất xưởng với hàng loạt các module ngoại vi tích hợp sẵn (như USART,PWM, ADC…), với bộ nhớ chương trình từ 512 Word đến 32K Word.
Đồ án vi xử lý & vi điều khiển GVHD: TS Ngơ Đình Thanh TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN ĐỒ ÁN VI XỬ LÍ ĐỀ TÀI: THIẾT KẾ HỆ THỐNG TỰ ĐỘNG ĐO KHOẢNG CÁCH GVHD : TS.Ngô Đình Thanh Đồ án vi xử lý & vi điều khiển GVHD: TS Ngơ Đình Thanh MỤC LỤC Chương Nguyên lí hoạt động hệ thống vi điều khiển .4 1.1 Xây dựng mục tiêu 1.2 Nguyên lí hoạt động hệ thống Chương Tính chọn linh kiện sử dụng hệ thống: 2.1 Giới thiệu linh kiện hệ thống: 2.1.1 Tổng quan họ vi điều khiển PIC: 2.1.2 Vi điều khiển PIC 18F4520: 2.1.3 LED đoạn: 16 2.1.4 SRF05 16 2.2 Tính tốn linh kiện có hệ thống: 17 2.2.1 Tính tốn thơng số đọc từ cảm biến: 17 2.2.2 Tính tốn điện trở nối LED đoạn: 18 2.2.3 Tính chọn trở LED đơn thị: 18 2.2.4 Chọn nguồn cấp điện cho mạch: 18 Chương Mô hệ thống: .19 3.1 Thiết kế mạch nguyên lí: 19 3.2 Chương trình lập trình C: .19 3.3 Chạy thử nghiệm testboard: 22 Đồ án vi xử lý & vi điều khiển GVHD: TS Ngơ Đình Thanh Danh sách hình ảnh Đồ án vi xử lý & vi điều khiển GVHD: TS Ngơ Đình Thanh Chương Ngun lí hoạt động hệ thống vi điều khiển 1.1 Xây dựng mục tiêu Với phát triển ngày mạnh mẽ rộng lớn khoa học kỹ thuật Các công nghệ thuộc lĩnh vực khác nhờ đời để đáp ứng cầu xã hội, phải để đến phát minh Vi điều khiển Vi điều khiển quản lý điều khiển hoạt động hệ thống thơng qua phần mền, nhờ mà ta mở rộng thay đổi hoạt động theo chương trình nạp sẵn, đọc tín hiệu từ bên ngồi đưa vào sau lưu trữ xử lý, sở đưa thơng báo, tín hiệu điều khiển thiết bị bên hoạt động theo thông số yêu cầu hệ thống Hệ thống điện tử số sử dụng vi điều khiển cà máy tính dây chuyền sản xuất cơng nghiệp, thực hiển nhiệm vụ điều khiển giám sát hệ thống Ngồi điều khiển có mặt sản phẩm công nghiệp tiêu dùng như: lò vi ba, lò sưỡi, máy giặt, hệ thống cảnh báo giám sát phương tiện giao thông … nhiều thiết bị công nghiệp khác Với việc sử dụng vi điều khiển đễ điều khiển cơng việc mang tính lặp lặp lại thực phép đo đại lượng cách tự động thay giám xác người Trong tập đồ án này, em xin trình bày đề tài “Thiết kế hệ thống tự động đo khoảng cách” 1.2 Nguyên lí hoạt động hệ thống Sơ đồ thiết kế nguyên lí hệ thống: Đồ án vi xử lý & vi điều khiển GVHD: TS Ngơ Đình Thanh Hình Ngun lí thiết kế hệ thống Nguyên lí hoạt động khối: -Khối nguồn: cung cấp nguồn cho hệ thống -Khối hiển thị: gồm led đoạn hiển thị thông số đo giá trị khoảng cách Đưa tín hiệu đèn xanh đỏ vàng để nhận biết -Khối cảm biến: phát sóng thu có vật cản truyền tín hiệu vào PIC -Khối xử lí trung tâm: PIC 18F4520 nhận tín hiệu từ cảm biến từ xuất tín hiệu cho khối hiển thị Đồ án vi xử lý & vi điều khiển GVHD: TS Ngơ Đình Thanh -Khối điều khiển: gồm nút nhấn tương ứng với công việc Nguyên tắc hoạt động chung hệ thống: -Cảm biến (cụ thể SRF05) phát sóng siêu âm truyền khơng khí với vận tốc 343m/s Khi gặp vật cản sóng phản xạ trở -PIC đo khoảng thời gian mà sóng di chuyển từ lúc phát đến lúc về, sử dụng công thức lập trình sẵn để tính khoảng cách -PIC đưa tín hiệu hiển thị LED đoạn LED đơn Chương Tính chọn linh kiện sử dụng hệ thống: 2.1.Giới thiệu linh kiện hệ thống: 2.1.1 Tổng quan họ vi điều khiển PIC: Đồ án vi xử lý & vi điều khiển GVHD: TS Ngơ Đình Thanh PIC họ vi điều khiển RISC sản xuất cơng ty Microchip Technology Dịng PIC PIC1650 phát triển Microelectronics Division thuộc General_Instrument PIC bắt nguồn từ chữ viết tắt “Programmable Intelligent Computer” (Máy tính khả trình thơng minh) sản phẩm hãng General Instruments đặt cho dòng sản phẩm họ PIC1650 Lúc này, PIC 1650 dùng để giao tiếp với thiết bị ngoại vi cho máy chủ 16 bit CP1600, vậy, người ta gọi PIC với tên “Peripheral Interface Controller” (Bộ điều khiển giao tiếp ngoại vi) CP1600 CPU tốt, lại hoạt động xuất nhập, PIC 8-bit phát triển vào khoảng năm 1975 để hỗ trợ hoạt động xuất nhập cho CP1600 PIC sử dụng microcode đơn giản đặt ROM, mặc dù, cụm từ RISC chưa sử dụng thời giờ, PIC thực vi điều khiển với kiến trúc RISC, chạy lệnh chu kỳ máy (4 chu kỳ dao động) Năm 1985 General Instruments bán phận vi điện tử họ, chủ sở hữu hủy bỏ hầu hết dự án lúc lỗi thời Tuy nhiên, PIC bổ sung EPROM để tạo thành điều khiển vào khả trình Ngày nhiều dòng PIC xuất xưởng với hàng loạt module ngoại vi tích hợp sẵn (như USART,PWM, ADC…), với nhớ chương trình từ 512 Word đến 32K Word 2.1.2 Vi điều khiển PIC 18F4520: Vi điều khiển PIC 18F4520: Hình Vi điều khiển 18F4520 Vi điều khiển PIC18F4520 có đặc điểm bản: Sử dụng công nghệ nanoWatt: Hiệu cao, tiêu thụ lượng Đồ án vi xử lý & vi điều khiển GVHD: TS Ngơ Đình Thanh Kiến trúc RISC: -75 lệnh mạnh, hầu hết lệnh thực bốn chu kì xung -Tốc độ thực lên tới 10 triệu lệnh 1s với tần số 40Mhz -Có nhân cứng + Các nhớ chương trình liệu cố định: -32 Kbytes nhớ flash có khả tự lập trình hệ thống thực 100.000 lần ghi/xóa -256 bytes EEPROM thực 1.000.000 lần ghi/xóa -256 bytes SRAM + Những ngoại vi tiêu biểu: -4 định thời/bộ đếm bit với chế độ tỉ lệ đặt trước chế độ so sánh -Bộ đếm thời gian thực với tạo dao động riêng biệt -2 kênh PWM -13 kênh ADC 10 bit -Bộ truyền tin nối tiếp USART khả trình -Watchdog Timer khả trình với tạo dao động bên riêng biệt -Bộ so sánh tương tự + Các đặc điểm đặc biệt khác: -Power on Reset Brown Out Reset -Bộ tạo dao động nội RC -Các nguồn ngắt bên bên ngồi + I/O kiểu đóng gói: -Đóng gói 40-pin PDIP, 44-lead TQFP, 44-pad MLF Đồ án vi xử lý & vi điều khiển GVHD: TS Ngơ Đình Thanh Hình Sơ đồ khối kiến trúc vi điều khiển 18F4520 Sơ đồ chân I/O: Đồ án vi xử lý & vi điều khiển GVHD: TS Ngơ Đình Thanh Hình Sơ đồ chân vi xử lí PIC 18F4520 Sau giới thiệu cấu tạo chân loại 40 chân (40 Pin PDIP): • Chân 1( MCLR /VPP/RE3) - MCLR đầu vào Master Clear (reset) hoạt động mức thấp dể reset toàn thiết bị - VPP dùng để thay đổi điện áp đầu vào - RE3 đầu vào số Các chân thuộc cổng vào Port A: • Chân 2(RA0/AN0):với RA0 cổng vào số, AN0 đầu vào tương tự Input0 • Chân 3(RA1/AN1): RA1 cổng vào số, AN1 đầu vào tương tự Input1 • Chân 4(RA2/AN2/VREF+): RA2 cổng vào số, AN2 đầu vào tương tự Input2 VREF+ đầu vào tương tự chuyển đổi A/D điện áp tham chiếu(mức thấp), CVREF đầu tương tự để so sánh điện áp chuẩn • Chân 5(RA3/AN3/VREF-/CVREF ): RA3 cổng vào số, AN3 đầu vào tương tự Input3 VREF- đầu vào tương tự chuyển đổi A/D điện áp tham chiếu(mức cao) 10 Đồ án vi xử lý & vi điều khiển GVHD: TS Ngơ Đình Thanh • Chân 39(RB6/KBI2/PGC): RB6 đầu vào số, KBI2 thay đổi mở ngắt, PGC chân dùng mạch chạy xung lập trình ICSP • Chân 40(RB7/KBI3/PGD): RB7 đầu vào số, KBI3 thay đổi mở ngắt, PGD chân dung mạch chạy xung lập trình ICSP Các chân cơng Port C: • Chân 15(RC0/T1OSO/T13CKI):RC0 đầu vào số, T1OSO đầu dao động Timer1, T13CKI đầu vào xung bên Timer1/Timer3 • Chân 16(RC1/T1OSI/CCP2): RC1 đầu vào số, T1OSI đầu vào dao động Timer1, CCP2(Capture input/Compare output/PWM2 output.) • Chân 17(RC2/CCP1/P1A): RC2 lầ đầu vào số, CCP1(Capture1 input/Compare output/PWM1 output.), P1A đầu tăng cường CCP1 • Chân 18(RC3/SCK/SCL): RC3 đầu vào số, SCK đầu vào đư chuỗi xung vào cho SPI lựa chọn, SCL đầu vào đưa chuỗi xung vào cho I2CTM lựa chọn • Chân 23(RC4/SDI/SDA): RC4 đầu vào số, SDI đầu vào liệu API, SDA đầu vào liệu cho I2C • Chân 24(RC5/SDO): RC5 đầu vào số, SDO đầu liệu SPI • Chân 25(RC6/TX/CK): RC6 đầu vào số, TX đầu chuyển đổi dị EUSARRT, CK dầu vào xung đồng EUSART • Chân 26(RC7/RX/DT): RC7 đầu vào số, RX đầu vào nhận dị EUSART, DT đầu vào liệu đồng EUSART Các chân cổng Port D( Port D vào hai hướng cổng song song phụ thuộc(PSP) cho giao diên vi xử lý đầu vào phải TTL • Chân 19(RD0/PSP0): RD0 đầu vào số, PSP0 cổng liệu song song phụ thuộc • Chân 20(RD1/PSP1): RD1 đầu vào số, PSP1cổng liệu song song phụ thuộc • Chân 21(RD2/PSP2): RD2đầu vào số, PSP2 cổng liệu song song phụ thuộc 12 Đồ án vi xử lý & vi điều khiển GVHD: TS Ngơ Đình Thanh • Chân 22(RD3/PSP3): RD3 đầu vào số, PSP3 cổng liệu song song phụ thuộc • Chân 27(RD4/PSP4): RD4 đầu vào số, PSP4 cổng liệu song song phụ thuộc • Chân 28(RD5/PSP5/P1B): RD5 đầu vào số, PSP5 cổng liệu song song phụ thuộc, P1B đầu tăng cường CCP1 • Chân 29(RD6/PSP6/P1C): RD6 đầu vào số, PSP6 cổng liệu song song phụ thuộc, P1C đầu tăng cường CCP1 • Chân 30(RD7/PSP7/P1D): RD7 đầu vào số, PSP7 cổng liệu song song phụ thuộc, P1D đầu tăng cường CCP1 Các chân cổng Port E: • Chân 8(RE0/ RD /AN5): RE0 đầu vào số, RD đầu vào điều khiển đọc cho cổng PSP, AN5 đầu vào tương tự Input5 • Chân 9(RE1/ WR /AN6): RE1 đầu vào số, WR đầu vào điều khiển viết liệu cổng PSP, AN6 đầu vào tương tự Input6 • Chân 10(RE2/CS /AN7): RE2 đầu vào số, CS điều khiển chọn Chip cho cổng PSP, AN7 đầu vào tương tự Input7 - Đầu RE3 nằm chân Các chân khác: • Chân 12,31(VSS): nối đất chuẩn cho I/O logic • Chân 11,32(VDD): cungcấp nguồn dương cho I/O logic Loại 44 chân có thêm số chân phụ khác cần thiết ta dễ dàng tra DataSheet Chi tiết thấy qua sơ đồ khối Pic18F4420/4520 tài liệu microchip cung cấp có hồn tồn đầy đủ thơng tin đặc điểm cấu tạo PORTA, TRISAand LATA Registers Port A cổng vào hai hướng bit Thanh ghi TRISA dùng điều khiển liệu có hướng Khi bit TRISA(=1) tương ứng chân Port A đầu vào, ngược lại (=0) tương ứng chân Port A đầu Thanh ghi LATA kiểm soát hoạt động đọc viết hiệu chỉnh Port A Cụ thể chức chân cổng nói chi tiết cấu trúc chân vi điều khiển PORTB, TRISB and LATB Registers PORTC, TRISC and LATC Registers 13 Đồ án vi xử lý & vi điều khiển GVHD: TS Ngơ Đình Thanh PORTD, TRISD and LATD Registers Về Port B, PortC, PortD có ngun tắc hoạt động giống PortA Cịn chức khác sơ đồ chân phần cứng giải thích cụ thể Riêng PortD có thêm đặc biệt chuyển tiếp thành cổng song song phụ thuộc(PSP) PORTE, TRISE and LATE Registers Port E có độ rộng bit chân tìm hiểu Hoạt động ghi TRISE tươngtự ghi có chức cổng khác Hình Sơ đồ nhớ liệu PIC 18F4520 Những đặc tính ngoại vi: TIMER: -Timer0 : 8-bit định thời/đếm với 8-bit prescaler 14 Đồ án vi xử lý & vi điều khiển GVHD: TS Ngơ Đình Thanh -Timer1: 16- bit định thời/đếm với prescaler, tăng lên suốt chế độ Sleep qua thạch anh/xung clock bên -Timer2: 8-bit định thời/đếm với 8-bit prescaler postscaler • Hai module Capture,Compare, PWM: -Capture có độ rộng 16 bit, độ phân giải 12,5ns -Compare có độ rộng 16 bit, độ phân giải 200ns -Độ phân giải lớn PWM 10 bit • Có 13 ngõ I/O điều khiển trực tiếp: Dòng vào dòng lớn: -25mA dòng vào cho chân -20mA dòng cho chân • kênh chuyển đổi tương tự sang số(A/D) 10-bit Ngôn ngữ lập trình: o Ngơn ngữ Assembler: Ngơn ngữ Assembler ngơn ngữ bậc thấp dùng việc viết chương trình máy tính Ngơn ngữ Assembler sử dụng từ có tính chất gợi nhớ, từ viết tắt giúp ghi nhớ thị phức tạp làm cho việc lập trình Assembler dùng dễ dàng Mục đích việc dùng từ gợi nhớ nhằm thay việc lập trình trực tiếp ngơn ngữ máy sử dụng máy tính thường gặp nhiều lỗi tốn thời gian Việc sử dụng ngôn ngữu Assembler vào lập trình PIC đơn giản -Ưu điểm: + Chạy nhanh + Tiết kiệm nhớ + Có thể lập trình truy cập qua giao diện vào cac ngôn ngữ bậc cao làm -Nhược điểm: + Khó viết yêu cầu người lập trình am hiểu phần cứng + Khó tìm lỗi sai bao gồm cú pháp sai thuật tốn + Khơng chun chương trình Assembler cho máy tính có cấu trúc khác 15 Đồ án vi xử lý & vi điều khiển o GVHD: TS Ngơ Đình Thanh Ngơn ngữ lập trình C: Ngơn ngữ lập trình C ngơn ngữu lập trình tương đối nhỏ gọn vận hành gắn với phần cứng giống với ngơn ngữ Assember Ngơn ngữ C cịn đánh có khả di động, cho thấy khác quan trọng với ngơn ngữ bậc thấp Assember C tạo với mục tiêu làm cho thuận tiện để viết chương trình lớn với số lỗi -Ưu điểm: + Tiết kiệm nhớ + Câu lệnh thực nhanh + Cho phép người lập trình dễ dàng kiểm sốt mà chương trình thực thi -Nhược điểm: + Điều chỉnh tay chậm Assembler 2.1.3 LED đoạn: Hình LED đoạn Led đoạn có cấu tạo bao gồm led đơn có dạng xếp theo hình dạng số có thêm led đơn hình trịn nhỏ thể dấu chấm trịn góc dưới, bên phải led đoạn led đơn led đoạn có Anode(cực +) Cathode(cực -) nối chung với vào điểm, đưa chân để kết nối với mạch điện Phân loại: - Led đoạn anode chung - Led đoạn cathode chung Một số thống số kĩ thuật: - Điện áp rơi led nhỏ 1.4V - Dòng điện tối đa chạy qua led 25mA - Dịng điện bình thường 10mA 16 Đồ án vi xử lý & vi điều khiển GVHD: TS Ngơ Đình Thanh 2.1.4 SRF05 Hình SRF05 Module cảm biến siêu âm SRF05 dùng để đo khoảng cách đến vật chắn sóng siêu âm Module có đầu thu phát sóng, khoảng cách xác định cách đo khoảng thời gian mà sóng siêu âm phát từ module truyền đến vật chắn phản hồi Sử dụng cách truyền xung vào chân trigger module, sau chờ xung trả chân echo, độ dài xung phản hồi tương ứng với thời gian sóng siêu âm truyền khơng khí, từ tính khoảng cách đến vật thể chắn Thông số kĩ thuật: -Điện áp hoạt động: 5V -Dòng điện tiêu thụ: 30mA -Tần số: 40kHz -Tầm đo: 3cm đến 3m 2.2 Tính tốn linh kiện có hệ thống: 2.2.1 Tính tốn thơng số đọc từ cảm biến: Hình Biểu đồ thời gian SRF05 17 Đồ án vi xử lý & vi điều khiển GVHD: TS Ngơ Đình Thanh Đo khoảng cách cảm biến siêu âm đo thời gian chân echo mức cao Để đo thời gian chân ECHO mức cao dùng timer vi điều khiển Để đo khoảng cách ta làm bước sau: -Kích chân TRIGGER: Xuất mức chân TRIGGER delay tối thiểu 10mS -Đợi chân ECHO lên mức cao -Sau chân ECHO lên mức cao, kích hoạt timer -Khi chân ECHO xuống mức thấp, dừng timer tính tốn giá trị thời gian từ timer, từ suy khoảng cách ▪ Cách tính khoảng cách từ giá trị đo được: Gọi S quãng đường sóng âm, S=2 x d (với d(cm) khoảng cách từ sóng âm đến vật) Gọi V vận tốc sóng âm: V= 0.0344cm/us T(us) thời gian truyền, ta có: S=2 x d= V x T d= V x = 0.0344 x = 2.2.2 Tính tốn điện trở nối LED đoạn: -Dòng định mức qua LED đoạn: I=20mA -Ta chọn dòng điện qua LED I=15mA I Vcc Vr R R => Vcc Vr 1.4 240 I 0.015 Chọn R=330 Ω 2.2.3 Tính chọn trở LED đơn thị: Chọn điện áp rơi trung bình LED 2V dòng qua LED khoảng 12mA I => Vcc Vr R R Vcc Vr 250 I 0.012 Chọn R=330 Ω 18 Đồ án vi xử lý & vi điều khiển GVHD: TS Ngơ Đình Thanh 2.2.4 Chọn nguồn cấp điện cho mạch: -Dùng adapter 220VAC-5VDC để cấp nguồn cho mạch trường hợp mạch giám sát đặt cố định gần nguồn điện Chương Mô hệ thống: 3.1 Thiết kế mạch nguyên lí: Sơ đồ mạch nguyên lí proteus: Hình Mơ proteus 3.2 Lưu đồ thuật toán: 19 Đồ án vi xử lý & vi điều khiển GVHD: TS Ngơ Đình Thanh 20 Đồ án vi xử lý & vi điều khiển GVHD: TS Ngơ Đình Thanh 21 Đồ án vi xử lý & vi điều khiển GVHD: TS Ngơ Đình Thanh 3.3 Thiết lập ban đầu dùng ngôn ngữ hợp ngữ: MOVLW 0x00 MOVWF TRISC ; Thiết lập cổng C cổng MOVWF TRISD ; Thiết lập cổng D cổng MOVLW 0XF0 MOVWF TRISB ; Thiết lập cổng B BSF INTCON,4 ; Thiết lập cho phép ngắt BSF T1CON, ; Cho timer vận hành chế độ 16 bit BCF T1CON, ; gán chia trước cho timer 1:1 BCF T1CON, BCF T1CON, ; tắt dao động BCF T1CON, ; timer1 dùng xung clock bên BCF T1CON, ; Chọn xung nội bên 22 Đồ án vi xử lý & vi điều khiển GVHD: TS Ngơ Đình Thanh BSF T1CON, ; Cho phép timer1 đếm 3.4 Chương trình lập trình C: #INCLUDE #FUSES NOWDT,PUT,HS,NOPROTECT,NOLVP #USE DELAY(CLOCK=20M) Const unsigned int8 ma7doan[]={0xC0,0xF9,0xA4,0XB0,0x99,0x92,0x82,0xF8,0x80,0x90}; unsigned int8 led0,led1,led2,l,h; int32 khoangcach=0; float32 khoangcach1, dem; #define echo PIN_B1 #define trig PIN_B7 #int_ext void ngat(void){ while(pin_b0==0); output_toggle(pin_d7);} void giai_ma(int16 t) // giai ma de hien thi { led0=ma7doan[khoangcach%10]; led1=ma7doan[khoangcach%100/10]; led2=ma7doan[khoangcach/100]; } void hien_thi() // hiên thi so tren led Quét led { output_c(led0); output_high(pin_d0); delay_ms(1); output_low(pin_d0); output_c(led1); output_high(pin_d1); delay_ms(1); output_low(pin_d1); output_c(led2); output_high(pin_d2); delay_ms(1); output_low(pin_d2); } void delay_hienthi(h) 150ms { for(l=0;l