Thiết kế, chế tạo xe điều khiển từ xa sử dụng Arduino UNO R3 | Đồ án môn An toàn thông tin | Trường Cao đẳng nghề công nghệ cao Hà Nội
Đề tài "Thiết kế, chế tạo xe điều khiển từ xa sử dụng Arduino UNO R3" của Trường Cao đẳng nghề công nghệ cao Hà Nội được biên soạn dưới dạng PDF gồm những kiến thức và thông tin cần thiết cho môn học giúp sinh viên có định hướng ôn tập, nắm vững kiến thức môn học từ đó làm tốt trong các bài kiểm tra, bài tiểu luận, bài tập kết thúc học phần, để đạt kết quả cao cũng như có thể vận dụng tốt những kiến thức đã học vào thực tiễn cuộc sống. Mời bạn đọc đón xem!
Môn: An toàn thông tin
Trường: Trường Cao đẳng nghề công nghệ cao Hà Nội
Thông tin:
Tác giả:
Preview text:
lOMoAR cPSD| 31835026 -
ĐẠI HỌC ĐIỆN LỰC
KHOA ĐIỆN TỬ VIỄN THÔNG )
ĐỒ ÁN VI ĐIỀU KHIỂN Đề tài:
“ Thiết kế, chế tạo xe điều khiển từ xa sử dụng Arduino UNO R3”
Giảng viên hướng dẫn :
Sinh viên thực hiện : Lớp : Khóa : Hệ : Chính quy lOMoAR cPSD| 31835026 MỞ ĐẦU
Tóm tắt: Ngày nay, với sự phát triển mạnh mẽ của khoa học kỹ thuật, đặc biệt trong
lĩnh vực cơ điện tử đã tạo nên một động lực thúc đẩy và phát triển các ngành công nghiệp
khác nhằm phục vụ và đáp ứng được nhu cầu của con người trong cuộc sống. Con người
với sự trợ giúp của máy móc, những công cụ thông minh đã không phải trực tiếp làm
việc, hay những công việc mà con người không thể làm được với khả năng của mình mà
chỉ việc điều khiển chúng hay chúng làm việc hoàn toàn tự động đã mang lại những lợi
ích hết sức to lớn, giảm nhẹ và tối ưu hóa công việc. Với sự tiến bộ này đã đáp ứng được
những nhu cầu của con người trong cuộc sống hiện đại nói chung và trong sự phát triển
của khoa học kỹ thuật nói riêng.
Đối với những sinh viên điện tử chúng ta thì việc nghiên cứu, tìm hiểu các đặc tính
của các loại cảm biến, nghiên cứu thiết bị giao tiếp cảm biến trong thực tế có ý nghĩa thực
tế hết sức quan trọng. Nó không những trang bị cho chúng ta kỹ năng làm việc trong lĩnh
vực điều khiển tự động, điện tử mà còn giúp chúng ta theo kịp với sự phát triển của khoa
học kĩ thuật ngày nay khi tốt nghiệp ra trường.
Do vậy, trong đề tài ĐỒ ÁN này em xin tìm hiểu và khảo sát các đặc tính của một
hệ tự động hóa với đề tài: “Thiết kế, chế tạo xe điều khiển từ xa sử dụng Arduino
UNO R3”. Đây là cơ sở để thiết kế những hệ thống tự động hóa đơn giản, cũng như phức
tạp được ứng dụng rộng rãi trong khoa học và đời sống.
Từ khóa: Arduino UNO R3, điều khiển từ xa. lOMoAR cPSD| 31835026 LỜI CẢM ƠN
Trước hết em xin gửi lời cảm ơn chân thành đến thầy ……. là người trực tiếp
định hướng giảng dạy và hướng dẫn em từ các môn học cho đến khi hoàn thành đồ án.
Em xin gửi lời cảm ơn đến thầy cô trường Đại học Điện Lực nói chung và các
thầy cô trong Khoa Điện tử viễn thông nói riêng đã tận tình giảng dạy trang bị những
kiến thức bổ ích trong thời gian học tại trường.
Em xin cảm ơn tất cả các bạn bè đã động viên, góp ý và giúp đỡ em rất nhiều
trong quá trình học tập và thực hiện đồ án.
Trong quá trình thực hiện đồ án và làm bài báo cáo đồ án môn học, khó tránh
khỏi sai sót rất mong quý thầy cô thông cảm và bỏ qua. Đồng thời do trình độ lý luận
cùng như kinh nghiệm thực tế còn hạn chế nên bài báo cáo sẽ còn những thiếu sót, em rất
mong nhận được ý kiến đóng góp của quý thầy cô để em có thể tích lũy được thêm kinh nghiêm cho bản thân.
Em xin chân thành cảm ơn!
Hà Nội, ngày… tháng… năm 2023 Sinh viên thực hiện
Donloaded by Huy?n Hoàng (huyenhtt.unix1@gmail.com) lOMoAR cPSD| 31835026 MỤC LỤC
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI.......................................................................1
1 .1. Đưa ra chức năng của hệ thống............................................................................1 .2.
1 Phân tích bài toán..................................................................................................1
1 .2.1 Hướng thực hiện đề tài.......................................................................................1 .2
1 .2 Phạm vi đề tài.....................................................................................................1
1.3. Chức năng của sản phẩm......................................................................................1
1 .3.1 Chức năng điều khiển từ xa................................................................................1 .3
1 .2 Chức năng tránh vật cản.....................................................................................1
1.4. Kết luận chương.....................................................................................................1
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT................................................................................2
2.1. Vi điều khiển..........................................................................................................2
2.1.1. Các tính năng của Arduino UNO R3.................................................................2
2.1.2. Sơ đồ chân.........................................................................................................4
2.1.4. Bộ nhớ...............................................................................................................5
2.1.5. Các chân năng lượng.........................................................................................5
2 .2. Cảm biến siêu âm SRF05.......................................................................................7 .3
2 Điều khiển qua Bluetooth.......................................................................................8
2 .3.1. Module thu phát Bluetooth HC06......................................................................8 .3.2. 2
App điều khiển Arduino Bluetooth Controller...................................................9
2 .4. Module cảm biến dò line BFD-1000......................................................................9 .5.
2 Các linh kiện khác................................................................................................10
2.5.1. LED.................................................................................................................10
2.5.2. Điện trở...........................................................................................................11
2.5.3. Pin 18650.........................................................................................................12
2.5. Kết luận chương 2................................................................................................14 lOMoAR cPSD| 31835026
CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG...................................................................15
3.1. Sơ đồ khối, chức năng của các khối....................................................................15
3.1.1. Khối nguồn......................................................................................................15
3.1.2. Khối cảm biến.................................................................................................15
3.1.3. Khối xử lý trung tâm.......................................................................................15
3.1.4. Khối chấp hành................................................................................................15
3.2. Sơ đồ mạch nguyên lý..........................................................................................16
3.2.1. Khối nguồn......................................................................................................16
3.2.2. Khối điều khiển...............................................................................................16
3.2.3. Khối xử lý trung tâm.......................................................................................16
3.2.4. Khối cảm biến.................................................................................................17
3.2.5. Khối chấp hành................................................................................................17
3.2.7. Nguyên lý toàn mạch.......................................................................................18
3.3. Sơ đồ đấu nối........................................................................................................19
3.3.1. Sơ đồ đấu nối mạch điện.................................................................................19
3.4. Chu trình hoạt động của hệ thống......................................................................20
3.5. Sản phẩm hoàn thiện...........................................................................................20
3.6. Kết luận chương 3................................................................................................21
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI.............................................22
PHỤ LỤC........................................................................................................................23 lOMoAR cPSD| 31835026 DANH MỤC HÌNH ẢNH
Hình 2. 1. Arduino UNO R3..............................................................................................2
Hình 2. 2. Sơ đồ chân của Arduino UNO R3.....................................................................4
Hình 2. 3. Cảm biến siêu âm SR05....................................................................................7
Hình 2. 6. Giao diện app điều khiển...................................................................................9
Hình 2. 7. Module cảm biến dò line BFD-1000.................................................................9
Hình 2. 7. LED.................................................................................................................10
Hình 2. 8. Điện trở...........................................................................................................11
Hình 2. 9. Vòng màu điện trở...........................................................................................11
Hình 2. 10. Cách mắc điện trở..........................................................................................12
Hình 2. 11. Pin Lithium-ion.............................................................................................12
Hình 2. 12. Pin 18650......................................................................................................13
Hình 2. 13. Một số ứng dụng pin 16850...........................................................................13
Hình 3. 1. Sơ đồ khối của thiết bị.....................................................................................15
Hình 3. 3. Sơ đồ nguyên lý khối điều khiển.....................................................................16
Hình 3. 4. Sơ đồ nguyên lý khối xử lý trung tâm.............................................................16
Hình 3. 5. Sơ đồ nguyên lý khối cảm biến.......................................................................17
Hình 3. 6. Sơ đồ nguyên lý khối chấp hành......................................................................17
Hình 3. 8. Sơ đồ nguyên lý toàn mạch.............................................................................18
Hình 3. 9. Sơ đồ đấu nối mạch điện.................................................................................19
Hình 3. 12. Lưu đồ thuật toán..........................................................................................20
Hình 3. 13. Hình ảnh sản phẩm........................................................................................21 lOMoAR cPSD| 31835026
DANH MỤC TỪ VIẾT TẮT VÀ THUẬT NGỮ Từ viết tắt Tiếng Anh Tiếng Việt
Chuyển đổi tín tín hiệu tương tự ADC Analog-to-Digital Converter sang số AREF Analog Reference
1 chân pin trên mạch arduino COM Communication port Cổng giao tiếp DC Direct Current Điện một chiều
Electrically Erasable Programmable
Chip nhớ chỉ đọc có thể xóa được EEPROM Read-Only Memory dữ liệu GND Ground Đất (cực âm điện) I2C Inter-Intergrated Circuit Một loại Bus nối tiếp IC Integrated Circuit Chip vi mạch PWM Pulse Width Modulation Điều chế xung PWR Power Nguồn điện RXD Receive Data Nhận dữ liệu SCL Serial Clock Xung nhịp đồng hồ SDA Serial Data Dữ liệu nối tiếp SRAM Static Random-Access Memory
Bộ nhớ truy cập ngẫu nhiên tĩnh TXD Transmit Data Truyền dữ liệu VCC
Voltage Collecter to Collector
Điện thế + cho cực C của BJT
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1 .1. Đưa ra chức năng của hệ thống
Xã hội ngày càng phát triển, kéo theo nhu cầu về các thiết bị tự động và điều
khiển từ xa phục vụ cho đời sống con người. Các loại xe điều khiển từ xa đang là xu
hướng của xã hội. Cùng với đó, sự tự động cũng được đưa vào các thiết bị cho người
dung sử dụng cách tiện lợi và hiệu quả. Vì vậy, chúng em thực hiện đề tài “Thiết kế,
chế tạo xe điều khiển từ xa sử dụng Arduino UNO R3” có thể đảm nhận các chức
năng: Chức năng điều khiển từ xa, chức năng dò line, chức năng tránh vật cản.
1 .2. Phân tích bài toán
1.2.1 Hướng thực hiện đề tài
Có nhiều cách để thực hiện đề tài như sử dụng PID, cảm biến laze, sóng RF...
Nhưng ở đây nhóm sinh viên chúng em sử dụng module L298, cảm biến siêu âm giao tiếp với Arduino UNO R3.
1.2.2 Phạm vi đề tài
Trong đề tài này, chúng em dùng cảm biến siêu âm, cảm biến dò line và
module điều khiển động cơ L298 kết hợp với Arduino UNO R3 để nhận biết và tính
toán được vật cản cũng như đường đi của xe.
1 .3. Chức năng của sản phẩm
1.3.1 Chức năng điều khiển từ xa
Hiện nay, hầu hết các thiết bị của con người được tích hợp chức năng điều
khiển từ xa. Từ đó tạo ra trải nghiệm ưu việt cho người dung. Trong đề tài này, thiết bi
được điều khiển qua sóng Bluetooth nhờ app cài đặt trên điện thoại.
1.3.2 Chức năng tránh vật cản
Trên đường di chuyển của xe việc gặp vật cản là điều không thể tránh khỏi.
Tuy nhiên, người sử dụng nếu phản ứng chậm sẽ dẫn đến những sự cố không đáng có.
Vì vậy, đề tài này đã sử dụng cảm biến siêu âm để nhận biết vật cản và có cách xử lỹ
kịp thời tránh những va chạm không cần thiết.
1 .4. Kết luận chương
Chương này trình bày tổng quát về đề tài, đưa phân tích về phạm vi cũng như
hướng thực hiện đề tài. Cùng với đó đã chỉ ra các chức năng của sản phẩm có thể thực
hiện khi đã được hoàn thiện. 1
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2 .1. Vi điều khiển
Hình 2. 1. Arduino UNO R3
2.1.1. Các tính năng của Arduino UNO R3
Arduino Uno R3 là một bảng mạch vi điều khiển nguồn mở dựa trên vi điều
khiển Microchip ATmega328 được phát triển bởi Arduino.cc. Bảng mạch được trang
bị các bộ chân đầu vào/ đầu ra Digital và Analog có thể giao tiếp với các bảng mạch
mở rộng khác nhau. Mạch Arduino Uno thích hợp cho những bạn mới tiếp cận và đam
mê về điện tử, lập trình…Dựa trên nền tảng mở do Arduino.cc cung cấp các bạn dễ
dàng xây dựng cho mình một dự án nhanh nhất ( lập trình Robot, xe tự hành, điều khiển bật tắt led…).
Các thông số kỹ thuật:
- Chip điều khiển: ATmega328P
- Điện áp hoạt động: 5V
- Điện áp đầu vào khuyên dùng: 7 – 12V
- Điện áp đầu vào giới hạn: 6 – 20V
- Số chân Digital: 14 (bao gồm cả 6 chân PWM) 2 - Số chân PWM digital: 6 - Số chân Analog: 6
- Dòng điện DC trên mỗi chân I/O: 20mA
- Dòng điện DC trên chân 3.3V: 50mA
- Flash Memory: 32KB (Atmega328P) gồm 0.5KB dùng bootloader - SRAM: 2KB - EEPROM: 1KB
- Tốc độ thạch anh: 16MHz - Chiều dài: 68.6 mm - Chiều rộng: 53.4mm - Cân nặng: 25g 3
2.1.2. Sơ đồ chân
Hình 2. 2. Sơ đồ chân của Arduino UNO R3
Trên Board Arduino Uno R3 có 14 chân Digital được sử dụng để làm chân đầu
vào và đầu ra và chúng sử dụng các hàm pinMode(), digitalWrite(), digitalRead(). Giá
trị điện áp trên mỗi chân là 5V, dòng trên mỗi chân là 20mA và bên trong có điện trở
kéo lên là 20-50 ohm. Dòng tối đa trên mỗi chân I/O không vượt quá 40mA để tránh
trường hợp gây hỏng board mạch.
Ngoài ra, một số chân Digital có chức năng đặt biệt:
Serial: 0 (RX) và 1 (TX): Được sử dụng để nhận dữ liệu (RX) và truyền dữ liệu (TX) TTL.
Ngắt ngoài: Chân 2 và 3. 4
PWM: 3, 5, 6, 9 và 11 Cung cấp đầu ra xung PWM với độ phân giải 8 bit bằng hàm analogWrite ().
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Các chân này hỗ trợ giao tiếp SPI bằng thư viện SPI.
LED: Có 1 LED được tích hợp trên bảng mạch và được nối vào chân D13. Khi
chân có giá trị mức cao (HIGH) thì LED sẽ sáng và LED tắt khi ở mức thấp (LOW).
TWI/I2C: A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác.
Arduino Uno R3 có 6 chân Analog từ A0 đến A5, đầu vào cung cấp độ phân giải là 10 bit.
2.1.4. Bộ nhớ
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:
32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ
nhớ Flash của vi điều khiển. Thường thì sẽ có khoảng vài KB trong số
này sẽ được dùng cho bootloader nhưng đừng lo, bạn hiếm khi nào cần
quá 20KB bộ nhớ này đâu.
2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn
khai báo khi lập trình sẽ lưu ở đây. Bạn khai báo càng nhiều biến thì càng
cần nhiều bộ nhớ RAM. Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ
RAM lại trở thành thứ mà bạn phải bận tâm. Khi mất điện, dữ liệu trên SRAM sẽ bị mất.
1KB cho EEPROM (Electrically Eraseble Programmable Read Only
Memory): đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc và
ghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM.
2.1.5. Các chân năng lượng
GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi bạn dùng
các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau.
5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA. 5
3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là 50mA.
Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực
dương của nguồn với chân này và cực âm của nguồn với chân GND.
IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được
đo ở chân này. Và dĩ nhiên nó luôn là 5V. Mặc dù vậy bạn không được lấy
nguồn 5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn.
RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương
với việc chân RESET được nối với GND qua 1 điện trở 10KΩ. Lưu ý:
Arduino UNO không có bảo vệ cắm ngược nguồn vào. Do đó phải hết sức cẩn
thận, kiểm tra các cực âm – dương của nguồn trước khi cấp cho Arduino UNO.
Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra cho các
thiết bị khác, không phải là các chân cấp nguồn vào. Việc cấp nguồn sai vị trí
có thể làm hỏng board. Điều này không được nhà sản xuất khuyến khích.
Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp dưới
6 V có thể làm hỏng board.
Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điều khiển ATmega328.
Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của Arduino
UNO nếu vượt quá 200mA sẽ làm hỏng vi điều khiển.
Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino UNO sẽ
làm hỏng vi điều khiển.
Cường độ dòng điện qua một chân Digital hoặc Analog bất kì của Arduino
UNO vượt quá 40mA sẽ làm hỏng vi điều khiển. Do đó nếu không dùng để
truyền nhận dữ liệu, phải mắc một điện trở hạn dòng. 6
2 .2. Cảm biến siêu âm SRF05
Hình 2. 3. Cảm biến siêu âm SR05
Cảm biến siêu âm UltraSonic HY-SRF05 được sử dụng để nhận biết khoảng
cách từ vật thể đến cảm biến nhờ sóng siêu âm, cảm biến có thời gian phản hồi nhanh,
độ chính xác cao, phù hợp cho các ứng dụng phát hiện vật cản, đo khoảng cách bằng sóng siêu âm.
Cảm biến siêu âm UltraSonic HY-SRF05 có hai cách sử dụng là sử dụng cặp
chân Echo / Trigger hoặc chỉ sử dụng 1 chân Out để phát và nhận tín hiệu, cảm biến
được sử dụng phổ biến với vô số bộ thư viện và Code mẫu với Arduino. Thông số kỹ thuật:
Điện áp hoạt động: 5VDC Dòng tiêu thụ: 10~40mA Tín hiệu giao tiếp: TTL
Chân tín hiệu: Echo, Trigger (thường dùng) và Out (ít dùng). Góc quét:<15 độ
Tần số phát sóng: 40Khz
Khoảng cách đo được: 2~450cm (khoảng cách xa nhất đạt được ở điều
khiện lý tưởng với không gian trống và bề mặt vật thể bằng phẳng, trong
điều kiện bình thường cảm biến cho kết quả chính xác nhất ở khoảng cách <100cm).
Sai số: 0.3cm (khoảng cách càng gần, bề mặt vật thể càng phẳng sai số càng nhỏ).
Kích thước: 43mm x 20mm x 17mm
Khoảng cách = (thời gian * vận tốc âm thanh (340 m/s) / 2c 7
2 .3 Điều khiển qua Bluetooth
2.3.1. Module thu phát Bluetooth HC06
Hình 2. 4. Module thu phát Bluetooth HC06
Module thu phát bluetooth HC-06 ra chân hoàn chỉnh giúp dễ dàng kết nối để
thực hiện các thí nghiệm, module được thiết kế để cho thể hoạt động từ mức điện áp V3 3
=> 5V. Khi kết nối với máy tính, HC-06 được sử dụng như 1 cổng COM ảo, việc
truyền nhận với COM ảo sẽ giống như truyền nhận dữ liệu trực tiếp với UART trên module.
Lưu ý là khi thay đổi Baudrate cho COM ảo không làm thay đổi baudrate của
UART, baudrate UART chỉ có thể thay đổi bằng AT command trên module. Module
thu phát bluetooth HC-06 được setup mặc định là Slave không thể thay đổi được nên
chỉ có thể giao tiếp với các thiết bị bluetooth ở dạng master như Smart phone, HC-05
master,… hai module bluetooth được set là Slave không thể giao tiếp với nhau. Thông số kỹ thuật:
Điện áp hoạt động: 3.3 ~ 5VDC.
Điện áp giao tiếp: TTL tương thích 3.3VDC và 5VDC.
Baudrate UART có thể chọn được: 1200, 2400, 4800, 9600, 19200, 3 8400, 57600, 115200
Dải tần sóng hoạt động: Bluetooth 2.4GHz
Sử dụng CSR mainstream bluetooth chip, bluetooth V2.0 protocol standards.
Dòng điện khi hoạt động: khi Pairing 30 mA, sau khi pairing hoạt động
truyền nhận bình thường 8 mA
Kích thước của module chính: 28 mm x 15 mm x 2.35 mm Thiết lập mặc định: o Baud rate: 9600, N, 8, 1. o Pairing code: 1234. 8
2.3.2. App điều khiển Arduino Bluetooth Controller
Hình 2. 4. Giao diện app điều khiển
Ứng dụng Bộ điều khiển Bluetooth Arduino giúp điều khiển từ xa thiết bị của
bạn với Mô-đun Bluetooth và Bảng mạch Arduino. Bạn có muốn điều khiển qua
bluetooth dự án Arduino bạn đã xây dựng không? Hãy để thiết bị Android của bạn
làm điều khiển từ xa cho bất kỳ bộ điều khiển vi mô nào có mô-đun Bluetooth.
2 .4. Module cảm biến dò line BFD-1000
Hình 2. 5. Module cảm biến dò line BFD-1000
Module cảm biến dò line 5 kênh và tránh vật cản BFD-1000 được thiết kế với 5
cảm biến hồng ngoại TCRT5000 hướng xuống giúp phát hiện line, một cảm biến hồng
ngoại đặt phía trước và đi cùng với nó là một công tắc hành trình sử dụng để cảm
biến, nhận diện và tránh vật cản. Thông số kỹ thuật: 9
Điện áp hoạt động: 3.3~5VDC
Khoảng cách phát hiện: 0.5 ~ 40mm.
Ngõ ra dạng tín hiệu số dễ dàng cho vi điều khiển.
Có LED hiện thị ngõ ra cho từng cảm biến.
Tích hợp 5 cảm biến dò line TCRT5000, 1 cảm biến tránh vật cản hồng
ngoại và một công tắc hành trình báo chạm vật.
Ngõ ra gồm 7 chân tín hiệu của cảm biến dạng số và 2 ngõ vào cấp nguồn cho thiết bị.
Kích thước: 128 x 45 x 12mm.
2 .5. Các linh kiện khác 2.5.1. LED Hình 2. 6. LED a) C u t愃o
Led là tên viết tắt của Light-emitting diode – Diode bức xạ ánh sáng. Bản chất
của Led là một diode, nó chứa một chip bán dẫn có pha các tạp chất để tạo ra một tiếp
giáp P-N, kênh P chứa lỗ trống, kênh N chứa điện tử, dòng điện truyền từ Anode
(kênh P) đến Cathode (kênh N), khi điện tử lấp đầy chỗ trống nó sinh ra bức xạ ánh
sáng, các bước sóng phát ra có màu khác nhau tùy thuộc vào tạp chất trong chip bán
dẫn. Led phân thành ba loại chính theo dải công suất: cỡ nhỏ, cỡ trung bình, cỡ lớn.
b) Nguyên lý ho愃t động
Led dựa trên công nghệ bán dẫn. Hoạt động của Led giống với nhiều loại
diode bán dẫn. Khối bán dẫn loại p chứa nhiều loại lỗ trống tự do mang điện tích
dương nên khi ghép với khối bán dẫn n (chứa các điện tử tự do) thì các lỗ trống này có
xu hướng chuyển động khuyếch tán sang khối n. Cùng lúc khối p lại nhận thêm các
điện tử (điện tích âm) từ khối n chuyển sang. Kết quả là khối p tích điện âm (thiếu hụt
lỗ trống và dư thừa điện tử) trong khi khối n tích điện dương (thiếu hụt điện tử và dư
thừa lỗ trống). Ở biên giới hai bên mặt tiếp giáp, một số điện tử bị lỗ trống thu hút và
khi chúng tiến lại gần nhau, chúng có xu hường kết hợp với nhau tạo thành các 1 0
nguyên tử trung hòa. Quá trình này có thể giải phóng năng lượng dưới dạng ánh sáng
(hay các bức xạ điện từ có bước sóng gần đó).
Tùy theo mức năng lượng giải phóng cao hay thấp mà bước sóng ánh sáng phát
khác nhau (tức màu sắc của Led sẽ khác nhau). Mức năng lượng (và màu sắc của Led)
hoàn toàn phụ thuộc vào cấu trúc năng lượng của các nguyên tử chất bán dẫn.
Led thường có điện thế phân cực thuận cao hơn điốt thông thường, trong
khoảng 1,5 đến 3V. Nhưng điện thế phân cực nghịch ở Led thì không cao. Do đó Led
rất dễ bị hư hỏng do điện thế ngược gây ra.
2.5.2. Điện trở
Hình 2. 7. Điện trở a) Khái niêṃ
Điêṇtrở hiểu đơn giản là một ống dẫn điện mà trong đó mỗi điện trở lại có một
sức cản dòng riêng, khả năng cản dòng của điện trở được tính bằng đơn vị ohm(Ω).
Khi sức cản dòng càng lớn thì dòng điện chảy qua nó sẽ càng nhỏ, ngược lại, nếu sức
cản dòng của điện trở càng nhỏ thì dòng điện chảy qua lại càng lớn.
Người ta còn chế tạo thêm các loại điện trở mà giá trị ohm có thể thay đổi được
như là biến trở, chiết áp, quang trở…
b) Cách đ漃c giá tr椃
Hình 2. 8. Vòng màu điện trở 1 1
- Vòng 1 và vòng 2 chỉ giá trị hàng chục; hàng đơn vị trong giá trị điện trở.
- Vòng 3 chỉ hệ số nhân với trị số mũ của 10 dùng nhân với giá trị điện trở.
- Vòng 4 chỉ giá trị sai số của điện trở.
Trị số = (vòng 1)(vòng 2) x10(vòng 3) +sai số(vòng 4)%
- Để kiểm tra điện trở, ta chỉ cần bật đồng hồ đo về thang đo điện trở rồi đo giá
trị của điện trở đó, so sánh giá trị đo được với giá trị ghi trên điện trở.
c) Cách mắc điện trở
Có 2 cách mắc thường dùng là mặc nối tiếp và mắc song song.
Hình 2. 9. Cách mắc điện trở 2.5.3. Pin 1 8650
Hình 2. 10. Pin Lithium-ion
Pin 18650 về bản chất là loại pin Lithium-ion (Li-Ion) , chúng ta có thể bắt gặp pin
Lithium-ion trong nhiều hình dạng kích thước khác nhau, chúng là bước đột phá cho
các sản phẩm cầm tay như máy ảnh, máy cắt, máy khoan cầm tay, pin điện thoại, đèn pin, quạt cầm tay,... 1 2
Pin 18650 thuộc 1 nhóm trong các loại Pin Lithium-Ion, chúng có kích thước 18mm
x 65 mm (đường kính x chiều dài) hình trụ. Hình 2. 11. Pin 18650
Pin 18650 được sử dụng phổ bến trong các thiết bị cầm tay như: Pin sạc dự
phòng, máy khoan, máy cắt, quạt cầm tay, đèn pin, pin laptop, pin xem đạp điện xe
máy điện,… Chúng có ưu điểm nhỏ gọn, thời gian sử dụng lâu dài, có thể ghép thành
điện áp cao, và quan trọng nhất là an toàn với người dung.
Hình 2. 12. Một số ứng dụng pin 16850 1 3
2 .5. Kết luận chương 2
Nội dung chương 2 của báo cáo đã trình bày các cơ sở lý thuyết để từ đó làm
căn cứ thiết kế, chế tạo ra sản phẩm hoàn chỉnh. Nội dung chương 3 của đồ án em sẽ
trình bày chi tiết về thiết kế và chế tạo ra sản phẩm của mình. 1 4
CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG
3 .1. Sơ đồ khối, chức năng của các khối
Hình 3. 1. Sơ đồ khối của thiết b椃
3.1.1. Khối nguồn
- Chức năng: cung cấp nguồn hoạt động cho toàn bộthiết bị.
- Thiết bị sử dụng nguồn 12V một chiều lấy từ Pin 16850.
3 .1.2. Khối cảm biến
- Chức năng: Khối cảm biến có nhiệm vụ dò line, phát hiện vật cản và đưa tín
hiệu về khối xử lý trung tâm.
- Khối cảm biến sử dụng cảm biến siêu âm, module cảm biến dò line...
3.1.3. Khối xử lý trung tâm
- Chức năng: đóng vai trò đầu não của hệ thống. Tiếp nhận dữ liệu từ người sử
dụng thông qua khối điều khiển và tín hiệu vật cản và line dò được từ khối cảm biến,
từ đó đưa các tín hiệu điều khiển đến cho khối chấp hành.
- Hệthống sử dụng Arduino UNO R3 làm bộ xử lý trung tâm.
3.1.4. Khối chấp hành
- Chức năng: Khối chấp hành tiếp nhận tín hiệu từ vi điều khiển để thực hiện thao tác di chuyển. 1 5
- Khối chấp hành sử dụng 4 động cơ DC 5V. .2. 3
Sơ đồ mạch nguyên lý .2.1. 3 Khối nguồn
Khối nguồn sử dụng nguồn một chiều từ 2 pin 18650 để nuôi thiết bị.
Ngoài ra, khối nguồn có sử dụng đèn Led để thông báo nguồn.
Bộ hạ áp đã được tích hợp trên Kit Arduino UNO R3.
3.2.2. Khối điều khiển
Hình 3. 2. Sơ đồ nguyên lý khối điều khiển
Khối điều khiển sử dụng module thu phát Bluetooth HC06 để kết nối Bluetooth
điều khiển qua điện thoại.
3.2.3. Khối xử lý trung tâm
Hình 3. 3. Sơ đồ nguyên lý khối xử lý trung tâm
Khối xử lý trung tâm sử dụng Arduino UNO R3 làm vi xử lý để xử lý dữ liệu
mà người sử dụng đưa vào qua khối nút bấm cũng như giao tiếp với khối cảm biến,
sau đó điều khiển khối chấp hành và hiểwn thị thông số lên led LCD. 1 6
Bộ dao động thạch anh có tác dụng tạo xung nhịp với tần số 8MHz cho vi điều
khiển hoạt động. Hai đầu này được nối vào 2 chân XTAL1 và XTAL2 của vi điều khiển.
Bộ Reset có tác dụng đưa vi điều khiển về trạng thái ban đầu. Khi nút Reset
được ấn, điện áp 5V từ nguồn được nối vào chân Reset của vi điều khiển được chạy
thẳng xuống GND, lúc này điện áp tại chân vi điều khiển thay đổi đột ngột về 0, vi
điều khiển nhận biết được sự thay đổi này và khởi động lại trạng thái ban đầu cho hệ thống.
Bộnạp mạch có chức năng nạp chương trình cho vi điều khiển. Khi hệ thống
được đưa vào sản xuất có thể bỏ bộnạp mạch này để thu gọn mạch cũng như tiết kiêṃ chi phí.
Các bộ dao động thạch anh, bộ reset, bộ nạp mạch đã được tích hợp trên Kit Arduino UNO R3.
3.2.4. Khối cảm biến
Hình 3. 4. Sơ đồ nguyên lý khối cảm biến
Khối cảm biến sử dụng cảm biến dò line để phát hiện line và cảm biến siêu âm
để phát hiện vật cản, đồng thời để giao tiếp và truyền dữ liệu về vi điều khiển. Vi điều
khiển từ đó thực hiện các thao tác xử lý tính toán, thực hiện di chuyển theo chế độ.
3.2.5. Khối chấp hành
Hình 3. 5. Sơ đồ nguyên lý khối ch p hành 1 7
Khối chấp hành sử dụng 1 động cơ RC servo để thay đổi góc của cảm biến siêu
âm và 4 động cơ DC có hộp số để di chuyển.
3.2.7. Nguyên lý toàn mạch
Hình 3. 6. Sơ đồ nguyên lý toàn mạch 1 8
3 .3. Sơ đồ đấu nối
3.3.1. Sơ đồ đấu nối mạch điện
Hình 3. 7. Sơ đồ đ u nối m愃ch điện 1 9
3 .4. Chu trình hoạt động của hệ thống
Hình 3. 8. Lưu đồ thuật toán
3 .5. Sản phẩm hoàn thiện
Đánh giá sản phẩm hoàn thiện:
Sản phẩm đã hoàn thiện các yêu cầu của bài toán đưa ra, thực hiện đủ các chức
năng của đề bài, bao gồm: + Chức năng dò line.
+ Chức năng điều khiển qua Bluetooth.
+ Chức năng phát hiện và tránh vật cản.
Sản phẩm sau hoàn thiện đã hoạt động ổn định, hoạt động đúng và đủ các chức năng cần thiết.
Sau đây là hình ảnh sản phẩm hoàn thiện của đề tài 2 0
Hình 3. 9. Hình ảnh sản phẩm
3 .6. Kết luận chương 3
Chương 3 của bài báo cáo đã trình bày chi tiết về quá trình thiết kế mạch
nguyên lý, mạch in, kết quả sản phẩm và quá trình thực nghiệm thiết bị. Kết quả
hoạt động của sản phẩm đã đạt được yêu cầu đề ra. 2 1
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 1. Kết luận
Đề tài đã thực hiện được đúng và đủ các chức năng như mục tiêu ban đầu đã đề
ra. Mặc dù kích thước thiết bị hiện tại vẫn còn khá to, nhưng khi được đưa vào sản
xuất, phần mạch điện có thể thu nhỏ lại hơn nữa nhờ vào sử dụng linh kiện dán, dùng
cả 2 mặt của tấm phíp đồng,…
Trong suốt quá trình nghiên cứu và thực hiện đề tài, em đã gặp phải không ít
những khó khăn như việc tìm hiểu những linh kiện, những thiết bị như giao tiếp cảm
biến dò line, lập trình Arduino.
Tuy nhiên, sau khi đã hoàn thành được đề tài, em nhận thấy em đã có cơ hội
được mài dũa thêm khả năng tư duy sáng tạo, thiết kế và thi công mạch điện. Bên
cạnh đó, em còn được trang bị thêm các kiến thức về chuyên ngành cơ điện tử.
2. Hướng phát triển của đề tài
Đề tài có thể được phát triển thêm tính năng và thu gọn về mặt kích thước để
có thể triển khai lắp đặt ngoài thực tế. 2 2 PHỤ LỤC
Code chương trình vi điều khiển: # include # include # include
SoftwareSerial hc06(2, 3); //TX HC06 - RX 2, RX HC06 - TX 3 //SRF05////// int TRIG = 6; int ECHO = 7; //L298/////// int ENA = 5; int IN1 = 8; int IN2 = 9; int IN3 = 13; int IN4 = 12; int ENB = 11; / /SERVO////// Servo SERVO; //////////// / int time = 0; int KC = 0; //khoảng cách int KCtrai = 0; int KCphai = 0; int KCtruoc = 0; int MODE = 9; int chedo = 1; 2 3 //do line int S1 = A0; int S2 = A1; int S3 = A2; int S4 = A3; int S5 = A4; // int line[5] = { 0 }; char dieu_khien; /* IN1 HIGH -> TIEN TRAI IN2 HIGH -> LUI TRAI IN3 HIGH -> LUI PHAI IN4 HIGH -> TIEN PHAI * / long last = 0; void setup() { hc06.begin(9600); Serial.begin(9600); SERVO.attach(10); pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); pinMode(ENA, OUTPUT); pinMode(ENB, OUTPUT); pinMode(TRIG, OUTPUT); pinMode(ECHO, INPUT); pinMode(MODE, INPUT); 2 4 analogWrite(ENA, 200); analogWrite(ENB, 200); SERVO.write(90); millis(); } void loop() { if (!MODE) { chedo = 2 - chedo; while (!MODE) ; }
if (hc06.available() > 0) { dieu_khien = hc06.read(); Serial.println(dieu_khien); switch (dieu_khien) { case 'T': chedo = 0; break; case 'S': chedo = 1; break; case 'C': chedo = 2; break; case 'F': if(chedo == 1) dithang(); break; case 'B': 2 5 if(chedo == 1) dilui(); break; case 'L': if(chedo == 1) quaytrai(); break; case 'R': if(chedo == 1) quayphai(); break; case '0': if(chedo == 1) resetdongco(); break; } } if (chedo == 0) { AUTO();
Serial.println("Chế độ tự động chạy"); } else if(chedo == 2){ DO_LINE();
Serial.println("Chế độ dò line"); } Serial.println(chedo); } void DK_Bluetooth() {
if (hc06.available() > 0) { dieu_khien = hc06.read(); Serial.println(dieu_khien); switch (dieu_khien) { 2 6 case 'F': dithang(); break; case 'B': dilui(); break; case 'L': quaytrai(); break; case 'R': quayphai(); break; case '0': resetdongco(); break; } } } void servo() { SERVO.write(90); delay(500); SERVO.write(0); delay(500); SERVO.write(180); delay(500); } void dataline() { 2 7 line[0] = digitalRead(S1); line[1] = digitalRead(S2); line[2] = digitalRead(S3); line[3] = digitalRead(S4); line[4] = digitalRead(S5); Serial.println(line[0]); Serial.println(line[1]); Serial.println(line[2]); Serial.println(line[3]); Serial.println(line[4]); } void AUTO() { DOKC(); if (KC > 15 || KC == 0) { dithang(); } else { resetdongco(); delay(300); dotrai(); DOKC(); KCtrai = KC; dophai(); DOKC(); KCphai = KC;
if (KCphai < 15 && KCtrai < 15) { dilui(); delay(300); 2 8 resetdongco(); delay(300); } else { if (KCphai >= KCtrai) { dilui(); delay(300); resetdongco(); delay(300); quayphai(); delay(500); resetdongco(); delay(300);
} else if (KCphai < KCtrai) { dilui(); delay(300); resetdongco(); delay(300); quaytrai(); delay(500); resetdongco(); delay(300); } } } } void DO_LINE() { line[0] = digitalRead(S1); 2 9 line[1] = digitalRead(S2); line[2] = digitalRead(S3); line[3] = digitalRead(S4); line[4] = digitalRead(S5);
if (line[0] == LOW && line[1] == HIGH && line[2] == HIGH && line[3] ==
HIGH && line[4] == HIGH) { analogWrite(ENA, 170); analogWrite(ENB, 170); quaytrai(); }
if (line[0] == LOW && line[1] == LOW && line[2] == HIGH && line[2] == HIGH
& & line[4] == HIGH) { analogWrite(ENA, 170); analogWrite(ENB, 170); quaytrai(); }
if (line[0] == LOW && line[1] == LOW && line[2] == LOW && line[3] == HIGH
& & line[4] == HIGH) { analogWrite(ENA, 170); analogWrite(ENB, 170); quaytrai(); }
if (line[0] == HIGH && line[1] == LOW && line[2] == LOW && line[3] == LOW
& & line[4] == HIGH) { analogWrite(ENA, 200); analogWrite(ENB, 200); dithang(); }
if (line[0] == HIGH && line[1] == HIGH && line[2] == LOW && line[3] == LOW && line[4] == LOW) { 3 0 analogWrite(ENA, 170); analogWrite(ENB, 170); quayphai(); }
if (line[0] == HIGH && line[1] == HIGH && line[2] == HIGH && line[3] ==
LOW && line[4] == LOW) { analogWrite(ENA, 170); analogWrite(ENB, 170); quayphai(); }
if (line[0] == HIGH && line[1] == HIGH && line[2] == HIGH && line[3] ==
HIGH && line[4] == HIGH) { analogWrite(ENA, 200); analogWrite(ENB, 200); quayphai(); } } void dotrai() { SERVO.write(180); delay(1000); DOKC(); SERVO.write(90); } void dophai() { SERVO.write(0); delay(500); DOKC(); 3 1 SERVO.write(90); } void reset() { SERVO.write(90); } void dithang() { resetdongco(); digitalWrite(IN1, HIGH); digitalWrite(IN4, HIGH); } void dilui() { resetdongco(); digitalWrite(IN2, HIGH); digitalWrite(IN3, HIGH); } void resetdongco() { digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); } void quaytrai() { resetdongco(); digitalWrite(IN2, HIGH); 3 2 digitalWrite(IN4, HIGH); } void quayphai() { resetdongco(); digitalWrite(IN1, HIGH); digitalWrite(IN3, HIGH); } void retrai() { resetdongco(); digitalWrite(IN3, HIGH); } void rephai() { resetdongco(); digitalWrite(IN1, HIGH); } void DOKC() { digitalWrite(TRIG, 0); delayMicroseconds(2); digitalWrite(TRIG, 1); delayMicroseconds(10); digitalWrite(TRIG, 0); time = pulseIn(ECHO, HIGH); KC = int(time / 2 / 29.412); if (KC >= 70) { KC = 70; } Serial.println(KC); } 3 3
TÀI LIỆU THAM KHẢO Tiếng Việt: [
1] Nguyễn Viết Nguyên, Giáo trình Linh kiêṇđiêṇtử, Nhà xuất bản giáo dục ViêṭNam, 2010, tr. 4-22.
[2] Vũ Đức Lung, Phan Đình Duy, Lê Quang Minh, Giáo trình Vi điều khiển,
Nhà xuất bản Đại học Quốc gia – Hồ Chí Minh, 2016, tr. 10-25. Tiếng Anh:
[3] Richard Blum, Arduino Programming in 24 Hours, Pearson Education, 2 015, pp. 22-39.
[ 4] John Morton, AVR: An Introductory Course, Newnes, 2002, pp.153-157. [5]
Leonard S.Lilly, Braunwald’s Heart Disease Review & Assessment, 10th edition, 2016, pp. 34-44. 3 4