Tự động tắt nguồn cho Arduino bằng MOSFET

Ở đây mình có một boad Arduino Uno sử dụng nguồn là pin 9v. Khi mình bấm nút, Arduino bật, led sáng, và sau 1 khoảng thời gian định sẵn, arduino sẽ tựtắt. Nếu mình bấm nút một lần nữa, chương trình lại thực hiện lại 1 lần nữa và tự tắt Nếu các bạn đưa nó áp dụng vào các dự án của mình thì sẽ cảm thấy thật tuyệt vời phải không! Điều đó có nghĩa rằng chúng ta có thể tăng thêm tuổi thọ pin trong dự án của mình lên đến hàng tháng thay vì 1 vài ngày! Bạn có thể giữ Arduino của bạn hoạt động cho đến khi nào bạn muốn, và sau đó khi nó đã hoàn thành công việc của mình, bạn có thể biến nó tự động tắt chính nó. Nhưng bây giờ chúng ta hãy xem, làm thế nào để xây dựng mạch này.

I. CHUẨN BỊ

II. Cấu tạo và nguyên lý hoạt động của Mosfet

Trái tim của mạch là MOSFET.Mosfet là Transistor hiệu ứng trường ( Metal Oxide Semiconductor Field Effect Transistor ) là một Transistor đặc biệt có cấu tạo và hoạt động khác với Transistor thông thường mà ta đã biết. Mosfet thường có công suất lớn .Đối với tín hiệu 1 chiều thì nó coi như là 1 khóa đóng mở. Mosfet có nguyên tắc hoạt động dựa trên hiệu ứng từ trường để tạo ra dòng điện, là linh kiện có trở kháng đầu vào lớn thích hợn cho khuyếch đại các nguồn tín hiệu yếu, Mosfet được sử dụng nhiều trong các mạch nguồn Monitor, nguồn máy tính

Ký hiệu và sơ đồ chân tương đương giữa Mosfet và Transistor

Cấu tạo Mosfet

G : Gate gọi là cực cổng

S : Source  gọi là cực nguồn

D : Drain gọi  là cực máng

Mosfet kênh N có hai miếng bán dẫn loại P đặt trên nền bán dẫn N, giữa hai lớp P-N được cách điện bởi lớp SiO2 hai miếng bán dẫn P được nối ra thành cực D và cực S, nền bán dẫn N được nối với lớp màng mỏng ở trên sau đó được dấu ra thành cực G.

Mosfet có điện trở  giữa cực G với cực S và giữa cực G với cực D  là vô cùng lớn , còn điện trở giữa cực D và cực S phụ thuộc vào  điện áp chênh lệch giữa cực G và cực S ( UGS )

Khi điện áp UGS = 0 thì điện trở RDS rất lớn, khi điện áp UGS > 0  => do hiệu ứng từ trường làm cho điện trở RDS giảm, điện áp UGS càng lớn thì điện trở RDS càng nhỏ.

 

điện áp đặt vào chân G không tạo ra dòng GS như trong Transistor thông thường mà điện áp này chỉ tạo ra từ trường  làm cho điện trở RDS giảm xuống

Nếu chúng ta cấp 5V tại chân G, nó sẽ cho phép một số lượng lớn các dòng điện đi qua 2 chân còn lại. Nếu không có điện áp đến chân G của MOSFET, sẽ không có hiện tượng dòng điện đi qua 2 chân của MOSFET. Vì vậy chúng ta sẽ sử dụng tính năng này để kiểm soát nguồn cho Arduino.

 

Tất cả những gì các bạn cần làm là kết nối như trên sơ đồ mình đã mô phỏng

Chân G của Mosfet được nối với Pin 7 trên arduino

Chân của Led được nối với 1 chân bất kì trên arduino

III CODE

const int MOSFETPIN =  7; 
const int LED = A4;

void setup(void)
{
  pinMode(MOSFETPIN, OUTPUT);
  digitalWrite(MOSFETPIN, HIGH);
   pinMode(LED, OUTPUT);
  digitalWrite(LED, HIGH);
  delay(5000);
  digitalWrite(MOSFETPIN, LOW);
}

void loop() {

}

Như vậy, khi nhấn nút, đèn Led sẽ sáng 5 giây. sau đó tự động tắt. nhấn thêm lần nữa đèn led sáng và 5 giây sau lại tắt....

Rất đơn giản đúng không nào? các bạn có thể ứng dụng trong các thiết bị khi chỉ cần nó thực hiện xong nhiệm vụ là tự tắt nguồn.

Chúc các bạn thành công!

lên
15 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ả

Nghiên cứu về tín hiệu hồng ngoại của Remote điều hòa, ứng dụng trong các dự án nhà thông minh <Phần 2>

Ở bài viết trước mình đã hướng dẫn các bạn cách cấu hình lại thư viện để nhận được tín hiệu điều khiển hồng ngoại có độ dài lớn hơn 100 rawbuff. Tuy nhiên thực tế các biến trong thư viện đang sử dụng dạng 8bit cho rawbuff, điều đó đồng nghĩa với giá trị rawbuff chúng ta có thể tăng tối đa là 255. Mình đã nghiên cứu rất nhiều các bài viết, các câu trả lời trên các diễn đàn quốc tế chuyên về arduino tuy nhiên chưa tìm được câu trả lời thỏa đáng cho các vấn đề mình gặp phải. Việc giải mã tín hiệu là vô cùng khó khăn và phức tạp. Thậm chí mình đã phải bỏ ra 10$ để thanh toán cho 1 phần mềm để phân tích, giải mã tín hiệu hồng ngoại.Đây chính là rào cản lớn đối với các bạn muốn nghiên cứu về tín hiệu hồng ngoại của điều hòa. Bài viết này mình sẽ hướng dẫn các bạn cách nhận giá trị điều khiển hồng ngoại có kích thước tín hiệu lớn. Và đưa ra các vấn đề mà các bạn thường mắc phải khi nghiên cứu tín hiệu hồng ngoại.

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

Giao tiếp I2C giữa nhiều arduino với nhau

Đôi khi chúng ta muốn chia sẻ khối lượng công việc của một Arduino với 1 arduino khác. Hoặc có khi chúng ta muốn nhiều chân digital hoặc analog hơn để xử lý công việc.I2C là giải pháp tốt nhất. Bài viết này mình sẽ hướng dẫn các bạn cách giao tiếp giữa 2 boad arduino với nhau qua giao thức I2C.

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