Hình 4. 3 Lưu đồ thuật tốn của robot
Giải thích lưu đồ thuật tốn:
Khi khởi động, màn hình LCD sẽ hiển thị tọa độ x, y ban đầu, nhập tọa độ x, y cần đến, nếu tọa độ x đặt lớn hơn tọa độ x ban đầu, tọa độ y đặt lớn hơn hoặc bằng tọa độ y ban đầu thì robot sẽ bắt đầu tính tốn góc quay và vector tịnh tiến. Sau khi tính tốn xong robot sẽ xoay một góc α tịnh và tiến một quãng đường S. Đặt phạm vi giới hạn trong khoảng 8cm, trong quá trình di chuyển nếu robot gặp vật cản trong phạm vi 8cm thì robot sẽ dừng lại nếu nhỏ hơn 8cm robot sẽ quét liên tục, khi ra khỏi phạm quét robot tiếp tục di chuyển lại bình thường. Xoay một góc -90° và tịnh tiến một quãng đường S sau đó robot lại xoay 1 góc 90° và tịnh tiến một quãng đường S để né vật cản. Lúc này tọa độ của robot sẽ khác so với tọa độ ban đầu của nó do đó robot sẽ phải tính lại góc quay α và vector tịnh tiến S sau khi tính tốn robot tiếp tục di chuyển đến điểm đích, khi tọa độ x, y đo được bằng với tọa độ x, y đặt thì robot dừng lại.
Hình 4. 4 Sơ đồ nối dây của robot
4.2 Giới thiệu các linh kiện trong hệ thống:
4.2.1 Lựa chọn thiết bị điều khiển:
Arduino nano V3.0 ATmega328P [12]
Thông số kỹ thuật:
IC chính: ATmega328P
IC nạp và giao tiếp UART: CH340
Điện áp hoạt động: 5V - DC
Điện áp đầu vào khuyên dùng: 7-12V - DC
Điện áp đầu vào giới hạn: 6-20V - DC
Số chân Digital I/O: 14 (trong đó có 6 chân PWM)
Số chân Analog: 8 (độ phân giải 10bit, nhiều hơn Arduino Uno 2 chân)
Dòng tối đa trên mỗi chân I/O: 40mA
Bộ nhớ flash: 32KB với 2KB dùng bởi bootloader
SRAM: 2KB EEPROM: 1KB Xung nhịp: 16MHz Kích thước: 0.73" x 1.70" Chiều dài: 45mm Chiều rộng: 18mm Khối lượng: 5g
Board Arduino Nano là một trong những phiên bản nhỏ gọn của board Arduino. Arduino Nano có đầy đủ các chức năng và chương trình có trên Arduino Uno do cùng sử dụng MCU ATmega328P. Nhờ việc sử dụng IC dán của ATmega328P thay vì IC chân cắm nên Arduino Nano có thêm 2 chân Analog so với Arduino Uno.
Sơ đồ chân:
Hình 4. 6 Sơ đồ chân Arduino nano V3.0 ATmega328P
Arduino Nano có chức năng tương tự như Arduino Duemilanove nhưng khác nhau về dạng mạch. Nano được tích hợp vi điều khiển ATmega328P, giống như Arduino
UNO. Sự khác biệt chính giữa chúng là bảng UNO có dạng PDIP (Plastic Dual-In-line Package) với 30 chân cịn Nano có sẵn trong TQFP (plastic quad flat pack) với 32 chân. Trong khi UNO có 6 cổng ADC thì Nano có 8 cổng ADC. Bảng Nano khơng có giắc nguồn DC như các bo mạch Arduino khác, mà thay vào đó có cổng mini- USB. Cổng này được sử dụng cho cả việc lập trình và bộ giám sát nối tiếp.
Thông số kỹ thuật:
Arduino Nano Thông số kỹ thuật
Số chân analog I/O 8
Cấu trúc AVR
Tốc độ xung 16MHz
Dòng tiêu thụ I/O 40mA Số chân Digtal I/O 22 Bộ nhớ EEPROM 1kB
Bộ nhớ Flash 32 KB of which 2KB used by Bootloader Điện áp ngõ vào (7-12) Volts
Vi điều khiển AT mega32SP Điện áp hoạt động 5V
Kích thước bo mạch 18 × 45 mm Nguốn tiêu thụ 19mA
Ngõ ra PWM 6
SRAM 2KB
Cân nặng 7 gams
Module CNC Shield V4 [13]
Hình 4. 7 Module CNC Shield V4
Mạch CNC Shield V4 Cho Arduino Nano là board mở rộng của Arduino Nano dùng để điều khiển các máy CNC mini. Board có 3 khay dùng để cắm các mơ đun điều khiển động cơ bước A4988, khi đó board có thể điều khiển 3 trục X, Y, Z.
Sơ đồ chân:
Hình 4. 8 Sơ đồ chân Module CNC Shield V4
Thông số kỹ thuật:
Tương thích với Arduino nano V3.0
Tương thích với module A4988 và DRV8825
Điện áp: DC5V
Cảm biến siêu âm HC-SR04:[14]
Hình 4. 9 Cảm biến siêu âm HC-SR04
Thông số kỹ thuật: Điện áp: 5V DC Dòng hoạt động: < 2mA Mức cao: 5V Mức thấp: 0V Góc tối đa: 15 độ
Khoảng cách: 2cm - 450cm (4.5m)
Độ chính xác: 3mm
Cảm biến siêu âm SRF04 (Ultrasonic Sensor) được sử dụng rất phổ biến để xác định khoảng cách vì RẺ và CHÍNH XÁC. Cảm biến sử dụng sóng siêu âm và có thể đo khoảng cách trong khoảng từ 2 -> 300 cm, với độ chính xác gần như chỉ phụ thuộc vào cách lập trình.
Sơ đồ chân:
Vcc 5V
Trig Một chân Digtal output
Echo Một chân Digtal input
GND GND
Hình 4. 10 Sơ đồ chân cảm biến siêu âm
Nguyên lý hoạt động:
Để đo khoảng cách, ta sẽ phát 1 xung rất ngắn từ chân Trig. Sau đó, cảm biến sẽ tạo ra 1 xung HIGH ở chân Echo cho đến khi nhận lại được sóng phản xạ ở pin này. Chiều rộng của xung sẽ bằng với thời gian sóng siêu âm được phát từ cảm biển và quay trở lại. Tốc độ của âm thanh trong khơng khí là 340 m/s (hằng số vật lý), tương đương với 29,412 microSeconds/cm (106 / (340*100)). Khi đã tính được thời gian, ta sẽ chia cho 29,412 để nhận được khoảng cách.
Màn hình LCD 16x2: [15]
LCD text 1602 một sản phẩm quen thuộc với những người mới học và muốn thực hiện các dự án về điện tử, lập trình. Với khả năng hiển thị 2 dòng với mỗi dòng 16 ký tự.
Sơ đồ chân: Hình 4. 12 Sơ đồ chân màn hình LCD Thơng số kỹ thuật: Điện áp MAX: 7V Điện áp MIN: - 0,3V Điện áp ra mức thấp: <0.4V Điện áp ra mức cao: > 2.4 Hoạt động ổn định: 2.7-5.5V
Dòng điện cấp nguồn: 350uA - 600uA
Nhiệt độ hoạt động: - 30 - 75 độ CKích thước: 80 x 36 x 12.5mm
Chữ trắng, nền xanh dương
Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với Breadboard.
Tên các chân được ghi ở mặt sau của màn hình LCD hổ trợ việc kết nối, đi dây điện.
Có đèn led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng để sử dụng ít điện năng hơn.
Driver Step Motor A4988:[16]
Hình 4. 13 Driver Step Motor A4988
A4988 là một bộ điều khiển DMOS cực nhỏ với bộ chuyển đổi và bảo vệ quá dòng. A4988 có thể điều khiển được động cơ bước lưỡng cực với dòng điện lên đến 2A với mỗi cuộn dây.
Dưới đây là một số tính năng chính của sản phẩm:
Dễ dàng điều khiển hướng quay và số bước quay
5 chế độ điều khiển: full step, haft step, 1/4, 1/8, 1/16
Có thể điều chỉnh dịng tối đa thơng qua một biến trở
Ngắt bảo vệ khi quá nhiệt, quá áp và quá dòng
Bảo vệ ngắn mạch
Sơ đồ chân:
Thông số kỹ thuật:
Điện áp hoạt động: 8V~35V
Dòng liên tục trên mỗi pha: 1A~2A
Điện áp logic: 3V-5.5V
Kích thước: 15,24 x 20,32cm
Động cơ bước [17] Giới thiệu:
Hình 4. 15 Các động cơ bước
Động cơ bước (Step Motor - Stepper Motor hay Stepping Motor) là một thiết bị
cơ điện, nó chuyển đổi năng lượng điện thành cơ năng. Ngồi ra, nó là một động cơ điện khơng chổi than, đồng bộ, có thể chia một vịng quay đầy đủ thành một số bước mở rộng. Trục của động cơ quay qua một góc cố định cho mỗi xung rời rạc. Khi một chuỗi xung được áp dụng, nó sẽ được chuyển qua một góc nhất định. Góc mà trục động cơ bước quay cho mỗi xung được gọi là góc bước, thường được biểu thị bằng độ. Nếu góc bước càng nhỏ thì số bước trên mỗi vịng quay càng lớn và độ chính xác của vị trí thu được càng lớn. Các góc bước có thể lớn tới 90 độ và nhỏ đến 0,72 độ, tuy nhiên, các góc bước thường được sử dụng là 1,8 độ, 2,5 độ, 7,5 độ và 15 độ.
Cấu tạo của động cơ bước
Cấu tạo động cơ bước khá giống với động cơ DC. Nó cũng có một nam châm vĩnh cửu là rotor. Rotor sẽ ở trung tâm và sẽ quay khi lực tác dụng lên nó. Rơto này được bao quanh bởi một số stato được quấn bởi cuộn từ tính trên nó. Stator sẽ được đặt càng gần càng tốt với rôto để từ trường trong các stator có thể ảnh hưởng đến chuyển động của rơto. Để điều khiển động cơ bước, mỗi stator sẽ được cấp nguồn lần lượt. Trong trường hợp này, stato sẽ từ hóa và hoạt động như một cực điện từ tác dụng lực đẩy lên rơto và
đẩy nó di chuyển một bước. Thay thế từ hóa và khử từ của các stator sẽ di chuyển rôto từng bước và cho phép nó xoay với sự kiểm sốt tuyệt vời.
Phân loại động cơ bước theo số pha
Loại 1: động cơ bước 2 pha là loại động cơ bước 4 dây, động cơ bước 6 dây hoặc động cơ bước 8 dây.
Loại 2: động cơ bước 3 pha là loại động cơ bước 3 dây hoặc động cơ bước 4 dây.
Loại 3: động cơ bước 5 pha là loại động cơ bước có 5 dây.
Phân loại theo cực của động cơ bước
Động cơ đơn cực
Dịng điện trong một động cơ đơn cực ln chạy qua cuộn dây theo cùng một hướng. Điều này cho phép sử dụng mạch điều khiển đơn giản, nó tạo ra mơ-men xoắn ít hơn động cơ lưỡng cực.
Động cơ lưỡng cực
Dòng điện trong một động cơ lưỡng cực có thể chạy qua cuộn dây theo một trong hai hướng. Trong khi điều này đòi hỏi một mạch điều khiển phức tạp hơn động cơ đơn cực, nó tạo ra nhiều mơ-men xoắn hơn.
Phân loại động cơ bước theo Rotor
Động cơ bước nam châm vĩnh cửu ( Permanent magnet stepper ) :
Động cơ nam châm vĩnh cửu sử dụng một nam châm vĩnh cửu (PM) trong rotor và hoạt động dựa trên lực hút hoặc lực đẩy giữa rotor PM và nam châm điện stator.
Động cơ bước biến đổi điện trở ( Variable Reluctance Stepper Motor ) :
Động cơ bước biến đổi điện trở (VR) có một rotor sắt trơn và hoạt động dựa trên nguyên tắc miễn cưỡng tối thiểu xảy ra với khe hở tối thiểu, do đó các điểm rotor bị hút về phía cực nam châm của stator.
Động cơ bước đồng bộ lai ( Hybrid Synchronous Stepper Motor ):
Động cơ bước lai (HB) được đặt tên bởi vì chúng sử dụng kết hợp các kỹ thuật nam châm vĩnh cửu (PM) và biến đổi điện trở (VR) để đạt được công suất tối đa trong kích thước nhỏ gọn.
Phương pháp điều khiển động cơ bước
Điều khiển dạng sóng ( Wave Drive )
Hình 4. 16 Điều khiển dạng sóng
Đây là cách cơ bản nhất để điều khiển một động cơ bước và nó khơng được sử dụng nhiều nhưng vẫn đáng để hiểu về việc điều khiển động cơ bước. Trong phương pháp này, mỗi pha hoặc stato cạnh nhau sẽ được kích hoạt lần lượt bằng cách sử dụng một mạch đặc biệt. Điều này từ hóa và khử từ hóa stato dẫn đến chuyển động của rơto một bước.
Điều khiển chạy đủ bước ( Full Step Drive )
Hình 4. 17 Điều khiển chạy đủ bước
Trong phương pháp này thay vì kích hoạt các stator một lần, hai stator được kích hoạt với một khoảng thời gian ngắn giữa chúng. Trong chế độ này, bất kỳ hai stator sẽ được kích hoạt. Điều này có nghĩa là stator thứ nhất bật ON và stator thứ hai sẽ ON sau một khoảng thời gian ngắn trong khi stator thứ nhất vẫn ON. Phương pháp này dẫn đến mô-men xoắn cao và cho phép điều khiển động cơ tải cao.
Điều khiển chạy nửa bước ( Haft-Stepping Drive )
Hình 4. 18 Điều khiển chạy nửa bước
Phương pháp này khá giống với ổ đĩa Full bước. Ở đây, hai stator được đặt cạnh nhau sẽ được kích hoạt trước và stator thứ ba sẽ được kích hoạt tiếp theo; hai stator này bị vơ hiệu hóa. Chu kỳ này kích hoạt hai stator trước và sau đó một stator lặp lại để điều khiển động cơ bước. Phương pháp này dẫn đến tăng độ phân giải của động cơ trong khi giảm mô-men xoắn.
Điều khiển chạy bước nhỏ ( MicroStepping Drive ):
Hình 4. 19 Điều khiển chạy bước nhỏ
Đây là phương pháp điều khiển được sử dụng phổ biến nhất vì tính chính xác của nó. Mạch điều khiển cung cấp dịng bước biến đổi cho cuộn dây stato ở dạng sóng hình sin. Những bước nhỏ xíu này hiện nay giúp tăng cường độ chính xác của từng bước một. Phương pháp này được sử dụng rộng rãi vì nó cung cấp độ chính xác cao và giảm tiếng ồn hoạt động ở mức độ lớn.
Ưu điểm
Do cấu trúc bên trong của chúng, động cơ bước không cần cảm biến để phát hiện vị trí động cơ. Khi động cơ di chuyển bằng cách thực hiện các bước cách đơn giản là đếm các bước này, bạn có thể có được vị trí động cơ tại một thời điểm nhất định.
Ngoài ra, điều khiển động cơ bước là khá đơn giản. Động cơ không cần bộ trình điều khiển, khơng cần tính tốn phức tạp hoặc điều chỉnh để hoạt động đúng. Nhìn chung
cách điều khiển động cơ bước dễ dàng so với các động cơ khác. Với microstepping, bạn có thể đạt độ chính xác vị trí cao, lên tới khoảng 0,007 °.
Động cơ bước cung cấp mô-men xoắn tốt ở tốc độ thấp, rất tốt cho việc giữ vị trí, và cũng có tuổi thọ dài.
Nhược điểm
Động cơ bước có thể gặp vấn đề lỡ bước khi mô-men xoắn tải quá cao. Điều này tác động tiêu cực đến việc kiểm sốt, vì khơng có cách nào để biết vị trí thực sự của động cơ. Sử dụng microstepping làm cho động cơ bước thậm chí có nhiều khả năng gặp vấn đề này.
Những động cơ này ln tiêu hao dịng điện tối đa ngay cả khi không hoạt động, điều này làm cho hiệu suất kém hơn và có thể gây ra quá nhiệt.
Động cơ bước có mơ-men xoắn thấp và trở nên khá ồn ở tốc độ cao.
Cuối cùng động cơ bước có mật độ cơng suất thấp và tỷ lệ mơ-men xoắn-qn tính thấp.
Tóm lại, động cơ bước chỉ phù hợp khi bạn cần một giải pháp tiết kiệm chi phí, dễ điều khiển và không sử dụng với các ứng dụng cần mô-men xoắn ở tốc độ cao.
Các ứng dụng phổ biên của động cơ bước hiện nay
Máy công nghiệp: Động cơ bước được sử dụng trong máy đo ô tô và máy công cụ thiết bị sản xuất tự động, máy CNC.
Bảo mật: sản phẩm giám sát mới cho ngành an ninh.
Y tế - Động cơ bước được sử dụng bên trong máy quét y tế, máy lấy mẫu và cũng được tìm thấy bên trong chụp ảnh nha khoa kỹ thuật số, bơm chất lỏng, mặt nạ phòng độc và máy phân tích máu.
4.3 Giới thiệu phần mềm lập trình ARDUINO IDE:
Hình 4. 20 Phần mềm lập trình Arduino IDE
Mơi trường phát triển tích hợp (IDE) của Arduino là một ứng dụng đa nền tảng được viết bằng Java. Nó được thiết kế để dành cho những người mới tập làm quen với lĩnh vực phát triển phần mềm. Nó bao gồm một chương trình code editor với các chức năng
như đánh dấu cú pháp, và tự động canh lề, cũng như compile (biên dịch) và upload chương trình lên board chỉ với 1 cú nhấp chuột. Đề tài sử dụng phần mềm Arduino IDE để lập trình cho Arduino. Ngơn ngữ được sử dụng ở ArduinoIDE là C và C++. Tất cả đều là mã nguồn mở, được đóng góp và hỗ trợ rất nhiều từ cộng đồng, rất thích hợp cho những ai mới bắt đầu tìm hiểu hoặc khơng chun để dễ dàng tiếp cận, nắm bắt và triển khai nhanh chóng. Arduino IDE hoạt động được trên cả 3 nền tảng: Windows, MAC OS và Linux.
CHƯƠNG 5. THIẾT LẬP MÔ PHỎNG
5.1 Mơ hình robot tự hành: Phần cứng Phần cứng
Hình 5. 1 Phần cứng mơ hình robot tự hành
Tạo mơi trường cho robot:
Hình 5. 2 Môi trường robot hoạt đông
5.2 Kết quả đạt được:
Đã di chuyển đúng như mong muốn.
Hiện thị được thơng số lên màn hình.