Vi điều khiển là một máy tính đƣợc tích hợp trên một chip, nó thƣờng đƣợc sử dụng để điều khiển các thiết bị điện tử. Vi điều kiển thực chất gồm một vi xử lý có hiệu suất đủ cao và giá thành thấp (so với các vi xử lý đa năng dùng trong máy tính) kết hợp với các thiết bị ngoại vi nhƣ các bộ nhớ, các mô đun vào/ra, các mô đun biến đổi từ số sang tƣơng tự và tƣơng tự sang số, mô đun điều chế độ rộng xung(PWM)…
Tại sao lại chọn Arduino?
Bo mạch Arduino sƣ dụng dòng vi xử lý ATmega328(8-bit) của Atmel. 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 ROM 1KB, RAM 2KB, bộ nhớ Flash 32KB, xung nhịp 16MHz, các ngõ vào ra digital I/O trong đó có 6 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).
Ƣu điểm
- Gọn nhẹ, không chiếm nhiều diện tích trên mạch điều khiển.
- 14 chân digital, 6 chân điều khiển PWM thuận lợi cho điều khiển động cơ. - Môi trƣờng lập trình mạnh, hỗ trợ nhiều thƣ viện, dễ dàng kết nối và lập trình.
Arduino IDE
Môi trƣờng lập trình Arduino IDE có thể chạy trên 3 nền tảng phổ biến hiện nay là
Windows, Macintosh OSX và Linux. Do có tính chất nguồn mở nên môi trƣờng lập trình ở đây hoàn toàn miễn phí, và có thể mở rộng thêm.
Trong hệ thống sử dụng 3 mạch Arduino, mỗi arduino khác nhau về cả kích thƣớc, hình dáng và chip điều khiển, tuy nhiên tính chất và nhiệm vụ nhƣ nhau.
a. Vi điều khiển ATmega328
ATmega328 có tên đầy đủ là ATmega 328-PU. ATmega328 là linh hồn của Arduino Uno và Nano.
Hình 3.9 Sơ đồ chân ATmega328
Các thông số chính của vi điều khiển Atmega328P-PU như sau:
- Kiến trúc: AVR 8bit
- Xung nhịp lớn nhất: 20Mhz
- Bộ nhớ chƣơng trình (FLASH): 32KB - Bộ nhớ EEPROM: 1KB
- Bộ nhớ RAM: 2KB
- Đ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)
Mạch Arduino Uno R3 và Arduino Nanokhác nhau về kích thƣớc nhƣng có tính năng và cấu trúc tƣơng tự nhau.
Hình 3.7 Arduino Uno R3 trong thực tế
Hình 3.8 Arduino Nano trong thực tế
Thông số của Arduino UNO R3 và Nano
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 dung 7-12V DC
Điện áp vào giới hạn 6-20V DC
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)
Bảng 3.1 Những thông số cơ bản của vi điều khiển Arduino Uno và Nano
Arduino Uno R3 và arduino nano có cấu trúc và chức năng tƣơng tự nhau, nên việc điều khiển không mất quá nhiều khó khăn khi đã nắm đƣợc kiến thức về một loại arduino.
b. Arduino Mega 2560
Arduino Mega2560 là một vi điều khiển bằng cách sử dụng ATmega2560
Arduino Mega2560 khác với tất cả các vi xử lý trƣớc giờ vì không sử dụng FTDI chip điều khiển chuyển tín hiệu từ USB để xử lý. Thay vào đó, nó sử dụng ATmega16U2 lập trình nhƣ là một công cụ chuyển đổi tín hiệu từ USB.
Hình 3.9 Arduino Mega 2560
Bảng 3.2 Thông số kỹ thuật của arduino mega