Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 53 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
53
Dung lượng
0,94 MB
Nội dung
Luận văn tốt nghiệp GVHD: PGS.TS Dương Hoài Nghĩa MỤC LỤC Trang Danh mục hình vẽ .3 Lời mở đầu Chương 1: Giới thiệu tổng quan 1.1 Lịch sử đời phát triển 1.2 Các hệ Robot 1.3 Những xu hướng phát triển Robot đại 1.4 Nhiệm vụ luận văn Chương 2: Giới thiệu linh kiện sử dụng luận văn 2.1 Tổng quan vi điều khiển PIC cấu trúc vi điều khiển PIC16F877A 2.1.1 Tổng quan vi điều khiển PIC .9 2.1.2 Cấu trúc vi điều khiển PIC16F877A 2.1.3 Sơ đồ khối 11 2.1.4 Sơ đồ chức chân 13 2.1.5 Tổ chức nhớ 16 2.1.6 Số lượng ngõ xuất nhập sơ đồ khối 20 2.1.7 Ngôn ngữ lập trình CCS 26 2.2 Giới thiệu chung Mosfet 31 2.2.1 Cấu tạo ký hiệu Mosfet 32 2.2.2 Một số thông số quan trọng Mosfet (IRF540-IRF9540) 33 2.3 Cảm biến hồng ngoại GP2D12 .34 2.3.1 Thông số kỹ thuật 34 2.3.2 Ứng dụng 34 2.4 BL9148-BL9149 34 2.4.1 Sơ đồ chức chân BL9148 34 2.4.2 Sơ đồ chức chân BL9149 35 Chương 3: Thiết kế phần cứng 37 3.1 Giới thiệu chung mơ hình .37 3.2 Mạch động lực .37 3.2.1 Sơ đồ nguyên lý 38 3.2.2 Phân tích mạch 39 3.3 Mạch vi điều khiển PIC16F877A 39 3.3.1 Sơ đồ nguyên lý 39 3.3.2 Phân tích mạch 40 SVTH: Cao Cơng Bình Trang Luận văn tốt nghiệp GVHD: PGS.TS Dương Hoài Nghĩa 3.4 Mạch thu phát hồng ngoại dùng BL9148-BL9149 .40 3.4.1 Sơ đồ nguyên lý 41 3.4.2 Phân tích mạch 42 Chương 4: Thiết kế phần mềm 43 4.1 Lưu đồ giải thuật 43 4.1.1 Phát nguồn phát hồng ngoại 43 4.1.2 Tránh vật cản đường 44 4.2 Chương trình 46 Chương 5: Kết luận 51 5.1 Vấn đề giải 51 5.2 Hướng phát triển 51 5.3 Kết luận 51 Tài liệu tham khảo 52 SVTH: Cao Công Bình Trang Luận văn tốt nghiệp GVHD: PGS.TS Dương Hồi Nghĩa DANH MỤC CÁC HÌNH VẼ Danh mục hình vẽ H2.0 PIC16F877A H2.1 Sơ đồ khối PIC16F877A H2.2 Sơ đồ chân PIC16F877A H2.3 Sơ đồ nhớ chương trình ngăn xếp H2.4 Sơ đồ File ghi H2.5 Sơ đồ mạch chân RA0-RA3 H2.6 Sơ đồ mạch chân RA4/T0CKI H2.7 Sơ đồ mạch chân RA5 H2.8 Sơ đồ mạch chân RB0-RB3 H2.9 Sơ đồ mạch chân RB4-RB7 H2.10 Sơ đồ mạch chân RC3 RC4 H2.11 Sơ đồ mạch chân RC0:RC2, RC5:RC7 H2.12 Sơ đồ mạch chân Port D H2.13 Sơ đồ mạch chân RE0-RE2 H2.14 Transistor hiệu ứng trường Mosfer H2.15 Mosfet IRF9540 H2.16 Mosfet IRF540 H2.17 Cấu tạo Mosfet ngược kênh N H2.18 Ký hiệu sơ đồ chân tương đương Mosfet Transistor H2.19 Cảm biến hồng ngoại GP2D12 H2.20 Sơ đồ BL9148 H2.21 Sơ đồ BL9149 H3.1 Sơ đồ nguyên lý mạch cầu H dùng Mosfet H3.2 Mạch nguồn cho vi điều khiển H3.3 Mạch vi điều khiển PIC16F877A H3.4 Mạch phát hồng ngoại H3.5 Mạch thu hồng ngoại SVTH: Cao Cơng Bình Trang Luận văn tốt nghiệp GVHD: PGS.TS Dương Hồi Nghĩa LỜI MỞ ĐẦU Trong thời đại cơng nghiệp nay, Robot ngày sử dụng phổ biến sản xuất sống người Robot có vị trí quan trọng khó thay được, giúp người làm việc điều kiện nguy hiểm, khó khăn, khắc nghiệt Ngồi ra, Robot cịn dùng lĩnh vực thám hiểm không gian, quân sự, giải trí… Nhằm tìm hiểu lĩnh vực đồng thời thực đồ án tốt nghiệp, em thực đề tài “Thiết kế thi công xe tự hành” Sau hồn thành xe nhận biết nguồn phát hồng ngoại di chuyển đến nguồn phát đó, q trình di chuyển gặp vật xe tự động tránh vật SVTH: Cao Cơng Bình Trang Luận văn tốt nghiệp GVHD: PGS.TS Dương Hoài Nghĩa CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN Robot loại máy lập trình điều khiển tự động máy tính (máy tính hiểu vi điều khiển máy tính PC) để thực động tác di chuyển, cầm nắm vật, hồn thành cơng việc tác động mơi trường bên ngồi Thường robot sử dụng để thực công việc lặp lặp lại, công việc dễ gây nhàm chán cho người, cho kết xác, nhanh hơn, hư hỏng thực người 1.1 Lịch sử đời phát triển Thuật ngữ robot xuất phát từ tiếng Sec (Czech) “ robota” có nghĩa cơng việc tạp dịch xuất kịch Rossum’s Universal Robots Kerel Capek vào năm 1921 Trong kịch Rossum trai ông ta chế máy gần giống với người để phục vụ người Có lẽ gợi ý ban đầu cho nhà sáng chế kĩ thuật cấu, máy móc bắt chước hoạt động bắp người Khái niệm máy tự động xuất từ lâu với viễn tưởng người máy sống Ngay sau chiến tranh giới lần thứ hai, nhiều cơng trình bắt đầu phịng thí nghiệm OakRidge Argome để phát triển máy khí điều khiển từ xa nhằm phục vụ phịng thí nghiệm vật liệu phóng xạ Các cánh tay thiết kết mơ cách xác chuyển động bàn tay cánh tay người Gần kỷ tiếp theo, khái niệm robot liên tục phát triển, đóng góp thêm nhiều nhà nghiên cứu, nhiều công ty chuyên lĩnh vực robot Đầu thập kỉ 60, Công ty Mỹ AMF (American Machine And Foundry Company) quảng cáo loại máy tự động vạn gọi “ người máy công nghiệp” (industrial robot) Ngày người ta đặt tên người máy công nghiệp (hay robot công nghiệp) cho loại thiết bị có dáng dấp vài chức tay người điều khiển tự động để thực số thao tác sản xuất Về mặt kĩ thuật, robot cơng nghiệp ngày có nguồn gốc từ hai lĩnh vực kĩ thuật đời sớm cấu điều khiển từ xa (Teleoperators) máy công cụ điều khiển số (NC – Numberically Controlled Machine Tool) Các cấu điều khiển từ xa (hay thiết bị điều khiển chủ - tớ) phát triển mạnh chiến tranh giới lần nhằm nghiên cứu vật liệu phóng xạ SVTH: Cao Cơng Bình Trang Luận văn tốt nghiệp GVHD: PGS.TS Dương Hoài Nghĩa người điều khiển tách biệt khỏi khu vực phóng xạ tường có vài cửa quan sát để nhìn thấy công việc bên Các cấu điều khiển từ xa thay cho cánh tay người thao tác, gồm kẹp bên (tớ) hai tay cầm bên ( chủ) Cả hai tay cầm kẹp nối với cấu bậc tự để tạo vị trí hướng tùy ý tay cầm kẹp cấu dùng để điều khiển kẹp theo chuyển động tay cầm Vào khoảng 1949, máy công cụ số đời nhằm đáp ứng yêu cầu gia công chi tiết nghành máy bay Những robot thực chất kết hợp khâu khí cấu điều khiển từ xa với khả lập trình cơng cụ điều khiển số Một robot công nghiệp chế tạo Versatran AMF, Mỹ vào khoảng thời gian Mỹ xuất loại robot Unimate – 1900 dùng kỹ thuật ôtô Tiếp theo Mỹ nước khác bắt đầu sản xuất robot công nghiệp : Anh – 1967, Thụy Điển nhật – 1968 theo quyền Mỹ, CHLB Đức – 1971, Pháp – 1972, Ý – 1973… Tính làm việc robot ngày nâng cao, khả nhận biết xử lý Năm 1967 trường đại học Stanford ( Mỹ) chế mẫu robot hoạt động theo mơ hình “ mắt – tay”, có khả nhận biết định hướng kẹp theo vị trí vật kẹp nhờ cảm biến năm 1974 công ty Mỹ Cincinnati đưa loại robot điều khiển máy vi tính, gọi T3 ( The tomorrow tool : cơng cụ tương lai) Robot nâng vật có khối lượng đến 40 Kg Có thể nói, robot tổ hợp khả hoạt động linh hoạt cấu điều khiển từ xa với mức độ “ trí thức” ngày phong phú hệ điều khiển theo chương trình số kỹ thuật chế tạo cảm biến, cơng nghệ lập trình phát triển trí khơn nhân tạo, hệ chun gia, … Trong năm sau này, việc nâng cao tính hoạt động robot không ngừng phát triển robot trang bị thêm loại cảm biến khác để nhận biết môi trường xung quanh, với thành tựu to lớn lĩnh vực tin học – điện tử tạo hệ robot với nhiều tính đặc biệt , số lượng robot ngày gia tăng, giá thành ngày giảm nhờ vậy, robot cơng nghiệp có vị trí quan trọng dây chuyền sản xuất đại Mỹ nước phát minh robot, nước phát triển cao lĩnh vực nghiên cứu chế tạo sử dụng robot lại Nhật SVTH: Cao Cơng Bình Trang Luận văn tốt nghiệp GVHD: PGS.TS Dương Hoài Nghĩa 1.2 Các giai đoạn phát triển Robot Kể từ khái niệm robot đời, việc thiết kế chế tạo robot trải qua nhiều giai đoạn với nhiều hệ khác Có hệ robot đời kể từ năm 1960 Thế hệ robot thứ nhất: Bao gồm loại robot hoạt động lặp lại theo chu trình khơng thay đổi Chương trình điều khiển có hai dạng: Chương trình “cứng”, nghĩa không thay đổi không sửa trừ thay đổi phần cứng - Chương trình thay đổi thông qua panel điều khiển thông qua máy tính Các robot hệ sử dụng cấu điều khiển servo vòng hở (open-loop nonservo controlled system ) Đây hệ thống không sử dụng thông tin phản hồi từ môi trường để điều khiển robot Thế hệ robot thứ hai: Robot trang bị sensor cho phép robot giao tiếp với môi trường bên Các thiết bị thực chất biến đổi lượng Nó chuyển đại lượng khơng điện thành đại lượng điện mà qua điều khiển robot biết trạng thái mơi trường xung quanh Nhờ sensor robot chọn phương án khác cách linh hoạt nhằm thích nghi với mơi trường bên ngồi Dạng robot với trình độ điều khiển cịn gọi robot điều khiển thích nghi cấp thấp Đây gọi cấu điều khiển servo vịng kín (closed-loop servo controller system) Thế hệ robot thứ ba: điều khiển logic khả trình PLC (Programmable Logic Controller) sử dụng robot với nhiều chức chuyên biệt Thế hệ robot thứ tư: Khác với PLC bị giới hạn chương trình chúng, hệ robot sử dụng máy tính trang bị ngơn ngữ lập trình đặc biệt ngơn ngữ chuẩn Basic, C, C++ , để tạo nhiều ứng dụng CAD/CAM CIM chương trình khơng trực tuyến Thế hệ robot thứ năm: Các điều khiển robot sử dụng trí tuệ nhân tạo (artificial intelligence) Robot trang bị kỹ thuật nhận dạng tiếng nói, hình ảnh, xác định khoảng cách, cảm nhận đối tượng tiếp xúc (da nhân tạo) để xử lý, định hợp lý Ngoài robot trang bị mạng Neuron giúp có khả tự học, tự xây dựng kiến thức SVTH: Cao Cơng Bình Trang Luận văn tốt nghiệp GVHD: PGS.TS Dương Hoài Nghĩa 1.3 Ứng dụng Robot Từ đời robot công nghiệp áp dụng nhiều lĩnh vực góc độ thay sức người nhờ dây chuyền tổ chức lại, suất hiệu tăng lên rõ rệt Mục tiêu ứng dụng robot cơng nghiệp nhằm góp phần nâng cao suất dây chuyền công nghệ, giảm giá thành, nâng cao chất lượng khả cạnh tranh sản phẩm đồng thời cải thiện điều kiện lao động Đạt mục tiêu nhờ vào khả to lớn robot công nghiệp: làm việc mệt mỏi, dễ dàng chuyển nghề cách thành thạo, chịu phóng xạ mơi trường làm việc độc hại, nhiệt độ cao, “ cảm thấy” từ trường “ nghe” sóng siêu âm,… Robot thay người trường hợp thực công việc không nặng nhọc đơn điệu dễ gây mệt mỏi, nhầm lẫn Trong ngành khí, robot sử dụng cơng nghệ đúc, hàn, cắt, kim loại, sơn phun, phủ kim loại, tháo lắp vận chuyển phô, lắp ráp sản phẩm… Ngày xuất dây chuyền sản xuất tự động gồm máy CNC với robot công nghiệp, dây chuyền đạt mức tự động hóa cao, mức độ linh hoạt cao,…ở máy robot điều khiển hệ thống chương trình Ngồi phân xưởng, nhà máy, kỹ thuật robot sử dụng việc khai thác thềm lục địa đại dương, y học, quốc phòng, chinh phục vũ trụ, công nghiệp nguyên tử, lĩnh vực xã hội,… Rõ ràng robot có khả làm việc số điều kiện vượt khả người, phương tiện hữu hiệu để tự động hóa, nâng cao suất lao động, giảm nhẹ cho người công việc nặng nhọc độc hại nhược điểm lớn robot chưa linh hoạt người, dây chuyền tự động có robot bị hỏng làm ngưng hoạt động dây chuyền, robot hoạt động giám sát người 1.4 Nhiệm vụ luận văn Thiết kế thi công xe tự hành có khả nhận biết nguồn phát hồng ngoại di chuyển đến nguồn phát đó, đường có vật cản xe tự động tránh vật cản SVTH: Cao Cơng Bình Trang Luận văn tốt nghiệp GVHD: PGS.TS Dương Hoài Nghĩa CHƯƠNG 2: GIỚI THIỆU LINH KIỆN SỬ DỤNG TRONG LUẬN VĂN 2.1 Tổng quan vi điều khiển PIC cấu trúc vi điều khiển PIC16F877A 2.1.1 Tổng quan vi điều khiển PIC PIC họ vi điều khiển RISC sản xuất công ty Microchip Technology Thế hệ PIC PIC1650 phát triển Microeletronics Division thuộc General-Instrument PIC viết tắt “Programmable Intelligent Computer” sản phẩm hãng General Instrument đặt cho dòng sản phẩm PIC1650 Tại thời điểm PIC1650 dùng để giao tiếp với thiết bị ngoại vi cho máy chủ 16bit CP1600, người ta gọi PIC với tên: “Peripheral Interface Controller”- điều khiển giao tiếp ngoại vi Cho đến sản phẩm vi điều khiển PIC microchip gần 100 loại sản phẩm từ họ 10Fxxx đến họ 12Cxxx, 12Fxxx, 16Cxx,17Cxx, 16Fxx, 16Fxxx, 16FxxxA,16LfxxxA, 18Fxxx, 18LFxxx, 18Fxxxx, 18FLxxxx… Cách phân loại PIC theo chữ cái: Các họ PIC xxCxxx đưa vào nhóm, gọi nhóm OTP (One Time Programable): lập trình nạp chương trình cho lần Nhóm thứ có chữ F LF: gọi nhóm nhóm Flash, nhóm cho phép ghi xóa nhiều lần mạch điện tử thông thường Cách phân loại theo số sản phẩm: Loại thứ dòng PIC (Base Line), gồm PIC 12Cxxx, có độ dài lệnh 12 bit Loại thứ hai dòng PIC 10F, 12F 16F gọi dòng phổ thơng (MID Range) có độ dài lệnh 14 bit Loại thứ ba dịng PIC 18 (High End) có độ dài lệnh 16 bit 2.1.2 Cấu trúc vi điều khiển PIC16F877A: PIC16F877A dòng PIC phổ biến (đủ mạnh tính năng, 40 chân, nhớ đủ cho hầu hết ứng dụng thông thường) SVTH: Cao Công Bình Trang Luận văn tốt nghiệp · · · · · · · · · · · · · · · · · · · GVHD: PGS.TS Dương Hoài Nghĩa 8K Flash Rom 368 Bytes Ram 256 Bytes EPROM Port (A,B,C,D,E) vào với tín hiệu điều khiển độc lập định thời Timer Timer bit định thời Timer 16 bit hoạt động chế độ tiết kiệm lượng (SLEEP MODE) với nguồn xung clock Capture/Compare/PWM (tạm dịch Bắt giữ/So sánh/ Điều biến xung) biến đổi Analog-> Digital, 10 bit, ngõ vào so sánh tương tự (Comparator) định thời giám sát (Watch Dog Timer) cổng song song bit với tín hiệu điều khiển cổng nối tiếp 15 nguồn ngắt (Interrupt) Chế độ tiết kiệm lượng (Sleep Mode) Nạp chương trình nằng cổng nối tiếp In-Circuit Serial ProgrammingTM(ICSPTM) nguồn dao động lập trình Được chế tạo cơng nghệ CMOS 35 tập lệnh có độ dài 14 bit Tần số hoạt động tối đa 20MHz H2.1 Pic 16F877A SVTH: Cao Công Bình Trang 10 Luận văn tốt nghiệp GVHD: PGS.TS Dương Hồi Nghĩa 3.2.2 Phân tích mạch Mạch dùng MOSFET (2 IRF540, IRF9540) để tạo cầu H điều khiển chiều động cơ.Bên cạnh IRF540 làm nhiệm vụ cấp PWM điều khiển vận tốc động IRF 540 khóa thường mở, cịn IRF 9540 khóa thường đóng Khi có điện IRF540 đóng lại cịn IRF9540 mở Theo mạch bình thường Q2 Q3 đóng ; Q4 Q5 mở · Khi ta kích mức vào chân DC1A : Q2 đóng lại Q4 mở ra, dòng điện từ nguồn qua Q3 qua động đến Q4 Mass, Q2 Q5 mở · Khi ta kích mức vào chân DC1B : Q3 đóng lại Q5 mở ra, dịng điện từ nguồn qua Q2 qua động đến Q5 Mass, Q3 Q4 mở · Khi có xung PWM Q1 đóng ngắt liên tục theo xung để điều khiển điện áp trung bình qua động từ điều khiển tốc độ động 3.3 Mạch vi điều khiển PIC16F877A 3.3.1 Sơ đồ nguyên lý 5V ON/OFF U32 D34 DIODE 1000uF VIN C40 7805 GND 2 SW2 12V VOUT C22 104 C23 1000uF D50 LED R41 330 H3.2 Mạch nguồn cho vi điều khiển SVTH: Cao Cơng Bình Trang 39 Luận văn tốt nghiệp GVHD: PGS.TS Dương Hoài Nghĩa H3.3 Mạch vi điều khiển PIC16F877A 3.3.2 Phân tích mạch · Mạch nguồn lấy điện từ ắc quy 12V qua IC7805 ổn áp để làm nguồn nuôi cho vi điều khiển hoạt động · Vi điều khiển hoạt động với thạch anh 20MHZ, tụ 33p để tạo dao động cho vi điều khiển · Ngõ analog cảm biến nối với chân A0,A1,A2 3.4 Mạch thu phát hồng ngoại dùng BL9148-BL9149 3.4.1 Sơ đồ nguyên lý · Mạch phát SVTH: Cao Cơng Bình Trang 40 Luận văn tốt nghiệp GVHD: PGS.TS Dương Hoài Nghĩa VCC U1 C1 Y1 C2 120p 455Khz 120p K1 K2 K3 K4 K5 Vss Vcc XT TXout XT_ TEST K1 CODE K2 T3 K3 T2 K4 T1 K5 K6 SW1 16 15 14 13 12 11 10 R1 Q2 CODE T3 T2 T1 K6 A1015 2k2 C3 47uF Q3 C1815 9148 R2 R CODE D1 D3 D4 DIODE DIODE T3 LED D5 D2 LED DIODE T2 T1 H3.4 Mạch phát hồng ngoại · Mạch thu J1 Led thu VCC C4 10uF U1 U2A 1 J2 7404 CON2 Vss Vcc RXin OSC HP1CODE2 HP2CODE3 HP3 SP1 HP4 SP2 HP5 SP3 SP5 SP4 D2 LED D1 R2 16 15 14 13 12 11 10 R LED C1 C2 CAP NP R1 39k C3 CAP NP CAP NP 9149 R3 R H3.5 Mạch thu hồng ngoại SVTH: Cao Cơng Bình Trang 41 Luận văn tốt nghiệp GVHD: PGS.TS Dương Hoài Nghĩa 3.4.2 Phân tích mạch · Mạch phát Khi nhấn nút nhấn, chân 10 (T1) chân (K1) thơng mạch với (các chân T1, K1 IC 9148), lúc ngõ IC 9148 chân 15 (TXout) phát liên tục chuỗi xung điện vào R1 vào cực B cặp transistor Q2 (A1015), Q3 (C1815) nhằm điều khiển cho led phát hồng ngoại thông qua không gian đến IC thu hồng ngoại mạch thu Để IC 9148 mạch phát laøm việc cần phải có tạo dao động gồm thạch anh 455Khz tụ 150pF C1 C2 · Mạch thu Từ led thu hồng ngoại nhận chuỗi ánh sáng hồng ngoại từ mạch phát đến led thu chuyển thành chuỗi tín hiệu điện đưa chân (Do chuỗi tín hiệu điện từ chân led thu ngược với chuỗi tín hiệu điện ngõ IC 9148 mạch phát: Chân 15 IC 9148 lên mức logic ngõ chân số led thu lại mức logic 0) Để khơi phục lại với chuỗi tín hiệu ban đđầu từ chân led thu cần phải có mạch đảo chuỗi tín hiệu lại, thơng qua IC 7404 Tại chuỗi tín hiệu khôi phục khuếch đại lên với chuỗi tín nhiệu ban đầu, sau đưa vào chân số (RXin) IC 9149 để điều khiển mạch chấp hành SVTH: Cao Cơng Bình Trang 42 Luận văn tốt nghiệp GVHD: PGS.TS Dương Hoài Nghĩa CHƯƠNG 4: THIẾT KẾ PHẦN MỀM 4.1 Lưu đồ giải thuật 4.1.7 Phát nguồn phát hồng ngoại SVTH: Cao Cơng Bình Trang 43 Luận văn tốt nghiệp GVHD: PGS.TS Dương Hoài Nghĩa 4.1.2 Tránh vật cản đường SVTH: Cao Công Bình Trang 44 Luận văn tốt nghiệp SVTH: Cao Cơng Bình GVHD: PGS.TS Dương Hồi Nghĩa Trang 45 Luận văn tốt nghiệp GVHD: PGS.TS Dương Hồi Nghĩa 4.2 Chương trình #include #device *=16 ADC=10 #include #include #FUSES HS,NOWDT,PUT,NOLVP,NOPROTECT,BROWNOUT #USE DELAY(CLOCK=20M) #define LCD_ENABLE_PIN PIN_D2 #define LCD_RS_PIN PIN_D0 #define LCD_RW_PIN PIN_D1 #define LCD_DATA_PORT PORTD #define LCD_TYPE #include #define tocdo1 90 #define tocdo2 150 #define tocdo3 180 #define tocdo4 300 #define tocdo5 512 #define tocdo6 600 #define tocdo7 700 int16 ADC1,ADC2,ADC3; float KC1,KC2,KC3; void dithang() { output_low(pin_c5); output_low(pin_c6); output_high(pin_c4); output_high(pin_c7); setup_ccp1(CCP_PWM); //khoi dong pwm1 setup_ccp2(CCP_PWM); //khoi dong pwm2 set_pwm1_duty(tocdo2); set_pwm2_duty(tocdo2); } void quaytrai() { output_low(pin_c5); SVTH: Cao Công Bình Trang 46 Luận văn tốt nghiệp GVHD: PGS.TS Dương Hoài Nghĩa output_low(pin_c6); output_high(pin_c4); output_high(pin_c7); setup_ccp1(CCP_PWM); //khoi dong pwm1 setup_ccp2(CCP_PWM); //khoi dong pwm2 set_pwm1_duty(tocdo5); set_pwm2_duty(tocdo1); } void quayphai() { output_low(pin_c5); output_low(pin_c6); output_high(pin_c4); output_high(pin_c7); setup_ccp1(CCP_PWM); //khoi dong pwm1 setup_ccp2(CCP_PWM); //khoi dong pwm2 set_pwm1_duty(tocdo1); set_pwm2_duty(tocdo5); } Void stop() { setup_ccp1(CCP_OFF); setup_ccp2(CCP_OFF); } void khoangcach() { SET_ADC_CHANNEL(0); DELAY_us(10); ADC1=READ_ADC(); KC1=(1024*26)/(5*ADC1); SET_ADC_CHANNEL(1); DELAY_us(10); ADC2=READ_ADC(); KC2=(1024*26)/(5*ADC2); SVTH: Cao Cơng Bình Trang 47 Luận văn tốt nghiệp GVHD: PGS.TS Dương Hoài Nghĩa SET_ADC_CHANNEL(2); DELAY_us(10); ADC3=READ_ADC(); KC3=(1024*26)/(5*ADC3); } void hienthi() { if((KC1>20)||(KC120)||(KC220)||(KC3