Với nhu cầu một chiếc quạt êm ái cho phòng máy lạnh, nên mình quyết định chế một chiếc quạt brushless. Nhưng vì thích táy máy nên chế luôn một chiếc smart fan tích hợp vào home assistant để điều khiển từ xa, kết hợp với công tắc vô cấp để điều khiển trực tiếp
CHUẨN BỊ
- Động cơ (trong bài mình dùng động cơ máy in loại có sẵn mạch điều khiển): https://link.hs2t.com/k5duELC2UviEdxtRA
- ESP8266 (trong bài này dùng board Wemos D1 mini): https://link.hs2t.com/i8fFxfD5NkBeJPx29
- Rotary encoder (Mạch Volume Xoay Rotary Encoder 360 Độ KY-040): https://link.hs2t.com/NHYh1WBPFK529rD39
- lm2596 giảm áp cấp nguồn cho Esp và bo điều tốc của động cơ: https://link.hs2t.com/MAgS3GfWjJRzjzhq6
SƠ ĐỒ NỐI DÂY
Động cơ | ESP8266 | Wemos D1 mini | Rotary encoder | Chú thích |
---|---|---|---|---|
+24V | X | X | X | Cấp nguồn chính 12~24V |
GND | GND | GND | GND | |
+5V | X | 5V | + | Dùng mạch hạ áp lm2596 để cấp nguồn |
LOCK | X | X | X | Chân này không dùng |
START/STOP | GPIO-2 | D4 | X | Chân enable |
CW/CCW | GPIO-5 | D1 | X | Chân đảo chiều quay |
BRAKE | X | X | X | Chắc là phanh động cơ |
CLOCK | GPIO-4 | D2 | X | Xung vào để quay động cơ |
X | GPIO-12 | D6 | DT | |
X | GPIO-14 | D5 | CLK | |
X | GPIO-0 | D3 | SW |
FLASH TASMOTA CHO ESP8266
Bước này sử dụng Tasmotizer flash firmware mới nhất của tasmota lên Esp8266 là được nhé. Link tải: https://github.com/tasmota/tasmotizer/releases/ Ở trong bài mình dùng Wemos D1 mini nên chỉ việc cắm vào và flash thôi ^_^
CONFIG TASMOTA
Flash xong các bạn config Wifi và MQTT như bình thường. Mục config module thì các bạn config như ảnh dưới tương thích với sơ đồ nối dây ở phía trên nhé.
Sau đó các bạn nhập các command bên dưới vào mục console trên web local của tasmota nha:
Lệnh này để tạo rule điều khiển tốc độ dựa vào công tắc Rotary Encoder
Rule1 ON Dimmer#State < 1 DO Dimmer 1 ENDON ON Dimmer#State > 99 DO Dimmer 99 ENDON ON Dimmer#State DO Backlog SCALE1 %value%,0,100,40,700 ENDON ON Var1#State DO PwmFrequency %value% ENDON
Trong đó số 40 và 700 là tần số PWM. Tần số thấp nhất là 40. 700 thì tương thích với động cơ mình mua ở bên trên. Các bạn thử thay các tần số cao hơn nếu động cơ mạnh hơn. Nếu để quá cao, động cơ sẽ không đáp ứng được và nó tự dừng chứ không chạy. Các bạn cứ thay thử tùy ý không sợ cháy nhé!
Lệnh này để kích hoạt rule
Rule1 1
Lệnh này sẽ làm thay đổi việc xoay nhiều hay ít để điều chỉnh tốc độ. Các bạn thay số 15 bằng số thích hợp.
SetOption43 15
TÍCH HỢP VÀO HOME ASSISTANT
Các bạn thay topic tương ứng của các bạn rồi thêm vào fan của configuration.yaml của home assistant là có thể điều khiển được rồi.
- platform: mqtt
name: "quạt phòng ngủ 1"
command_topic: "cmnd/tasmota_9F4843/POWER1"
state_topic: "stat/tasmota_9F4843/POWER1"
payload_on: "ON"
payload_off: "OFF"
oscillation_command_topic: "cmnd/tasmota_9F4843/POWER2"
oscillation_state_topic: "stat/tasmota_9F4843/POWER2"
payload_oscillation_on: "ON"
payload_oscillation_off: "OFF"
availability_topic: "tele/tasmota_9F4843/LWT"
payload_available: "Online"
payload_not_available: "Offline"
percentage_command_topic : "cmnd/tasmota_9F4843/Dimmer"
percentage_state_topic: "stat/tasmota_9F4843/RESULT"
percentage_value_template: '{{value_json.Dimmer}}'
Các bạn có thể thêm điều khiển các thiết bị hồng ngoại khác tương tự nha!