3. Phạm vi và đối tượng nghiên cứu, phương pháp nghiên cứu
2.1.5 Bánh xe phía trước tự điều hướng
Bánh tự lựa là loại bánh bị động, được phát động bởi hai bánh chủ động. Bánh này có chứ năng dẫn hướng cho robot. Hiện nay có rất nhiều bánh tự lựa trên thị trường với nhiều kích thước, kiểu dáng, mẫu mã khác nhau như: omi, mắt trâu, … Chế tạo bánh tự lựa phải đúng yêu cầu kỹ thuật như:
Đảm bảo độ cứng vững.
Bánh xe di chuyển linh hoạt.
Tránh hiện tượng bánh xe bị kẹt cứng.
Tránh hiện tượng rung lắc của bánh xe khi di chuyển.
Bánh tự lựa đảm bảo 2 bậc tự do là: xoay theo trục z và x. 2.1.6 Hệ thống làm sạch
Robot được trang bị hai động cơ quét quay, mỗi động cơ được trang bị hai chổi quay bụi bẩn trong bán kính chân không. Một trong những thách thức của thiết kế hình đĩa là các bàn chải có xu hướng chồng lên nhau và cuối cùng bị rối. Tuy nhiên, trong thiết kế hiện tại, động cơ quét rác được đặt ở giữa các bánh xe, do đó ngăn các chổi quét chồng lên nhau. Xem xét cẩn thận cách bố trí hệ thống quét rác cho thấy rằng robot thực sự quét một khu vực lớn hơn chính nó như được chỉ ra bởi khu vực làm sạch hiệu quả.
2.1.7 Chế tạo hệ thống hút bụi
Mỗi robot hút bụi trên thị trường đều được trang bị hệ thống hút bụi riêng. Một hệ thống hút bụi điển hình bao gồm phần hút, phần lọc. Trang bị động cơ và cánh quạt tạo lực hút cho hệ thống. Lực hút mạnh hay yếu tùy thuộc vào công suất của động cơ.
Nguyên lý hút bụi rất đơn giản, bên trong có một động cơ điện có tốc độ vòng quay rất cao, trên trục chuyển động của động cơ điện có lắp cánh quạt gió, khi động cơ điện hoạt động với tốc độ cao, cánh quạt gió sẽ quạt cùng với trục chuyển động với tốc độ cao, như vậy không khí bên trong sẽ nhanh chóng thổi ra như một chiếc hộp rỗng. Để bù lại phần không khí đã mất sẽ có một luồng không khí nhanh chóng đi vào theo sự chênh lệch về áp suất. Phần lọc có chức năng lọc sạch không khí đưa vào, giữ lại bụi bẩn cũng như các thành phần không tốt cho sức khỏe của con người có trong không khí như vi khuẩn chẳng hạn. Tùy thuộc vào như cầu lọc mà sử dụng nhiều vật liệu lọc khác nhau như giấy lọc, lưới lọc, vải lọc, …
2.1.8 Chế tạo hộp đựng bụi, rác
Hộp đựng bụi có chức năng đựng bụi và lọc sạch không khí. Vì vậy, hộp bụi được thiết kế có phần đảm nhiệm lọc bụi. Hệ thống hút bụi có màng lọc giúp lọc sạch ion siêu nhỏ và loại bỏ các chất gây kích ứng da. Nó được thiết kế lắp đặt ở phần thân sau của robot. Nếu phía trước robot được lắp đặt các cảm biến để robot dễ dàng tránh được các vật can thì đặt hộp đựng bụi phía sau sẽ có các tác dụng:
Thứ nhất, nó sẽ cân bằng trọng lượng của robot, khiến cho các bánh xe sẽ gánh chịu một lực tương đối bằng nhau và không có hiện hượng gập ghềnh hay đổ về một hướng cũng như làm chậm tốc độ của động cơ.
Thứ hai, đặt nó phía sau vì ở phía các chổi quét để lùa rác, bụi vào một nơi được đặt gần đó, sẽ thuận tiện cho các động cơ hút làm việc hút rác hay bụi bẩn một cách tốt nhất.
HÌNH 2. 1 Hộp đựng bụi
2.2 Mạch Giảm Áp DC LM2596 3A
Mạch giảm áp DC LM2596 3A nhỏ gọn có khả năng giảm áp từ 30V xuống 1.5V mà vẫn đạt hiệu suất cao (92%). Thích hợp cho các ứng dụng chia nguồn, hạ áp, cấp cho các thiết bị như camera, motor, robot,….
2.2.2 Hướng dẫn sử dụng
Module có 2 đầu vào IN, OUT, 1 biến trở để chỉnh áp đầu ra. Khi cấp điện cho đầu vào (IN) thì người dùng vặn biến trở và dùng VOM để đo mức áp ở đầu ra (OUT) để đạt mức điện áp mà mình mong muốn. Điện áp đầu vào từ 4-35V, điện áp ra từ 1,25- 30V, dòng Max 3A, có thể cấp nguồn sử dụng tốt cho raspberry và module sim…
HÌNH 2. 2Hướng dẫn sư dụng mạch giảm áp DC LM2596 3A
HÌNH 2. 3Mạch giảm áp DC LM2596 3A
2.3 Mạch Điều Khiển Động Cơ DC L298N
Mạch điều khiển động cơ DC L298N có khả năng điều khiển 2 động cơ DC, dòng tối đa 2A mỗi động cơ, mạch tích hợp diod bảo vệ và IC nguồn 7805 giúp cấp nguồn 5VDC cho các module khác (chỉ sử dụng 5V này nếu nguồn cấp <12VDC).
Bảng 1 Thông số kỹ thuật của động cơ DC L298N
IC chính L298 – Dual Full Bridge Driver
Điện áp đầu vào 5~30VDC Công suất tối đa 25W 1 cầu Dòng tối đa cho mỗi cầu H 2A
Mức điện áp logic Low -0.3V~1.5V, High: 2.3V~Vss Kích thước 43x43x27mm
L298 gồm các chân:
12V power, 5V power. Đây là 2 chân cấp nguồn trực tiếp đến động cơ. Có thể cấp nguồn 9-12V ở 12V.
Bên cạnh đó có jumper 5V, nếu để như hình ở dưới thì sẽ có nguồn 5V ra ở cổng 5V power, ngược lại thì không. Nếu để như hình thì ta chỉ cần cấp nguồn 12V vô ở 12V power là có 5V ở 5V power, từ đó cấp cho Arduino
Power GND chân này là GND của nguồn cấp cho Động cơ, nối với GND của Arduino
Gồm có 4 chân Input. IN1, IN2, IN3, IN4. Giải thích chức năng các chân :
Output A: nối với động cơ A. bạn chú ý chân +, -. Nếu bạn nối ngược thì động cơ sẽ chạy ngược. Và chú ý nếu nối động cơ bước, phải đấu nối các pha cho phù hợp.
Board này gồm 2 phần điều khiển động cơ. Và có thể điều khiển cho 1 động cơ bước 6 dây hoặc 4 dây.
Chuẩn bị phần cứng o Arduino uno r3 o Cầu H L298 o Dây cắm o Động cơ DC (motor) Nối mạch
HÌNH 2. 4 Sơ đồ nối dây test mạch điều khiển động cơ DC L298
Nếu bạn điều khiển 2 Động cơ của robot, bạn cần chú ý bài đấu nối Cực +, - của động cơ tương ứng với chân +, - của OUTPUT X.
Tiếp cấp nguồn cho Module L298 như phần giải thích ở trên.
Nếu bạn dùng 5V và động cơ dưới 1A bạn có thể dùng chân 5V của Arduino, nếu không nguồn cấp cho động cơ ở L298 phải là nguồn riêng để không làm hỏng Arduino của bạn.
Các chân số D7, D6, D5 và D4 của Arduino sẽ nối tương ứng với IN1, IN2, IN3 và IN4 của L298.
Chiều quay của động cơ được điều khiển bằng cách xuất các đầu ra HIGH hoặc LOW tại các chân INx.
Ví dụ với Động Cơ A: Logic HIGH ở IN1 và IN2 Logic LOW sẽ làm động cơ quay 1 hướng nếu đặt Logic ngược lại sẽ làm động cơ quay theo hướng khác.
Nếu muốn thay đổi tốc độ của nó, bạn cần phải băm xung PWM bằng các chân có hỗ trợ PWM trên Arduino (những chân có dấu ~).
Để hiêu rõ. Giả sử, chân IN1 là chân OutA.1, chân IN2 là chân OutA.2.
Cấp cực dương vào IN1, cực âm vào IN2 => motor quay một chiều (chiều 1).
Cấp cực âm vào IN1, cực dương vào IN2 => motor quay chiều còn lại (chiều 2)!
Cực dương ở đây là điện thế 5V, cực âm ở đây là điện thế 0V. Hiện điện thế được tính là điện thế ở IN1 trừ hiệu điện thế IN2.
Giả sử, hiệu điện thế 5V sẽ là mạnh nhất trong việc điều khiển động cơ. Như vậy, chỉ cần hạ hiệu điện thế xuống là động cơ sẽ bị yếu đi. Và nếu hiệu điện thế < 0 => động cơ sẽ đảo chiều!
HÌNH 2. 5 Động cơ giảm tốc DC L298N
Mạch có thể điều khiển chiều và tốc độ hai động cơ độc lập. Điện áp cấp tối đa là 35v và dòng điện không quá 2a cho mỗi động cơ.
ưu điểm: điều khiển độc lập 2 động cơ một chiều hoặc một động cơ bước. Giá thành rẻ và mạch nhỏ gọn, đơn giản đấu nối.
nhược điểm: để điều khiển được hai động cơ độc lập thì thông thường cần sử dụng thêm vi điều khiển. Công suất của mạch nhỏ, chỉ áp dụng cho động cơ công suất nhỏ, điện áp thấp.
2.4 Bo điều khiển ARDUINO
2.4.1 Giới thiệu Arduino UNO R3 DIP
2.4.1.1 Tại sao lại chọn Arduino UNO R3 DIP?
Hiện tại ở Việt Nam và trên thế giới cũng có nhiều bo mạch vi điều khiển khác nhau. Tuy nhiên Arduino có một số ưu điểm mà khiến nó trở nên nổi tiếng và hiện đang được sử dụng rộng rãi trên thế giới. Những ưu điểm đó là: rẻ, tương thích được với nhiều hệ điều hành, chương trình lập trình đơn giản, rõ ràng, dễ sử dụng, sử dụng mã nguồn mở và có thể kết hợp với nhiều module khác nhau.
Arduino Uno R3 DIP bạn có thể ứng dụng vào những mạch đơn giản như mạch cảm biến ánh sáng bật tắt đèn, mạch điều khiển động cơ,… hoặc cao hơn nữa bạn có thể làm những sản phẩm như: máy in 3D, Robot, khinh khí cầu, máy bay không người lái, và các ứng dụng lớn khác.
Vi điều khiển ATmega328P Điện áp hoạt động 5V
Điện áp vào khuyên dùng 7-12V Điện áp vào giới hạn 6-20V
Digital I/O pin 14 (trong đó 6 pin có khả năng băm xung)
PWM Digital I/O Pins 6 Analog Input Pins 6 Cường độ dòng điện trên mỗi I/O
pin 20 mA
Cường độ dòng điện trên mỗi 3.3V
pin 50 mA
Flash Memory 32 KB (ATmega328P) 0.5 KB được sử dụng bởi bootloader SRAM 2 KB (ATmega328P) EEPROM 1 KB (ATmega328P) Tốc độ 16 MHz Chiều dài 68.6 mm Chiều rộng 53.4 mm Trọng lượng 25 g
Bo mạch Arduino sử dụng dòng vi xử lý 8-bit mega AVR của Atmel với hai chip phổ biến nhất là ATmega328 và ATmega2560. Các dòng vi xử lý này cho phép lập trình các ứng dụng điều khiển phức tạp do được trang bị cấu hình mạnh với các loại bộ
nhớ ROM, RAM và Flash, các ngõ vào ra digital I/O trong đó có nhiều ngõ có khả năng xuất tín hiệu PWM, các ngõ đọc tín hiệu analog và các chuẩn giao tiếp đa dạng như UART, SPI, TWI (I2C).
Một số chân digital có các chức năng đặ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 R3 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.
2.4.1.2 Tác dụng các chân trên ARDUINO UNO R3 DIP:
Cáp USB.
Đây là dây cáp thường được bán kèm theo bo, dây cáp dùng để cắm vào máy tính để nạp chương trình cho bo và dây đồng thời cũng lấy nguồn từ nguồn usb của máy tính để cho bo hoạt động. Ngoài ra cáp USB còn được dùng để truyền dữ liệu từ bo Arduino lên máy tính. Dây cáp có 2 đầu, đầu 1a được dùng để cắm vào cổng USB trên bo Arduino, đầu 1b dùng để cắm vào cổng USB trên máy tính.
o 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.
o 5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA. o 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.
o 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. o 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.
o 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ổng nguồn ngoài.
Cổng nguồn ngoài nhằm sử dụng nguồn điện bên ngoài như pin, bình acquy hay các adapter cho bo Arduino hoạt động. Nguồn điện cấp vào cổng này là nguồn DC có hiệu điện thế từ 6V đến 20V, tuy nhiên hiệu điện thế tốt nhất mà nhà sản xuất khuyên dùng là từ 7 đến 12V.
Cổng USB.
Cổng USB trên bo Arduino dùng để kết nối với cáp USB.
Nút reset.
Nút reset được sử dụng để reset lại chương trình đang chạy. Đôi khi chương trình chạy gặp lỗi, người dùng có thể reset lại chương trình.
ICSP của ATmega 16U2.
ICSP là chữ viết tắt của In-Circuit Serial Programming. Đây là các chân giao tiếp SPI của chip Atmega 16U2. Các chân này thường ít được sử trong các dự án về Arduino.
Chân xuất tín hiệu ra.
Có tất cả 14 chân xuất tín hiệu ra trong Arduino Uno, những chân có dấu ~ là những chân có thể băm xung (PWM), tức có thể điều khiển tốc độ động cơ hoặc độ sáng của đèn. Hình 2 thể hiện rất rõ những chân để băm xung này.
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, 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.
IC ATmega 328.
IC Atmega 328 là linh hồn của bo mạch Arduino Uno, IC này được sử dụng trong việc thu thập dữ liệu từ cảm biến, xử lý dữ liệu, xuất tín hiệu ra, …
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