Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 41 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
41
Dung lượng
1,19 MB
Nội dung
Header Page of 126 Lời cảm ơn Xin gửi lời cảm ơn Th.S Trần Đặng Bảo Ân, nhờ có hướng dẫn tận tình thầy em thực đề tài” THIẾT KẾ MẠCH ĐIỆN VÀ KHẢO SÁT ĐẶC TÍNH CỦA CẢM BIẾN SIÊU ÂM HY-SRF05” Cảm ơn thầy Nguyễn Huỳnh Duy Khang bạn Nguyễn Tấn Phát giúp đỡ trình thực đề tài Cảm ơn Thầy, Cô Khoa Vật lý Trường Đại học Sư Phạm Tp.Hồ Chí Minh trang bị cho em kiến thức hữu ích để hoàn thành luận văn Cảm ơn ba mẹ, anh, bạn, thầy giúp đỡ nhiệt tình đóng góp nhiều ý kiến quí báu để em hoàn thành luận văn Mặc dù cố gắng thực đề tài cách hoàn chỉnh, bước đầu làm quen với nghiên cứu khoa học hạn chế kiến thức lẫn kinh nghiệm khó tránh khỏi thiếu sót mà thân chưa nhận Rất mong góp ý quý thầy cô để luận văn ngày hoàn thiện LƯƠNG VĂN THUẬN Footer Page of 126 Header Page of 126 MỤC LỤC MỞ ĐẦU .6 Giới thiệu chung Cơ sở khoa học thực tiễn đề tài: Mục đích đề tài Nội dung nghiên cứu .6 Đối tượng nghiên cứu phạm vi nghiên cứu Phương pháp nghiên cứu .7 CHƯƠNG I: TỔNG QUAN .8 1.1 Cảm biến HY-SRF05 .8 1.2 VI ĐIỀU KHIỂN 11 1.3 MỘT SỐ LINH KIỆN ĐIỆN TỬ CÓ LIÊN QUAN 17 CHƯƠNG II: THIẾT KẾ MẠCH ĐIỆN VÀ KHẢO SÁT ĐẶC TÍNH CẢM BIẾN .21 2.1 Cấu tạo 21 2.2 Nguyên lý hoạt động 23 2.3 Quá trình gia công lắp mạch 24 CHƯƠNG III: KHẢO SÁT CÁC ĐẶC TÍNH CỦA CẢM BIẾN 27 3.1 Khảo sát xung tín hiệu chân TRIG ECHO 27 3.2 Khảo sát hàm truyền cảm biến .30 3.3 Khảo sát quan hệ khoảng cách góc đo cảm biến 33 TÀI LIỆU THAM KHẢO 37 PHỤ LỤC 38 Footer Page of 126 Header Page of 126 Danh mục hình Hình 1.1 Cảm biến siêu âm HY-SRF05 Hình 1.2 Sơ đồ chân cảm biến HY-SRF05 Hình 1.3 Nguyên lý TOF .10 Hình 1.4 Hiện tượng forecasting 11 Hình 1.5 Hiện tượng crosstalk 11 Hình 1.6 Kiến trúc Harvard 12 Hình 1.7 Vi điều khiển PIC16F877A 13 Hình 1.8 Sơ đồ chân PIC 16F877A .13 Hình 1.9 LCD 16×2 .17 Hình 1.10 Sơ đồ chân LCD 16×2 17 Hình 1.11 Mạch nạp PICKit .19 Hình 1.12 IC nguồn 7805 19 Hình 1.13 Thạch anh 20 000 Hz 20 Hình 2.1 Khối nguồn .21 Hình 2.2 Khối vi điều khiển 21 Hình 2.3 Khối giao tiếp cảm biến SRF-05 22 Hình 2.4 Khối hiển thị 23 Hình 2.5 Sơ đồ giải thuật đo khoảng cách 23 Hình 2.6 Xung chân TRIG ECHO .24 Hình 2.7 Các bước thi công lắp mạch 24 Hình 2.8 Các khối mạch điện 25 Hình 2.9 Sơ đồ Layout khối mạch điện 25 Hình 3.1 Xung tín hiệu chân Trig (trên) xung tín hiệu chân Echo (dưới) .27 Hình 3.2 Độ rộng xung tín hiệu chân Trig 28 Hình 3.3 Chu kì xung tín hiệu chân Trig .28 Footer Page of 126 Header Page of 126 Hình 3.4 Độ rộng xung tín hiệu chân Echo ứng với khoảng cách 20,5cm cảm biến 29 Hình 3.5 Hình ảnh phóng to xung tín hiệu chân Echo ứng với khoảng cách 20,5cm cảm biến 29 Hình 3.6: Chu kì xung tín hiệu chân Echo 30 Hình 3.7 Đồ thị khớp hàm bậc Origin 31 Hình 3.8 Khổ giấy 3xA0 góc loe 33 Hình 3.9 Đường bao thể bán kính hiệu dụng bán kính sai số 5% cảm biến 35 Hình 3.10 Đường bao thể bán kính hiệu dụng cảm biến 35 Footer Page of 126 Header Page of 126 Danh mục bảng Bảng 1.1 Thông số kĩ thuật cảm biến HY-SRF05 Bảng 1.2 Các đặc tính bật vi điều khiển PIC 16F877A 13 Bảng 1.3 I/O vi điều khiển PIC 16F877A .14 Bảng 1.4 Timer vi điều khiển PIC 16F877A 15 Bảng 1.5 Ngắt vi điều khiển PIC 16F877A 16 Bảng 1.6 Sơ đồ chân LCD .17 Bảng 3.1 Số liệu độ rộng xung ứng với khoảng cách 30 Bảng 3.2 Sai số phép đo khoảng cách 32 Bảng 3.3 Số liệu khoảng cách ghi nhận theo góc 34 Footer Page of 126 Header Page of 126 MỞ ĐẦU Giới thiệu chung Cảm biến thiết bị dùng để biến đổi đại lượng vật lý đại lượng không điện cần đo thành đại lượng điện đo được( dòng điện, điện thế, trở kháng…) Nguyên lý hoạt động cảm biến nguyên lý phép đo hay phương pháp điều khiển tự động Cảm biến có vai trò quan trọng hoạt động người Nhờ thành tựu khoa học công nghệ vật liệu cảm biến ngày thu nhỏ kích thước, cải thiện tính mở rộng phạm vi ứng dụng Cảm biến sử dụng rộng rãi lĩnh vực giao thông vận tải, hàng tiêu dùng, bảo quản thực phẩm,ô tô, trò chơi điện tử… Cơ sở khoa học thực tiễn đề tài: Cảm biến khoảng cách có nhiều loại khác cảm biến hồng ngoại, cảm biến siêu âm, cảm biến laser,…có phương pháp đo độ xác khác Cảm biến phát tín hiệu thu tín hiệu tương ứng; đo khoảng thời gian từ lúc phát tới lúc thu vi điều khiển xác định quãng đường mà sóng di chuyển không gian Việc sử dụng cảm biến để đo khoảng cách hướng nghiên cứu Việt Nam Đề tài cung cấp cách nhìn trực quan khả đo đạc độ xác cảm biến siêu âm HY-SRF05 tạo tiền đề cho việc ứng dụng cảm biến vào khoa học – kỹ thuật, đời sống, sản xuất,… Mục đích đề tài Từ số liệu thực nghiệm thu được, tiến hành thiết kế mạch đo khảo sát đặc tính cảm biến HY-SRF05 để đánh giá khả hoạt động đặc tính cảm biến Nội dung nghiên cứu - Tìm hiểu nguyên lý hoạt động cảm biến đo khoảng cách HY-SRF05 - Tìm hiểu sơ đồ thuật toán vi điều khiển 16F877A tương thích với cảm biến HY-SRF05 - Thiết kế mạch điện tử kết nối cảm biến, vi điều khiển Footer Page of 126 Header Page of 126 - Khảo sát đặc tính cảm biến HY-SRF05 mạch điện tử vừa lắp đặt Đối tượng nghiên cứu phạm vi nghiên cứu - Đối tượng nghiên cứu: Kiến thức kỹ thuật số, vi điều khiển; lập trình pic C; thiết kế chế tạo mạch điện tử; lý thuyết môn Phương pháp thực nghiệm vật lý; cách sử dụng phần mềm hỗ trợ Proteus Origin Phương pháp nghiên cứu - Phương pháp nghiên cứu sử dụng đề tài phương pháp thực nghiệm khoa học tiến hành chế tạo mạch điện tử khảo sát đặc tính cảm biến mạch điện tử vừa chế tạo Footer Page of 126 Header Page of 126 CHƯƠNG I: TỔNG QUAN 1.1 Cảm biến HY-SRF05 1.1.1 Giới thiệu cảm biến siêu âm HY-SRF05: SRF05 bước phát triển từ SRF04, đựoc thiết kế làm tăng tính linh hoạt, tăng phạm vi hoạt dộng giảm chi phí Khoảng cách tăng lên từ mét đến mét Thêm chế độ hoạt động (chân chọn chế độ nối đất) cho phép SRF05 sử dụng chân cho kích hoạt phản hồi giúp tiết kiệm chân cho điều khiển Khi chân chế độ ngắt kết nối, SRF05 hoạt động với chân kích hoạt chân phản hồi riêng biệt Hình 1.1 Cảm biến siêu âm HY-SRF05 1.1.2 Thông số kĩ thuật: Bảng 1.1 Thông số kĩ thuật cảm biến HY-SRF05 Điện áp 5V Dòng thấp 4mA Tần số 40KHz Phạm vi hoạt động 3cm - 4m Đầu vào kích khởi 10uS Xung va đập Mức tín hiệu dương, bề rộng đối xứng 43x20x17 (mm) Điều khiển tự động Không định kích cỡ hoạt động, tự xử lí, hoạt động nhanh Tgian hoạt động Thời gian hồi đáp, đưa tín hiệu điều khiển Footer Page of 126 Header Page of 126 1.1.3 Chế độ hoạt động Cảm biến siêu âm HY-SRF05 có hai chức phát analog phát số Trong đề tài sử dụng chức phát số với chân kích hoạt (Trig) chân phản hồi (Echo) riêng biệt Để sử dụng chế độ này, việc ngắt kết nối chân mode HY- SRF05 có điện trở nội (pull-up resistor) chân Hình 1.2 Sơ đồ chân cảm biến HY-SRF05 1.1.4 Chức chân - Echo Output: chân đầu tín hiệu phản hồi từ cảm biên - Triger Output: chân đầu vào kích hoạt - Mode: chân chế độ (không kết nối chế độ một) - Bộ năm chân lại sử dụng để nạo chương trình lần trình sản xuất không kết nối ngoại vi trình sử dụng 1.1.5 Tính toán xác định khoảng cách Sóng siêu âm truyền không khí với vận tốc xác định công thức: = v v0 + α t (1) Với α = độ-1 ; v0 = 332 m/s 273 Nhưng công thức mang tính tương đối xác, để đơn giản cho việc tính toán chọn vận tốc truyền âm không khí 343 m/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 quãng đường mà sóng di chuyển không gian hoàn toàn xác định Quãng đường di chuyển sóng hai lần khoảng cách từ cảm biến tới chướng ngại vật theo hướng phát sóng siêu Footer Page of 126 Header Page 10 of 126 âm.Khoảng cách từ cảm biến tới chướng ngại vật tính theo nguyên lý Time of flight (TOF): d= v.t (2) Hình 1.3: Nguyên lý TOF Trong đó: d - khoảng cách cần đo v - vận tốc sóng siêu âm môi trường truyền song t - thời gian từ lúc sóng phát đến lúc sóng ghi nhận lại 1.1.6 Sai số tượng cần hiệu chỉnh cho cảm biến 1.1.6.1 Sai số lặp Sai số lặp sai số xảy với tất thiết bị đo lường nào, có cảm biến siêu âm Nhà sản xuất không thông báo % sai số lặp cảm biến HY-SRF05 điều bất lợi nên việc chuẩn hóa kết đo Origin điều tất yếu phải làm 1.1.6.2 Hiện tượng forecasting Hiện tượng Forecasting tượng phản xạ góc sai lệch cảm biến Do nguyên lý TOF, để có khoảng cách đúng, cảm biến siêu âm phải hướng vuông góc với bề mặt chướng ngại vật cần đo Tuy nhiên, chướng ngại vật không phẳng, mịn, nên tia phản xạ không tương ứng với góc tới Các chùm tia phản xạ có lượng phản xạ thấp Tuy vậy, khoảng cách đó, cảm biến siêu âm ghi nhận tín hiệu phản xạ Kết quả, thông số đọc cảm biến siêu âm bị lệch góc mở cảm biến siêu âm lớn 10 Footer Page 10 of 126 Header Page 27 of 126 CHƯƠNG III: KHẢO SÁT CÁC ĐẶC TÍNH CỦA CẢM BIẾN 3.1 Khảo sát xung tín hiệu chân TRIG ECHO + Xung tín hiệu chân TRIG chân ECHO hiển thị hình Oscilloscope Hình 3.1 Xung tín hiệu chân Trig (trên) xung tín hiệu chân Echo (dưới) + Hình hiển thị Oscilloscope cho ta thấy xung tín hiệu chân Echo xuất trễ so với xung tín hiệu chân Trig 3.1.1 Khảo sát xung tín hiệu chân TRIG + Độ rộng xung tín hiệu chân TRIG Độ rộng xung tín hiệu chân Trig mạch cấp cho 10 µ s thực tế đo từ hình hiển thị Oscillocope 10,7 µ s 27 Footer Page 27 of 126 Header Page 28 of 126 Hình 3.2 Độ rộng xung tín hiệu chân Trig + Tần số xung tín hiệu chân TRIG Màn hình hiển thị Oscillocope cho ta chu kì phát chân Trig ∆T Tần số xung xác định công thức f = (3) ∆T Hình 3.3 Chu kì xung tín hiệu chân Trig Tần số xung tín hiệu chân Trig là: f = 51,8 Hz = 19,3.10−3 3.1.2 Khảo sát xung tín hiệu chân ECHO + Độ rộng xung tín hiệu chân ECHO Độ rộng xung tín hiệu chân ECHO phụ thuộc khoảng cách từ cảm biến đến vật cản, khoảng cách lớn độ rộng xung dài 28 Footer Page 28 of 126 Header Page 29 of 126 Tiến hành khảo sát độ rộng xung với giá trị khoảng cách nằm vùng từ 3cm đến 220cm Cụ thể khoảng cách chọn để khảo sát 20,5cm có độ ổn định cao ( giá trị cảm biến đo không thay đổi suốt trình khảo sát) Độ rộng xung tín hiệu chân Echo ghi nhận 1,11 ms Hình 3.4 Độ rộng xung tín hiệu chân Echo ứng với khoảng cách 20,5cm cảm biến Hình 3.5 Hình ảnh phóng to xung tín hiệu chân Echo ứng với khoảng cách 20,5cm cảm biến với tần số 0,1GHz 29 Footer Page 29 of 126 Header Page 30 of 126 + Tần số xung tín hiệu chân ECHO Màn hình hiển thị Oscillocope cho ta chu kì phát chân ECHO ∆T Tần số xung xác định công thức f = ∆T Hình 3.6: Chu kì xung tín hiệu chân Echo Tần số xung tín hiệu chân Echo là: f = 51,8 Hz = 19,3.10−3 3.2 Khảo sát hàm truyền cảm biến Khoảng cách mà cảm biến HY-SRF05 ghi nhận tồn dạng tín hiệu điện Vi điều khiển đo độ rộng xung tín hiệu từ tính toán thông qua hàm truyền xuất giá trị khoảng cách LCD Dựa vào bảng số liệu ghi nhận khoảng cách thực độ rộng xung để tiến hành khớp hàm Origin Bảng 3.1: Số liệu độ rộng xung ứng với khoảng cách Khoảng cách thực ( cm ) 10 20 30 40 50 60 70 80 90 30 Footer Page 30 of 126 Độ rộng xung ( µ s ) 696.2 1251.3 2066.8 2771.0 3497.2 4209.3 4921.6 5643.9 6357.7 Header Page 31 of 126 100 110 120 130 140 150 160 170 180 190 200 210 220 7078.6 7774.6 8498.6 8753.9 9946.1 10692.3 11406.4 12117.6 12838.2 13495.0 14265.8 14437.6 14891.6 Data sheet SRF05[4] ghi nhận khoảng cách tối đa cảm biến ghi nhận 4m bảng số liệu ghi nhận khoảng cách tối đa 220cm khoảng cách 230cm giá trị độ rộng xung mà cảm biến ghi nhận biến thiên liên tục không ghi nhận Đồ thị khớp hàm bậc thu từ phương pháp khớp hàm Origin thể qua hình 3.2.1 250 Khoảng cách thuc thực Khoang cach Khoảng cáchsau saukhi khikhop khớpham hàm khoang cach Khoảng cách thuc thực(cm) (cm) Khoang cach 200 150 100 Equation Weight Residual Sum of Squares Adj R-Squar 50 y = Intercept + B1*x^1 + B 2*x^2 + B3*x ^3 Weighting No 315.91073 0.99847 Value 0 2000 4000 6000 Intercept -0.75763 1.58303 B B1 0.01602 9.34405E-4 B B2 -4.11643E-7 1.31789E-7 B B3 1.90702E-1 4.94791E-12 8000 10000 12000 14000 16000 Dorộng rong xung xung (us) Độ (μs) Hình 3.7 Đồ thị khớp hàm bậc Origin 31 Footer Page 31 of 126 Standard Err B Header Page 32 of 126 Gọi x độ rộng xung hàm truyền thu là: f= ( x ) 1,90702.10−11 x3 − 4,11643.10−7 x + 0, 01602 x − 0, 75763 (4) Tiến hành đưa hàm truyền vừa tìm vào vi điều khiển, đo ghi nhận lại giá trị cảm biến thu theo đường thẳng từ tính sai số phép đo Bảng 3.2 Sai số phép đo khoảng cách đường thẳng có góc lệch 00 Khoảng cách thực (cm) 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 125 130 135 140 145 150 155 160 165 170 175 180 Khoảng cách cảm biến ghi nhận (cm) 10.0 15.0 20.1 25.1 30.1 35.3 40.5 45.3 50.6 55.4 60.4 65.3 70.1 74.9 79.8 84.8 89.4 94.6 98.8 104.1 108.0 112.6 116.9 122.3 127.3 133.9 137.0 142.2 146.8 152.0 156.1 162.5 166.2 172.2 177.4 32 Footer Page 32 of 126 Sai khác (%) 0 0.5 0.4 0.3 0.9 1.3 0.7 1.2 0.7 0.7 0.5 0.1 0.1 0.3 0.2 0.7 0.4 1.2 0.9 1.8 2.1 2.6 2.2 2.1 0.8 2.1 1.9 2.1 1.9 2.4 1.5 2.2 1.6 1.4 Header Page 33 of 126 185 190 195 200 205 210 215 220 182.9 188.3 194.4 200.1 205.5 211.4 216.1 223.6 1.1 0.9 0.3 0.2 0.7 0.5 1.6 Tiến hành khảo sát quan hệ khoảng cách góc đo cảm biến cách cho mép vật chắn (hộp gỗ) chuyển động đường đo góc 00 vẽ khổ giấy 3xA0 Từ bảng số liệu ghi nhận sai số khoảng cách cảm biến ghi nhận nằm khoảng từ đến 2,6% sai số trung bình khoảng cách cảm biến ghi nhận 1,05% Vậy giá trị sai số trung bình phép đo chiều dài chấp nhận 3.3 Khảo sát quan hệ khoảng cách góc đo cảm biến Tiến hành khảo sát quan hệ khoảng cách góc đo cảm biến cách cho mép vật chắn (hộp gỗ) chuyển động đường đo góc vẽ khổ giấy 3xA0 Bước 1: Khảo sát phụ thuộc khoảng cách vào góc Tịnh tiến hộp gỗ xa tín hiệu nhận bị gián đoạn Cụ thể, tịnh tiến xa số liệu LCD tăng đột ngột giảm vị trí giảm vị trí tín hiệu bị gián đoạn Bước 2: Khảo sát vị trí xa đo theo góc mà sai số khoảng cách không vượt 5% Từ vị trí xác định bước ta tiến hành tịnh tiến vào 33 Footer Page 33 of 126 Header Page 34 of 126 đến sai số nhỏ 5% dừng lại Hình 3.8 Khổ giấy 3xA0 góc loe Cảm biến ghi nhận tính hiệu từ 280 bên trái đến 270 bên phải Khoảng cách thu được trình bày bảng 3.2.1 Bảng 3.3 Số liệu khoảng cách ghi nhận theo góc Góc đo -28.0 -27.0 -26.0 -25.0 -24.0 -23.0 -22.0 -21.0 -20.0 -19.0 -18.0 -17.0 -16.0 -15.0 -14.0 -13.0 -12.0 -11.0 -10.0 -9.0 -8.0 -7.0 -6.0 -5.0 -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 4.0 5.0 6.0 Bán kính hiệu dụng cảm biến (cm) 102.0 101.5 103.4 101.5 100.0 101.0 128.0 125.4 129.0 137.1 140.6 140.9 150.2 152.7 165.2 166.3 175.2 181.0 180.0 201.1 200.3 214.1 216.0 215.0 215.8 217.4 220.5 220.0 223.0 220.4 221.0 216.5 216.0 214.6 215.5 34 Footer Page 34 of 126 Bán kính sai số 5% cảm biến (cm) 82.0 83.2 81.2 83.5 89.5 86.8 96.6 93.5 83.3 96.1 98.7 104.7 103.4 103.7 106.2 104.4 106.5 109.7 112.0 121.1 151.8 214.1 191.7 190.7 185.7 195.1 182.8 214.0 220.0 209.6 100.1 119.8 169.9 170.7 120.5 Header Page 35 of 126 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 214.0 201.3 199.2 179.9 180.3 172.4 165.4 162.2 150.7 149.6 140.5 139.8 135.7 127.2 130.0 125.1 101.1 103.3 104.2 105.1 107.0 151.3 122.6 143.1 155.7 132.9 127.0 123.5 112.4 89.5 99.3 96.4 83.7 68.2 72.0 70.0 81.0 84.2 74.0 71.5 77.6 78.2 Với số liệu từ bảng 3.2.1 tiến hành phác họa đồ thị đường bao thể bán kính hiệu dụng bán kính sai số 5% cảm biến Bán kính sai số 5% Bán kính hiệu dụng Hình 3.10 đường bao thể bán kính hiệu dụng cảm biến [5] Hình 3.9 đường bao thể bán kính hiệu dụng bán kính sai số 5% cảm biến 35 Footer Page 35 of 126 Header Page 36 of 126 Kết luận: Với độ phân giải 2mm cảm biến HY-SRF05 có khả đo khoảng cách tốt vùng nhỏ 2,2 m với sai số lớn 2,6%, sai số hoàn toàn chấp nhận 36 Footer Page 36 of 126 Header Page 37 of 126 TÀI LIỆU THAM KHẢO [1] http://vi.wikipedia.org/wiki/Vi_%C4%91i%E1%BB%81u_khi%E1%BB %83n Truy cập lúc 0h33 ngày 14/04/2015 [2] Nguyễn Huỳnh Duy Khang (2013), luận văn bảo vệ Đại học Sư Phạm đề tài: Ứng dụng vi điều khiển PIC16F877A thí nghiệm vật lý phổ thông [3] Hoàng Trung Thạch (2014), đồ án tốt nghiệp kỹ sư công nghiệp đề tài: Lập trình điều khiển mô hình robot dò đường dùng pic 16F877A [4] www.fgcvme.co.uk/MUSRF05%20Data%20Sheet.pdf Truy cập lúc 10h51 ngày 22/04/2015 [5] www.fgcvme.co.uk/MUSRF05%20Data%20Sheet.pdf Truy cập lúc 9h25 ngày 20/05/2015 37 Footer Page 37 of 126 Header Page 38 of 126 PHỤ LỤC + Code cho vi điều khiển 16F877A #include #include #FUSES HS #use delay(clock=20000000) #include #include #define mod RD2 #define TRIGGER pin_d0// chan phat song sieu am //chan ECHO nhan tin hieu ve noi vao RC2 #BIT RC2=0X7.2 float dist,getvar,y; int16 kc=0; int1 has_echo=0; int16 x,low,high,high1; void convert_bcd(); //////////////////////////////////////////////// #int_CCP1 void ccp1_isr() { if(input(pin_c2)) { // N?u xung c?nh lên set_timer1(0); // Reset timer1 v? setup_ccp1(CCP_CAPTURE_FE); // Chuy?n Capture ðo c?nh xu?ng } else { // N?u xung c?nh xu?ng getvar=CCP_1; // Ð?c giá tr? timer dist=1.90702*0.00000000001*getvar*getvar*getvar4.11643*0.0000001*getvar*getvar+0.01602*getvar-0.75763; 38 Footer Page 38 of 126 Header Page 39 of 126 setup_ccp1(CCP_CAPTURE_RE); // Chuy?n Capture ðo xung lên tr? l?i has_echo = 1; // Ð? nh?n xong echo //disable_interrupts(int_TIMER1); // T?t ng?t timer } } // Ngat timer -#int_TIMER1 void TIMER1_isr(void) { if (has_echo == 0) { has_echo = 1; // Tràn timer mà ko có echo th? cho wa (t?i ða c?a SRF05 30ms, tràn timer 52ms) dist = -1; // S? b?n mu?n cho c?ng ðc, t?c ko ðo ðý?c } } // 10us cho trigger -void trig() { output_high(TRIGGER); delay_us(10); output_low(TRIGGER); } // -// void convert_bcd() { kc = (int16)dist; high1 = (kc%1000)/100; high=(kc%100)/10; 39 Footer Page 39 of 126 Header Page 40 of 126 low=kc%10; //chia lay phan du, so hang don vi low = low + 0x30; high = high + 0x30; high1 = high1 + 0x30; } void main() {x=1; y=0; trisa = 0x00; trisb = 0x00; trisc = 0xff; trisd = 0x00; // Khoi tao cho ngat ngoai setup_timer_1(T1_INTERNAL|T1_DIV_BY_4); //20 MHz th? tràn 52ms (t?i ða xung c?a SRF05 30ms) setup_ccp1(CCP_CAPTURE_RE); // Thiet lap Capture ðo canh lên enable_interrupts(int_TIMER1); // Ngat timer 1, ðe phong trýong hop ko có echo enable_interrupts(INT_CCP1); // Ngat Capture enable_interrupts(GLOBAL); LCD_init();//khoi tao lcd Printf(LCD_putchar,"DO KHOANG CACH"); delay_ms(800);//thoi gian hoat dong cho man hinh khoi tao while(TRUE) { while(x