Vermes
Advanced Member level 4
It is a driver for inner window blinds.
LINK
Assumptions:
The main assumption was automatic covering window after switching on light in a room (after dark). The driver is very universal, what more, it is possible to modify the parameters of the driver operation.
Functions:
- controlling both motors
- auto/manual operation
- the possibility of standard (manual) handling the blinds
- RS232 interface
- menu for configuration and testing the driver
- bootloader
- remote control
Principle of operation:
The driver check the level of light every few seconds by phototransistor at ADC input, and compares it with historical data. If there is an increase of brightness, the driver activates motors in order to cover the windows unless they are already covered (the driver stores the state of blinds).
In addition, it is possible to control blinds down/up buttons (interrupt input).
Another way to start the blinds is using the menu available through the RS232 interface, with use of RS232/Bluetooth adapter. It can be done remotely (even by a mobile phone).
When you want to uncover windows is based on the time chosen experimentally, while covering – until the moment of detection of movement resistance (increased power consumption of motors).
The driver controls work of both motors independently (2xADC) and after exceeding the threshold current consumption, it disconnects the motor supply.
Times of covering and uncovering the windows are configured independently for the right and left blind. That is a result of uneven work of motors.
Mechanics:
Executive components are the motors of processed servos HS-311.
Electronics:
The main element of the driver is Atmega8. Drivers of blinds were made of standard H bridge. Using unipolar transistors limits the loss and heat emitted.
Additional features:
Additionally Bootloader was used for easy change of the software – it provides easy actualization of FW. For test and configuration issues, menu available through UART interface was also added.
Hardware:
Design was made in Eagle.
PCB are double-sided. They are adjusted to the housing. Dimensions: 40x60x20mm. The whole is powered from an external power supply 7V/2A DC.
Software:
Program was written in C in AVR Studio.
To facilitate work, it is recommended to use Bootloader avr109, so that you can program using avrdude from the command line. You can switch to Bootloader by pressing both buttons simultaneously for about 10 seconds. Then through a serial interface, you can actualize FW.
Due to the Bootloader used, there is about 6kB of Flash memory left, which is occupied in about 90%.
Pictures:
Video:
Link to original thread (useful attachment) - Sterownik rolet wewnętrznych