- Thành phần bắt buộc
- Hoạt động của điều khiển quạt AC bằng Arduino
- 1. Máy dò đường không cắt ngang
- 2. Mạch điều khiển góc pha
- 3. Chiết áp để điều khiển Tốc độ Quạt
- 4. Bộ tạo tín hiệu PWM
- Sơ đồ mạch
- Lập trình Arduino để điều khiển tốc độ quạt AC
CẢNH BÁO!! Sơ đồ mạch được thảo luận trong dự án này chỉ dành cho mục đích giáo dục. Lưu ý rằng làm việc với điện áp nguồn AC 220V cần hết sức thận trọng và cần tuân thủ các quy trình an toàn. Không chạm vào bất kỳ thành phần hoặc dây điện nào khi mạch đang hoạt động.
Thật dễ dàng để bật hoặc tắt bất kỳ thiết bị gia đình nào bằng cách sử dụng công tắc hoặc bằng cách sử dụng một số cơ chế điều khiển như chúng tôi đã làm trong nhiều dự án Tự động hóa gia đình dựa trên Arduino. Nhưng có rất nhiều ứng dụng mà chúng ta cần điều khiển một phần nguồn AC, ví dụ, để điều khiển tốc độ của Quạt hoặc cường độ của Đèn. Trong trường hợp này, kỹ thuật PWM được sử dụng, vì vậy ở đây chúng ta sẽ học cách sử dụng PWM do Arduino tạo ra để điều khiển tốc độ quạt AC bằng Arduino.
Trong dự án này, chúng tôi sẽ trình bày điều khiển tốc độ quạt AC của Arduino bằng TRIAC. Ở đây, phương pháp điều khiển pha của tín hiệu AC được sử dụng để điều khiển tốc độ quạt AC, sử dụng tín hiệu PWM do Arduino tạo ra. Trong hướng dẫn trước, chúng tôi đã điều khiển tốc độ quạt DC bằng PWM.
Thành phần bắt buộc
- Arduino UNO
- 4N25 (Máy dò vạch không)
- Chiết áp 10k
- Bộ ghép nối mật mã MOC3021 0
- (0-9) Biến áp bước xuống V, 500 mA
- BT136 TRIAC
- Quạt xoay chiều hướng trục 230 VAC
- Kết nối dây
- Điện trở
Hoạt động của điều khiển quạt AC bằng Arduino
Công việc có thể được chia thành bốn phần khác nhau. Chúng như sau
1. Bộ dò điểm giao cắt không
2. Mạch điều khiển góc pha
3. Chiết áp để điều khiển tốc độ quạt
4. Mạch tạo tín hiệu PWM
1. Máy dò đường không cắt ngang
Nguồn cung cấp AC mà chúng tôi nhận được trong gia đình của chúng tôi là 220v AC RMS, 50 HZ. Tín hiệu AC này có bản chất là xoay chiều và thay đổi cực tính của nó theo chu kỳ. Trong nửa đầu của mỗi chu kỳ, nó chảy theo một chiều đạt điện áp cực đại và sau đó giảm xuống bằng không. Sau đó, trong nửa chu kỳ tiếp theo, nó chảy theo hướng thay thế (âm) đến điện áp đỉnh và sau đó lại về không. Để điều khiển tốc độ của Quạt xoay chiều, điện áp đỉnh của cả hai nửa chu kỳ cần được cắt hoặc điều khiển. Đối với điều này, chúng ta cần phải phát hiện điểm 0 mà từ đó tín hiệu sẽ được điều khiển / Cắt. Điểm này trên đường cong điện áp mà điện áp thay đổi hướng được gọi là điểm giao nhau của điện áp không.
Mạch hiển thị bên dưới là mạch dò điểm giao nhau không được sử dụng để lấy điểm giao cắt không. Đầu tiên, điện áp xoay chiều 220V được giảm xuống còn 9V AC bằng cách sử dụng một máy biến áp hạ bậc và sau đó nó được đưa đến bộ ghép quang 4N25 tại chân 1 và 2. Bộ ghép quang 4N25 có đèn LED tích hợp với chân 1 là cực dương và chân 2 là chân cực âm. Vì vậy, theo mạch bên dưới, khi sóng AC đi gần điểm giao nhau hơn 0, đèn LED sẵn có của 4N25 sẽ tắt và kết quả là bóng bán dẫn đầu ra của 4N25 cũng sẽ bị TẮT và chân xung đầu ra sẽ được kéo lên đến 5V. Tương tự, khi tín hiệu tăng dần đến đỉnhđiểm, sau đó đèn LED BẬT và bóng bán dẫn cũng sẽ BẬT với chân nối đất được kết nối với chân đầu ra, làm cho chân này là 0V. Sử dụng xung này, điểm giao nhau không có thể được phát hiện bằng Arduino.
2. Mạch điều khiển góc pha
Sau khi phát hiện điểm giao cắt 0, bây giờ chúng ta phải kiểm soát khoảng thời gian mà nguồn điện sẽ BẬT và TẮT. Tín hiệu PWM này sẽ quyết định lượng điện áp đầu ra cho động cơ AC, từ đó điều khiển tốc độ của nó. Ở đây, một BT136 TRIAC được sử dụng, điều khiển điện áp AC vì nó là một công tắc điện tử công suất để điều khiển tín hiệu điện áp AC.
TRIAC là một công tắc xoay chiều ba đầu cuối có thể được kích hoạt bằng tín hiệu năng lượng thấp tại đầu cuối cổng của nó. Trong SCR, nó chỉ dẫn theo một hướng, nhưng trong trường hợp TRIAC, nguồn có thể được điều khiển theo cả hai hướng. Để tìm hiểu thêm về TRIAC và SCR, hãy theo dõi các bài viết trước của chúng tôi.
Như thể hiện trong hình trên, TRIAC được kích hoạt ở góc bắn 90 độ bằng cách áp dụng một tín hiệu xung cổng nhỏ vào nó. Thời gian “t1” là thời gian trễ được cho theo yêu cầu làm mờ. Ví dụ, trong trường hợp này, góc bắn là 90 phần trăm, do đó công suất phát ra cũng sẽ giảm đi một nửa và do đó đèn cũng sẽ phát sáng với một nửa cường độ.
Chúng ta biết rằng tần số của tín hiệu AC ở đây là 50 Hz. Vì vậy, khoảng thời gian sẽ là 1 / f, là 20ms. Trong một nửa chu kỳ, con số này sẽ là 10 mili giây hoặc 10.000 micro giây. Do đó, để điều khiển công suất của đèn xoay chiều, phạm vi “t1” có thể thay đổi từ 0-10000 micro giây.
Optocoupler:
Optocoupler còn được gọi là Optoisolator. Nó được sử dụng để duy trì sự cách ly giữa hai mạch điện như tín hiệu DC và AC. Về cơ bản, nó bao gồm một đèn LED phát ra ánh sáng hồng ngoại và cảm biến quang phát hiện nó. Ở đây bộ ghép quang MOC3021 được sử dụng để điều khiển Quạt AC từ các tín hiệu vi điều khiển là tín hiệu DC.
Sơ đồ kết nối TRIAC và Optocoupler:
3. Chiết áp để điều khiển Tốc độ Quạt
Ở đây một chiết áp được sử dụng để thay đổi tốc độ của Quạt AC. Chúng ta biết rằng chiết áp là một thiết bị 3 đầu cuối hoạt động như một bộ chia điện áp và cung cấp một đầu ra điện áp thay đổi. Điện áp đầu ra tương tự có thể thay đổi này được cấp tại đầu vào tương tự Arduino để đặt giá trị tốc độ của quạt AC.
4. Bộ tạo tín hiệu PWM
Trong bước cuối cùng, một xung PWM được cấp cho TRIAC theo yêu cầu tốc độ, do đó thay đổi thời gian BẬT / TẮT của tín hiệu AC và cung cấp một đầu ra thay đổi để điều khiển tốc độ Quạt. Ở đây Arduino được sử dụng để tạo ra xung PWM, lấy đầu vào từ chiết áp và cung cấp đầu ra tín hiệu PWM tới TRIAC và mạch optocoupler giúp điều khiển quạt AC ở tốc độ mong muốn. Tìm hiểu thêm về tạo PWM bằng Arduino tại đây.
Sơ đồ mạch
Sơ đồ mạch cho mạch điều khiển tốc độ quạt 230v dựa trên Arduino này được đưa ra dưới đây:
Lưu ý: Tôi đã trình bày toàn bộ mạch trên bảng mạch chỉ nhằm mục đích tìm hiểu. Bạn không nên sử dụng nguồn điện 220V AC trực tiếp trên bảng mạch của mình, tôi đã sử dụng bảng chấm chấm để tạo kết nối như bạn có thể thấy trong hình dưới đây
Lập trình Arduino để điều khiển tốc độ quạt AC
Sau khi kết nối phần cứng, chúng ta cần viết mã cho Arduino, mã này sẽ tạo ra tín hiệu PWM để điều khiển thời gian BẬT / TẮT tín hiệu AC bằng đầu vào chiết áp. Trước đây chúng tôi đã sử dụng kỹ thuật PWM trong nhiều dự án.
Mã hoàn chỉnh của dự án điều khiển tốc độ quạt AC Arduino này được đưa ra ở cuối dự án này. Giải thích từng bước của mã được đưa ra dưới đây.
Trong bước đầu tiên, khai báo tất cả các biến bắt buộc, sẽ được sử dụng trong toàn bộ mã. Ở đây, TRIAC BT136 được kết nối với chân 6 của Arduino. Và biến speed_val được khai báo để lưu giá trị của bước tốc độ.
int TRIAC = 6; int speed_val = 0;
Tiếp theo, bên trong chức năng thiết lập , khai báo chân TRIAC là đầu ra vì đầu ra PWM sẽ được tạo thông qua chân này. Sau đó, định cấu hình một ngắt để phát hiện sự giao nhau không. Ở đây chúng ta đã sử dụng một hàm có tên là attachmentInterrupt, hàm này sẽ định cấu hình Chân số 3 của Arduino làm ngắt ngoài và sẽ gọi hàm có tên zero_crossing khi nó phát hiện bất kỳ ngắt nào tại chân của nó.
void setup () {pinMode (LAMP, OUTPUT); mountInterrupt (digitalPinToInterrupt (3), zero_crossing, CHANGE); }
Bên trong vòng lặp vô hạn, đọc giá trị tương tự từ chiết áp được kết nối tại A0 và ánh xạ nó thành phạm vi giá trị (10-49).
Để tìm ra phạm vi này, chúng ta phải thực hiện một phép tính nhỏ. Trước đó, người ta nói rằng mỗi nửa chu kỳ tương đương với 10.000 micro giây. Vì vậy, ở đây độ mờ sẽ được kiểm soát trong 50 bước, là một giá trị tùy ý và có thể thay đổi. Ở đây, các bước tối thiểu được thực hiện là 10, không phải Zero vì 0-9 bước cung cấp công suất đầu ra xấp xỉ như nhau và các bước tối đa được thực hiện là 49 vì thực tế không được khuyến nghị lấy giới hạn trên (trong trường hợp này là 50).
Sau đó, thời gian mỗi bước có thể được tính là 10000/50 = 200 micro giây. Điều này sẽ được sử dụng trong phần tiếp theo của mã.
void loop () {int pot = analogRead (A0); int data1 = map (pot, 0, 1023,10,49); speed_val = data1; }
Trong bước cuối cùng, hãy định cấu hình hàm zero_crossing theo hướng ngắt. Ở đây thời gian mờ có thể được tính bằng cách nhân thời gian bước riêng lẻ với không. của các bước. Sau thời gian trễ này, TRIAC có thể được kích hoạt bằng cách sử dụng một xung cao nhỏ 10 micro giây đủ để bật TRIAC.
void zero_crossing () {int chop_time = (200 * speed_val); delayMicroseconds (chop_time); digitalWrite (TRIAC, CAO); delayMicroseconds (10); digitalWrite (TRIAC, LOW); }
Mã hoàn chỉnh cùng với video hoạt động cho điều khiển quạt AC này bằng Arduino và PWM được đưa ra bên dưới.