1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo cuối kỳ hệ thống nhúng trong công nghiệp xe điều khiển từ xa dùng raspberry pi pico thông qua bluetooth

37 0 0

Đ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

Bộ vi điều khiển là một loại thiết bị khác với Máy tính bo mạch đơn SBC – Sigle Board Computer như Raspberry Pi 4 và các thế hệ trước của Pi, chúng không chạy hệ điều hành và chúng thườn

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCMKHOA ĐÀO TẠO CHẤT LƯỢNG CAO

BÁO CÁO CUỐI KỲ

MÔN HỌC: HỆ THỐNG NHÚNG TRONG CÔNG NGHIỆPXE ĐIỀU KHIỂN TỪ XA DÙNG RASPBERRY PI PICO THÔNG QUA

Trang 2

MỤC LỤC

PHẦN A: MỞ ĐẦU 5

1.Giới thiệu đề tài: 5

2.Mục tiêu nghiên cứu 5

PHẦN B: NỘI DUNG 6

CHƯƠNG I: RASPBERRY PI PICO 6

1.1 Khái Niệm 6

1.2 Thông Số Kỹ Thuật Và Cấu Hình Chân 7

CHƯƠNG 2:MODULE ĐIỀU KHIỂN ĐỘNG CƠ L298N 11

2.1 Khái Niệm 11

2.2 Cấu Hình Sơ Đồ Chân 11

2.3 Thông Số Kỹ Thuật 12

CHƯƠNG III: MODULE BLUETOOTH HC-05 13

3.1 Khái Niệm Về Công Nghệ Bluetooth 13

3.2 Đặc Điểm Của Công Nghệ Bluetooth 14

Trang 3

5.3.1 Sơ Đồ Khối 21

5.3.2 Cách Kết Nối Phần Cứng 22

CHƯƠNG VI: THIẾT KẾ PHẦN MỀM 24

6.1 Cài Đặt Cho Raspberry Pi Pico 24

6.2 Nạp Code Cho Raspberry Pi Pico 29

6.2.1 Thiết Kế Ứng Dụng Điều Khiển…….………32

CHƯƠNG VII: KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 33

7.1 Kết Quả 33

7.2 Hướng Phát Triển Của Đề Tài 34

7.2.1 Kết Luận……… 34

7.2.3 Hướng Phát Triển Của Đề Tài……… 35

TÀI LIỆU THAM KHẢO……… 36

3

Trang 4

NHẬN XÉT CỦA GIẢNG VIÊN

Trang 5

PHẦN A: MỞ ĐẦU 1 Giới Thiệu Đề Tài:

Công nghiệp hóa là một trong những nhiệm vụ quan trọng hàng đầu của nhà nước Quá trình phát triển đó đưa cả nền sản xuất vật chất và đời sống văn hóa - xã hội của đất nước lên trình độ mới Đến nay, lịch sử nhân loại đã chứng kiến 4 cuộc cách mạng công nghiệp, cũng là các cuộc cách mạng khoa học - kỹ thuật nói chung.

Tất cả các thiết bị công nghệ đang dần được đưa vào đời sống của con người Các công trình nghiên cứu, các dự án khoa học ngày càng được phát triển Để hưởng ứng chung với sự phát triển đó nhóm chúng em đã chọn đề tài liên quan đến “Hệ thống nhúng trong công nghiệp” đó là Xe điều khiển từ xa dùng Raspberry Pi Pico thông qua Bluetooth kết nối với điện thoại 2 Mục Tiêu Nghiên Cứu

a Vi điều khiển Raspberry Pi Pico b Module điều khiển động cơ L298N c Ngôn ngữ lập trình Python d Module Bluetooth HC-05

5

Trang 6

PHẦN B: NỘI DUNG CHƯƠNG I: RASPBERRY PI PICO

1.1 Khái Niệm

- Vào ngày 21 tháng 1 năm 2021, Raspberry Pi Foundation ra mắt sản phẩm vi điều khiển đầu tiên của mình: Raspberry Pi Pico Với mức giá chỉ 4$, bo mạch này được xây dựng trên RP2040 – chip vi điều khiển đầu tiên được thiết kế bới chính Raspberry Pi

- Raspberry Pi Foundation có ba mục tiêu thiết kế chính cho RP2040: + Hiệu suất cao, đặc biệt đối với khối lượng công việc dựa trên số

+ I/O linh hoạt, cho phép giao tiếp với hầu hết mọi thiết bị ngoại vi + Chi phí thấp

- Đây là bo mạch vi điều khiển đầu tiên của Raspberry Pi, được thiết kế đặc biệt cho tính toán vật lý Bộ vi điều khiển là một loại thiết bị khác với Máy tính bo mạch đơn (SBC – Sigle Board Computer) như Raspberry Pi 4 và các thế hệ trước của Pi, chúng không chạy hệ điều hành và chúng thường được lập trình để chỉ thực hiện một tác vụ – mặc dù tác vụ đó có thể khá phức tạp

- Bo mạch nhỏ này sẽ được dùng cho việc điều khiển nút bấm, nhận lệnh, ghi nhận dữ liệu và xử lý đơn giản, không cần kết nối mạng - Chúng hoàn hảo để thử nghiệm với phần cứng và sử dụng như bộ não của các thiết bị, máy móc Nó có thể được lập trình lại dễ dàng qua USB từ Raspberry Pi hoặc máy tính khác sử dụng C/C++ hoặc MicroPython

6

Trang 7

- Mạch vi điều khiển Raspberry Pi Pico RP2040 sử dụng MCU RP2040 được chính Raspberry Pi thiết kế dựa trên kiến trúc dual-core ARM Cortex-M0+ với xung nhịp tối đa lên đến 133Mhz, RP2040 còn có 264KB RAM nội và hỗ trợ bộ nhớ Flash ngoài lên đến 16MB cũng như đầy đủ các giao tiếp cơ bản UART, I2C, SPI,

- Mạch Vi Điều Khiển Raspberry Pi Pico RP2040 được Raspberry Pi hỗ trợ lập trình trên IDE với ngôn ngữ C và Python cũng như khả năng kết hợp hoàn hảo với máy tính Raspberry Pi sẽ mang đến cho bạn một công cụ dễ dàng sử dụng cho vô số các ứng dụng khác nhau.

1.2 Thông Số Kỹ Thuật Và Cấu Hình Chân

Bo mạch Microcontroller Development đầu tiên đến từ Raspberry Pi Foundation.

7

Trang 8

Silicon (IC) đầu tiên, RP2040 MCU được thiết kế bởi các kỹ sư của Raspberry Pi Foundation.

Bộ xử lý Dual-Core, 32-bit ARM Cortex M0+ Xung nhịp 48MHz (default), có thể cấu hình tối đa lên tới 133MHz.

264KB SRAM và 2MB bộ nhớ Flash

Cấp nguồn và truyền dữ liệu qua Micro USB B Hỗ trợ USB 1.1 Host and Device

Kết nối qua USB port dưới dạng USB Mass Storage không cần

- 26 GPIO 3.3V đa chức năng - 23 GPIO are digital-only

- 3 x 12-bit ADC capable of 500Ksps, Analog to Digital Converter

- 2 x UART (Universal Asynchronous Receiver/Transmitter) - 2 x SPI (Serial Peripheral Interface)

- 2 x I2C (Inter IC)

- 16 x PWM (Pulse Width Modulation) - 1 x Timer with 4 alarms

- 1 x Real Time Counter

- 2 x Programmable IO (PIO) có thể mô phỏng các high-speed interfaces như SD card hoặc VGA

- Tích hợp cảm biến nhiệt độ 12-bit ADC 3-pin ARM Serial Wire Debug (SWD) port Đèn LED trên bo mạch có thể lập trình được, GP25

8

Trang 9

Cách thức cấp điện đơn giản nhưng rất linh hoạt

Hỗ trợ cấp nguồn qua USB, nguồn ngoài (2 - 5VDC) hoặc nguồn

Trang 10

10

Trang 11

CHƯƠNG 2: MODULE ĐIỀU KHIỂN ĐỘNG CƠ L298N

2.1 Khái Niệm

Module điều khiển động cơ L298N này là module điều khiển động cơ công suất cao để điều khiển Động cơ DC và Động cơ bước Mô-đun này bao gồm IC điều khiển động cơ L298 và bộ điều chỉnh 78M05 5V, điện trở, tụ điện, đèn LED nguồn Module L298N có thể điều khiển tối đa 4 động cơ DC hoặc 2 động cơ DC có điều khiển hướng và tốc độ

2.2 Cấu Hình Sơ Đồ Chân

- IN1 & IN2: Chân đầu vào động cơ A Dùng để điều khiển hướng quay của Motor A

- IN3 & IN4: Chân đầu vào động cơ B Dùng để điều khiển hướng quay của Motor B

11

Trang 13

CHƯƠNG III: MODULE BLUETOOTH HC-05

13

Trang 14

3.1 Khái Niệm Về Công Nghệ Bluetooth

- Bluetooth là một công nghệ cho phép truyền thông giữa các thiết bị với nhau mà không cần dây dẫn Nó là một chuẩn điện tử, điều đó có nghĩa là các hãng sản xuất muốn có đặc tính này trong sản phẩm thì họ phải tuân theo các yêu cầu của chuẩn này cho sản phẩm của mình Những tiêu chuẩn kỹ thuật này đảm bảo cho các thiết bị có thể nhận ra và tương tác với nhau khi sử dụng công nghệ Bluetooth Ngày nay phần lớn các nhà máy đều sản xuất các thiết bị có sử dụng công nghệ Bluetooth Các thiết bị này gồm có điện thoại di động, máy tính và thiết bị hỗ trợ cá nhân PDA (Prosonal Digital Assistant).

- Công nghệ Bluetooth là một công nghệ dựa trên tần số vô tuyến và bất cứ một thiết bị nào có tích hợp bên trong công nghệ này đều có thể truyền thông với các thiết bị khác với một khoảng cách nhất định về cự ly để đảm bảo công suất cho việc phát và nhận sóng Công nghệ này thường được sử dụng để truyền thông giữa hai loại thiết bị khác nhau.

3.2 Đặc Điểm Của Công Nghệ Bluetooth ƯU ĐIỂM

- Tiêu thụ năng lượng thấp.

- Cho phép ứng dụng được nhiều loại thiết bị bao gồm các thiết bị cầm tay và điện thoại di động.

- Giá thành ngày một giảm.

- Dễ dàng trong việc phát triển ứng dụng: Bluetooth kết nối một ứng dụng này với một ứng dụng khác thông qua chuẩn Bluetooth, do đó có thể độc lập về phần cứng cũng như hệ điều hành sử dụng

14

Trang 15

- Tính tương thích cao, được nhiều nhà sản xuất phần cứng

Bluetooth là chuẩn kết nối không dây tầm ngắn, thiết kế cho các kết nối thiết bị cá nhân hay mạng cục bộ nhỏ trong phạm vi băng tần từ 2.4GHz đến 2.485GHz Bluetooth được thiết kế hoạt động trên 79 tần số đơn lẻ Khi kết nối , nó sẽ tự động tìm ra tần số tương thích để di chuyển đến thiết bị cần kết nối trong khu vực nhằm đảm bảo sự liên tục.

3.4 Module Bluetooth HC-05 3.4.1 Khái Niệm:

- Module Bluetooth HC-06 được thiết kế để chuyển đổi giao tiếp nối tiếp không đồng bộ và thành giao tiếp không dây Bluetooth và ngược lại.

- HC-05 là thiết bị Bluetooth tốt nhất sử dụng giao thức truyền thông UART HC-05 Bluetooth có nhiều tính năng khác biệt so với tất cả các thiết bị Bluetooth khác vì có nhiều chân và chức năng.

15

Trang 16

- Module thường sử dụng giao tiếp nối tiếp UART với các chân TX và RX ở tốc độ baund 9600 Có giao tiếp truyền dữ liệu hai chiều và có thể hoạt động như một slave và master.

- Module Bluetooth chỉ cung cấp khả năng giao tiếp trong khoảng cách ngắn do có giới hạn, hầu hết do đảm bảo tốc độ và tính bảo mật của nó.

3.4.2 Thông Số Kỹ Thuật:

- Điện thế hoạt động của UART 3.3 - 5V.

- Dòng điện khi hoạt động: khi Pairing 30 mA, sau khi pairing hoạt

Trang 17

- Stop bit: 1 - Pairing code: 1234 3.4.3 Mô tả sơ đồ chân

Chân VCC: Giống như mọi thiết bị khác, HC05 Modules cũng phụ thuộc vào nguồn điện để hoạt động và chân VCC cấp nguồn điện từ bên ngoài.

Chân GND: Chân nối đất module.

Chân TX: Chân truyền dữ liệu giao thức UART Chân RX: Chân nhận dữ liệu trong giao tiếp UART Chân State: Báo trạng thái kết nối của Bluetooth.

Chân Enable/key: Chân Enable / Key là chân thay đổi chế độ giữa chế độ dữ liệu và chế độ dòng lệnh bằng cách cấp tín hiệu bên ngoài Cấp logic cao sẽ chuyển sang chế độ dòng lệnh và trạng thái logic thấp sẽ chuyển sang chế độ dữ liệu Chế độ thiết bị mặc định là chế độ dữ liệu Chân button: Các chế độ dữ liệu và lệnh có thể thay đổi thông qua một nút nhấn có trên module.

Chân LED: Đèn LED hiển thị trạng thái của Module HC-05.

17

Trang 18

3.4.4 Đặc tính

Module Bluetooth HC-05 cung cấp hai giao tiếp trong khoảng cách ngắn hơn với tốc độ nhanh.

Có chân enale cho phép chuyển đổi giữa chế độ dòng lệnh và dữ liệu.

Module có giao thức UART dễ dàng giao tiếp với bất kỳ bộ vi điều khiển hoặc hệ thống nào.

Phạm vi giao tiếp lên đến 8 – 10 mét nhưng sẽ giảm xuống khi có vật cản.

Thiết bị sử dụng nguồn điện 5V Module có thể làm Master hoặc Slave Hỗ trợ tốc độ truyền

18

Trang 19

3.4.5 Ứng dụng

Các ô tô điều khiển từ xa cho trẻ em.

Trong tai nghe và chuột không dây, HC05 khả dụng cho giao tiếp không dây tốc độ nhanh.

Trong IoT thay vì dùng mạng WiFi, một số thiết bị cũng có Bluetooth

CHƯƠNG IV: NGÔN NGỮ LẬP TRÌNH PYTHON

4.1 Khái Niệm

Python là một ngôn ngữ lập trình bậc cao cho các mục đích lập trình đa năng Ngôn ngữ lập trình Python được tạo bởi Guido van Rossum và lần đầu ra mắt vào năm 1991 Python được thiết kế với ưu điểm mạnh là dễ đọc, dễ học và dễ nhớ Python là ngôn ngữ có hình thức rất sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình Cấu trúc của Python còn cho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu.

19

Trang 20

4.2 Chức Năng Chính

Ngôn ngữ lập trình đơn giản, dễ học: Python có cú pháp rất đơn giản, rõ ràng Nó dễ đọc và viết hơn rất nhiều khi so sánh với những ngôn ngữ lập trình khác như C++, Java, C# Python làm cho việc lập trình trở nên thú vị, cho phép bạn tập trung vào những giải pháp chứ không phải cú pháp.

Miễn phí, mã nguồn mở: Bạn có thể tự do sử dụng và phân phối Python, thậm chí là dùng cho mục đích thương mại Vì là mã nguồn mở, bạn không những có thể sử dụng các phần mềm, chương trình được viết trong Python mà còn có thể thay đổi mã nguồn của nó Python có một cộng đồng rộng lớn, không ngừng cải thiện nó mỗi lần cập nhật.

Khả năng di chuyển: Các chương trình Python có thể di chuyển từ nền tảng này sang nền tảng khác và chạy nó mà không có bất kỳ thay đổi nào Nó chạy liền mạch trên hầu hết tất cả các nền tảng như Windows, macOS, Linux.

Khả năng mở rộng và có thể nhúng: Giả sử một ứng dụng đòi hỏi sự phức tạp rất lớn, bạn có thể dễ dàng kết hợp các phần code bằng C, C++ và những ngôn ngữ khác (có thể gọi được từ C) vào code Python Điều này sẽ cung cấp cho ứng dụng của bạn những tính năng tốt hơn cũng như khả năng scripting mà những ngôn ngữ lập trình khác khó có thể làm được.

Ngôn ngữ thông dịch cấp cao: Không giống như C/C++, với Python, bạn không phải lo lắng những nhiệm vụ khó khăn như quản lý bộ nhớ, dọn dẹp những dữ liệu vô nghĩa, Khi chạy code Python, nó sẽ tự động chuyển đổi code sang ngôn ngữ máy tính có thể hiểu Bạn không cần lo lắng về bất kỳ hoạt động ở cấp thấp nào.

Thư viện tiêu chuẩn lớn để giải quyết những tác vụ phổ biến: Python có một số lượng lớn thư viện tiêu chuẩn giúp cho công việc lập trình của bạn trở nên dễ thở hơn rất nhiều, đơn giản vì không phải tự viết tất cả code Ví dụ: Bạn cần kết nối cơ sở dữ liệu MySQL trên Web server? Bạn có thể nhập thư viện MySQLdb và sử dụng nó Những thư viện này được kiểm tra kỹ lưỡng và được sử dụng bởi hàng

20

Trang 21

trăm người Vì vậy, bạn có thể chắc chắn rằng nó sẽ không làm hỏng code hay ứng dụng của mình.

Hướng đối tượng: Mọi thứ trong Python đều là hướng đối tượng Lập trình hướng đối tượng (OOP) giúp giải quyết những vấn đề phức tạp một cách trực quan Với OOP, bạn có thể phân chia những vấn đề phức tạp thành những tập nhỏ hơn bằng cách tạo ra các đối tượng.

CHƯƠNG V: THIẾT KẾ PHẦN CỨNG

5.1 Yêu Cầu Phần Cứng

Yêu cầu đề ra là thiết kế ra một chiếc xe điều khiển từ xe thông qua điện thoại chạy hệ điều hành Android Kích thước xe nhỏ gọn.

Xe có thể chạy: tới, lùi, sang trái, sang phải 5.2 Yêu Cầu Phần Mềm

Chương trình điều khiển, thiết kế phần mềm để kết nối Bluetooth trên MIT app Inventor, điện thoại.

5.3 Phương Án Thiết Kế

Vi điều khiển trung tâm là Raspberry Pi Pico với thiết kế nhỏ gọn Các module kết nối vào Raspberry Pi Pico gồm:

Module Bluetooth HC-05 kết nối với vi điều khiển trung tâm Động cơ một chiều gắn vào 2 bánh xe.

Mạch công suất điều khiển và bảo vệ các động cơ 21

Trang 22

Các module kết nối với vi điều khiển thông qua các chân GPIO.

Bằng việc điều khiển vi điều khiển xuất và nhận tín hiệu tại các chân GPIO, ta điều khiển được các module hoạt động theo ý muốn mình 5.3.1 Sơ Đồ Khối

Chức năng các khối:

Khối nguồn: dùng 2 pin Cell 18650 2600mAh 3.7V để cung cấp cho khối công suất để điều khiển động cơ

Khối công suất: dùng mạch cầu H-L298 kết nối với chân GPIO của Raspberry Pi Pico , khi Raspberry Pi ra lệnh điều khiển cho xe chạy thì mạch cầu H sẽ điều khiển cho 2 động cơ hoạt động.

Khối bluetooth: dùng để kết nối để điều khiển xe

Khối điều khiển: là Raspberry Pi Pico, chịu trách nhiệm điều khiển các khối công suất, khối cảm biến.

22

Trang 23

5.3.2 Cách Kết Nối Phần Cứng

23

Trang 24

Kết nối mạch cầu H với Raspberry Pi Pico: Công suất động cơ một chiều không cao, ta chọn mạch cầu H-L298 để điều khiển 2 động cơ này.

Chân IN1 nối vào GPIO7 (PIN 10) Chân IN2 nối vào GPIO6 (PIN 19) Chân IN3 nối vào GPIO4 (PIN 6) Chân IN4 nối vào GPIO3 (PIN 5).

Chân OUT1, OUT2 nối vào dộng cơ 1 Chân OUT3, OUT4 nối vào động cơ 2 Chân VCC nối với 5V(PIN 2) Chân GND nối vào GROUND(PIN 6).

24

Trang 25

Kết nối khối Bluetooth với Raspberry Pi Pico: Chân VCC nối với VSYS (PIN 39)

Chân GND nối với GND

Chân TXD nối với GPIO1 (PIN 2) Chân RXD nối với GPIO0 (PIN 1)

CHƯƠNG VI: THIẾT KẾ PHẦN MỀM

6.1 Cài Đặt Cho Raspberry Pi Pico

Raspberry Pi Pico có thể được lập trình dễ dàng thông qua ngôn ngữ C/C++ hoặc MicroPython, đây cũng chính là 2 ngôn ngữ lập trình cơ bản hỗ trợ cho loại board vi điều khiển này.

Để thuận tiện cho việc học cũng như lập trình thì chúng ta sẽ sử dụng MicroPython để lập trình cho Raspberry Pi Pico

Bước 1:

25

Trang 26

Nạp File Mirco Python: Pi Pico hỗ trợ lập trình bằng MicroPython thông qua nạp file (.uf2) Tải file

- Nhấn giữ nút BOOTSEL (nút nhấn màu trắng trên board) rồi cắm cáp kết nối vào board, sau đó cắm vào cổng USB của máy tính (PC, Raspbery Pi, ).

- Pi Pico board sẽ được kết nối máy tính như là ổ cứng lưu trữ và có tên là RPI-RP2, bạn click chuột kéo file uf2 mẫu vừa tải vào thư mục RPI-RP2 và reset lại board là đã hoàn thành nạp MicroPython cho board, lúc này là có thể lập trình thông qua các IDE hỗ trợ.

Bước 3:

IDE khuyên dùng để lập trình cho Pi Pico bằng Python là Thonny, các bạn tải về Thonny IDE tại đây: https://thonny.org/ Thonny khả dụng trên cả 3 hệ điều hành Windows, Mac và Linux Thonny hỗ trợ viết code MircoPython, tự động xuất file thực thi và nạp trực tiếp vào board Pi Pico.

- Sau khi cài đặt Thonny, bạn kết nối board đến máy tính và mở IDE lên.

26

Ngày đăng: 14/04/2024, 21:32

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w