1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế và thi công mô hình xe tự động vệ sinh

91 7 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

Thông tin cơ bản

Tiêu đề Thiết Kế Và Thi Công Mô Hình Xe Tự Động Vệ Sinh
Tác giả Lê Đình Tín, Lê Trần Thiện Minh
Người hướng dẫn ThS. Huỳnh Hoàng Hà
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Tp. Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Máy Tính
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2016
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 91
Dung lượng 4,03 MB

Cấu trúc

  • SKL004688.pdf

    • Page 1

  • Baocaomk13.pdf

  • 4 BIA SAU A4.pdf

    • Page 1

  • Page 1

  • Page 1

Nội dung

GIỚI THIỆU

Tình hình nghiên cứu hiện nay

Trong những năm gần đây, sự phát triển mạnh mẽ của ngành công nghiệp cùng với sự hỗ trợ từ nhà nước đã thúc đẩy quá trình công nghiệp hóa hiện đại hóa, khiến tự động hóa trở thành xu hướng chính của các tập đoàn Việc điều khiển và vận hành chính xác các thiết bị sản xuất rất quan trọng, giúp giảm bớt sức lao động và chi phí sản xuất Điều này không chỉ hạ giá thành sản phẩm mà còn nâng cao khả năng cạnh tranh với các quốc gia trong khu vực và trên thế giới.

Mục tiêu của đề tài

Tìm hiểu về vi xử lý ARM STM32F103C8T6, bao gồm cấu tạo và chức năng của các module giao tiếp RF HC-11, cảm biến quang và cảm biến la bàn số Nắm vững cách đọc và hiểu datasheet của các linh kiện cần thiết trong mạch để áp dụng hiệu quả trong các dự án điện tử.

Nghiên cứu và thiết kế sơ đồ khối, từ đó thi công mạch thực tế Giải thích được chức năng của các linh kiện có trong mạch.

Phương pháp nghiên cứu

Trong thời gian thực hiện đồ án, để hoàn thiện và giúp hệ thống vận hành ổn định, nhóm đã áp dụng các phương pháp sau:

- Tham khảo tài liệu, giáo trình

- Nghiên cứu và tìm hiểu vi điều khiển ARM

- Tiến hành thực nghiệm và chỉnh sửa sau mỗi lần thử.

Đối tượng và phạm vi nghiên cứu

Trong quá trình nghiên cứu, nhóm đã xác định rõ đối tượng và phạm vi để hiểu yêu cầu của đề tài Điều này giúp định hướng hợp lý nhằm hoàn thành đề tài đúng mục tiêu và đảm bảo tiến độ yêu cầu.

- Đối tượng: vi điều khiển ARM stm32f103c8t6, cảm biến quang, cảm biến la bàn số HMC5883L, động cơ DC giảm tốc, module giao tiếp

Nghiên cứu tập trung vào ngôn ngữ lập trình cho vi điều khiển ARM, bao gồm việc xuất nhập dữ liệu qua các cổng I/O Đặc biệt, nghiên cứu sử dụng cảm biến quang để phát hiện vật cản và điều khiển động cơ DC với tốc độ hợp lý Bên cạnh đó, dữ liệu từ cảm biến la bàn số được áp dụng để ổn định hướng di chuyển, đồng thời thiết lập giao tiếp với máy tính nhằm truyền nhận lệnh điều khiển hiệu quả.

Bố cục đồ án

Chương 2: CƠ SỞ LÝ THUYẾT

Chương 3: THIẾT KẾ PHẦN CỨNG VÀ PHẦN MỀM

Chương 4: NHẬN XÉT KẾT QUẢ ĐẠT ĐƯỢC

Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

CƠ SỞ LÝ THUYẾT LIÊN QUAN

Giới thiệu chung về ARM

Cấu trúc ARM (Advanced RISC Machine) là một loại vi xử lý 32 bit và 64 bit theo kiểu RISC, phổ biến trong thiết kế nhúng Với đặc điểm tiết kiệm năng lượng, các CPU ARM chiếm ưu thế trong sản phẩm điện tử di động, nơi việc tiêu tán công suất thấp là một mục tiêu thiết kế hàng đầu.

Hiện nay, hơn 75% CPU nhúng 32-bit thuộc họ ARM, biến ARM thành cấu trúc 32-bit phổ biến nhất trên toàn cầu CPU ARM hiện diện rộng rãi trong các sản phẩm thương mại điện tử, bao gồm thiết bị cầm tay như PDA, điện thoại di động, máy đa phương tiện, máy chơi game cầm tay và máy tính xách tay, cùng với các thiết bị ngoại vi máy tính.

Giới thiệu về dòng STM32

Họ STM32 được chia thành hai nhánh chính: dòng Performance và dòng Access Dòng Performance bao gồm các thiết bị ngoại vi phong phú và hoạt động với xung nhịp tối đa 72MHz, trong khi dòng Access có ít thiết bị ngoại vi hơn và chạy tối đa 36MHz Điều đáng chú ý là bố trí chân và kiểu đóng gói chip giữa hai dòng này là giống nhau, cho phép hoán đổi các phiên bản khác nhau của STM32 mà không cần thay đổi mô hình chân trên PCB.

STM32 sở hữu các ngoại vi đa dạng tương tự như các vi điều khiển khác, bao gồm hai bộ chuyển đổi ADC, timer, I2C, SPI, CAN, USB và RTC, nhưng mỗi ngoại vi lại có những đặc điểm nổi bật riêng Chẳng hạn, bộ ADC 12-bit tích hợp cảm biến nhiệt độ giúp tự động hiệu chỉnh khi nhiệt độ thay đổi và hỗ trợ nhiều chế độ chuyển đổi Các bộ định thời có 4 khối capture compare cho phép bắt sự kiện và tạo dạng sóng đầu ra, đồng thời có khả năng liên kết với nhau để tạo ra các định thời phức tạp hơn Một bộ định thời cao cấp hỗ trợ điều khiển động cơ với 6 đầu ra PWM có thể lập trình được và chức năng break input giúp chuyển tín hiệu PWM về trạng thái an toàn trong trường hợp khẩn cấp Ngoài ra, ngoại vi nối tiếp SPI còn trang bị khối kiểm tổng CRC phần cứng cho 8 và 16 word, nâng cao hiệu quả giao tiếp với thẻ nhớ.

STM32 hỗ trợ tối đa 12 kênh DMA (Direct Memory Access), cho phép truyền dữ liệu đến và từ các thanh ghi ngoại vi với kích thước dữ liệu 8/16 hoặc 32-bit Mỗi ngoại vi có thể đi kèm với một bộ điều khiển DMA để gửi hoặc yêu cầu dữ liệu theo nhu cầu Hệ thống bao gồm bộ phân xử bus và ma trận bus giúp giảm thiểu xung đột giữa truy cập dữ liệu qua CPU và các kênh DMA, cho phép các đơn vị DMA hoạt động linh hoạt, dễ sử dụng và tự động điều khiển luồng dữ liệu trong vi điều khiển.

STM32 là một vi điều khiển tiêu thụ năng lượng thấp và đạt hiệu suất cao

Vi điều khiển hoạt động ở điện áp 2V với tần số 72MHz và chỉ tiêu thụ 36mA khi tất cả các khối bên trong đều hoạt động Nhờ vào các chế độ tiết kiệm năng lượng của Cortex, STM32 chỉ tiêu thụ 2μA ở chế độ Standby Bộ dao động nội RC 8MHz cho phép chip nhanh chóng thoát khỏi chế độ tiết kiệm năng lượng trong khi bộ dao động ngoài khởi động, từ đó giảm thiểu đáng kể mức tiêu thụ năng lượng tổng thể.

Giới thiệu về ARM Cortex M3 STM32F103

Bộ xử lý Cortex là thế hệ lõi nhúng tiếp theo từ ARM, thừa kế nhiều ưu điểm từ các bộ xử lý ARM trước đó Với cấu trúc hoàn chỉnh, Cortex bao gồm bộ xử lý trung tâm và một hệ thống thiết bị ngoại vi, cung cấp khả năng xử lý trung tâm cho các hệ thống nhúng Để đáp ứng các yêu cầu khắt khe và đa dạng của thị trường, bộ xử lý Cortex được chia thành 3 nhánh, được biểu hiện bằng các ký tự sau tên Cortex.

Cortex-A : bộ vi xử lý dành cho hệ điều hành và các ứng dụng của người dung phức tạp Hỗ trợ các tập lệnh ARM, Thumb và Thumb-2

Cortex-R : bộ xử lí dành cho các hệ thống đòi hỏi khắc khe về tính thời gian thực Hỗ trợ các tập lệnh ARM, Thumb, và Thumb-2

Cortex-M : bộ xử lí dành cho dòng vi điều khiển, được tối ưu hóa cho các ứng dụng nhạy cảm về chi phí Chỉ hỗ trợ tập lệnh Thumb-2

Cortex có các mức hiệu suất từ 1 đến 8, trong đó 1 là thấp nhất và 8 là cao nhất Hiện tại, dòng Cortex-M có mức hiệu suất cao nhất là 3, và STM32 được xây dựng dựa trên bộ xử lý Cortex-M3.

The STM32F103C8T6 microcontroller, developed by Texas Instruments, features a 32-bit architecture with 64-128 Kb of Flash memory It supports USB 2.0 full-speed connectivity, CAN communication, seven timers, two ADCs, and nine interface connections, making it a versatile choice for various applications.

● Tần số hoạt động lên tới 72 Mhz

● Bộ nhớ : 64-128 Kb Flash, 20 Kb SRAM

● ADC : 2×12 bit, tần số lấy mẫu 1Mhz

● DMA : Điều khiển 7 kênh DMA

● Giao diện kết nối : 2xI2C, 3xUSART, 2xSPI, CAN, USB 2.0 full-speed [1]

● Kiểu chân : VFQFPN36, UFQFPN48, BGA100, LQFP48, LQFP64, LQFP100 Ứng dụng :

● Thiết bị cầm tay và thiết bị y tế

Giới thiệu Timer

STM32 được trang bị bốn khối định thời, trong đó Timer1 là khối nâng cao chuyên dùng cho điều khiển động cơ, trong khi ba khối còn lại hỗ trợ chức năng đa nhiệm Tất cả các khối này đều có kiến trúc chung, nhưng khối nâng cao tích hợp thêm các tính năng phần cứng đặc biệt.

Tất cả các khối định thời bao gồm bộ đếm 16-bit, với thanh ghi chia tần số và thanh ghi tự nạp cũng 16-bit Bộ đếm có khả năng cấu hình để đếm lên, đếm xuống hoặc trung tính, cho phép đếm lên xuống xen kẽ Xung nhịp cho đồng hồ có thể được chọn từ 8 nguồn khác nhau, bao gồm đồng hồ chuyên biệt từ hệ thống, xung nhịp chân ra từ khối định thời khác, hoặc nguồn xung nhịp ngoại.

Timer trong STM32F1 có rất nhiều chức năng chẳng hạn như bộ đếm counter, PWM, input …

Trong đó, Timer1 có cùng tần số xung clock với hệ thống là 72Mhz Các Timer lại là 2,3,4 có tần số bằng một nửa Tức là 36Mhz

Hình 2.4a : Hệ thống Timer của STM32f1 [2]

Timer4 được quản lý bởi bus APB1 (Advanced Peripheral Bus) với tần số tối đa là 36MHz, tương đương 1/2 tần số hệ thống Để thiết lập Timer, cần lập trình các thanh ghi tương ứng.

- TIM_Prescaler: hiểu đơn giản như một bộ chia tần số hoặc bộ chia trước

- TIM_Period: là chu kì ta thiết lập cho timer, trong trường hợp này tức là sau khi đếm 999 xung (từ 0) thì timer sẽ bắt đầu đếm lại từ 0

Bộ đếm chế độ tăng là một loại bộ đếm tự động tăng giá trị theo chiều dương sau mỗi xung nhịp của timer Khi giá trị của bộ đếm đạt đến giá trị kỳ vọng (period), nó sẽ tự động bắt đầu lại từ đầu, hiện tượng này được gọi là tràn bộ đếm.

Ngoài ra ta cũng phải thiết lập IRQ để lập trình chương trình ngắt và mức độ ưu tiên ngắt khi bộ đếm đủ chu kỳ và tràn

Hình 2.4b : Cách hoạt động timer sau khi thiết lập

Sau khi thiết lập Timer, mỗi 36 xung hệ thống tương ứng với 1 chu kỳ xung Timer Mỗi chu kỳ, Counter sẽ tăng lên 1 giá trị Khi giá trị này đạt 999, xung Timer tiếp theo sẽ làm cho Counter tràn và bắt đầu đếm lại từ 0, đồng thời phát sinh sự kiện ngắt do tràn Timer.

Giới thiệu I2C

I2C, viết tắt của Inter-Integrated Circuit, là một giao thức bus dùng để giao tiếp giữa các IC Mặc dù được phát triển bởi Philips, I2C đã trở thành chuẩn công nghiệp được nhiều nhà sản xuất IC trên toàn thế giới áp dụng Giao thức này thường được sử dụng làm bus giao tiếp ngoại vi cho nhiều loại IC khác nhau, bao gồm các vi điều khiển như 8051, PIC, AVR và ARM.

I2C là 1 bus 2 chiều, truyền thông giữa 2 IC khác nhau hay 2 modules Truyền thông dữ liệu nối tiếp qua đường SDA và truyền xung đồng hồ qua đường

Để đồng bộ hóa SCL, hai đường dây này cần được kết nối với nguồn cấp tích cực thông qua một trở pull-up khi kết nối với các đường ra của thiết bị Dữ liệu chỉ có thể được truyền đi khi bus không bị bận.

Giao tiếp I2C sử dụng hai dây chính: Serial Data (SDA) và Serial Clock (SCL) Trong đó, SDA là đường truyền dữ liệu hai chiều, còn SCL là đường truyền xung đồng hồ chỉ theo một chiều để đảm bảo đồng bộ Khi một thiết bị ngoại vi kết nối vào bus I2C, chân SDA của thiết bị sẽ được nối với dây SDA của bus, và chân SCL sẽ được nối với dây SCL.

Để bắt đầu quá trình truyền dữ liệu trên bus I2C, hai điều kiện quan trọng là START và STOP START đánh dấu sự khởi đầu của giao tiếp giữa thiết bị chủ và thiết bị khác, trong khi STOP chỉ ra sự kết thúc của quá trình này Những điều kiện này là bắt buộc để thiết lập kết nối hiệu quả.

Hình 2.5b : Mô tả điều kiện Start và Stop

Điều kiện START được xác định khi có sự chuyển đổi trạng thái từ cao xuống thấp trên đường SDA, trong khi đường SCL vẫn duy trì ở mức cao Tình huống này báo hiệu rằng quá trình truyền nhận dữ liệu đã bắt đầu.

Điều kiện STOP trên bus I2C được xác định khi có sự chuyển đổi trạng thái từ mức thấp lên cao trên đường SDA, trong khi đường SCL vẫn ở mức cao Cả hai tín hiệu START và STOP đều do thiết bị chủ tạo ra Sau khi nhận tín hiệu START, bus I2C sẽ ở trạng thái làm việc (busy) và chỉ trở lại trạng thái rỗi, sẵn sàng cho giao tiếp mới khi nhận được tín hiệu STOP từ thiết bị chủ.

Khi điều kiện START được thiết lập, nếu trong quá trình giao tiếp tín hiệu START được lặp lại thay vì tín hiệu STOP, bus I2C vẫn giữ trạng thái bận Cả tín hiệu START và tín hiệu START lặp lại (Repeated START) đều có chức năng khởi tạo giao tiếp.

Chuẩn I2C được STM32 hỗ trợ để giao tiếp với các mạch tích hợp bên ngoài, có thể cấu hình ở chế độ slave, master hoặc làm bộ phân xử trong hệ thống multi-master Giao diện I2C hỗ trợ tốc độ truyền chuẩn 100kHz và tốc độ cao 400kHz, cùng với khả năng sử dụng địa chỉ 7 hoặc 10 bit Thiết kế của nó giúp đơn giản hóa quá trình trao đổi dữ liệu thông qua 2 kênh DMA cho truyền và nhận, kèm theo hai ngắt: một cho nhân Cortex và một cho định địa chỉ cùng truyền nhận.

Khối giao tiếp I2C trong kit ARM STM32F103 bao gồm 2 khối I2C, nhưng trong trường hợp này, chỉ sử dụng 1 bộ I2C để giao tiếp với cảm biến la bàn số.

Để đảm bảo tính chính xác của dữ liệu truyền, giao diện I2C tích hợp khối kiểm tra lỗi dữ liệu (PEC - packet error checking), cho phép kiểm tra mã CRC-8 bit Quá trình này được thực hiện hoàn toàn tự động bởi phần cứng.

Giới thiệu UART

Mặc dù các giao diện trao đổi dữ liệu nối tiếp ngày càng ít được hỗ trợ trên máy tính, chúng vẫn rất phổ biến trong lĩnh vực nhúng nhờ vào tính tiện lợi và đơn giản của chúng, với UART là tiêu biểu và phổ biến nhất.

UART (Universal Asynchronous Receiver/Transmitter) là một phương thức truyền thông dữ liệu nối tiếp không đồng bộ, thường được ứng dụng trong máy tính công nghiệp, hệ thống truyền thông, vi điều khiển và nhiều thiết bị truyền tin khác.

UART có mục đích truyền tín hiệu giữa các thiết bị như từ Laptop đến Modem và ngược lại, cũng như giữa các vi điều khiển Việc truyền tín hiệu này giúp kết nối và giao tiếp hiệu quả giữa các thiết bị điện tử.

Trong truyền không đồng bộ, liên kết không sử dụng đường xung đồng hồ, vì mỗi điểm đầu cuối đã có xung đồng hồ riêng Các điểm này cần đồng ý về tần số đồng hồ, với sự khác biệt chỉ khoảng vài phần trăm Mỗi byte được truyền đi bao gồm bít Start để đồng bộ hóa và một hoặc nhiều bít Stop để kết thúc tín hiệu Cổng RS-232 trong máy tính sử dụng định dạng không đồng bộ để giao tiếp với modems và các thiết bị khác, mặc dù RS-232 cũng có khả năng truyền dữ liệu đồng bộ, nhưng liên kết không đồng bộ vẫn phổ biến hơn Phần lớn các liên kết RS-485 cũng sử dụng giao tiếp không đồng bộ.

Hình 2.6 : Cấu trúc khung truyền nhận UART

Truyền không đồng bộ thường sử dụng định dạng 8-N-1, trong đó mỗi byte dữ liệu được truyền với một bít Start, theo sau là 8 bít dữ liệu bắt đầu từ bít 0 (Least Significant Bit) và kết thúc với một bít Stop Chữ N trong định dạng này cho biết rằng không sử dụng bít chẵn lẻ để kiểm soát lỗi Một biến thể khác có thể bao gồm một bít chẵn lẻ để thực hiện kiểm soát lỗi đơn giản Để khởi tạo UART, cần thiết lập các thông số và thanh ghi tương ứng.

BaudRate là tốc độ truyền dữ liệu, tính bằng số bit được truyền trong 1 giây Ví dụ, với BaudRate là 9600, có nghĩa là trong 1 giây sẽ truyền đi 9600 bit, tương đương với thời gian mỗi bit là 1/9600 giây (khoảng 1.04^-4 giây) Tốc độ BaudRate càng cao, dữ liệu được truyền càng nhanh, nhưng độ an toàn sẽ giảm Do đó, nên sử dụng tốc độ baud theo các quy chuẩn quốc tế như 4800 để đảm bảo tính ổn định và an toàn trong truyền dữ liệu.

- WordLength : độ dài khung truyền là 8bit

- Parity : chọn kiểm tra chẵn lẽ

- Mode : chọn chế độ truyền và nhận

Trong giao tiếp không đồng bộ, cần thiết phải có một giao thức bắt tay, thường được thực hiện qua phần cứng tích hợp sẵn Cụ thể, nơi nhận sẽ phát tín hiệu mức cao khi sẵn sàng nhận dữ liệu, trong khi nơi truyền sẽ chờ tín hiệu này trước khi bắt đầu truyền Nơi nhận có thể duy trì mức thấp trong suốt quá trình chờ phản hồi cao Ngoài ra, một số liên kết khác sử dụng phần mềm để thực hiện bắt tay, với nơi nhận gửi mã tín hiệu để xác nhận sự sẵn sàng và một mã khác để yêu cầu ngừng truyền dữ liệu Để đảm bảo dữ liệu được truyền nhận đầy đủ, hệ thống cần sử dụng bộ đệm để lưu trữ tạm thời dữ liệu trong khi thực hiện các chương trình khác hoặc trong quá trình truyền nhận chưa hoàn tất Bộ đệm giúp đảm bảo rằng không có dữ liệu nào bị mất và cũng hỗ trợ phía truyền bằng cách cho phép ứng dụng lưu trữ dữ liệu để gửi khi liên kết đã sẵn sàng.

Bộ đệm có thể là phần cứng, phần mềm hoặc cả hai, với cổng nối tiếp sử dụng tất cả các dạng này Các máy tính cổ nhất được trang bị 16 byte bộ đệm phần cứng tích hợp trong các UART, cho phép chúng lưu trữ 16 byte dữ liệu trong chiều nhận trước khi phần mềm cần đọc.

STM32 sở hữu ba khối USART, mỗi khối có khả năng hoạt động với tốc độ lên đến 4.5Mbps Một trong các khối USART được đặt trên APB1 với tần số hoạt động 72MHz, trong khi hai khối còn lại nằm trên APB2 và hoạt động ở tần số 36MHz.

Giới thiệu cảm biến quang phản xạ

Cảm biến E3F-DS30C4 sử dụng ánh sáng hồng ngoại để phát hiện vật cản, mang lại độ phản hồi nhanh chóng và giảm thiểu nhiễu Người dùng có thể điều chỉnh khoảng cách cảnh báo theo ý muốn thông qua biến trở Ngoài ra, ngõ ra dạng cực thu hở cho phép tùy biến áp ra bằng cách kết nối thêm một trở treo lên nguồn áp mong muốn ở chân output khi sử dụng.

● Điện áp hoạt động :10~30VDC

● Khoảng cách điều chỉnh :0-30cm

● Có thể điều khiển khoảng cách ngõ ra nhờ biến trở

● Output Type: NPN thường mở giúp tùy biến được điện áp ngõ ra, trở treo lên điện áp bao nhiêu sẽ tạo thành điện áp ngõ ra bấy nhiêu

● Môi trường làm việc: -40 đến +70 độ C;

● Phát hiện các đối tượng: Mờ đục, có màu sắc

● Dây Nâu: Vdd, Dây xanh: GND Dây đen: Data

● Có led báo hiển thị khi có vật cản

● Sử dụng LED hồng ngoại bước sóng 950nm, thời gian đáp ứng 2.5ms

Hình 2.7a : Cảm biến quang E3F-DS30C4

Cấu tạo module với 3 dây kết nối (2 dây nguồn và 1 dây tín hiệu) giúp đơn giản hóa quá trình thi công Hai dây nguồn được kết nối với Vcc và GND, trong khi dây tín hiệu cần được mắc với trở kéo lên áp Vcc mong muốn Nếu phần cứng hỗ trợ kết nối build-in, chỉ cần lập trình chọn chế độ và kết nối với pin tương ứng trên kit để đọc giá trị Model này cung cấp hai giá trị ngõ ra cho dây tín hiệu: “1” tương ứng với Vcc, biểu thị có vật cản, và “0” tương ứng với 0v, cho biết cảm biến không phát hiện vật cản trong khoảng cách đã thiết lập.

Hình 2.7b : Cấu tạo chung của cảm biến vật cản

Cảm biến phát hiện vật cản bao gồm một LED phát và một LED thu Khi LED thu không nhận được ánh sáng từ LED phát, nội trở của mạch rất lớn, tương đương với trạng thái hở, và cho ra giá trị 0V Giá trị này được so sánh với giá trị đã thiết lập trước (thông qua biến trở pot); nếu chưa đạt ngưỡng, output sẽ ở mức thấp Ngược lại, khi LED thu nhận được ánh sáng, nội trở giảm và giá trị output sẽ tăng; nếu giá trị này bằng hoặc lớn hơn giá trị đã thiết lập, output sẽ chuyển sang mức cao.

Tính năng điều chỉnh khoảng cách quét có thể được thực hiện bằng cách vặn biến trở build-in thông qua vít vặn phía sau của cảm biến.

Giới thiệu mạch cầu H L298

Mạch cầu H là một mạch công suất cơ bản, đóng vai trò quan trọng trong việc điều khiển động cơ DC và động cơ bước 2 cặp cực Có nhiều kiểu cầu H khác nhau, mỗi loại phục vụ cho các ứng dụng cụ thể Sự khác biệt giữa các cầu H chủ yếu nằm ở khả năng điều khiển, bao gồm dòng và áp điều khiển lớn hay nhỏ, có điều tốc hay không, cũng như tần số xung PWM, tất cả đều ảnh hưởng đến việc lựa chọn linh kiện cho cầu H.

Module L298 là một IC tích hợp với hai mạch cầu H, cung cấp điện áp từ 5V đến 47V và dòng tối đa lên đến 4A Với những đặc điểm này, L298 rất phù hợp cho các ứng dụng công suất nhỏ, đặc biệt là trong việc điều khiển động cơ DC loại vừa.

Mạch cầu H là một hệ thống điện bao gồm 4 công tắc được sắp xếp theo hình chữ H, cho phép điều khiển dòng điện qua động cơ và các thiết bị điện khác bằng cách mở hoặc đóng các công tắc này.

Hình 2.8a : Cấu tạo đơn giản của mạch cầu H

4 "công tắc" này thường là Transistor BJT, MOSFET hay relay Tùy vào yêu cầu điều khiển khác nhau mà người ta lựa chọn các loại "công tắc" khác nhau

Module mạch cầu H sử dụng L298 có khả năng điều khiển 2 động cơ thông qua tín hiệu điện từ vi xử lý Nó hoạt động với nguồn cấp từ 9 đến 12V qua cổng 1 Điểm nổi bật của module này là không bị hư hại khi nhận 2 tín hiệu đầu vào cùng mức 1, khác với các module mạch cầu H truyền thống.

Driver: L298N tích hợp hai mạch cầu H Điện áp điều khiển: +5 V ~ +35 V

Dòng tối đa cho mỗi cầu H là: 2A Điện áp của tín hiệu điều khiển: +5 V ~ +7 V

Dòng của tín hiệu điều khiển: 0 ~ 36mA

Chân 3: 12V jumper, tháo jumper ra nếu sử dụng nguồn trên 12V Jumper này dùng để cấp nguồn cho IC ổn áp tạo nguồn 5v nếu nguồn trên 12V sẽ làm cháy

Chân 4: chỗ cắm dây nguồn cung cấp điện áp cho motor từ 6v đến 36v

Chân 5: Chỗ cắm dây GND

Chân 6: Ngõ ra nguồn 5v nếu jumper đầu vào ko rút ra

Chân 7: Chân Enable của Motor 1, chân này dùng để cấp xung PWM cho motor nếu dùng VDK thì rút jumper ra và cắm chân PWM vào đây, giữ nguyên cho tới khi dùng động cơ bước

Chân 12: Chân Enable của Motor 2, chân này dùng để cấp xung PWM cho motor nếu dùng VDK thì ruits jumper ra và cắm chân PWM vào đây, giữ nguyên khi dùng với động cơ bước

Chân 14: DC motor 2 “-“ Để điều khiển động cơ DC với chiều quay cụ thể, ta điều khiển L298 như sau: -Khi ENA = 0: Động cơ không quay với mọi đầu vào

+ INT1 = 1; INT2 = 0: động cơ quay thuân

+ INT1 = 0; INT2 = 1: động cơ quay nghịch

+ INT1 = INT2: động cơ dừng ngay tức thì

(tương tự với các chân ENB, INT3, INT4).

Giới thiệu Động cơ DC giảm tốc

Động cơ DC giảm tốc GA25 thích hợp với các ứng dụng xe mô hình, robot, ổ khóa điện tử, thiết bị thông minh, Điện áp cung cấp: 3 ~ 12V

Tốc độ không hộp số: 5600rpm

Tốc độ qua hộp số: 3V ~ 30rpm 6V ~ 60rpm 12V ~ 130rpm

Hình 2.9 : Cấu tạo chung của motor giảm tốc

Motor giảm tốc bao gồm hai thành phần chính: motor và hộp số Motor chuyển đổi điện năng thành cơ năng, tạo ra chuyển động xoay Hộp số, với các bánh răng, có chức năng điều chỉnh tốc độ xoay, giúp giảm tốc độ để tăng cường lực và độ chính xác trong quá trình hoạt động.

Giới thiệu Encoder

Encoder là thiết bị cơ điện chuyển đổi chuyển động thẳng hoặc tròn thành tín hiệu số Chúng giúp kiểm tra góc lệch của trục quay khi vị trí thay đổi Các xung đầu ra từ encoder được cảm biến nhận và kiểm soát, xác định chính xác vị trí và tốc độ di chuyển của máy Nhờ encoder, động cơ điện có thể được điều khiển với độ chính xác cao theo tín hiệu điều khiển.

Trong trường hợp này, phần cứng của nhóm sử dụng encoder từ tính

Hình 2.10a : Cấu tạo của encoder từ tính

Encoder từ tính bao gồm hai phần chính: đĩa từ với các cực ngược nhau được thiết kế xen kẽ và bộ phận cảm biến từ tính Hai bộ phận này được đặt cách nhau một khoảng hở nhỏ.

Hình 2.10b : Nguyên lý hoạt động của encoder từ

Encoder từ tính hoạt động dựa trên cảm biến từ, quét trên một đĩa từ tính để phát hiện chuyển động Khi cảm biến Hall phát hiện sự thay đổi từ thông do đĩa xoay từ cực N sang cực S, nó sẽ tạo ra xung mức cao Ngược lại, khi đĩa xoay từ cực S về cực N, cảm biến sẽ phát ra xung mức thấp Để nâng cao độ chính xác, một cảm biến từ thứ hai được lắp đặt lệch pha 90 độ so với cảm biến đầu tiên.

- 334 Xung, với 2 kênh A, B lệch pha nhau góc 90

Giới thiệu Module giao tiếp rf HC-11

Module HC-11 CC1101 433MHz là thiết bị thu phát sóng không dây, cho phép chuyển đổi tín hiệu Serial qua tần số 433MHz Với việc thiết lập một số thông số về kênh truyền và địa chỉ, bạn có thể dễ dàng truyền dữ liệu Serial (UART) giữa các thiết bị.

2 module với nhau Đặc điểm kĩ thuật của module HC-11 CC1101 433MH

- Module HC-11 CC1101 kèm theo 1 anten 433MHz ở dạng rời chưa hàn vào board Trên module có sẵn 1 cổng IPX để kết nối với antena ngoài

- Giao tiếp Serial: bán song công

- Dòng điện tiêu thụ: tối đa 22mA

- Cần ít nhất 2 module để giao tiếp với nhau

- Khoảng cách thu phát: 40m, có thể tối ưu thông số và antena để đạt khoảng cách 100m

Hình 2.11a : Module RF HC-11 Chức năng các chân theo thứ tự từ trên xuống:

Hình 2.11b : Chức năng các chân HC-11

Sử dụng IC CC1101 của Texas Instrument nên module HC-11 hoạt động rất tiết kiệm năng lượng Toàn bộ giao tiếp phần cứng với CC1101 được vi điều khiển

STMSTM8S003F3P6 đảm nhận Do đó, việc cài đặt module được thực hiện thông qua tập lệnh AT đơn giản Có 2 cách để vào chế độ command mode:

1 Cấp nguồn cho module, kéo chân SET xuống Gnd

2 Kéo chân SET xuống GND, cấp nguồn cho module, module sẽ reset baudrate về 9600 Để thoát khỏi chế độ command mode, bạn chỉ cần thả (release) chân SET hoặc cấp mức cao vào chân này

Các câu lệnh AT quan trọng [4]:

Lệnh Chức năng Trả về

AT Kiểm tra module nhận lệnh OK

AT+V Kiểm tra phiên bản firmware điều khiển HC-11_V1.9

AT+Bxxxx Cài đặt baud rate khi gửi nhận tín hiệu xxxx có thể nhận giá trị: 9600, 38400, 57600,115200

Ví dụ: AT+B9600 trả về: OK-B9600

AT+Cxxx Cài đặt kênh truyền (4bit) xxx nhận giá trị từ 001 đến 127

Ví dụ: AT+C002 trả về: OK-C002

AT+Axxx Cài đặt địa chỉ (8 bit) xxx nhận giá trị từ 001 đến 255

OK-Axxx trả về: OK-A002

AT+FUx Cài đặt phương thức thu phát sóng x nhận giá trị 1,2,3,4 AT+FU1: Phương thức truyền mặc định, tương thich mọi phiên bản, tiêu hao 3.5mA

AT+FU2: tiết kiệm năng lượng, thời gian chờ mỗi lần truyền khoảng 400ms, chỉ chấp nhận baudrate 4800, 2400, 1200 Tiêu hao 80uA

AT+FU3: thời gian chờ mỗi lần truyền là 8ms Tiêu hao 22mA

AT+FU4: khoảng cách thu phát xa nhất Tiêu hao 22mA

Ta thiết lập thông số mặc định như sau, tiếp theo chỉ cần cấp nguồn cho module là có thể 2 giao tiếp với nhau mà không cần điều chỉnh:

Giới thiệu Cảm biến La bàn số HMC5883L

Cảm biến la bàn số HMC5883L là thiết bị lý tưởng để đo từ trường của trái đất, giúp xác định phương hướng với độ chính xác từ 1 đến 2 độ Nó cung cấp các phép đo riêng biệt cho từng trục và có khả năng tính toán trong không gian 3D Thiết bị này có thể đo từ trường thô hoặc phát hiện các nguồn từ trường mạnh gần đó, bao gồm cả nam châm và điện trường Khi phát hiện từ trường bên ngoài, HMC5883L có thể xác định khoảng cách tương đối hoặc hướng đến vật phát ra từ trường.

La bàn số hoạt động dựa trên hai cảm biến từ trường được đặt vuông góc trên mặt phẳng ngang, giúp đo cường độ từ trường của trái đất.

Tỉ số giữa hai giá trị đo cho phép xác định góc giữa các trục của cảm biến và đường sức từ của trái đất, từ đó xác định được hướng (số chỉ) của la bàn từ.

Hình 2.12a : Nguyên lý đo độ lệch từ trường

Trên thị trường hiện nay, có nhiều loại cảm biến, trong đó thường được trang bị ba cảm biến dọc theo ba trục của hệ tọa độ Decac, cho phép đo với độ nhạy cao Những cảm biến này được chế tạo từ hợp chất InSb, một hợp chất của Indium và Antimony Khi dòng điện chạy qua hợp chất này mà không có từ trường, các điện tử sẽ di chuyển theo đường thẳng Tuy nhiên, khi đặt hợp chất trong từ trường, các điện tử sẽ di chuyển theo các đường chéo, làm tăng quãng đường di chuyển và dẫn đến sự gia tăng điện trở của vật liệu Hiện tượng này được ứng dụng để chế tạo cảm biến đo cường độ từ trường.

Giá trị thanh ghi của trục X được lưu trữ trong hai thanh ghi 8 bit là DXRA và DXRB, trong đó DXRA chứa 8 bit trọng số cao và DXRB chứa 8 bit trọng số thấp Tổng hợp hai thanh ghi này cho ra giá trị 16 bit với địa chỉ từ 0xF800 đến 0x07FF Cấu trúc tương tự cũng áp dụng cho các thanh ghi của trục Y và trục Z.

Hình 2.12c : Cảm biến la bàn số HMC5883L Thông số kỹ thuật:

- Điện áp cung cấp: 3 ~ 5VDC

Giới thiệu Relay đóng ngắt

Relay là một loại công tắc (khóa K) được kích hoạt bằng điện thay vì bằng tay, cho phép nó hoạt động như một công tắc điện tử Relay có hai trạng thái cơ bản: đóng và mở.

Relay cơ điện phổ biến nhất bao gồm một cuộn dây điện quấn quanh lõi sắt từ, với hai phần chính: phần tĩnh gọi là Ách từ (Yoke) và phần động gọi là Phần ứng (Armature) Phần ứng này được kết nối cơ học với một tiếp điểm động, tạo nên chức năng hoạt động của relay.

Khi cuộn dây được cấp điện, một từ trường được tạo ra xung quanh cuộn dây và được tập trung bởi lõi, tạo ra một nam châm điện Nam châm điện này có khả năng hút phần ứng động, giúp mở hoặc đóng trực tiếp các tiếp điểm điện.

Khi relay bị ngắt điện, từ trường sẽ biến mất, khiến phần ứng được lò xo phản hồi hỗ trợ đưa tiếp điểm trở lại vị trí bình thường.

Tùy thuộc vào nhu cầu sử dụng và môi trường hoạt động, relay có nhiều hình dáng và thông số khác nhau, nhưng chúng đều có cấu trúc cơ bản tương tự nhau.

Hình 2.13a : Cấu tạo relay Khi vận hành, có 5 bước cơ bản xảy ra khi relay được cấp điện và bị ngắt điện:

- Điện được cung cấp cho cuộn dây tạo ra từ trường

- Từ trường được chuyển thành lực cơ học bằng cách hút phần ứng

- Phần ứng động đóng/mở một hoặc nhiều tiếp điểm điện

- Các tiếp điểm cho phép chuyển mạch điện sang tải như động cơ, bóng đèn, v.v

- Sau khi điện áp cuộn bị loại bỏ, từ trường biến mất, các tiếp điểm tách ra và trở về vị trí “bình thường” của chúng

Các tiếp điểm có thể thường đóng hoặc thường mở

Trên thị trường hiện có hai loại module relay: module relay đóng ở mức thấp, khi kết nối cực âm vào chân tín hiệu thì relay sẽ đóng, và module relay đóng ở mức cao, khi kết nối cực dương vào chân tín hiệu thì relay sẽ đóng.

Relay thường có 5 chân, bao gồm 2 chân dùng để cấp nguồn và điều khiển, cùng với 3 chân còn lại kết nối với tải cần điều khiển.

COM: chân chung được nối sẵn với chân NC và hở với chân NO ở trạng thái bình thường

Chân thường hở (NO) được sử dụng để kết nối với tải khi cần tắt tải trong trạng thái chưa kích Ngược lại, chân thường đóng (NC) được áp dụng để kết nối với tải khi cần tắt tải trong trạng thái đã kích.

Giới thiệu Nguồn cung cấp

Pin Lipo (viết tắt từ Lithium Polymer) là loại pin sạc lý tưởng để dùng cung cấp năng lượng cho mô hình máy bay, trực thăng, và xe

Pin Lithium Polymer (Li-Po) sử dụng chất điện phân dạng Polymer khô, nằm giữa cực dương và cực âm, cho phép trao đổi ion âm Phương pháp này giúp pin có thể thiết kế mỏng với nhiều hình dạng và kích thước khác nhau.

Mỗi cell pin thông thường có điện áp 1,2 volt, trong khi cell pin LiPo có điện áp 3,7 volt mỗi cell và đạt 4,2 volt khi được sạc đầy Điều này cho phép nhiều cell pin kết hợp lại để tạo thành một gói pin với nhiều cell, mang lại hiệu suất cao hơn.

Hình 2.14a : Mắc nối tiếp pin lipo 3 cell

Các gói pin Lipo cho mô hình RC lớn thường có từ 2 cell trở lên mắc nối tiếp để cung cấp điện áp cao hơn, với số lượng cell có thể lên đến 6 cell hoặc nhiều hơn Để tạo điện áp 11.1v cho cặp động cơ DC, chỉ cần sử dụng 3 cell (3 cell x 3.7 volts).

Pin RC LiPo có ba ưu điểm lớn đó là:

• Pin RC LiPo nhỏ, nhẹ và có thể làm ở mọi hình dáng kích thước

• Pin RC LiPo có dung lượng cao có nghĩa là nó chứa được nhiều năng lượng trong một gói pin nhỏ

• Pin RC LiPo có dòng xả cao để cung cấp năng lượng cho động cơ điện đòi hỏi khắt khe nhất

Ngắn gọn là Pin LiPo cung cấp một năng lượng lưu trữ cao tỷ lệ với trọng lượng ở mọi hình dạng và kích cỡ

Hình 2.14b : Pin Wild Scorpion 11.1V Li-Po 3 Cell

Thông số kỹ thuật: Điện áp: 11.1V

THIẾT KẾ PHẦN CỨNG VÀ PHẦN MỀM

Sơ đồ khối hệ thống

Hình 3.1 : Sơ đồ khối hệ thống

Hệ thống xe tự hành yêu cầu có khả năng tự di chuyển toàn bộ diện tích hoạt động hình chữ nhật với bề mặt phẳng mà không cần sự điều khiển từ người dùng Xe cần duy trì hướng di chuyển ban đầu và tự điều chỉnh khi bị sai lệch Đặc biệt, thiết kế hình tròn của xe giúp hạn chế va chạm khi đổi hướng di chuyển gặp vật cản Hệ thống sử dụng pin rời Li-Po, không chỉ cung cấp nguồn năng lượng mà còn tăng tính linh hoạt và mở rộng phạm vi hoạt động của xe.

3.1.2 Hoạt động của hệ thống

Hệ thống xe hoạt động qua các giai đoạn cơ bản: Giai đoạn đầu tiên là bật công tắc nguồn, khởi động xe và thiết lập chu trình chạy Tiếp theo, trong giai đoạn thứ hai, xe sẽ tiến hành lấy góc và điều chỉnh hướng đi nếu phát hiện lệch.

Giai đoạn 3: Xe duy trì chạy thẳng ổn định đồng thời tự sửa hướng nếu lệch Giai đoạn 4: Khi gặp vật cản xe tạm dừng và xoay trái 180 độ

Giai đoạn 5: Tương tự giai đoạn 3, xe tiếp tục duy trì chạy thẳng

Giai đoạn 6: Tương tự giai đoạn 4, xe tạm dừng và xoay phải 180 độ khi gặp tường cản

Trong giai đoạn 7, cần kiểm tra xem xe đã hoàn thành đủ số vòng thiết lập hay chưa Nếu chưa, hãy lặp lại các bước 3, 4, 5 và 6 Ngược lại, nếu đã đạt đủ số lần quy định, xe sẽ kết thúc chu trình và dừng lại.

Thiết kế, tính toán hệ thống

Kit stm32f103c8t6 có dòng tiêu thụ: tối đa 150mA

Module cảm biến quang có dòng tiêu thụ: tối đa 25mA

Module la bàn số HMC5883L có dòng tiêu thụ: tối đa 100 μA

Module giao tiếp RF có dòng tiêu thụ: tối đa 22mA

Để sử dụng 2 motor DC giảm tốc gắn kèm encoder với dòng tiêu thụ tối đa 2x1200mA, cần chọn nguồn có dòng đáp ứng lớn hơn 2900mA Pin Wild Scorpion 11.1V 1500mAh với tỷ lệ xả 35C có khả năng cung cấp dòng liên tục lên tới 52.5A, hoàn toàn đáp ứng yêu cầu này Chúng ta sử dụng một mạch chuyển đổi DC-DC công suất cao để hạ áp từ 11.1V xuống 3.3V cho các module tương ứng.

Khối cảm biến bao gồm nhiều module với các chức năng riêng biệt cụ thể như sau: a Khối cảm biến la bàn số

Với tiêu chí gọn nhẹ, đơn giản và tiêu thị điện năng thấp đồng thời có sẵn trên thị trường, nhóm quyết định chọn cảm biến la bàn số

HMC5883L do hãng Honeywell sản xuất

Sản phẩm có các thông số sau thích hợp với yêu cầu hệ thống:

- Dòng tiêu thụ thấp: tối đa 100 μA

- Áp cần cung cấp phù hợp với hệ thống: 2.16V ~ 3.6V

- Kích thước nhỏ gọn: 3.0x3.0x0.9mm

- Trọng lượng rất nhẹ: 18mg

Module kết nối với kit điều khiển theo sơ đồ như sau:

Sản phẩm rất phù hợp để sử dụng trong nhà, nơi có từ tính thấp Cảm biến quang E3F2-DS30C4 được lựa chọn vì khả năng phát hiện tường cản, giúp xe đảo hướng một cách ổn định và thuận tiện Cảm biến này có phạm vi hoạt động vừa phải và thời gian phản hồi nhanh, đáp ứng tốt nhu cầu lắp đặt.

- Khoảng cách phát hiện tối đa: 30cm

- Có biến trở điều chỉnh được khoảng cách phát hiện (độ nhạy)

- Vật cản nhỏ nhất phát hiện được: 10x10mm

- Dòng tiêu thụ: tối đa 25mA

- Thời gian đáp ứng: 2.5ms

Cảm biến có trọng lượng 125g hoạt động theo phương pháp phản xạ khuếch tán, trong đó ánh sáng được truyền từ bộ phát đến vật thể và một phần ánh sáng sẽ được vật thể phản xạ ngược trở lại bộ thu của cảm biến, từ đó kích hoạt tín hiệu ra.

Người dùng có khả năng điều chỉnh ngưỡng ánh sáng cần thiết để kích hoạt đầu ra Khi ánh sáng đạt hoặc vượt qua ngưỡng này, tín hiệu sẽ được xuất ra Việc thay đổi ngưỡng ánh sáng sẽ ảnh hưởng đến khoảng cách phát hiện, có thể tăng hoặc giảm tùy thuộc vào cài đặt của người dùng.

Việc điều chỉnh ngưỡng giúp cảm biến quang Omron nhạy hơn, cho phép phát hiện các vật thể nhỏ hơn hoặc các vật trong tình trạng mờ Cảm biến này thường đi kèm với một biến trở vặn vít để dễ dàng điều chỉnh ngưỡng Một số mẫu còn tích hợp nút đặt ngưỡng (teach) để tối ưu hóa ngưỡng cho từng ứng dụng cụ thể Ánh sáng phát ra từ cảm biến theo dạng xung, với nhịp điệu xung đặc biệt giúp phân biệt giữa ánh sáng của cảm biến và ánh sáng từ các nguồn khác như ánh nắng mặt trời hoặc ánh sáng trong phòng.

Cảm biến sử dụng ngõ ra NPN thường mở, cho phép tùy chỉnh điện áp ngõ ra Việc điều chỉnh trở treo giúp tạo ra điện áp ngõ ra theo mong muốn, từ đó đơn giản hóa quá trình kết nối với hệ thống.

Khối encoder được tích hợp với động cơ DC giảm tốc, được lựa chọn dựa trên tiêu chí sẵn có trên thị trường và độ chính xác cao, nhằm hỗ trợ hiệu quả trong quá trình điều khiển Sản phẩm được chọn vì các thông số kỹ thuật phù hợp với yêu cầu sử dụng.

- 2 kênh ngõ ra A, B lệch pha nhau góc 90

- Độ Phân Giải tối đa: 334×436

3.2.3 Khối 3: Cơ cấu tải (Ứng dụng)

Khối cơ cấu tải đóng vai trò quan trọng trong việc tăng tính thực dụng cho hệ thống Nhóm thiết kế đã thực hiện việc điều khiển relay để đóng ngắt thiết bị tải, giúp đơn giản hóa quá trình thi công và chỉnh sửa Việc sử dụng một tải tượng trưng không chỉ thuận lợi mà còn đảm bảo các tính chất cần thiết của cơ cấu.

Motor 3VDC được kết nối với relay điều khiển từ kit ARM, cho phép hệ thống hoạt động hiệu quả Khi hệ thống được kích hoạt, relay sẽ đóng để điều khiển tải, mô phỏng chức năng hút bụi và quét rác trong nhà.

3.2.4 Khối 4: Giao tiếp không dây

Khối giao tiếp không dây có chức năng truyền và nhận tín hiệu với máy tính Nhóm đã lựa chọn module RF HC-11, sử dụng IC CC1101, với các thông số phù hợp với yêu cầu của hệ thống.

- Dòng tiêu thụ: tối đa 22mA

- Tần số hoạt động: lên đến 434 MHz

- Khoảng cách thu phát: 40m, có thể tối ưu thông số và antena để đạt khoảng cách trên 100m

Sử dụng IC CC1101 của Texas Instrument nên module HC-11 hoạt động rất tiết kiệm năng lượng Toàn bộ giao tiếp phần cứng với CC1101 được vi điều khiển

STMSTM8S003F3P6 đảm nhận Do đó, việc cài đặt module được thực hiện thông qua tập lệnh AT đơn giản

Hình 3.2.4 : Sơ đồ khối kết nối HC-11 với thiết bị truyền và nhận dữ liệu

3.2.5 Khối 5: Xử lý trung tâm

Khối vi điều khiển ARM stm32f103c8t6 là khối sử lý tín hiệu từ các khối còn lại nên yêu cầu của khối này như sau:

- Xử lý được dữ liệu trả về từ các khối cảm biến

- Xử lý truyền nhận dữ liệu với các module cũng như máy tính

- Xử lỹ truyền dữ liệu nhanh tới các khối vận hành

- Khối phải chạy ổn định, đủ các chân giao tiếp

Để đáp ứng các yêu cầu về bộ nhớ lớn, tốc độ nhanh và số lượng chân kết nối đa dạng, vi điều khiển cần được thiết kế với các tính năng dễ sử dụng Dựa trên những tiêu chí này, chúng ta có thể xây dựng một hệ thống phần cứng hiệu quả.

Sơ đồ nguyên lý kết nối các module với kit ARM stm32f103c8t6 được thể hiện qua sơ đồ dưới đây

L298 là một mạch điều khiển động cơ, sử dụng các đầu ra (OUT1, OUT2, OUT3, OUT4) để điều khiển hai động cơ (MOTOR1, MOTOR2) Các đầu vào (IN1, IN2) của L298 được kết nối với chân PA0 và PA1 của bộ KIT.

Một bộ Output ENCODER được nối với PB7 và PB8 Bộ còn lại được nối với PA6 và PA7 của KIT

Module HC-11 được kết nối với chân PA10 cho RX và PA9 cho TX trên KIT Trong khi đó, module HMC5883L có SDA nối với chân PB10 và SCL nối với PB11 của KIT.

Toàn bộ chương trình của hệ thống được lập trình & biên dịch trên KeilC 5 và biểu diễn qua lưu đồ sau

Hình 3.2.5b : Lưu đồ giải thuật chính

Khi bắt đầu, chương trình khởi tạo các thành phần như GPIO, TIMER, I2C, UART, la bàn số và các biến Tiếp theo, chương trình thiết lập TIMER cùng với các thông số PID Sau đó, chương trình đọc tín hiệu từ Encoder và cảm biến khoảng cách Chương trình sẽ chờ cho đến khi nút lấy góc được nhấn; khi nút này được nhấn, chương trình sẽ ghi nhận góc ban đầu và bắt đầu quá trình truyền nhận dữ liệu, tiến vào chu trình chạy.

Chương trình con thực hiện chu trình tự hành được biểu diễn như sau:

Hình 3.2.5c : Lưu đồ giải thuật chương trình con tự hành

Trong chu trình khởi động, động cơ được dừng lại để chờ, sau đó chương trình tính toán góc lệch và PID xuất xung để điều khiển động cơ quay ngược lại Tùy thuộc vào vòng lập đã được thiết lập, xe sẽ duy trì tốc độ chạy thẳng Khi phát hiện vật cản, xe sẽ đảo chiều; nếu không có vật cản, xe sẽ dừng lại để tính toán góc lệch, từ đó đưa ra góc xoay cần điều chỉnh và ra lệnh cho động cơ xoay theo góc đã tính toán Quá trình này sẽ tiếp tục cho đến khi xe gặp vật cản.

3.2.6 Khối 6: Giao tiếp máy tính

NHẬN XÉT KẾT QUẢ ĐẠT ĐƯỢC

Nhận xét kết quả điều khiển 2 động cơ DC giảm tốc

- Dải điện áp hoạt động rộng

- Nhờ có bộ hộp số giảm tốc mà lực kéo lớn giúp xe di chuyển dễ dàng

- Có encoder tích hợp sẵn giúp cái thiện độ chính xác

Động cơ hoạt động với điện áp trên 3VDC có giới hạn phần cứng, do đó khi xung PWM quá mỏng và thành phần DC quá nhỏ, động cơ sẽ không đáp ứng, gây khó khăn trong việc điều chỉnh ở các phạm vi nhỏ.

Động cơ truyền thống tạo ra từ trường biến thiên, điều này có thể ảnh hưởng đến các thiết bị xung quanh, đặc biệt là cảm biến la bàn số.

Nhận xét kết quả của cảm biến quang

- Đơn giản, dễ lắp đặt và sử dụng do chỉ cần dùng 1 ngõ ra duy nhất

- Có LED báo tích hợp sẵn giúp trực quan hơn trong quá trình thử nghiệm & vận hành

- Có biến trở giúp điều chỉnh độ nhạy để thay đổi khoảng cách phát hiện vật cản theo ý muốn

- Khoảng cách phát hiện chưa được xa

- Khó phát hiện vật cản quá nhỏ, trong suốt.

Nhận xét về kết quả của cảm biến la bàn số

- Đo được sự thay đổi về góc tương đối chính xác

- Nhỏ gọn, ít tốn điện và giao tiếp I2C quen thuộc

- Góc ban đầu có thể bị trôi trong quá trình sử dụng lâu

- Có thể bị nhiễu kết quả nếu hoạt động trong môi trường có từ trường biến thiên

Nhận xét chung về xe tự hành

- Xe có thể tự di chuyển hết diện tích trống cho trước

- Có thể nhận lệnh điều khiển thông qua giao tiếp máy tính

- Do độ ổn định của module Cảm biến la bàn số không tuyệt đối hoàn toàn nên lộ trình chạy của xe chỉ tương đối chính xác.

Hình ảnh kết quả

Một số ảnh thực tế của sản phẩm sau khi hoàn tất:

Hình 4.5a : Ảnh thực tế sản phẩm

Hình 4.5b : Ảnh thực tế sản phẩm

Mô hình xe hoàn thiện hoạt động như một hệ thống độc lập, có khả năng tự vận hành mà không cần sự can thiệp của người dùng Tuy nhiên, người dùng vẫn có thể điều khiển mô hình thông qua giao tiếp máy tính.

Hình 4.5c : Giao diện máy tính giao tiếp với kit ARM để điều khiển Giao diện máy tinh giao tiếp với hệ thống thông qua module wireless HC-11

Có nhiệm vụ điều khiển và hiển thị thông tin phản hồi từ xe.

Ngày đăng: 29/11/2021, 10:40

HÌNH ẢNH LIÊN QUAN

Hình 2.4a : Hệ thống Timer của STM32f1 [2] - Thiết kế và thi công mô hình xe tự động vệ sinh
Hình 2.4a Hệ thống Timer của STM32f1 [2] (Trang 20)
Hình 2.4b : Cách hoạt động timer sau khi thiết lập - Thiết kế và thi công mô hình xe tự động vệ sinh
Hình 2.4b Cách hoạt động timer sau khi thiết lập (Trang 21)
Hình 2.5a : Quá trình truyền nhận - Thiết kế và thi công mô hình xe tự động vệ sinh
Hình 2.5a Quá trình truyền nhận (Trang 22)
Hình 2.5b : Mô tả điều kiện Start và Stop. - Thiết kế và thi công mô hình xe tự động vệ sinh
Hình 2.5b Mô tả điều kiện Start và Stop (Trang 22)
Hình 2.5c : Cấu trúc khối I2C - Thiết kế và thi công mô hình xe tự động vệ sinh
Hình 2.5c Cấu trúc khối I2C (Trang 23)
Hình 2.5d : Kiểm lỗi trên I2C - Thiết kế và thi công mô hình xe tự động vệ sinh
Hình 2.5d Kiểm lỗi trên I2C (Trang 24)
Hình 2.6 : Cấu trúc khung truyền nhận UART - Thiết kế và thi công mô hình xe tự động vệ sinh
Hình 2.6 Cấu trúc khung truyền nhận UART (Trang 25)
Hình 2.7a : Cảm biến quang E3F-DS30C4 - Thiết kế và thi công mô hình xe tự động vệ sinh
Hình 2.7a Cảm biến quang E3F-DS30C4 (Trang 27)
Hình 2.7b : Cấu tạo chung của cảm biến vật cản - Thiết kế và thi công mô hình xe tự động vệ sinh
Hình 2.7b Cấu tạo chung của cảm biến vật cản (Trang 28)
Hình 2.8a : Cấu tạo đơn giản của mạch cầu H - Thiết kế và thi công mô hình xe tự động vệ sinh
Hình 2.8a Cấu tạo đơn giản của mạch cầu H (Trang 29)
Hình 2.8b : Mạch cầu H L298 - Thiết kế và thi công mô hình xe tự động vệ sinh
Hình 2.8b Mạch cầu H L298 (Trang 30)
Hình 2.9 : Cấu tạo chung của motor giảm tốc - Thiết kế và thi công mô hình xe tự động vệ sinh
Hình 2.9 Cấu tạo chung của motor giảm tốc (Trang 32)
Hình 2.10a : Cấu tạo của encoder từ tính - Thiết kế và thi công mô hình xe tự động vệ sinh
Hình 2.10a Cấu tạo của encoder từ tính (Trang 33)
Hình 2.10b : Nguyên lý hoạt động của encoder từ - Thiết kế và thi công mô hình xe tự động vệ sinh
Hình 2.10b Nguyên lý hoạt động của encoder từ (Trang 34)
Hình 2.10c : Encoder 334 xung - Thiết kế và thi công mô hình xe tự động vệ sinh
Hình 2.10c Encoder 334 xung (Trang 35)

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

TÀI LIỆU LIÊN QUAN

w