Search…

Thông Số Kỹ Thuật Arduino Uno R3 - Các Biến Thể và Lưu Ý

03/10/20206 min read
Arduino board có rất nhiều phiên bản với hiệu năng và mục đích sử dụng khác nhau như: Arduino Mega, Arduino Nano, Arduino LilyPad, ... Trong số đó, Arduino Uno R3 là một trong những phiên bản được sử dụng rộng rãi nhất bởi chi phí và tính linh động của nó.

Các loại Arduino board

Arduino Uno R3

Do Arduino có tính mở về phần cứng nên Arduino Uno R3 cũng có những biến thể để phù hợp cho nhiều đối tượng khác nhau.

Phiên bản Arduino Uno tiêu chuẩn.
Arduino Uno R3

Arduino Uno SMD R3

Từ thiết kế tiêu chuẩn của Arduino Uno R3, để giảm giá thành sản xuất, một số thành phần của board này được thay đổi nhưng vẫn có chức năng tương đương. Ví dụ thay vi điều khiển mặc định của Arduino là ATmega328P, kiểu chân là DIP thành ATmega328, kiểu chân SMD. Phiên bản này có tên gọi Arduino Uno SMD R3.

Arduino Uno SMD R3.
Arduino Uno SMD R3

Arduino Nano

Với các sản phẩm cần kích thước nhỏ gọn Arduino Nano ra đời, vẫn giữ nguyên sức mạnh của Arduino Uno với vi điều khiển ATmega328 - SMD nhưng toàn bộ board mạch được thu gọn lại, thậm chí khả năng cắm trực tiếp vào breadboard.

Arduino Nano
Arduino Nano

Có rất nhiều biến thể của Arduino board như Arduino Mega 2560 mạnh mẽ về cấu hình phù hợp hơn với đòi hỏi hiệu năng, ... để có thể tận dụng tối đa sức mạnh của Arduino board, nhà phát triển cần biết rõ thông số kỹ thuật của từng loại, nắm được các khác biệt giữa các phiên bản, từ đó có giải pháp xử lý phù hợp.

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

Thông số kỹ thuật của Arduino Uno R3 là tiêu chuẩn, các biến thể gần như có thông số tương đương.

Arduino Uno được xây dựng với phần nhân là vi điều khiển ATmega328P, sử dụng thạch anh có chu kì dao động là 16 MHz.

Với vi điều khiển này, tổng cộng có 14 pin (ngõ) ra / vào được đánh số từ 0 tới 13 (trong đó có 6 pin PWM, được đánh dấu ~ trước mã số của pin). Song song đó, có thêm 6 pin nhận tín hiệu analog được đánh kí hiệu từ A0 - A5, 6 pin này cũng có thể sử dụng được như các pin ra / vào bình thường (như pin 0 - 13). Ở các pin được đề cập, pin 13 là pin đặc biệt vì nối trực tiếp với LED trạng thái trên board.

Trên board còn có 1 nút reset, 1 ngõ kết nối với máy tính qua cổng USB và 1 ngõ cấp nguồn sử dụng jack 2.1mm lấy năng lượng trực tiếp từ AC-DC adapter hay thông qua ắc-quy nguồn.

Khi làm việc với Arduino board, một số thuật ngữ sau cần lưu ý:

  • Flash Memory: bộ nhớ có thể ghi được, dữ liệu không bị mất ngay cả khi tắt điện. Về vai trò, có thể hình dung bộ nhớ này như ổ cứng để chứa dữ liệu trên board. Chương trình được viết cho Arduino sẽ được lưu ở đây. Kích thước của vùng nhớ này dựa vào vi điều khiển được sử dụng, ví dụ như ATmega8 có 8KB flash memory. Loại bộ nhớ này có thể chịu được khoảng 10.000 lần ghi / xoá.
  • RAM: tương tự như RAM của máy tính, mất dữ liệu khi ngắt điện, bù lại tốc độ đọc ghi xoá rất nhanh. Kích thước nhỏ hơn Flash Memory nhiều lần.
  • EEPROM: một dạng bộ nhớ tương tự như Flash Memory nhưng có chu kì ghi / xoá cao hơn - khoảng 100.000 lần và có kích thước rất nhỏ. Để đọc / ghi dữ liệu có thể dùng thư viện EEPROM của Arduino.

Ngoài ra, Arduino board còn cung cấp cho các pin khác nhau như pin cấp nguồn 3.3V, pin cấp nguồn 5V, pin GND, ... 

Thông số kỹ thuật của Arduino board được tóm tắt trong bảng sau:

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

Một số lưu ý khi làm việc với Arduino Uno R3

Mặc dù Arduino có cầu chì tự phục hồi (resettable fuse) bảo vệ mạch khi xảy ra quá tải, tuy nhiên cầu chì này chỉ được mắc cho cổng USB nhằm tự động ngắt điện khi nguồn vào USB lớn hơn 5V. Do đó khi thao tác với Arduino, cần tính toán cẩn thận để tránh gây hư tổn đến board. Các thao tác sau đây có thể gây hỏng một phần hoặc toàn bộ board Arduino.

Nối trực tiếp dòng 5V vào GND

Khi nối trực tiếp dòng 5V vào GND mà không qua bất kỳ một điện trở kháng nào sẽ gây ra hiện tượng đoản mạch và phá hỏng Arduino, các trường hợp phổ biến có thể mắc phải:

Arduino nối trực tiếp 5V vào GND
Nối trực tiếp dòng 5V vào GND
Nối trực tiếp dòng 5V vào GND
Nối trực tiếp dòng 5V vào GND

Nối 1 pin OUT bất kỳ vào GND

Nối 1 pin OUT bất kỳ vào GND
Nối 1 pin OUT bất kỳ vào GND

Trong trường hợp này, nối pin 8 với GND và trong Arduino IDE ta có đoạn code sau:

void setup()
{
	pinMode(8, OUTPUT);
}

void loop()
{
	digitalWrite(8, HIGH);
	delay(1000);
}

Nối 1 pin HIGH vào 1 pin LOW bất kỳ

Nối 1 pin HIGH vào 1 pin LOW bất kỳ 
Nối 1 pin HIGH vào 1 pin LOW bất kỳ 

Về mặt ý nghĩa, cách nối này cũng tương tự như ở trên, gây ra đoản mạch và phá hủy Arduino. Đoạn code sau minh họa vấn đề này:

void setup()
{
	pinMode(7, OUTPUT);
	pinMode(12, INPUT);
}

void loop()
{
	digitalWrite(7, HIGH);
	delay(1000);
}

Cấp nguồn lớn hơn 5V cho bất kỳ pin I/O nào

Theo tài liệu của nhà sản xuất, với vi điều khiển ATmega328P - 5V là ngưỡng lớn nhất mà vi điều khiển này có thể chịu được. Nếu bất kỳ pin nào bị cấp điện áp vượt quá 5V sẽ làm hỏng vi điều khiển này.

Cấp nguồn lớn hơn 5V gây hư hỏng Arduino board.
Cấp nguồn lớn hơn 5V

Tổng cường độ dòng điện trên các I/O pin vượt quá ngưỡng

Dựa theo datasheet của vi điều khiển ATmega328P, tổng cường độ dòng điện cấp cho các I/O pin tối đa là 200mA. Vì vậy, trong trường hợp ép Arduino cấp nguồn cho hơn 10 đèn LED (mỗi đèn thông thường sẽ cần 20mA) hay dùng trực tiếp các chân I/O cấp nguồn cho động cơ sẽ gây tổn hại đến vi điều khiển.

ss_9
Tổng cường độ dòng điện trên I/O quá ngưỡng

Thay đổi các kết nối trong lúc đang vận hành

Khi Arduino đang vận hành, thay đổi các kết nối có thể gây ra sự không ổn định của điện áp dẫn đến hư hỏng Arduino. Trong thực tế nên ngắt nguồn Arduino trước khi thực hiện bất kỳ các thay đổi nào.

Tham khảo

  • https://www.arduino.cc/en/Main/ArduinoBoardUno - 3/9/2015
  • http://www.ruggedcircuits.com/10-ways-to-destroy-an-arduino/ - 3/9/2015
IO Stream

IO Stream Co., Ltd

30 Trinh Dinh Thao, Hoa Thanh ward, Tan Phu district, Ho Chi Minh city, Vietnam
+84 28 22 00 11 12
developer@iostream.co

383/1 Quang Trung, ward 10, Go Vap district, Ho Chi Minh city
Business license number: 0311563559 issued by the Department of Planning and Investment of Ho Chi Minh City on February 23, 2012

©IO Stream, 2013 - 2024