Phần cứng của Arduino

Một phần của tài liệu Thiết kế và thi công mô hình cửa hàng giặt sấy tự động phục vụ (Trang 28 - 34)

Một mạch Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện bổ sung giúp dễ dàng lập trình và có thể mở rộng với các mạch khác.

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

I/O, dung lượng bộ nhớ, hay kích thước có sự khác nhau. Các board 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ơ,...

a. Arduino UNO R3

Arduino UNO R3 là một bo mạch vi điều khiển dựa trên chip ATmega168 hoặc

ATmega 328. Cấu trúc chung bao gồm[9]:

 14 chân vào ra bằng tín hiệu số, trong đó có 6 chân có thể sử dụng để điều chế độ rộng xung.

 Có 6 chân đầu vào tín hiệu tương tự cho phép chúng ta kết nối với các bộ cảm biến bên ngoài để thu thập số liệu.

 Sử dụng một dao động thạch anh tần số dao động 16MHz.

 Có một cổng kết nối bằng chuẩn USB để nạp chương trình vào bo mạch và một chân cấp nguồn cho mạch, một nút RESET.

Hình 2.7. Cấu trúc phần cứng của Arduino Uno

Thông số kỹ thuật của Arduino Uno R3:

 Khối xử lý trung tâm là vi điều khiển Atmega328.  Điện áp hoạt động 5V.

 Điện áp đầu vào khuyến nghị là 5-12V.  Điện áp đầu vào giới hạn 6-20V.

 Dòng điện một chiều trên các chân vào ra là 40mA.  Dòng điện một chiều cho chân 3.3V là 50mA.

 Clock Speed 16 MHz.

 Flash Memory 32 Kb (ATmega 328), SRAM 2 Kb (ATmega 328), EEPROM 1 Kb (AT mega 328).

Khối xử lý trung tâm (Atmega328)

Trong bo mạch Arduino IC đóng vai trò xử lý trung tâm là AVR Atmega328. Họ vi điều khiển AVR là dòng sản phẩm được phát triển bởi công ty Atmel (1996), nó được chế tạo dựa trên cấu trúc AVR RISC (Reduced Instruction Set Computer – kiến trúc tập lệnh rút gọn). Vi điều khiển Atmega AVR có công suất cao, tiêu thụ năng lượng thấp.

Atmega328 là một vi điều khiển được thiết kế theo kiến trúc thanh ghi. Trong loại kiến trúc này, tất cả các toán hạng của các phép toán đều được lưu trữ trong các thanh ghi trước khi được đưa vào CPU để xử lí[5].

Hình 2.8. ATmega328 dạng chân dán và chân cắm

Sơ đồ chân của Atmega328 như sau:

 Chân VCC (chân số 7): Cấp nguồn điện áp 5V cho bo mạch hoạt động.

 Chân GND (chân số 8): Chân nối đất chung.

 Chân AREF (chân 21): Là chân điện áp tham chiếu để chuyển đổi tín hiệu tương tự sang số (ADC).

 Chân AVCC (chân 20): Chân cung cấp điện áp cho quá trình chuyển đổi ADC.

 Port B (chân 14 - chân 19, chân 9, chân 10): Bao gồm có 8 chân I/O từ (PB0÷PB7).

 Port C (chân 23 – chân 28, chân 1): Bao gồm có 7 chân I/O từ (PC0÷PC6) trong đó chân PC6 (chân số 1) làm chân reset.

 Port D (chân 2 – chân 6, chân 11 – chân 13): Bao gồm có 8 chân I/O từ chân (PD0÷PD7).

Hình 2.9. Sơ đồ chân của ATmega 328

8K bytes Flash trên chip có thể lập trình với các khả năng đọc trong khi ghi (Read-While-Write), 512 byte EEPROM, 1K byte SRAM, 23 đường vào ra đa mục đích, 32 thanh ghi đa mục đích, 3 Timer/Counter rất linh hoạt với các compare mode, các ngắt trong và ngắt ngoài, một bộ USART nối tiếp có thể lập trình được, ghép nối nối tiếp 2 dây định hướng byte, 6 kênh ADC[5].

Trong đó 4 (hoặc 6 tùy từng biến thể) kênh ADC có độ chính xác 10 bit và 2 kênh có độ chính xác 8 bit, Watchdog Timer có thể lập trình được với bộ dao động bên trong, một cổng nối tiếp SPI và 5 mode tiết kiệm năng lượng[5].

b. Arduino MEGA2560

Cũng có cấu tạo tương tự như Arduino UNO R3, tuy nhiên Arduino Mega 2560 là phiên bản nâng cấp của Arduino Uno R3 với số chân giao tiếp, ngoại vi và bộ nhớ được nâng cấp lên nhiều hơn để phục vụ các công việc cần số lượng chân giao tiếp và bộ nhớ lớn hơn[10].

Thông số kỹ thuật:

 Vi điều khiển chính: ATmega2560

 IC nạp và giao tiếp UART: ATmega 16U2.

 Nguồn nuôi mạch: 5VDC từ cổng USB hoặc nguồn ngoài cắm từ giắc tròn DC  Số chân Digital I/O: 54 (trong đó 15 chân có khả năng xuất xung PWM)

 Dòng điện DC Current trên mỗi chân I/O: 20mA  Dòng điện DC Current chân 3.3V: 50mA

 Flash Memory: 256 KB trong đó 8 KB sử dụng cho bootloader.  SRAM: 8 KB

 EEPROM: 4 KB

 Clock Speed: 16 MHz

Hình 2.10. Arduino MEGA2560

Khối xử lý trung tâm (ATmega2560)

Cũng giống như ATmega328, ATmega2560 là vi điều khiển 8 bit, được thiết kế theo cấu trúc thanh ghi. Tuy nhiên do số lượng chân giao tiếp nhiều nên chỉ được đóng gói theo dạng chip dán mà không có loại chip cắm gây khó khăn cho quá trình nâng cấp hoặc thay thế sửa chữa.

Hình 2.11. ATmega2560 dạng chip dán

Lõi AVR kết hợp với 32 thanh ghi làm việc cho mục đích chung. Tất cả 32 thanh ghi được kết nối trực tiếp với bộ logic số học (ALU), cho phép hai thanh ghi độc lập được truy cập trong một lệnh duy nhất trong một chu kỳ của xung Clock. Kết quả là tốc

ATmega2560 cung cấp 256 KB bộ nhớ Flash lập trình trong hệ thống, 4 KB EEPROM, SRAM 8KB, 86 I / O, 32 thanh ghi, bộ đếm thời gian thực (RTC), 6 Timer / Counter với chế độ so sánh và PWM, 4 USART, giao tiếp I2C, ADC 16 kênh 10 bit, bộ định thời Watchdog có thể lập trình với Bộ tạo dao động nội bộ, một cổng nối tiếp SPI[6].

Hình 2.12. Sơ đồ khối bên trong ATmega2560

So sánh Arduino UNO R3 và MEGA2560:

Bảng 2.1. So sánh Arduino UNO và MEGA2560

Thông số UNO R3 MEGA2560

Tần số thạch anh 16 MHz 16 MHz

Số chân Digital 14 54

Số chân PWM 6 15

Số chân Analog 6 16

Bộ nhớ Flash 32KB (0.5KB Bootloader) 256KB (8KB Bootloader)

SRAM 2KB 8KB

Một phần của tài liệu Thiết kế và thi công mô hình cửa hàng giặt sấy tự động phục vụ (Trang 28 - 34)