3. Phạm vi và đối tượng nghiên cứu, phương pháp nghiên cứu
2.8 Mạch test động cơ RC Servo
2.8.1 Chức năng
Mạch Test Động Cơ RC-Servo được dùng để kiểm tra servo trước khi lắp đặt vào các hệ thống điều khiển để tránh tình trạng servo có lỗi. Mạch được tích hợp nhỏ gọn dễ sử dụng. Chỉ cần cắm Servo và cắm nguồn vào là có thể test được. Mạch có sẵn 3 chương trình để test như: quay servo bằng biến trở, chế độ tự động chạy xoay vòng, chế độ giữ cứng động cơ.
Thông tin sản phẩm
Điện áp sử dụng 4.5-6.0V
Dòng điện tối đa 15mA (5.0)
Tần số tín hiệu điều khiển 1.5ms +/-0.5ms
Kích thước 42.5 x 24 x 23.5mm
Khối lượng 8g
2.8.2 Hướng dẫn sử dụng
Ứng dụng: test quay servo bằng biến trở, chế độ tự động chạy xoay vòng, chế độ giữ cứng động cơ.
HÌNH 2. 22 Mạch test động cơ RC SERVO
2.9 Nguồn hoạt động 2.9.1 Pin Li-Po
Pin Li-Po (Lithium-Ion Polymer) hay còn gọi là Lithium-Polymer để tránh nhầm lẫn với Li-Ion. Pin LiPo không sử dụng chất điện phân dạng lỏng mà thay vào đó nó sử dụng chất điện phân dạng polymer khô, tương tự như một miếng phim nhựa mỏng. Miếng phim này được kẹp (thực sự là ghép lá) giữa cực dương và cực âm của pin cho phép trao đổi ion.
2.9.2 Ưu điểm của pin LiPo
Khả năng lưu trữ năng lượng cao, ít bị rò rỉ, hoạt động mạnh mẽ, khỏe khoắn, không bị hiệu ứng nhớ. Trọng lượng nhẹ, bền, chất điện phân tốt ít khi bị ăn mòn. Được sử dụng trong đa số các thiết bị số do tính năng phóng điện cao. Do đặc điểm kích thước có thể linh hoạt để phù hợp với nhiều sản phẩm. Pin có thể chịu được lực va đập lớn. Cấu tạo tiếp điểm âm dương nên hạn chế được chập cháy.
2.9.3 Nhược điểm của pin LiPo
Ít được sử dụng rộng rãi do giá thành khá cao, đắt hơn nhiều so với pin Li- Ion. Pin LiPo cũng bị giảm chất lượng giống như pin Li – Ion, cần có chế độ bảo quản phù hợp. Nếu điện áp vượt ngưỡng pin cũng bị phù và chập cháy. Năng lượng lưu trữ ít hơn pin Li – Ion. Vỏ bọc mềm nên dễ bị biến dạng, rò rỉ gây ra tình trạng chập mạch, hiện tượng phù xảy ra dễ dàng hơn.
Nguồn nạp dòng điện trực tiếp của robot hút bụi từ viên pin li-po. do đặc điểm là robot cần được sử dụng nguồn đảm bảo lớn và duy trì thời gian nên sẽ lựa chọn pin li- po 12v. Một pin polymer lithium có thể sạc lại được sử dụng, tiềm năng điện hóa và mật độ năng lượng tốt. cảm biến siêu âm, động cơ hút, động cơ di chuyển bánh xe, được kết nối với bộ điều khiển Arduino ATmega 328p thông qua các chân tương ứng của chúng. IC điều chỉnh điện áp LM2596 cung cấp nguồn điện điều chỉnh 5 V từ dải điện áp đầu vào 7–12 V và định mức dòng điện 1 A.
CHƯƠNG 3: THIẾT KẾ MÔ HÌNH VÀ LẬP TRÌNH ĐIỀU KHIỂN
3.1 Sơ đồ khối robot hút bụi hộ gia đình
HÌNH 3. 1 sơ đồ khối của robot
3.2 Nguyên lý hoạt động của robot hút bụi sử dụng trong nhà
Yêu cầu của robot hút bụi là nhỏ gọn, di chuyển linh hoạt. Do đó, cơ cấu di chuyển của robot hút bụi sử dụng mô hình di động sử dụng hai bánh dẫn chủ động và một bánh dẫn hướng. Vì nhiệm vụ chính của robot là hút bụi nên cụm hút bụi được ưu tiên khi thiết kế. Cụm hút bụi được đặt ở trung tâm của robot. Vùng hút bụi được mở rộng tối đa với kích thước miệng hút mở rộng theo phương ngang (phương vuông góc với phương di chuyển của robot). Để tăng hiệu suất hút bụi, cụm chổi quét được thiết kế phía trước cụm quạt hút. Cụm chổi quét hoạt động liên tục để khoáy đảo lớp bụi bám trên bề mặt sàn. Sau đó, lớp bụi này được hút bởi cụm quạt hút ở phía sau. Bố trí vị trí cảm biến trên robot: robot sử dụng các cảm biến hồng ngoại để tránh vật cảng và chống rơi. Do đó, các cảm biến được thiết kế với các vị trí như sau: - Cảm biến hồng ngoại chống rơi được đặt phía trước, ngay mép robot của thân robot hút bụi. cảm biến vật cản được lắp đặt lần lượt phía trước robot và 2 bên hông cách cảm biến ở phía trước 1 góc 135 độ như hình phía dưới
Sau khi khởi động robot, bộ điều khiển sẽ bắt đầu phát tín hiệu cho hoạt động, robot chạy theo hướng thẳng về phía trước, khi đó các cảm biến siêu âm sẽ được phát tín hiệu và quét về phía trước, có 3 cảm biến siêu âm đặt theo 3 hướng: phía trước robot, bên phải robot và bên trái robot. Nếu cảm biến phải có vật cản, robot sẽ quay
trái cho đến khi cảm biến không còn quét thấy vật cản thì đi tiếp. nếu cảm biến trái có vật cản, robot sẽ quay phải cho đến khi cảm biến không còn quét thấy vật cản thì đi tiếp. nếu cả 3 cảm biến trái, phải, giữa đều quét thấy vật cản thì robot sẽ quay 180 độ và đi tiếp.
Đồng thời khi khởi động, bộ điều khiển sẽ phát tín hiệu cho cảm biến hồng ngoại hoạt động, nó được gắn ngay dưới mép sàn phía trước của hút bụi, khi nó phát hiện được không có tín hiệu truyền lại, đồng nghĩa phía dưới nó là cầu thang, nên nó sẽ quay ngược và bám đuổi quỹ đạo.
3.3 Thiết kế phần cứng3.3.1 Sơ đồ cơ học 3.3.1 Sơ đồ cơ học
HÌNH 3. 2 Sơ Đồ Cơ Học - Chú thích:
1. Cảm biến vật cản. 2. Cảm biến cầu thang. 3. Motor chổi quét. 4. Motor bánh xe. 5. Motor hút bụi. 6. Hộp đụng bụi. 7. Bánh xe đa hướng.
8. Module điều khiển tốc độ chổi quét.
9. Serve test board điều chỉnh tốc độ motor hút bụi. 10. Switch on/off.
3.3.2 Sơ đồ nối dây của robot
HÌNH 3. 3 sơ đồ nối dây các linh kiện Giải thích:
1. Cảm biến hồng ngoại. 2. Cảm biến vật cản. 3. Motor hút bụi.
4. Esc 30A cho motor hút bụi 5. Motor chổi quét
6. Mạch điều khiển tốc độ động cơ 7. Mạch test động cơ rc servo 8. Mạch cầu H
9. Motor chổi quét
10. Board arduino xử lí chính
3.3.3 Hệ thống điều khiển: cảm biến và vi điều khiển
Cảm biến giúp robot nhận thức môi trường bên ngoài, đưa ra quyết định và hành động phù hợp. Robot được phát triển sử dụng 3 cảm biến siêu âm loại HC-SRO4 được tích hợp sẵn sonar được thiết kế để xác định khoảng cách đến một vật thể . Loại cảm biến này cung cấp khả năng phát hiện phạm vi không tiếp xúc tuyệt vời (2–300 cm) với độ chính xác cao. Hoạt động của nó không bị ảnh hưởng bởi ánh sáng mặt trời
hoặc vật liệu đen, mặc dù vật liệu mềm về mặt âm học như vải có thể khó phát hiện. Nó đi kèm với máy phát siêu âm và mô-đun thu.
Cấu tạo của nó gồm 3 phần:
Phần phát tín hiệu
Các đầu phát và đầu thu siêu âm là các loa gốm được chế tạo đặc biệt, hoạt động phát siêu âm có cường độ cao nhất ở một tần số nào đó (thường là 40khz cho các ứng dụng đo khoảng cách). Các loa này cần có nguồn tín hiệu điều khiển có điện áp cao mới phát tốt được (theo datasheet thì là ~ 30v). Chính vì vậy trong phần phát, phần đệm công suất sử dụng một con max232 làm nhiệm vụ đệm. Nó sẽ lấy tín hiệu từ bộ điều khiển, khuých đại biên độ lên +/-30v cung cấp cho loa gốm.
Để tiết kiệm nguồn cho module cảm biến, phần cấp điện cho max232 được điều khiển thông qua một tran pnp, khi không hoạt động, bộ điều khiển sẽ làm cho tran này ngưng dẫn, hạn chế tiêu thụ dòng.
Phần thu tín hiệu
Khi loa gốm làm đầu thu (loa này được chế tạo chỉ nhạy với một tần số nào đó- 40khz) thu được sóng siêu âm, nó sẽ phát ra một điện thế giữa hai cực. điện thế này là rất nhỏ, vì vậy nó được đưa qua một opam, ở đây là tl072 (một số module sự dụng lm324, ...). tín hiệu này liên tục được khuých đại biên độ và cuối cùng là đưa qua một bộ so sánh, kết hợp với tín hiệu từ bộ điều khiển để đưa về bộ điều khiển thông qua một trans npn
Phần xử lý, điều khiển
Phần xử lý, điều khiển thường sử dụng một vi điều khiển (pic16f688, stc11, ...) làm nhiệm vụ phát xung, xử lý tính toán thời gian từ khi phát đến khi thu được sóng siêu âm do nó phát ra nếu nhận được tín hiệu trig. đến đây thì nguyên lý hoạt động thông thường của cảm biến này thì ai cũng biết rồi nhé (cấp xung trig, chờ đo độ rộng xung echo để tính toán thời gian,....).
Làm thế nào nó hoạt động?
Cảm biến siêu âm sử dụng sóng siêu âm để xác định khoảng cách đến một vật thể. Đây là những gì sẽ xảy ra:
Máy phát siêu âm (chân trig) phát ra âm thanh tần số cao (40 kHz).
Âm thanh truyền trong không khí. Nếu nó tìm thấy một đối tượng, nó sẽ trả về mô-đun.
HÌNH 3. 4 Cách hoạt động của cảm biến siêu âm HC-SR04
Thời gian giữa quá trình truyền và nhận tín hiệu cho phép chúng ta tính khoảng cách đến một đối tượng. Điều này là có thể vì chúng ta biết vận tốc của âm thanh trong không khí. Đây là công thức:
distance to an object = ((speed of sound in the air)*time)/2 tốc độ âm thanh trong không khí ở 20ºC (68ºF) = 343m / s
Nói chung, vi điều khiển chứa lõi xử lý, bộ nhớ và các thiết bị ngoại vi đầu vào / đầu ra có thể lập trình được. Chúng được sử dụng trong các sản phẩm và thiết bị được điều khiển tự động, chẳng hạn như hệ thống điều khiển động cơ ô tô, điều khiển từ xa, máy văn phòng, thiết bị và các hệ thống nhúng khác. Trong công việc này, chúng tôi đã sử dụng vi điều khiển Arduinobởi vì nó sử dụng máy tính bảng đơn, làm cho nó trở nên phổ biến trên thị trường chuyên nghiệp. Arduino là mã nguồn mở với phần cứng tương đối rẻ. Trong khi vi điều khiển Arduino có các tính năng khác nhau tùy thuộc vào mức độ phức tạp của việc sử dụng, Arduino mega được sử dụng cho công việc này vì nó cho phép chúng ta sử dụng nhiều chân hơn và nhiều bộ nhớ hơn để giữ lại mã. Arduino uno r3 dip là một bo mạch vi điều khiển dựa trên Atmega328p. trong số 14 chân digital có các chân đặc biệt như sau:
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, bạn 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, bạ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ư 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, bạn 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, bạn 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 bạn cấp điện áp 2.5V vào chân này thì bạn 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.
Bộ vi điều khiển có thể được cấp nguồn bằng cách chỉ cần kết nối nó với máy tính bằng cáp USB, hoặc pin. Vi điều khiển Arduino có IDE trong đó các mã chương trình đã viết được lưu trữ . Điều này cho phép tương tác với phần mềm khác hoặc thiết bị phần cứng. Bộ vi điều khiển được kết nối với máy tính thông qua các trình điều khiển thường được cài đặt tự động.
3.4 Thiết kết phần mềm3.4.1 Lựa chọn phần mềm 3.4.1 Lựa chọn phần mềm
3.4.1.1 Arduino IDE
HÌNH 3. 5 Giao diện chương trình điều khiển
Vùng lệnh
Vùng viết chương trình
Bạn sẽ viết các đoạn mã của mình tại đây. Tên chương trình của bạn được hiển thị ngay dưới dãy các Icon, ở đây nó tên là “Blink”. Để ý rằng phía sau tên chương trình có một dấu “§”. Điều đó có nghĩa là đoạn chương trình của bạn chưa được lưu lại.
Vùng thông báo (debug)
HÌNH 3. 7 Giao diện vùng thông báo
3.4.1.2 Giới thiệu về Proteus
Proteus là phần mềm cho phép mô phỏng hoạt động của mạch điện tử bao gồm phần thiết kế mạch và viết chương trình điều khiển cho các họ vi điều khiển như MCS- 51, PIC, AVR, …
Proteus là phần mềm mô phỏng mạch điện tử của Lancenter Electronics, mô phỏng cho hầu hết các linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho cả các MCU như PIC, 8051, AVR, Motorola.
Phần mềm bao gồm 2 chương trình: ISIS cho phép mô phỏng mạch và ARES dùng để vẽ mạch in. Proteus là công cụ mô phỏng cho các loại Vi Điều Khiển khá tốt, nó hỗ trợ các dòng VĐK PIC, 8051, PIC, dsPIC, AVR, HC11, MSP430, ARM7/LPC2000 ... các giao tiếp I2C, SPI, CAN, USB, Ethenet, ... ngoài ra còn mô phỏng các mạch số, mạch tương tự một cách hiệu quả. Proteus là bộ công cụ chuyên về mô phỏng mạch điện tử.
3.4.1.3 Tính năng của proteus
Mô phỏng:
Bản mạch đã hoàn thiện hay chưa? Tính năng mô phỏng của Proteus 8
Professional có thể hiển thị hầu hết các chi tiết trong mạch điện. Có hai tùy chỉnh cho tính năng này: chạy bản mô phỏng và chạy từng bảng. "Chạy bản mô phỏng" trình chiếu bảng mạch ở tốc độ bình thường (nếu bản mạch không quá phức tạp). "Chạy từng bảng" sẽ chạy từng bảng mạch khi trong mỗi lần click. Tùy chỉnh này rất có ích cho việc khắc phục những bản mạch số.
Bạn có thể mô phỏng vi điều khiển. Tùy thuộc vào từng vi điều khiển sẽ được phác thảo dựa trên PIC24, dsPIC33, 8051, Arduino, hoặc ARM7. Bạn có thể tải các trình dịch và đổ tập tin hex vào vi điều khiển có trong Proteus. Hơn nữa, tích hợp thời gian thực với bản mô phỏng sử dụng công tắc, điện trở, quang điện trở, v.v. thậm chí cả vôn kế, ampe kế.
Thiết kế PCB:
Là tính năng dễ sử dụng trong Proteus. Bạn có thể tự tạo bản thiết kế hoặc bắt Proteus làm hộ bạn. Tự tạo bản thiết kế rất dễ dàng chỉ cần bạn đặt những chi tiết vào sơ đồ và vẽ đường mạch điện chạy qua. Đừng lo lắng về việc vi phạm bất kỳ quy tắc thiết kế nào bởi vì nó sẽ tự động phát hiện ra lỗi. Còn nếu muốn Proteus làm thay bạn thì chỉ cần đặt các chi tiết vào vị trí tương ứng rồi cho chạy tự động. Nó sẽ vẽ ra các cách đặt đường mạch và lựa bản tốt nhất. Và hiện nay còn có một tùy chỉnh nữa "Auto placer", nó yêu cầu bạn xác lập kích thước bảng bằng cách vẽ hình dáng và kích cỡ bản mạch. Sau đó, nó tự động đặt các chi tiết vào trong khuôn. Sau đó, tất cả việc bạn phải làm là lập sơ đồ mạch.
3.4.2 Sơ đồ thuật toán
HÌNH 3. 8 Lưu đồ thuật toán di chuyển chính của robot
Mô tả thuật toán
STT KÍ HIỆU Ý NGHĨA
1 Bắt đầu/ kết thúc chương trình
2 Điều kiện rẽ nhánh
3 Xử lý, tính toán, gán