HAN

3 minute read

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ị

Video hướng dẫn

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!