Iot Blinds Controller
This is a renewed and updated version of my blinds controller. With this controller we can lower and raise the horizontal Luxaflex blinds. This controller was one of the first devices in my Joshua Domotica and the controller for one of the bedrooms needed to be replaced.
Just like my previous Esp8266 and Esp32 domotica projects it will connect through Mosquitto with Node-red. With the help of Node-red we can control the blinds and do almost everything we want with it.
The hart of the design is the Esp8266 and a DRV8800 full bridge motor driver. With the h-bridge we can control the direction that the 24V motor of the blinds will turn and therefore lower or raise the blinds .
With the help of the Enable pin and pwm (pulse wide modulation) it’s possible to let motor run on lower speed to tilt the blinds for example half way the window.
Because the motor requires 24V to operate and the Esp8266 only 3.3V we needed a buck convertor to step down the 24V with a minimum of loss to 3.3V. For this buck convertor I simply bought a ready made one from Ali express.
To suppress the inrush current for the motor some electrolytic capacitors were added to prevent the Esp8266 for resetting due to a dip in the power supply. Note: In the schematic C4 has a value of 1000µF, but this should be just like C1, 220µF. Btw the value of R8 is also incorrect, see below. I really should update my schematics sooner and better.
Because the blinds doesn’t have end switches or other feedback, the only way to determine where they are is the time when the motor is running and in what direction, it’s mostly done by the software. To determine if the motor runs there’s a current sense resistor added to the DRV8800. Over this resistor is an 1.8V zenerdiode mounted to prevent to high voltage on the analog input of the Esp8266.
The 1Ω resistor on the photo is replaced with a 0.5Ω 1210 resistor because the DRV8800 was not working with 1Ω. According to the datasheet this will exceed the maximum sense voltage.
You read those things in the datasheet after you find out it’s not working correct. Due to the smaller resistor the voltage drop is also smaller and it’s not possible anymore to use the full AD range of 1V of the Esp8266. We can still detect if the motor is running or not, but in a next design there should be an op-amp added to amplify the signal.
The pcb was designed very compact. I bought a small box 53x35x23mm and made the pcb to fit exactly in this box. The pcb is mounted on the back of the switch to make it one and save some space for mounting holes. The pcb is 1mm thick to save also some space in the height. Very nice design if I may say so.
If want to make your own, or use some parts from the design, here are the Altium 16 design files.