intTypePromotion=1
ADSENSE

Tóm tắt đồ án tốt nghiệp Công nghệ điện tử truyền thông: Thiết kế và thi công robot dò đường áp dụng thuật toán PID

Chia sẻ: Trạc Thanh | Ngày: | Loại File: PDF | Số trang:29

38
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Đề tài nghiên cứu đã trình bày tổng quan về robot dò đường; thuật toán PID sử dụng trong robot dò đường; thiết kế và chế tạo robot dò đường sử dụng thuật toán PID. Mời các bạn cùng tham khảo nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Tóm tắt đồ án tốt nghiệp Công nghệ điện tử truyền thông: Thiết kế và thi công robot dò đường áp dụng thuật toán PID

  1. -1- PHẦN MỞ ĐẦU Ngày nay, với những ứng dụng của khoa học kỹ thuật tiên tiến, thế giới của chúng ta đã và đang ngày một thay đổi, văn minh và hiện đại hơn. Sự phát triển của kỹ thuật điện tử đã tạo ra hàng loạt những thiết bị với các đặc điểm nổi bật như sự chính xác cao, tốc độ nhanh, gọn nhẹ là những yếu tố rất cần thiết góp phần cho hoạt động của con người đạt hiệu quả cao. Các bộ điều khiển sử dụng vi điều khiển tuy đơn giản nhưng để vận hành và sử dụng được lại là một điều rất phức tạp. Các bộ vi điều khiển theo thời gian cùng với sự phát triển của công nghệ bán dẫn đã tiến triển rất nhanh, từ các bộ vi điều khiển 4 bit đơn giản đến các bộ vi điều khiển 32 bit, rồi sau này là 64 bit. Điện tử đang trở thành một ngành khoa học đa nhiệm vụ. Điện tử đã đáp ứng được những đòi hỏi không ngừng từ các lĩnh vực công – nông – lâm – ngư nghiệp cho đến các nhu cầu cần thiết trong hoạt động đời sống hằng ngày. Robot có vai trò rất quan trọng trong đời sống hiện nay đặc biệt là những ứng dụng của nó trong công nghiệp, sản xuất kinh tế, quốc phòng…. Vì vậy em chọn đề tài “Thiết kế và thi công robot dò đường áp dụng thuật toán PID” để làm đồ án tốt nghiệp. Mặc dù đã rất cố gắng thiết kế và làm mạch nhưng do thời gian ngắn và năng lực còn hạn chế nên mạch vẫn còn những sai sót. Em mong thầy (cô) giáo góp ý để em sớm hoàn thành đồ án này. Em xin chân thành cảm ơn!
  2. -2- CHƢƠNG 1: TỔNG QUAN ROBOT DÒ ĐƢỜNG 1.1 Tổng quan về ứng dụng vi điều khiển 1.2 Giới thiệu về robot dò đƣờng 1.2.1 Giới thiệu Ngày nay, khoa học kĩ thuật càng ngày càng phát triển, không chỉ phát triển ở một nhóm nước ở châu âu như trước đây mà lan rộng ra toàn cầu. Một trong những bước tiến của khoa học đáng kể đến là sự xuất hiện và ra đời của robot - những bộ máy thông minh. Robot thực ra đó là những máy móc được con người chế tạo từ nhiều vật liệu khác nhau, nhưng chủ yếu là những vật liệu dẫn điện. Gọi là những máy móc thông minh vì robot có thể làm những công việc thay thế con người từ những công việc đơn giản nhất cho đến những công việc phức tạp. Có thể hiểu cấu trúc robot như sau: Robot gồm có hai phần: + Phần cứng: là phần cấu tạo nên cấu trúc hoạt động của robot (có thể xem là phần ta có thể thấy bằng mắt thường). + Phần mềm: là phần chương trình được lập trình viên viết và nạp vào robot nhằm điều khiển robot hoạt động độc lập (có thể xem đây là phần không thể nhìn thấy bằng mắt thường). Nhận thức được tầm quan trọng của robot đối với đời sống ngày nay chúng em đã mạnh dạn chế tạo robot dò đường - một dạng của robot. Robot dò đường là loại robot có cấu tạo như một loại xe có thể tự động nhận dạng và chạy theo một đường đi có sẵn và tự tính toán đường đi để tới đích mà không cần người điều khiển nhờ chương trình được nạp sẵn do người lập trình viết nên. Robot chúng em dò theo những vạch đường và ở đây là vạch đen trên nền trắng. Hình 1.1 Sân chạy robot
  3. -3- Trong đó, những đường thẳng đen là những vạch robot dò đường đi. Còn phần sân là một màu trắng đối lập với vạch đen nhằm để robot không bị nhiễu khi dò đường. Sở dĩ như vậy vì cảm biến trong robot nhận dạng và phát hiện vạch đen. 1.2.2 Hoạt động Sản phẩm là một chiếc xe tự động có chức năng tự di chuyển đến điểm mong muốn trên sân. Với các chế độ 1,2.. chiếc xe có thể thực hiện được đa dạng trong việc di chuyển và có nhiều hướng phát triển thêm sau này. Hình 1.2 Quang trở Khi có ánh sáng thì điện trở của quang trở sẽ giảm và ngược lại, điện trở của nó thay đổi cỡ từ 5k (khi có ánh sáng) đến 100k (không có ánh sáng), ta sử dụng 2 led phát làm nguồn sáng cho nó. Khi gặp vạch trắng, ánh sáng sẽ phản xạ lên quang trở làm điện trở nó giảm xuống và khi gặp nền đen thì ánh sáng sẽ khó phản xạ nên quang trở nhận ít ánh sáng nên trở nó tăng. Từ đó dựa vào 8 quang trở, robot có thể phân biệt được vạch trắng (dưới sự hỗ trợ của opamp so sánh). Hình 1.3 Nguyên lý hoạt động của quang trở Qua opam so sánh tín hiệu nhận được được gửi về mạch xử lý trung tâm, ở đây Arduino Uno R3 xử lý tính hiệu và đưa ra các điều khiển tùy vào người lập trình. 1 2 3 4 5 6 7 8 Hình 1.4 Cách bố trí cảm biến Dựa vào nững nhận biết vạch của cảm biến mà từ đó xe có thể rẽ trái, rẽ phải.
  4. -4-  Để rẽ trái: cảm biến 5,6 có tính hiệu hoặc cảm biến 5,6,7 có tính hiệu. Khi rẻ trái động cơ trái chạy chậm lại động cơ phải chạy nhanh hơn. Khi rẻ trái ở ngã tư động cơ phải quay thuận,động cơ trái quay ngược.  Để rẽ phải: cảm biến 3,4 có tính hiệu hoặc cảm biến 2,3,4 có tính hiệu. Khi rẻ phải động cơ phải chạy chậm, động cơ trái chạy nhanh hơn. Khi rẻ phải ở ngã tư động cơ trái quay thuận, động cơ phải quay ngược.  Để chạy thẳng: hai cảm biến 4,5 có tính hiệu. Hai động cơ trái phải chạy cùng tốc độ.  Nhận biết số ngã tư 1 hoặc 8 cảm biến đồng thời có tính hiệu. 1.3 Ứng dụng robot dò đƣờng - Ứng dụng trong cuộc sống hằng ngày: chúng ta có thể chế tạo máy hút bụi tự động từ một robot mini gắn một máy hút bụi nhỏ ở trên, robot sẽ tự động di chuyển trong nhà đồng thời máy hút bụi cũng hoạt động sẽ làm sạch bụi bẩn dưới mặt sàn nhà. - Ứng dụng trong công nghiệp: chế tạo một robot vận chuyển hàng hóa trên tuyến đường cố định, dựa vào khả năng di chuyển theo vạch của robot ta vạch một đường đi từ xưởng sản xuất A sang xưởng sản xuất B từ đó robot co thể chở hàng hóa đi theo đường đã vật từ xưởng sản xuất A sang xưởng sản xuất B và ngược lại. - Ứng dụng trong quân sự: chế tạo những robot dò mìn, hiện nay khoa học đã phát triển hơn nhiều robot có khả năng di chuyển dựa vào việc xử lý ảnh do robot chụp lại, từ đó robot có thể tìm được đường đi và phát hiện ra mìn,vật cần tìm…
  5. -5- CHƢƠNG 2: THIẾT KẾ VÀ TÌM HIỂU LINH KIỆN CỦA HỆ THỐNG 2.1 Yêu cầu đề tài 2.2 Giải pháp thiết kế 2.2.1 Sơ đồ khối Để thực hiện được thiết kế và chế tạo robot dò đường sử dụng thuật toán PID em đưa ra sơ đồ thiết kế như sau: Hình 2.1 Sơ đồ khối robot dò đường 2.2.2 Phân tích chức năng các khối - Khối cấp nguồn: Khối cấp nguồn 5VDC có chức năng cấp nguồn 5V cho các khối có thể hoạt động được. Khối cấp nguồn 12VDC có chức năng cấp nguồn 12V cho khối điều khiển động cơ có thể hoạt động được. - Khối cảm biến: Sử dụng module cảm biến dò đường để nhận tín hiệu từ bên ngoài xong chuyển tín hiệu sang khối so sánh. - Khối so sánh: Nhận tín hiệu từ khối cảm biến, so sánh và khếch đại tín hiệu để đưa ra mức logic 0 tương ứng với trạng thái có vạch và mức logic 1 tương ứng với trạng thái không vạch rồi chuyển tín hiệu cho khối điều khiển trung tâm xử lý. - Khối điều khiển trung tâm: Sử dụng Arduino Uno R3, nhận tín hiệu từ khối so sánh rồi tính toán để xác định trạng thái robot đang di chuyển và xuất ra tín hiệu xung chuyển qua khối điều
  6. -6- khiển động cơ. - Khối điều khiển động cơ: Sử dụng module L298 để nhận tín hiệu từ khối điều khiển trung tâm rồi xử lý tín hiệu để điều hướng xe di chuyển đúng. 2.2.3 Nguyên lý hoạt động của hệ thống Tín hiệu từ cảm biến được đưa qua mạch so sánh và khếch đại tín hiệu để đưa ra mức logic “0” ứng với trạng thái có vạch và mức logic “1” ứng với trạng thái không có vạch. Dựa vào tín hiệu từ khối cảm biến, khối điều khiển trung tâm sẽ tính toán để xác định trạng thái robot đang di chuyển và xuất ra tín hiệu xung PWM để điều khiển các động cơ thông qua mạch điều khiển động cơ sử dụng IC L298. Việc đó sẽ giúp robot tự di chuyển theo quỹ đạo xác định trước. Điều này giúp cho robot có khả năng dò đường một cách chính xác và hiệu quả. Hiện nay, thị trường có rất nhiều loại cảm biến khác nhau. Chúng giúp cho robot có khả năng dò đường một cách chính xác và hiệu quả như, cảm biến la bàn điện từ, cảm biến tiếp xúc, cảm biến quang, bộ giải mã encoder, hệ thống định vị toàn cầu GPS, camera quan sát kết hợp công nghệ xử lý ảnh… Trong phạm vi bài báo này, tác giả sử dụng các cặp cảm biến quang được đặt cạnh nhau theo hàng ngang dưới thân của robot, vì robot thực nghiệm di chuyển theo vạch kẻ màu đen trên nền màu trắng. Nguyên lý hoạt động của mạch cảm biến thu phát quang dựa trên sự hấp thụ và phản xạ ánh sáng của các màu sắc khác nhau của nền và đường đi. Vạch màu trắng có khả năng phản xạ ánh sáng tốt hơn vạch màu đen. Khi đó, quang trở sẽ nhận được các tia sáng phản xạ có cường độ lớn làm cho giá trị điện trở giảm khá nhiều, dẫn đến điện áp trên quang trở là Vmin sẽ thấp. Ngược lại, vạch màu đen có khả năng phản xạ ánh sáng kém hơn vạch màu trắng. Khi đó, quang trở nhận được các tia sáng phản xạ có cường độ thấp làm cho giá trị điện trở của quang trở giảm không đáng kể, dẫn đến điện áp trên quang trở lúc này là Vmax sẽ cao. Hình 3.b thể hiện sơ đồ mạch nguyên lý của cảm biến. Điện áp trên biến trở Vref, được tính theo công thức (1), dùng để so sánh với điện áp từ quang trở để chuyển đổi thành các mức logic 0 tương ứng với 0Vdc hoặc mức logic 1 tương ứng với 5Vdc mà vi điều khiển có thể hiểu được. a) Nguyên lý hoạt động (b)Sơ đồ mạch nguyên lý Hình 2.2 Mạch cảm biến LED - quang trở
  7. -7- Khối điều khiển động cơ có nhiệm vụ chuyển đổi tín hiệu điều khiển từ khối điều khiển trung tâm thành tín hiệu điện áp để thay đổi tốc độ và chiều quay của động cơ. Trên thực tế, rất nhiều mạch điều khiển động cơ có thể đảm nhận cả hai nhiệm vụ này như: mạch cầu H dùng BJT hoặc FET, mạch 1 FET + 1 relay, IC 298, IC TD18200… Tùy vào ứng dụng cụ thể, với các giá trị dòng áp theo yêu cầu mà lựa chọn mạch điều khiển động cơ cho phù hợp. Trong bài báo này, tác giả sử dụng IC L298 để thiết kế và chế tạo cho mạch điều khiển động cơ. IC này được tích hợp 2 mạch cầu H, có thể hoạt động ở điện áp tối đa 46Vdc và dòng điện định mức tổng cộng là 5A. Hơn nữa, L298 có khả năng đảo chiều quay và thay đổi tốc độ quay của động cơ một cách dễ dàng bằng cách sử dụng phương pháp PWM. Sơ đồ mạch nguyên lý của khối điều khiển động cơ được thiết kế như hình 2.3. Hình 2.3 Mạch điều khiển motor sử dụng L298 2.3 Lựa chọn linh kiện 2.3.1 Khối điều khiển 2.3.1.1 Giới thiệu chung Arduino Arduino đã và đang được sử dụng rất rộng rãi trên thế giới, và ngày càng chứng tỏ được sức mạnh của chúng thông qua vô số ứng dụng độc đáo của người dùng trong cộng đồng nguồn mở (open- source). Tuy nhiên tại Việt Nam Arduino vẫn còn chưa được biết đến nhiều. Arduino cơ bản là một nền tảng mẫu mở về điện tử (open-source electronic sprototyping platform) được tạo thành từ phần cứng lẫn phần mềm. Về mặt kỹ thuật có thể coi Arduino là 1 bộ điều khiển logic có thể lập trình được. Đơn giản hơn, Arduino là một thiết bị có thể tương tác với ngoại cảnh thông qua các cảm biền và hành vi được lập trình sẵn. Với thiết bị này, việc lắp ráp và điều khiển các thiết bị điện tử sẽ dễ dàng hơn bao giờ hết. Arduino được phát triển nhằm đơn giản hóa việc thiết kế, lắp ráp linh kiện điện tử cũng như lập trình trên vi xử lí và mọi người có thể tiếp cận dễ dàng hơn với thiết bị điện tử mà không cần nhiều về kiến thức điện tử và thời gian. Sau đây là nhưng thế mạnh của Arduino so với các nền tảng vi điều khiển khác: - Chạy trên đa nền tảng: Việc lập trình Arduino có thể thể thực hiện trên các hệ điều hành khác nhau như Windows, Mac Os, Linux trên Desktop, Android trên di động. - Ngôn ngữ lập trình đơn giản dễ hiểu.
  8. -8- - Nền tảng mở: Arduino được phát triển dựa trên nguồn mở nên phần mềm chạy trên Arduino được chia sẻ dễ dàng và tích hợp vào các nền tảng khác nhau. - Mở rộng phần cứng: Arduino được thiết kế và sử dụng theo dạng module nên việc mở rộng phần cứng cũng dễ dàng hơn. - Đơn giản và nhanh: Rất dễ dàng lắp ráp, lập trình và sử dụng thiết bị. - Dễ dàng chia sẻ: Mọi người dễ dàng chia sẻ mã nguồn với nhau mà không lo lắng về ngôn ngữ hay hệ điều hành mình đang sử dụng. Arduino có rất nhiều module, mỗi module được phát triển cho một ứng dụng. Về mặt chức năng, các bo mạch Arduino được chia thành hai loại, loại bo mạch chính có chip Atmega và loại mở rộng thêm chức năng cho bo mạch chính. Các bo mạch chính về cơ bản là giống nhau về chức năng, tuy nhiên về mặt cấu hình như số lượng I/O, dung lượng bộ nhớ, hay kích thước có sự khác nhau. Một số bo có trang bị thêm các tính năng kết nối như Ethernet và Bluetooth. Các bo mở rộng chủ yếu mở rộng thêm một số tính năng cho bo mạch chính. Ví dụ như tính năng kết nối Ethernet, Wireless, điều khiển động cơ. 2.3.1.2 Bo mạch Arduino Uno R3 Sử dụng chip AVR Atmega328 của Atmel. Mạch arduino được lắp ráp từ các linh kiện dễ tìm và hướng đến đối tượng người dùng đa dạng. Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là Atmega8, Atmega168, Atmega328. Bộ não này có thể xử lí những tác vụ đơn giản như điều khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo nhiệt độ, độ ẩm và hiển thị lên màn hình LCD,… hay những ứng dụng khác. Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V. Thường thì cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu không có sẵn nguồn từ cổng USB. Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, sẽ làm hỏng Arduino UNO. Hình 2.4 Arduino UNO R3 Bảng 2. 1 Đặc điểm kỹ thuật Arduino Uno R3
  9. -9- Vi điều khiển Atmega328 (họ 8bit) Điện áp hoạt động 5V – DC (chỉ được cấp qua cổng USB) Tần số hoạt động 16 MHz Dòng tiêu thụ 30mA Điện áp vào khuyên dùng 7-12V – DC Điện áp vào giới hạn 6-20V – DC Số chân Digital I/O 14 (6 chân PWM) Số chân Analog 6 (độ phân giải 10bit) Dòng tối đa trên mỗi chân I/O 30 mA Dòng ra tối đa (5V) 500 mA Dòng ra tối đa (3.3V) 50 mA Bộ nhớ flash 32 KB (Atmega328) với 0.5KB dùng bởi bootloader SRAM 2 KB (Atmega328) EEPROM 1 KB (Atmega328) Chức năng từng chân: GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi 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. 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 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Ω. Các cổng vào/ra: Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển Atmega328 (mặc định thì các điện trở này không được kết nối). Một số chân digital có các chức năng đặc biệt như sau: 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này. Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dây. Nếu không cần giao tiếp Serial, không nên sử dụng 2 chân này nếu không cần thiết Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite(). Nói một cách đơn giản, có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như
  10. - 10 - những chân khác. Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác. LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút Reset, sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối với chân số 13. Khi chân này được người dùng sử dụng, LED sẽ sáng. Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với chân AREF trên board, có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog. Tức là nếu cấp điện áp 2.5V vào chân này thì có thể dùng các chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit. Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác. Atmega328 là một chíp vi điều khiển được sản xuất bời hãng Atmel thuộc họ MegaAVR có sức mạnh hơn hẳn Atmega8. Atmega 328 là một bộ vi điều khiển 8 bít dựa trên kiến trúc RISC bộ nhớ chương trình 32KB ISP flash có thể ghi xóa hàng nghìn lần, 1KB EEPROM, một bộ nhớ RAM vô cùng lớn trong thế giới vi xử lý 8 bít (2KB SRAM) Hình 2.5 Vi xử lý ATmega328 Hình 2.6 Sơ đồ chân ATmega328 Các thông số chính của vi điều khiển Atmega328: - Bộ vi xử lý. - Giao diện SPI đồng bộ. - Kiến trúc: AVR 8bit. - Xung nhịp lớn nhất: 20Mhz.
  11. - 11 - - Bộ nhớ chương trình (FLASH): 32KB. - Bộ nhớ EEPROM: 1KB. - Điện áp hoạt động rộng: 1.8V – 5.5V. - Số timer: 3 timer gồm 2 timer 8-bit và 1 timer 16-bit. - Số kênh xung PWM: 6 kênh (1timer 2 kênh. 2.3.2 Module điều khiển động cơ L293D IC L293D là một IC tích hợp nguyên khối gồm 2 mạch cầu H bên trong. Với điện áp làm tăng công suất đầu ra từ 5V – 47V , dòng lên đến 4A, L293 rất thích hợp trong những ứng dụng công suất nhỏ như động cơ DC loại vừa . 2.3.2.1 Đặc điểm của module điều khiển động cơ L293D Hình 2.7 Module L293D Module điều khiển động cơ L293 là một shield mở rộng cho các board arduino, dùng để điều khiển các loại động cơ DC, động cơ bước và động cơ servo. Module được thiết kế gọn gàng, đẹp mắt và tương thích hoàn toàn với các board Arduino: arduino uno r3, arduino leonardo, arduino mega2560, giúp bạn có thể sử dụng và điều khiển một cách dễ dàng và nhanh chóng. Module điều khiển động cơ L293 sử dụng 2 IC cầu H L293D hoàn chỉnh với các chế độ bảo vệ và 1 IC logic 74HC595 để điều khiển các động cơ. Module có thể điều khiển nhiều loại motor khác nhau như step motor, servo motor, motor DC, với mức áp lên đến 36V, dòng tối đa 600mA cho mỗi kênh điều khiển. lại các dòng điện cảm ứng từ việc khởi động/ tắt động cơ. 2.3.2.2 Thông số kỹ thuật của module điều khiển động cơ L293D Điện áp làm việc : 9~24V ( nên dùng 12V cho ổn định) Dòng không tải: 10mA 2 jack cắm điều kiển 2 động cơ 4 ngõ ra điều kiển 4 động cơ độc lập Mạch tích hợp điện trở nối GND giúp cho mạch không tự chạy khi nối board 2.3.2.3 Chân kết nối của module điều khiển động cơ L293D 4 chân INPUT: IN1, IN2, IN3, IN4 được nối lần lượt với các chân 5, 7, 10, 12 của L298. Đây là các chân nhận tín hiệu điều khiển. 2 jack cắm điều khiển 2 động cơ RC servo. 4 ngõ ra điều khiển đến 4 động cơ DC độc lập.
  12. - 12 - 2 động cơ step motor loại đơn cực (unipolar) hoặc lưỡng cực (bipolar) Mạch tích hợp điện trở nối GND giúp cho không tự chạy khi khởi động board. Các chân mà Module điều khiển động cơ L293 sử dụng là: Chân điều khiển 2 RC servo được kết nối với chân số 9 và 10. Nguồn cung cấp được lấy trực tiếp từ board Arduino Motor 1 nối với chân 11 Motor 2 nối với chân 3 Motor 3 nối với chân 5 Motor 4 nối với chân 6 Chân 4, 7, 8, 12 dùng điều khiển motor thông qua IC 74HC595 Cần lưu ý đến cách điều khiển chiều quay với L293D: Khi ENA = 0: Động cơ không quay với mọi đầu vào. Khi ENA = 1: 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ì. 2.3.3 Module cảm biến hông ngoại TCRT5000 Hình 2.8 Chân kết nối RC522 2.3.3.1 Giới thiệu module cảm biến hồng ngoại TCRT5000 Cảm biến dò line có thể dùng để phát hiện line trắng và đen. Mạch sử dụng cảm biến hồng ngoại TCRT5000 với khoảng cách phát hiện từ 1~25mm giúp dễ dàng trong quá trình cài đặt module lên thiết bị. Có thể dễ dàng điều chỉnh độ nhạy của cảm biến qua biến trở được thiết kế sẵn trên board. Mạch thích hợp dùng cho các thiết bị cần di chuyển theo line, thiết bị phát hiện màu trắng, đen. 2.3.3.2 Thông số kỹ thuật của module cảm biến hồng ngoại TCRT5000 Nguồn cung cấp: 5V. Mạch sử dụng chip so sánh LM393. Dòng điện tiêu thụ:
  13. - 13 - Mức tín hiệu ngõ ra: TTL. Kích thước: 3.2 x 1.4mm. 2.3.4 Động cơ giảm tốc DC Hình 2.9 Động cơ DC giảm tốc 2.3.4.1 Giới thiệu động cơ DC giảm tốc Động cơ DC giảm tốc V1 là loại được lựa chọn và sử dụng nhiều nhất hiện nay cho các thiết kế Robot đơn giản. Động cơ DC giảm tốc V1 có chất lượng và giá thành vừa phải cùng với khả năng dễ lắp ráp của nó đem đến chi phí tiết kiệm và sự tiện dụng cho người sử dụng, các bạn khi mua động cơ giàm tốc V1 có thể mua thêm gá bắt động cơ vào thân Robot cũng như bánh xe tương thích. 2.3.4.2 Thông số kỹ thuật của động cơ DC giảm tốc Điện áp hoạt động: 3 – 9 VDC. Dòng tiêu thụ: 110 – 140 mA. Tốc độ không tải (vòng / Phút). Tại 3VDC: 50 Vòng/Phút. Tại 5VDC: 83 Vòng/Phút. 2.3.5 LED (Light Emitting Diode) Là các điốt có khả năng phát ra ánh sáng hay tia hồng ngoại, tử ngoại. Cũng giống như điốt, LED được cấu tạo từ một bán dẫn loại P ghép với một bán dẫn loại N. Tương tự như bóng đèn tròn dùng sợi đốt nhưng không phải chiếu sáng bằng sợi đốt, đèn LED được coi là loại đèn tiết kiệm điện năng nhất, tạo ra hiệu suất ánh sáng tốt nhất, tỏa nhiệt ít hơn.
  14. - 14 - Hình 2.10 LED 2.3.6 Nguồn Adapter 12V2A Hình 2.11 Nguồn adapter 12v2A Là nguồn chuyển đổi từ AC 220V sang 12V DC. Điện áp vào: AC100-240V (50-60HZ) Điện áp ra: DC12V 2000mA Loại Jack cắm: Loại tròn. Có chức năng cung cấp nguồn cho toàn mạch hoạt động.
  15. - 15 - CHƢƠNG 3: PHÂN TÍCH THUẬT TOÁN PID VÀ ỨNG DỤNG TRONG ROBOT DÒ ĐƢỜNG 3.1 Giới thiệu 3.2 Định nghĩa thuật toán PID Bộ điều khiển vi tích phân tỉ lệ (bộ điều khiển PID- Proportional Integral Derivative) là một cơ chế phản hồi vòng điều khiển (bộ điều khiển) tổng quát được sử dụng rộng rãi trong các hệ thống điều khiển công nghiệp – bộ điều khiển PID là bộ điều khiển được sử dụng nhiều nhất trong các bộ điều khiển phản hồi. Bộ điều khiển PID sẽ tính toán giá trị "sai số" là hiệu số giữa giá trị đo thông số biến đổi và giá trị đặt mong muốn. Bộ điều khiển sẽ thực hiện giảm tối đa sai số bằng cách điều chỉnh giá trị điều khiển đầu vào. Trong trường hợp không có kiến thức cơ bản (mô hình toán học) về hệ thống điều khiển thì bộ điều khiển PID là sẽ bộ điều khiển tốt nhất. Tuy nhiên, để đạt được kết quả tốt nhất, các thông số PID sử dụng trong tính toán phải điều chỉnh theo tính chất của hệ thống, trong khi kiểu điều khiển là giống nhau, các thông số phải phụ thuộc vào đặc thù của hệ thống. Giải thuật tính toán bộ điều khiển PID bao gồm 3 thông số riêng biệt, do đó đôi khi nó còn được gọi là điều khiển ba khâu, các giá trị tỉ lệ, tích phân và đạo hàm, viết tắt là P, I, và D. Giá trị tỉ lệ xác định tác động của sai số hiện tại, giá trị tích phân xác định tác động của tổng các sai số quá khứ, và giá trị vi phân xác định tác động của tốc độ biến đổi sai số. Tổng chập của ba tác động này dùng để điều chỉnh quá trình thông qua một phần tử điều khiển như vị trí của van điều khiển hay bộ nguồn của phần tử gia nhiệt. Nhờ vậy, những giá trị này có thể làm sáng tỏ về quan hệ thời gian: (P) phụ thuộc vào sai số hiện tại, (I) phụ thuộc vào tích lũy các sai số quá khứ, và (D) dự đoán các sai số tương lai, dựa vào tốc độ thay đổi hiện tại. 3.3 Phƣơng pháp điều chế độ rộng xung (PWM) 3.4 Giải thuật điều khiển vi tích phân tỉ lệ (PID) Giải thuật điều khiển vi tích phân tỉ lệ hiệu chỉnh sai số giữa giá trị biến đo được và giá trị mong muốn đạt đến bằng cách tính toán và xuất ra một "hành động điều chỉnh" nhanh chóng để giữ cho lỗi ở mức nhỏ nhất có thể được [5]. Bộ điều khiển này bao gồm 3 thống số: Proportional (P), Integral (I) và Derivative (D), được thể hiện qua sơ đồ khối và phương trình tổng quát như hình 3.2: Hình 3.2 Sơ đồ khối giải thuật PID Phương trình PID tổng quát:
  16. - 16 - - Hàm lỗi e(t) tại thời điểm t: độ lệch giữa giá trị mong muốn và giá trị đo được: e(t) = Vset - Vmo(t) Trong đó: Vset : Setpoint Value (giá trị điện áp mong muốn). Vmo (t) : Measurable Output Value (giá trị điện áp đo được tại thời điểm t). Proportional P(t) (hàm tỉ lệ): điều khiển tỉ lệ với giá trị lỗi hiện tại. P(t) = Kp.e(t) (5) Trong đó: Kp: hằng số tỉ lệ, tham số dùng để tinh chỉnh. Integral I(t) (hàm tích phân): điều khiển tương ứng với mức lỗi được tích lũy theo thời gian. Trong đó: Ki: hằng số điều chỉnh hàm tích phân. Derivative D(t) (hàm vi phân): điều khiển tương ứng với tốc độ thay đổi của lỗi, hay độ dốc lỗi theo thời gian. Trong đó: Kd: hằng số điều chỉnh hàm vi phân. 3.5 Ứng dụng giải thuật PID kết hợp với phƣơng pháp PWM trên robot dò đƣờng 3.5.1 Mô hình PID áp dụng cho robot dò đường Giải thuật PID được tích hợp vào trong giải thuật điều khiển robot dò đường để tính toán và xuất ra các giá trị PWM điều khiển 2 động cơ gắn với 2 bánh sau của robot dựa vào độ sai lệch giữa giá trị đo đạc ngõ vào và giá trị mong muốn. Độ sai lệch, hay còn gọi là giá trị lỗi, được tính toán trong giải thuật PID là độ lệch giữa trạng thái hiện tại của robot so với đường đi. Có nghĩa là, độ sai lệch giữa giá trị hiện tại của bộ cảm biến so với giá trị của cảm biến trong trường hợp robot chạy thẳng về phía trước. Việc áp dụng giải thuật PID trên robot dò đường sử dụng cảm biến quang được trình bày bằng một sơ đồ khối như hình 3.3.
  17. - 17 - Hình 3.3 Sơ đồ khối ứng dụng giải thuật PID vào robot dò đường Trước khi đề cập ứng dụng giải thuật PID vào robot dò đường, tác giả đưa ra các định nghĩa của các thuật ngữ liên quan. Vị trí mục tiêu Vset: trung tâm của đường đi, vị trí mà ta muốn robot hướng đến. Vị trí thực tại Vmo(t): vị trí thực của robot, có thể lệch bên trái hoặc lệch bên phải so với đường đi của robot. Lỗi e(t): độ sai lệch giữa vị trí mục tiêu và vị trí thực của robot, có thể là giá trị âm hoặc dương hoặc bằng 0, được tính theo công thức (4). Hệ số Kp, Ki, Kd là các hằng số tương ứng được sử dụng để điều chỉnh ảnh hưởng của các khâu tỉ lệ, khâu tích phân và khâu vi phân. 3.5.2 Giải thuật PID Giải thuật PID là một chuỗi các phép toán để xác định các giá trị của khâu điều khiển tỉ lệ, khâu điều khiển vi phân và khâu điều khiển tích phân. Sau đó, kết hợp các giá trị lại với nhau và xuất ra giá trị điều rộng xung PWM để điều khiển 2 động cơ bánh sau của robot. Khâu điều khiển tỉ lệ tính toán độ lệch của robot, xác định được robot đang lệch phải hay lệch trái đường và xuất ra các giá trị PWM để điều khiển hai động cơ giúp robot quay về vị trí mục tiêu. Độ lệch : e(n) = Vmo(n) – Vset Đáp ứng khâu tỉ lệ : P(n) = Kp . e(n) Trong đó : n là số lần lấy mẫu Hằng số Kp càng lớn thì sự điều chỉnh càng lớn khi lỗi càng lớn. Ngược lại, K p càng nhỏ thì sẽ đáp ứng điều chỉnh nhỏ đối với lỗi. Khâu điều khiển tích phân tính toán dựa trên sai số tích lũy theo thời gian. Robot càng lệch xa đường thì sai số tích lũy càng lớn. Khâu này thể hiện rằng trong quá khứ robot có bám đường đi tốt hay không. Sai số tích lũy: E(n)  e(n) n1
  18. - 18 - Đáp ứng khâu tích phân: I(n)= Ki . E(n) (11) Trong đó : n là số lần lấy mẫu Khâu vi phân tính toán dựa trên sai số hiện tại. Khâu này cho biết tốc độ robot dao động qua lại của đường đi. Tốc độ dao động: ∆e(n) = e(n) – e(n-1) (12) Đáp ứng khâu vi phân: D(n) = Kd . ∆e(n) (13) Cuối cùng, giá trị PWM để xuất ra điều khiển cho các động cơ điều khiển hoạt động của robot sẽ là PWM = P(n) + I(n) + D(n) = Kp . e(n) + Ki . I(n) + Kd . D(n)  PWM = Kp . [Vmo(n) – Vset] + Ki .e(n)+ Kd . [e(n) – e(n-1)] n1 3.5.3 Hiệu chỉnh thuật toán PID Khi sử dụng giải thuật PID để điều khiển robot dò đường, kết quả ban đầu cho thấy robot hoạt động không như mong đợi. Trường hợp này được lý giải là do các giá trị của các hệ số Kp, Ki và Kd chưa phù hợp. Mỗi robot có một đặc tính vật lý khác nhau do đó các hệ số này cũng phải thay đổi để phù hợp. Phần tiếp theo, tác giả đề xuất các bước thực nghiệm đơn giản để xác định các hệ số Kp, Ki và Kd như lưu đồ giải thuật được thể hiện trong hình 3.4. 3.6 Giới thiệu phần mềm Arduino IDE 3.6.1 Giao diện 3.6.2 Vùng lệnh Bao gồm các nút lệnh menu (File, Edit, Sketch, Tools, Help). Phía dưới là các icon cho phép sử dụng nhanh các chức năng thường dùng của IDE được miêu tả như sau:
  19. - 19 - 3.6.3 Vùng thông báo (debug) Những thông báo từ IDE sẽ được hiển thị tại đây. Để ý rằng góc dưới cùng bên phải hiển thị loại board Arduino và cổng COM được sử dụng. Luôn chú ý tới mục này bởi nếu chọn sai loại board hoặc cổng COM, bạn sẽ không thể upload được code của mình. Chúng ta có thể tìm thấy một vài hướng dẫn khắc phục các lỗi thường gặp khi lập trình Arduino tại Lỗi của Arduino? Và các lỗi thường gặp khi lập trình Arduino 3.6.4 Một số lưu ý Khi lập trình, cần chọn port (cổng kết nối khi gắn board vào) và board (tên board mà bạn sử dụng). Giả sử, đang dùng mạch Arduino Uno, và khi gắn board này vào máy tính bằng cáp USB nó được nhận là COM4 thì bạn chỉnh như thế này là có thể lập trình đươc nhé.
  20. - 20 - CHƢƠNG 4: THIẾT KẾ VÀ CHẾ TẠO ROBOT DÒ ĐƢỜNG 4.1 Thiết kế đƣờng đi cho robot 4.1.1 Mô phỏng đường đi cho robot bằng phần nềm Paint 3D 4.2 Chế tạo và hoàn thành sân đi cho robot 4.2.1 Tấm Formex Tấm formex ( hay còn gọi TẤM PVC FOAM, TẤM FORMEX, TẤM FORM, TẤM FORMAT) được thay thế vật liệu gỗ trong quá trình thi công một số ứng dụng như quảng cáo, trang trí, sản phẩm có đặc tính nhẹ có thể in ấn, in pp bồi, bế, cắt tạo hình,chạm khắc lên một cách dễ dàng đồng thời có thể uốn dẻo. Sử dụng tấm formex để làm tấm nền cho robot dò đường. 4.2.2 Hệ thống đường line cho robot Sử dụng băng keo cách nhiệt để làm đường line cho robot vì độ bám dính tốt, sự đàn hồi của băng keo tốt, kích thước phù hợp với kích thước để làm đường line cho robot. 4.3 Hoàn thành Robot dò đƣờng Hình 4.1 Sân đi sau khi chế tạo 4.4 Kết quả thực nghiệm trên mô hình robot Việc thiết kế và chế tạo robot dò đường sử dụng thuật toán PID đã hoàn thiện và đi vào sử dụng. Robot đã tự động nhận biết đường line để chạy với khả năng hoạt động chính xác cao.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2