Kỹ Thuật - Công Nghệ - Công nghệ thông tin - Cơ khí - Vật liệu ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Đề tài: Xe tự hành tránh vật cản Ngành: Công nghệ kỹ thuật cơ điện tử Lớp: K64M-CLC2 Mã lớp học phần: EMA3129 21 Giảng viên hướng dẫn: T.S Đỗ Trần Thắng Phạm Mạnh Tuấn Thành viên nhóm: Nguyễn Viết Đông-19021016 Nguyễn Quang Đại-19021010 Nghiêm Quang Huy-19021063 Hà Nội – 2022 1 MỤC LỤC CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 2 1.1 Đặt vấn đề 2 1.2 Mục tiêu nghiên cứu 2 1.3 Phương pháp nghiên cứu 2 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 3 2.1. GIỚI THIỆU PHẦN CỨNG 3 2.1.1. Giới thiệu Raspberry Pi 3 3 2.1.2 Hệ điều hành và phần mềm 3 2.1.3 Mạch công suất cầu H (L298N) 5 2.1.4. Cảm biến siêu âm 7 2.1.5. Động cơ DC 10 CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG 11 3.1 Thiết kế sơ đồ khối của hệ thống 11 3.2 Sơ đồ nguyên lý 11 CHƯƠNG 4: KẾT QUẢ THỰC NGHIỆM 12 CHƯƠNG 5: TỔNG KẾT 13 5.1. Những điều đã làm được 13 2 CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1.1 Đặt vấn đề Ngày nay, con người cùng với những ứng dụng của khoa học kỹ thuật tiên tiến của thế giới, chúng ta đã và đang ngày một thay đổi, văn minh và hiện đại hơn. Sự phát triển của kỹ thuật điện tử đã tạo ra hàng loạt những thiết bị với các đặc điểm nổi bật như sự chính xác cao, tốc độ nhanh, gọn nhẹ…là những yếu tố rất cần thiết góp phần cho hoạt động của con người đạt hiệu quả ngày càng cao hơn. Vi xử lý và điều khiển đang trở thành một ngành khoa học đa nhiệm vụ. Nó đã đáp ứng được những đòi hỏi không ngừng của các ngành, lĩnh vực khác nhau cho đến nhu cầu thiết yếu của con người trong cuộc sống hàng ngày. Xuất phát từ những ứng dụng đó, chúng em đã thiết kế và thực hiện đề tài: “Điều khiển xe mô hình cơ bản với Raspberry Pi 3 và Module L298N”. 1.2 Mục tiêu nghiên cứu ❖ Đề tài có những mục tiêu chính như sau: – Điều khiển xe robot chạy tiến, lùi, trái và phải – Sử dụng cảm biến siêu âm ở trước để tránh vật cản – Viết chương trình điều khiển cho kit raspberry pi 3 – Thi công mô hình xe robot – Sản phẩm cuối cùng và chạy thực tế 1.3 Phương pháp nghiên cứu – Tìm hiểu tổng quan về lý thuyết của đề tài – Đọc hiểu các tài liệu liên quan đến đề tài – Thảo luận nhóm để thống nhất ý kiến – Thiết kế phần cứng – Thiết kế phần mềm – Thực nghiệm và kiểm chứng sản phẩm 3 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1. GIỚI THIỆU PHẦN CỨNG 2.1.1. Giới thiệu Raspberry Pi 3 a. Raspberry Pi là gì Raspberry Pi là cái máy tính giá 35USD kích cỡ như iPhone và chạy hệ điều hành Linux. Với mục tiêu chính của chương trình là giảng dạy máy tính cho trẻ em. Được phát triển bởi Raspberry Pi Foundation – là tổ chức phi lợi nhuận với tiêu chí xây dựng hệ thống mà nhiều người có thể sử dụng được trong những công việc tùy biến khác nhau. Raspberry Pi sản xuất bởi 3 OEM: Sony, Qsida, Egoman. Và được phân phối chính bởi Element14, RS Components và Egoman. Raspberry pi 3 ra đời nhằm tạo ra một máy tính rẻ tiền cho sinh viên, nhưng sau đó pi đã được sự quan tâm của nhiều người . Đặc tính của Hì n h 2 . 1 : B o m ạ c h R a 4 Raspberry Pi xây dựng xoay quanh bộ xử lí SoC Broadcom BCM2835 ( là chip xử lí mobile mạnh mẽ có kích thước nhỏ hay được dùng trong điện thoại di động ) bao gồm CPU , GPU , bộ xử lí âm thanh video và các tính năng khác … tất cả được tích hợp bên trong chip có điện năng thấp này. b. Cấu trúc phần cứng raspberry pi 3 – Raspberry Pi có hai phiên bản, Model A có giá 25 và Model B có giá 35. Model B như hình trên thông dụng hơn cả. Model B Hì n h 2 . 2 : S ơ đ ồ c ấ u t ạ 5 bao gồm những phần cứng và những cổng giao diện. – CPU: “Trái tim” của board mạch. Raspberry Pi 3 sử dụng vi xử lý BCM2836 của Broadcom. Đây là loại SoC (system on chip) tức là trên chip này tích hợp cùng lúc: – CPU: 900 MHz ,4 nhân, kiến trúc ARM Cortex-A7. Vì sử dụng ARM Cortex-A7 nên Raspberry Pi 3 có thể chạy được Ubuntu core và Windows 10 core mượt mà. – SD RAM: 1 GB – GPU: Broadcom VideoCore IV 250 MHz – Khe cắm thẻ micro-SD: Có thể nhận thấy sẽ không có ổ cứng trên Raspberry Pi và thay vào đó là thẻ nhớ SD. Tất cả dữ liệu sẽ được lưu trữ trên thẻ nhớ này. Cần dùng ít nhất là thẻ 4GB class 4 (4MBs) cho Raspberry Pi (khuyên dùng thẻ 8GB class 10). – Cổng USB: Raspberry Pi 2 có 4 cổng USB 2.0. Đủ để bạn cắm các ngoại vi cần thiết như chuột, bàn phím và usb wifi. – Cổng Ethernet: Model 2 có cổng Ethernet chuẩn RJ45. – Cổng HDMI: Dùng để truyền tín hiệu Video và Audio số. Có tới 14 chuẩn video được hỗ trợ và tín hiệu HDMI có thể dễ dàng chuyển đổi thành các chuẩn khác như DVI, RCA, hoặc SCART. – Ngõ ra Audio-Video: Ngõ ra này là giắc cắm chuẩn 3.5mm, hỗ trợ cho người dùng không có màn hình hỗ trợ HDMI. Âm thanh và hình ảnh lấy ra từ cổng này có chất lượng kém hơn một chút so với từ cổng HDMI. – Cổng cấp nguồn Micro USB: Một trong những điều đầu tiên có thể nhận thấy là Raspberry Pi không có nút nguồn. Micro USB được chọn làm cổng cấp nguồn. Nguồn cấp cho Raspberry Pi là 5v điện áp (bắt buộc) và dòng nên lớn hớn 1A. Cấp nguồn quá 5v sẽ rất dễ làm cháy board mạch. – Cổng DSI (Display Serial Interface): Cổng này dùng để kết nối với LCD hoặc màn hình OLED. 6 – Cổng CSI (Camera Serial Interface): Cổng này dùng để kết nối với module camera riêng của Raspberry Pi. Module này thu được hình ảnh chất lượng lên đến 1080p. – GPIO (General Purpose Input and Output): Giống như các chân của vi điều khiển, các IO này của Raspberry Pi cũng được sử dụng để xuất tín hiệu ra led, thiết bị… hoặc đọc tín hiệu vào từ các nút nhấn, công tắc, cảm biến… Ngoài ra còn có các IO tích hợp các chuẩn truyền dữ liệu UART, I2C và SPI.Sơ đồ chân GPIO Raspberry pi. Hì nh 2.3: Sơ đồ chân GPIO của Raspberry ❖ Trong 40 chân GPIO bao gồm: – 26 chân GPIO. Khi thiết lập là input, GPIO có thể được sử dụng như chân interupt, GPIO 14 15 được thiết lập sẵn là chân 7 input. – 1UART, 1 I2C, 2 SPI, 1 PWM (GPIO 4) – 2 chân nguồn 5V, 2 chân nguồn 3.3V, 8 chân GND – 2 chân ID EEPROM – Vi xử lý ARMv7 32bit quad core 900Mhz, dung lượng Ram 1G, và bộ nhớ kiểu micro-SD dung lượng tùy chọn (nên >=4G). – Khi một chân GPIO lên mức cao sẽ đạt điện áp 3.3V, dòng ra tối đa Imax = 5mA 2.1.2 Hệ điều hành và phần mềm Về cơ bản Raspberry Pi có khá nhiều OS linux chạy được nhưng vẫn có sự thiếu vắng của Ubuntu (do CPU ARMv6) Điểm danh một số Distributions Linux (nhúng) chạy trên Raspberry Pi như Raspbian,Pidora, openSUSE, OpenWRT, OpenELEC,…. a. Raspbian Đây là bản build Linux dựa trên nên Debian (Gần giống ubuntu) với giao diện LXDE (thay vì GNOME). Có đầy đủ web browser, media player, tools, etc … Nói chung HĐH này dành cho những người muốn dùng Raspberry Pi như một cái PC. Hì n h 2 . 4 : G i a 8 b. Ubuntu Mate Tương tự như Raspbian, Ubuntu Mate cũng hướng đến người dùng sử dụng Raspberry Pi như máy tính văn phòng. Tuy nhiên Ubuntu Mate có giao diện đẹp hơn rất nhiều so với Raspbian. Được phát triển từ Ubuntu – hệ điều hành được xem là đối đầu trực tiếp với Windows. Martin Wimpress và Rohith Madhavan là cha đẻ của Ubuntu Mate được phát triển từ nền Ubuntu gốc. Theo tác giả, nó được tối ưu rất tốt với Raspberry Pi 2 và 3, tuy nhiên để đảm bảo tốc độ cao nhất bạn nên sử dụng thẻ MicroSD từ class 6 trở lên. Theo đánh giá của chúng tôi, Ubuntu Mate mới nhất (15.04) có tốc độ cũng rất nhanh, giao diện đẹp, hỗ trợ đầy đủ các phần mềm thông dụng cho nhu cầu văn phòng. Hì n h S E Q Hì n h \ A R A B I C 1 . 5 : G 9 2.1.3 Mạch công suất cầu H (L298N) a. Định nghĩa Mạch cầu H điều khiển động cơ L298N cho phép bạn kiểm soát tốc độ và hướng của hai động cơ DC ,hoặc kiểm soát một động cơ bước lưỡng cực một cách dễ dàng. Hì nh 2.6: Module mạch cầu H L298N b. Cấu tạo Mạch cầu H – 2V power, 5V power. Đây là 2 chân cấp nguồn trực tiếp đến động cơ – Power GND chân này là GND của nguồn cấp cho Động cơ – 2 Jump A enable và B enable, để như hình, Gồm có 4 chân Input. IN1, IN2, IN3, IN4. Chức năng các chân này tôi sẽ giải thích ở bước sau. Output A: nối với động cơ A. bạn chú ý chân +, -. Nếu bạn nối ngược thì động cơ sẽ chạy ngược. Và chú ý nếu bạn nối động cơ bước, bạn phải đấu n...
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Đề tài: Xe tự hành tránh vật cản Ngành: Công nghệ kỹ thuật điện tử Lớp: K64M-CLC2 Mã lớp học phần: EMA3129 21 Giảng viên hướng dẫn: T.S Đỗ Trần Thắng Phạm Mạnh Tuấn Thành viên nhóm: Nguyễn Viết Đơng-19021016 Nguyễn Quang Đại-19021010 Nghiêm Quang Huy-19021063 Hà Nội – 2022 MỤC LỤC CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1.1 Đặt vấn đề 1.2 Mục tiêu nghiên cứu 1.3 Phương pháp nghiên cứu CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU PHẦN CỨNG 2.1.1 Giới thiệu Raspberry Pi 2.1.2 Hệ điều hành phần mềm 2.1.3 Mạch công suất cầu H (L298N) 2.1.4 Cảm biến siêu âm 2.1.5 Động DC 10 CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG 11 3.1 Thiết kế sơ đồ khối hệ thống 11 3.2 Sơ đồ nguyên lý 11 CHƯƠNG 4: KẾT QUẢ THỰC NGHIỆM 12 CHƯƠNG 5: TỔNG KẾT 13 5.1 Những điều làm 13 CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1.1 Đặt vấn đề Ngày nay, người với ứng dụng khoa học kỹ thuật tiên tiến giới, ngày thay đổi, văn minh đại Sự phát triển kỹ thuật điện tử tạo hàng loạt thiết bị với đặc điểm bật xác cao, tốc độ nhanh, gọn nhẹ…là yếu tố cần thiết góp phần cho hoạt động người đạt hiệu ngày cao Vi xử lý điều khiển trở thành ngành khoa học đa nhiệm vụ Nó đáp ứng địi hỏi khơng ngừng ngành, lĩnh vực khác nhu cầu thiết yếu người sống hàng ngày Xuất phát từ ứng dụng đó, chúng em thiết kế thực đề tài: “Điều khiển xe mơ hình với Raspberry Pi Module L298N” 1.2 Mục tiêu nghiên cứu ❖ Đề tài có mục tiêu sau: – Điều khiển xe robot chạy tiến, lùi, trái phải – Sử dụng cảm biến siêu âm trước để tránh vật cản – Viết chương trình điều khiển cho kit raspberry pi – Thi cơng mơ hình xe robot – Sản phẩm cuối chạy thực tế 1.3 Phương pháp nghiên cứu – Tìm hiểu tổng quan lý thuyết đề tài – Đọc hiểu tài liệu liên quan đến đề tài – Thảo luận nhóm để thống ý kiến – Thiết kế phần cứng – Thiết kế phần mềm – Thực nghiệm kiểm chứng sản phẩm CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU PHẦN CỨNG 2.1.1 Giới thiệu Raspberry Pi a Raspberry Pi Raspberry Pi máy tính giá 35USD kích cỡ iPhone chạy hệ điều hành Linux Với mục tiêu chương trình giảng dạy máy tính cho trẻ em Được phát triển Raspberry Pi Foundation – tổ chức phi lợi nhuận với tiêu chí xây dựng hệ thống mà nhiều người sử dụng công việc tùy biến khác H ì n h Raspberry Pi sản xuất OEM: Sony, Qsida, Egoman Và phân phối Element14, RS Components Egoman : Raspberry pi đời nhằm tạo máy tính rẻ tiền cho sinh B viên, sau pi quan tâm nhiều người Đặc tính o m c h R a Raspberry Pi xây dựng xoay quanh xử lí SoC Broadcom BCM2835 ( chip xử lí mobile mạnh mẽ có kích thước nhỏ hay dùng điện thoại di động ) bao gồm CPU , GPU , xử lí âm /video tính khác … tất tích hợp bên chip có điện thấp H ì n h b Cấ2u trúc phần cứng raspberry pi –: Raspberry Pi có hai phiên bản, Model A có giá 25$ Model B S có giá 35$ Model B hình thơng dụng Model B đ c ấ u t bao gồm phần cứng cổng giao diện – CPU: “Trái tim” board mạch Raspberry Pi sử dụng vi xử lý BCM2836 Broadcom Đây loại SoC (system on chip) tức chip tích hợp lúc: – CPU: 900 MHz ,4 nhân, kiến trúc ARM Cortex-A7 Vì sử dụng ARM Cortex-A7 nên Raspberry Pi chạy Ubuntu core Windows 10 core mượt mà – SD RAM: GB – GPU: Broadcom VideoCore IV @ 250 MHz – Khe cắm thẻ micro-SD: Có thể nhận thấy khơng có ổ cứng Raspberry Pi thay vào thẻ nhớ SD Tất liệu lưu trữ thẻ nhớ Cần dùng thẻ 4GB class (4MB/s) cho Raspberry Pi (khuyên dùng thẻ 8GB class 10) – Cổng USB: Raspberry Pi có cổng USB 2.0 Đủ để bạn cắm ngoại vi cần thiết chuột, bàn phím usb wifi – Cổng Ethernet: Model có cổng Ethernet chuẩn RJ45 – Cổng HDMI: Dùng để truyền tín hiệu Video Audio số Có tới 14 chuẩn video hỗ trợ tín hiệu HDMI dễ dàng chuyển đổi thành chuẩn khác DVI, RCA, SCART – Ngõ Audio-Video: Ngõ giắc cắm chuẩn 3.5mm, hỗ trợ cho người dùng khơng có hình hỗ trợ HDMI Âm hình ảnh lấy từ cổng có chất lượng chút so với từ cổng HDMI – Cổng cấp nguồn Micro USB: Một điều có thể nhận thấy Raspberry Pi khơng có nút nguồn Micro USB chọn làm cổng cấp nguồn Nguồn cấp cho Raspberry Pi 5v điện áp (bắt buộc) dòng nên lớn hớn 1A Cấp nguồn 5v dễ làm cháy board mạch – Cổng DSI (Display Serial Interface): Cổng dùng để kết nối với LCD hình OLED – Cổng CSI (Camera Serial Interface): Cổng dùng để kết nối với module camera riêng Raspberry Pi Module thu hình ảnh chất lượng lên đến 1080p – GPIO (General Purpose Input and Output): Giống chân vi điều khiển, IO Raspberry Pi sử dụng để xuất tín hiệu led, thiết bị… đọc tín hiệu vào từ nút nhấn, cơng tắc, cảm biến… Ngồi cịn có IO tích hợp chuẩn truyền liệu UART, I2C SPI.Sơ đồ chân GPIO Raspberry pi Hình 2.3: Sơ đồ chân GPIO Raspberry ❖ Trong 40 chân GPIO bao gồm: – 26 chân GPIO Khi thiết lập input, GPIO sử dụng chân interupt, GPIO 14 & 15 thiết lập sẵn chân input – 1UART, I2C, SPI, PWM (GPIO 4) – chân nguồn 5V, chân nguồn 3.3V, chân GND – chân ID EEPROM – Vi xử lý ARMv7 32bit quad core 900Mhz, dung lượng Ram 1G, nhớ kiểu micro-SD dung lượng tùy chọn (nên >=4G) – Khi chân GPIO lên mức cao đạt điện áp 3.3V, dòng tối đa Imax = 5mA 2.1.2 Hệ điều hành phần mềm Về Raspberry Pi có nhiều OS linux chạy có thiếu vắng Ubuntu (do CPU ARMv6) Điểm danh số Distributions Linux (nhúng) chạy Raspberry Pi Raspbian,Pidora, openSUSE, OpenWRT, OpenELEC,… a Raspbian Đây build Linux dựa nên Debian (Gần giống ubuntu) H với giao diện LXDE (thay GNOME) Có đầy đủ web browser, media ìn player, tools, etc … Nói chung HĐH dành cho người muốn h dùng Raspberry Pi PC : G i a b Ubuntu Mate Tương tự Raspbian, Ubuntu Mate hướng đến người dùng sử dụng Raspberry Pi máy tính văn phịng Tuy nhiên Ubuntu Mate có giao diện đẹp nhiều so với Raspbian Được phát triển từ Ubuntu – hệ điều hành xem đối đầu trực tiếp với Windows H ì Martin Wimpress Rohith Madhavan cha đẻ Ubuntu Mate đnược phát triển từ Ubuntu gốc Theo tác giả, tối ưu tốt với h RSaspberry Pi 3, nhiên để đảm bảo tốc độ cao bạn nên sử dEụng thẻ MicroSD từ class trở lên Theo đánh giá chúng tơi, Ubuntu Q MHate (15.04) có tốc độ nhanh, giao diện đẹp, hỗ trợ đầy đìủ phần mềm thơng dụng cho nhu cầu văn phịng n h \ * A R A B I C : G 2.1.3 Mạch công suất cầu H (L298N) a Định nghĩa Mạch cầu H điều khiển động L298N cho phép bạn kiểm soát tốc độ hướng hai động DC ,hoặc kiểm soát động bước lưỡng cực cách dễ dàng Hình 2.6: Module mạch cầu H L298N b Cấu tạo Mạch cầu H – 2V power, 5V power Đây chân cấp nguồn trực tiếp đến động – Power GND chân GND nguồn cấp cho Động – Jump A enable B enable, để hình, Gồm có chân Input IN1, IN2, IN3, IN4 Chức chân tơi giải thích bước sau Output A: nối với động A bạn ý chân +, - Nếu bạn nối ngược động chạy ngược Và ý bạn nối động bước, bạn phải đấu nối pha cho phù hợp ❖ Sơ đồ nguyên lý: c Nguyên lý hoạt động H – Hai chân ENA ENB dùng để điều khiển mạch cầu H L298 ìn Nếu mức logic “1” (nối với nguồn 5V) cho phép mạch cầu H hoạt h động, mức logic “0” mạch cầu H khơng hoạt động – Khi ENA = 0: Động không quay với đầu vào – Khi ENA = 1: : – INT1 = 1; INT2 = 0: động quay thuận S – INT1 = 0; INT2 = 1: động quay nghịch đồ – INT1 = INT2: động dừng tức n d Thơng số kỹ thuật g – Driver: L298N tích hợp hai mạch cầu H u y – Điện áp điều khiển: +5 V ~ +12 V ê – Dòng tối đa cho cầu H là: 2A (=>2A cho motor) n l – Điện áp tín hiệu điều khiển: +5 V ~ +7 V ý – Dịng tín hiệu điều khiển: ~ 36mA (Arduino chơi đến 40mA L nên khỏe re bạn) – Cơng suất hao phí: 20W (khi nhiệt độ T = 75 ℃) N – Nhiệt độ bảo quản: -25 ℃ ~ +130 ℃ 10 2.1.4 Cảm biến siêu âm a Định nghĩa Cảm biến khoảng cách siêu âm HC-SRF04 sử dụng phổ biến để xác định khoảng cách rẻ xác Cảm biến sử dụng sóng siêu âm đo khoảng cách khoảng từ -> 300 cm, với độ xác gần phụ thuộc vào cách lập trình Hình 2.8: Module cảm biến siêu âm b Cấu tạo Có chân Vcc, Trig, Echo, GND c Nguyên lý hoạt động Hình 2.9: Nguyên lý hoạt động SR04 Để đo khoảng cách, ta phát xung ngắn (5 microSeconds ) 11 từ chân Trig Sau đó, cảm biến tạo xung High chân Echo nhận lại sóng phản xạ pin Chiều rộng xung với thời gian sóng siêu âm phát từ cảm biển quay trở lại Tốc độ âm khơng khí 340 m/s (hằng số vật lý), tương đương với 29,412 microSeconds/cm (106 / (340*100)) Khi tính thời gian, ta chia cho 29,412 để nhận khoảng cách ❖ Nguyên tắc phát nhận phản hồi sóng siêu âm SRF04 Nguyên tắc sonar: tạo xung âm điện tử sau lắng nghe tiếng vọng tạo sóng âm số truy cập đối tượng phản xạ trở lại Để tính thời gian cho phản hồi trở về, ước tính xác làm khoảng cách tới đối tượng Xung âm tạo SRF04 siêu âm, nghĩa phạm vi nhận xét người Trong tần số thấp sử dụng loại ứng dụng, tần số cao thực tốt cho phạm vi ngắn, nhu cầu độ xác cao Một số đặc điểm khác cảm biến siêu âm 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ạ nó: 12 Một tín hiệu mềm cho tín hiệu phản hồi yếu khơng có phản 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 Nếu ngưỡng vùng phát đối tượng đặt gần so với cảm biến, đối tượng đường bị va chạm điểm mù 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 2.1.5 Động DC a Giới thiệu động DC Motor giảm tốc 12v (min 6v) DC365 loại motor kim loại sử dụng loại hộp giảm tốc GA25 bánh thép Bền có độ xác cao 13 giá thành tốt b Thông số kỹ thuật – Dải điện áp hoạt động: 6V – 12V H ❖ Tốc đì ộ động cơ: – Tại đniện áp 6V, dòng 0,15A: tốc độ 110 vòng/phút h – Tại điện áp 12V có dịng 0,18A tốc độ 240 vòng/phút : Đ ộ n g c D C 14 CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG ❖ Sơ đồ khối ❖ Code: import RPi.GPIO as GPIO import time from time import delay dis = 30 IN1 = 13 IN2 = 12 IN3 = 21 IN4 = 20 ENA = ENB = 26 15 GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) GPIO.setup(IN1,GPIO.OUT) GPIO.setup(IN2.GPIO.OUT) GPIO.setup(IN3.GPIO.OUT) GPIO.setup(IN4.GPIO.OUT) GPIO.setup(ENA.GPIO.OUT) GPIO.setup(ENB.GPIO.OUT) PWMA = GPIO.PWM(ENA,500) PWMB = GPIO.PWM(ENB,500) PWMA.start(0) PWMB.start(0) def backward(): GPIO.output(IN1,GPIO.HIGH) GPIO.output(IN2,GPIO.LOW) GPIO.output(IN3,GPIO.LOW) GPIO.output(IN4,GPIO.HIGH) PWMA.ChangeDutyCycle(100) PWMB.ChangeDutyCycle(100) def stopmotor(): GPIO.output(IN1,GPIO.LOW) GPIO.output(IN2,GPIO.LOW) GPIO.output(IN3,GPIO.LOW) GPIO.output(IN4,GPIO.LOW) PWMA.ChangeDutyCycle(0) 16 PWMB.ChangeDutyCycle(0) def forward(): GPIO.output(IN1,GPIO.LOW) GPIO.output(IN2,GPIO.HIGH) GPIO.output(IN3,GPIO.HIGH) GPIO.output(IN4,GPIO.LOW) PWMA.ChangeDutyCycle(100) PWMB.ChangeDutyCycle(100) def right(): GPIO.output(IN1,GPIO.LOW) GPIO.output(IN2,GPIO.HIGH) GPIO.output(IN3,GPIO.LOW) GPIO.output(IN4,GPIO.LOW) PWMB.ChangeDutyCycle(100) def left(): GPIO.output(IN1,GPIO.LOW) GPIO.output(IN2,GPIO.LOW) GPIO.output(IN3,GPIO.HIGH) GPIO.output(IN4,GPIO.LOW) PWMA.ChangeDutyCycle(100) while True : GPIO.setmode(GPIO.BCM) 17 GPIO_TRIGGER_FORWARD = 23 GPIO_ECHO_FORWARD = 24 GPIO.setup(GPIO_TRIGGER_FORWARD,GPIO.OUT) GPIO.setup(GPIO_ECHO_FORWARD,GPIO.IN) GPIO.output(GPIO_TRIGGER_FORWARD, False) time.sleep(0.05) GPIO.output(GPIO_TRIGGER_FORWARD, True) time.sleep(0.00001) GPIO.output(GPIO_TRIGGER_FORWARD, False) start = time.time() while GPIO.input(GPIO_ECHO_FORWARD)==0: start = time.time() while GPIO.input(GPIO_ECHO_FORWARD)==1: stop = time.time() elapsed_forward = stop-start distance_forward = elapsed_forward * 17150 print ("Distance_forward: ",distance_forward) sleep(0.002) GPIO.setmode(GPIO.BCM) GPIO_TRIGGER_RIGHT = GPIO_ECHO_RIGHT = 25 GPIO.setup(GPIO_TRIGGER_RIGHT,GPIO.OUT) 18 GPIO.setup(GPIO_ECHO_RIGHT,GPIO.IN) GPIO.output(GPIO_TRIGGER_RIGHT, False) time.sleep(0.05) GPIO.output(GPIO_TRIGGER_RIGHT, True) time.sleep(0.00001) GPIO.output(GPIO_TRIGGER_RIGHT, False) start = time.time() while GPIO.input(GPIO_ECHO_FORWARD)==0: start = time.time() while GPIO.input(GPIO_ECHO_RIGHT)==1: stop = time.time() elapsed_right = stop-start distance_right= elapsed_right * 17150 print ("Distance_right:",distance_right) GPIO.setmode(GPIO.BCM) GPIO_TRIGGER_LEFT = 22 GPIO_ECHO_LEFT = 27 GPIO.setup(GPIO_TRIGGER_LEFT,GPIO.OUT) GPIO.setup(GPIO_ECHO_LEFT,GPIO.IN) GPIO.output(GPIO_TRIGGER_LEFT, False) time.sleep(0.05) GPIO.output(GPIO_TRIGGER_LEFT, True) time.sleep(0.00001) 19