Làm sao để phá hỏng Arduino Uno R3

Trong bài viết này, mình sẽ không đề cập đến những khái niệm như búa, xăng dầu, điện AC 220V hay ... xô nước trong nhà bạn. Chắc chắn rằng bạn đã biết đến những thứ này và cách sử dụng chúng rồi.

Thay vào đó, mình sẽ đề cập đến những thứ liên quan đến điện, những thứ mà thông thường khi làm việc với Arduino Uno R3 bạn vẫn hay đụng phải. Chúng là điện tử thông dụng, đừng nghĩ đến gạch đá ở đây nhé.

Tại sao mình lại chọn Arduino Uno R3 để viết bài ? Vì đây là mạch Arduino thích hợp nhất cho những người mới bắt đầu nghiên cứu về Arduino, và dĩ nhiên nó cũng là mạch hay bị phá hỏng nhất.

Những vấn đề trong bài viết này chỉ mang tính tương đối, chỉ xét trên lí thuyết. Trên thực tế, tùy vào nhiều điều kiện hoạt động khác nhau (điện áp, cường độ dòng điện, nhiệt độ hoạt động, ...) cũng như thời gian tác động mà mỗi vấn đề sẽ đem lại những kết quả khác nhau: gây hư hỏng tức thời hoặc chưa gây ra hư hỏng. Nhìn chung, ta phải thử thì mới biết được thực hư nó ra sao. Nếu bạn đã thử rồi, hãy báo lại với mình để mình cập nhật bài viết nhé, cảm ơn sự hào phóng của bạn.

Đây là một số khả năng có thể làm hỏng một phần hay toàn bộ Arduino Uno R3 (hoặc mạch tương đương). Xin nhấn mạnh phần in đậm màu đỏ một lần nữa .

             Gây hư hỏng một phần Arduino Uno R3. Linh kiện bị hỏng có thể thay thế được.

             Gây hỏng các linh kiện quan trọng trên mạch. Không thể thay thế được (hoặc thay được nhưng tốn rất nhiều chi phí).

1. Nối trực tiếp một chân I/O ở mức HIGH xuống GND

Mô tả

Thiết lập một chân I/O ở chế độ OUTPUT và đặt nó ở mức HIGH ...

//Cài đặt ở chân D2
void setup() {
    pinMode(2, OUTPUT);
    digitalWrite(2, HIGH);
}

void loop() {
}

... sau đó nối thẳng xuống GND. 

Nguyên nhân

Do không có điện trở hạn dòng nên với hành động này, dòng điện ở chân I/O đó sẽ vọt lên trên mức giới hạn 40mA của một chân I/O, khiến chân I/O này bị hỏng.

Khắc phục

Mắc nối tiếp thêm một điện trở vào chân I/O, khoảng 220 ohm là ổn. Tối thiểu là 125 ohm.

2. Nối trực tiếp một chân I/O ở mức HIGH với một chân I/O ở mức LOW

Mô tả

Thiết lập 2 chân I/O ở chế độ OUTPUT và đặt một chân ở mức LOW, chân còn lại ở mức HIGH ...

//Cài đặt ở chân D2 và D3
void setup() {
    pinMode(2, OUTPUT);
    pinMode(3, OUTPUT);
    
    digitalWrite(2, HIGH);
    digitalWrite(3, LOW);
}

void loop() {
}

... sau đó nối 2 chân I/O D2 và D3 trực tiếp vào nhau.

Nguyên nhân

Tương tự như vấn đề 1, trong đó chân D3 đóng vai trò là GND.

Khắc phục

Tương tự như vấn đề 1.

3. Cấp điện áp lớn vào một chân I/O

Mô tả

Cấp điện áp lớn hơn 5.5V vào một chân I/O bất kì.

Nguyên nhân

5.5V là ngưỡng tối đa mà Arduino Ụno R3 có thể chịu được, hay nói đúng hơn là vi điều khiển ATmega328P có thể chịu được. Các chân I/O trên mạch được nối trực tiếp với các chân của vi điều khiển này.

Khắc phục

Sử dụng diode zenner để hạ áp xuống 5V. Cách này sẽ không cho bạn đúng chính xác 5V, nhưng nó đảm bảo điện áp ở trong ngưỡng chịu được của Arduino Uno R3.

Cách này có thể khắc phục được cả vấn đề 1 và 2 bởi nó đã bao gồm một điện trở hạn dòng. Bạn cũng có thể chọn diode zenner với điện áp giới hạn thấp hơn như 4.7V, 3.6V, ... nếu không quan tâm đến vấn đề điện áp.

4. Cắm ngược cực khi cấp nguồn ngoài qua chân VIN - GND

Mô tả

Khắc phục

Sử dụng diode. Do sự sụt áp khi dòng điện qua lớp bán dẫn P-N trên diode nên điện áp cấp cho Arduino Uno R3 sẽ thấp hơn khoảng 0.5V (tùy loại diode) so với điện áp của nguồn. Vì vậy, nếu bình thường mức điện áp khuyên dùng cho nguồn ngoài là 7-12V thì khi sử dụng diode, bạn sẽ phải trừ hao đi 0.5V, tức là 7.5-12.5V. Dù gì đi chăng nữa, pin 9V vẫn là một lựa chọn hợp lí.

5. Cấp điện áp trên 5V vào chân 5V

Cấp nguồn qua chân này có thể làm hỏng một số bộ phận trên mạch, nhà sản xuất cũng không khuyến cáo người sử dụng làm việc này.

Mô tả

Nguyên nhân

Arduino Uno R3 chỉ hoạt động ở mức 5V. Vi điều khiển ATmega328P và ATmega16u2 cũng chỉ chịu được mức tối đa 5.5V. Mức điện áp giới hạn là 6V. Khi cấp nguồn vào chân 5V tức là bạn đã cấp nguồn trực tiếp cho 2 vi điều khiển ATmega16u2 và ATmega328P trên mạch.

Khắc phục

Sử dụng diode zenner tương tự như vấn đề 3 nhưng có thêm transistor đệm dòng.

Ngoài ra, bạn có thể sử dụng các IC hạ áp nguồn như LM7805.

6. Cấp điện áp trên 3.3V vào chân 3.3V

Vấn đề này tương tự như ở mục 5.

7. Nối trực tiếp chân VIN xuống GND

Theo nhà sản xuất, bạn có thể lấy nguồn 5V ra ở chân VIN để sử dụng khi cấp nguồn cho Arduino Uno R3 bằng jack cắm 2.1mm phía trước.

Nguyên nhân

Hiện tượng này được gọi là chập mạch (short-circuit). Khi chập mạch, cường độ dòng điện trong mạch tăng lên đột ngột vượt quá khả năng làm việc của các linh kiện điện tử và là hư hỏng chúng. Arduino Uno R3 không có các linh kiện bảo vệ chập mạch khi bạn lấy nguồn ở chân VIN để sử dụng.

Khắc phục

Sử dụng cầu chì tự phục hồi (PTC Resettable Fuse). Bạn nên sử dụng cầu chì loại 500mA hoặc thấp hơn, tối đa là 1A. Arduino Uno R3 không được thiết kế để hoạt động với cường độ dòng điện lớn.

8. Cấp nguồn 5V vào chân 5V và lấy nguồn ra ở chân VIN

Mô tả

Nguyên nhân

Trên Arduino Uno R3 có một IC hạ áp 5V. Thông thường, nó chuyển điện áp được cấp ở chân VIN (từ 7-12V khuyên dùng) thành điện áp 5V để cung cấp cho toàn mạch.

Trong hình, chiều dòng điện được mô tả bằng các mũi tên màu đỏ. Khi bạn cấp nguồn vào ở chân 5V và lấy ra sử dụng ở chân VIN, dòng điện sẽ có chiều như sau

Có thể thấy, dòng điện chạy ngược qua IC chuyển áp 5V dễ dàng làm hỏng nó.

Khắc phục

Sử dụng diode ở phía chân VIN để chặn dòng ngược này.

Bạn cũng có thể sử dụng diode tương tự cho phía chân 5V. Tuy nhiên nếu dùng cách này, điện áp lấy ra sẽ không phải là 5V mà là khoảng 4.5V (bị sụt 0.5V tùy loại diode) do sự sụt áp tạo ra bởi diode.

9. Cấp điện áp trên 13V vào chân RESET

Mô tả

Ở đây chúng ta chỉ quan tâm đến điện áp, do đó vai trò của điện trở là không quan trọng.

Nguyên nhân

Chân RESET trên mạch Arduino Uno R3 được kết nối thẳng đến chân reset của vi điều khiển ATmega328P. Theo đặc tính kĩ thuật của ATmega328P, điện áp đặt vào chân reset không được vượt quá 13V.

Khắc phục

Sử dụng diode zenner để hạ áp xuống.

10. Cho vi điều khiển cấp dòng trên 200mA

Mô tả

Sử dụng các chân I/O để trực tiếp cấp nguồn cho các thiết bị khác mà tổng cường độ dòng điện vượt quá 200mA

Nguyên nhân

Nguồn điện từ các chân I/O trên mạch đến từ vi điều khiển ATmega328P. IC này chỉ làm nhiệm vụ điều khiển và không được thiết kế để chịu được dòng điện lớn. Tổng cường độ dòng điện tối đa nó có thể cấp ở tất cả các chân I/O là 200mA.

Khắc phục

Sử dụng cầu chì tự phục hồi loại 150mA trở xuống mắc nối tiếp với chân Vcc (5V) của ATmega328P. Cách này tương tự như vấn đề 7. Bạn cần có kĩ thuật hàn tốt để thực hiện được điều này.

*11. Nối trực tiếp chân 5V xuống GND

Mô tả

Nguyên nhân

Chẳng có nguyên nhân nào ở đây cả. Có thể bạn sẽ nghĩ rằng vấn đề này cũng giống như những vấn đề trên, nhưng bạn đã nhầm. Arduino Uno R3 được tích hợp sẵn một cầu chì tự phục hồi (PTC Resettable Fuse) 500mA. Cầu chì này sẽ tự động ngắt điện toàn bộ mạch khi cường độ dòng điện vượt quá 500mA (trên lí thuyết). Sau khi tác nhân gây chập mạch không còn nữa, cầu chì sẽ tự phục hồi lại trạng thái làm việc bình thường, bạn chỉ cần đợi vài giây.

Cầu chì bảo vệ chập mạch một ưu điểm vượt trội của Arduino Uno R3 so với các mạch Arduino khác như Arduino Nano (không có cầu chì bảo vệ).

Đây là vị trí của cầu chì bảo vệ trên Arduino Uno R3

lên
21 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Cơ hội cho các bạn học sinh THPT đam mê Arduino tại TPHCM

Thực hiện chương trình Tuổi trẻ Thành phố xung kích sáng tạo, làm chủ khoa học công nghệ giai đoạn 2013 - 2017; Chương trình công tác Đoàn và phong trào Thanh thiếu nhi thành phố năm 2014; Nhằm thúc đẩy và phát triển phong trào học tập, sáng tạo và ứng dụng tin học trong thanh thiếu nhi thành phố; Trung tâm Phát triển Khoa học và Công nghệ Trẻ phối hợp với Tổ chức giáo dục Everest Education và Công ty Intel Việt Nam tổ chức Cuộc thi “Young Makers Challenge 2014 - Intel Galileo

lên
4 thành viên đã đánh giá bài viết này hữu ích.

Nạp bootloader cho vi điều khiển trên Arduino

Bài viết này hướng dẫn các bạn nạp bootloader cho vi điều khiển trên mạch Arduino. Trên thực tế, vi điều khiển trên mạch Arduino đã có sẵn bootloader rồi nên bạn không cần thao tác gì cả. Tuy nhiên, với một số trường hợp cần nạp bootloader, bạn sẽ cần đọc bài viết này để biết cách thực hiện.

lên
18 thành viên đã đánh giá bài viết này hữu ích.