-
Notifications
You must be signed in to change notification settings - Fork 1
Home
An Ardunio Uno controls with the help of relays up to 8 motors for windows and blinds. Simple control commands, in addition to the wall push buttons and the FS20 integration via the two FS20-SM8 receivers, make the operation of the control via network interface (the Ardunio Uno connected via its RS232 interface to a WIZ110SR RS232toEthernet converter and thus integrated into the home network). An optional rain sensor can be integrated via additional inputs. This closes the windows in the rain and can (optional) automatically restore windows to their original position after rain.
- Connection of max. 4 electric DFF with electric blinds
- Connection of 16 wall buttons (8 for each motor, one button each for "open" and "closed")
- Radio control via FS20 with the help of two FS20-SM8 8-channel receivers
- Rain sensor input to autom. Close the DFF in the rain
- Remote control or integration into your own home automation via
Arduino Uno controls
- Max. eight 24V DC motors
- 4 for the electrical DFF
- 4 for the electric blinds.
- a relay switches the operating voltage on and off
- the second relay switches the direction of rotation (polarity)
Serve for operation by the user
- 16 wall buttons, 8 for each motor, one button each for "open" and "closed"
- 16 FS20-SM8 receiver (built with two ELV FS20 SM8 8-channel receiver modules) - as with the wall button - eight Pair, 2 channels each: one channel for "open" and a second channel for "close".
Touch the wall button to start the respective operating direction. Another tap of the same direction stops the engine. Tap the opposite direction starts the opposite direction immediately. Pressing both directions together also stops the motor, no matter in which direction it was running.
For the (optional) function of positioning the motors in a position between "open" and "closed", the controller must be informed of the approximate runtime of a window or roller blind. The runtime can be programmed using the auto-learn function. To do this, open or close a window / blind completely, press the wall button to open / close (in the opposite direction) and hold it firmly (longer than 10 seconds) until the window / blind has arrived in the opposite position. After releasing the button, the controller remembers the key time as the runtime for this window or blind. To accurately position the motor, this time should be very accurate. So that a motor completely closes and / or opens the respective window or the blind, each motor runs after a certain time with end commands such as "open" or "closed" (default 2 sec.).
The wall button operation has priority over the FS20 operation.
Controlled via FS20 we need two FS20 channels for each motor: one channel for the function "up" or "open", a second channel for the function "down" or "close".
If you switch on an FS20 channel, this starts the associated motor. Once again using the same FS20 channel, turns off the FS20 channel and stops the motor.
Simple Control Commands allow DFF control over the network.
The controller consists of
- an Arduino Uno (the somewhat cheaper replica C-Control Open Duino Open UNO)
- four port extensions Microchip MCP23017 with two 8-bit I / O ports each
- two ELV FS20 SM8
- eight relays for motor on / off
- eight relays for the direction of rotation
Two FS20 SM8 serve as FS20 receivers for roof window control (DFF). With Hilfer of two FS20-SM8 stand a total of 16 FS20 channels to disposal. Two each control an engine:
- one channel controls 'open' (left-hand rotation)
- one channel controls 'Close' (clockwise)
motors:
- one motor to open / close the window
- one motor for the blind
- Out
- To open
- Conclude
- Window or blind (important for rain sensor)
- Max. engine runtime
- D3 goes to the INTA output of the MPC (they are all connected)
- D4 is the rain sensor input (low-active)
- D9 is the rain sensor enable input (low-active)
- SDA / SCL go to the MPC (all interconnected)
- VCC goes to all MPC Vcc and FS20 Vcc
- GND goes to all MPC Gnd and FS20 Gnd
- Rx / Tx / Vcc / GND of the serial interface go via a MAX232 converter to a WIZ100SR board (RS232 to Ethernet interface)
- RESET will be connected to Vcc
- VDD goes to VCC
- VSS goes to GND
- SDA / SCL to Arduino SDA / SCL
- INTA goes to Arduino D3
- A0-A2 according to the addresses:
Port A (Output): Relay motor 1-8 ON / OFF Port B (Output): Relay motor 1-8 direction of rotation
Port A (Output): FS20-SM8 # 1 button 1-8 ("On" function) Port B (Output): FS20-SM8 # 2 Button 1-8 ("To" function)
Port A (Input): FS20-SM8 # 1 Status 1-8 ("On" Function) Port B (Input): FS20-SM8 # 2 Status 1-8 ("To" function) The FS20-SM8 outputs switch the signal to ground (0 = active)
Port A (Input): Wall button ("On" function) Port B (Input): Wall button ("To" function)
Control cables (one Lapp cable 10x0.5mm 2) lead from the FS20-SM8 control box to the terminals of the DFF motors. Cable assignment proposal:
'color' | 'port' | - | Brown | br | engine window + | - | White | ws | window motor - | - | Red | rt | blind motor + | - | Blue | bl | Blind Motor - | - | Pink | rs | Push Button Window | - | Violet | vi | Wall Push Button Window To | - | Gray | gr | wall button window mass | - | Yellow | Wall-mounted blinds | - | Black | sw | Wall-mounted blinds mass | - | Green | gn | Wall-mounted blinds | - |
The engines are completely controlled by the Arduino Uno, none of them Keys or FS20-SM8 outputs go to the motors. Each engine has two additional properties (TYPE):
- Motor type: "Window" (WINDOW) or "Blinds" (JALOUSIE)
- Motor runtime: Maximum running time of the motor
Two relays control one motor (one relay switches the direction of rotation, a second switches the voltage on / off).
For all relay circuits, their contact switching times (RELAIS_OPERATE_TIME) are taken into account. In addition, with the engine running and the direction of rotation required, to reduce motor induced induction voltages, an additional duty cycle (MOTOR_SWITCHOVER) is added.
Summarized:
- The motor voltage is always switched on only after the directional relay has switched (RELAIS_OPERATE_TIME). This also applies if the engine is already running.
- Similarly, taking into account the relay response times (RELAIS_OPERATE_TIME) with the engine running and direction reversal, the engine is first turned off, the direction changed and then the engine turned back on (MOTOR_SWITCHOVER).
The engine runs left and should turn right. The relay steps are:
- Switch off motor voltage
- Wait RELAIS_OPERATE_TIME ms
- Switch the direction of rotation relay
- Wait MOTOR_SWITCHOVER ms
- Switch on motor voltage
- Switch the direction of rotation relay to the right
- Wait RELAIS_OPERATE_TIME ms
- Switch on motor voltage
The buttons switch the input signal to ground (0 = active). The wall buttons have the following function:
- Button on:
- "Switch on", repeated pressure switches the motor off.
- Key to:
- "Switch on", repeated pressure switches the motor off.
- Both buttons:
- Turns off the engine.
From the SM8, the channel outputs are used as the control input for the Engine control used. The SM8 channel inputs can be used with help another MPC controlled by the UNO. That's it possible, active SM8 channels, the z. B. activated by radio, switch. The following conditions are taken into account:
- Simultaneously activated SM8 outputs (eg OPEN & CLOSE active) are decoupled, the last command given is activated, the associated channel to be decoupled is deactivated.
- only the rising edge (0-> 1) of a channel activates the corresponding function.
- the falling edge (1-> 0) of an SM8 channel switches off the respective function.
- A motor that is switched off by a wall pushbutton or timeout also switches off the associated SM8 channel.
A rain sensor can be connected to the input RAIN_INPUT (Rain sensor control input). The level activity can help with constants RAIN_INPUT_ACTIVE.
The query of the rain sensor control input can be with help a second control input RAIN_ENABLE (level activity above set the constant RAIN_ENABLE_ACTIVE). Only if the control input RAIN_ENABLE is active or the control command RAIN ENABLE, the rain sensor Control input also queried, otherwise ignored.
The rain sensor control input will only operate in automatic mode (s.u. Control command RAIN). Using the interface RAIN commands (except for RAIN AUTO) polls the rain sensor control input first off. The rain sensor control input is triggered either by the Control command RAIN AUTO or by changing the Control input RAIN_ENABLE re-enabled.
If rain message is activated (control input RAIN_INPUT or control- Command SchnittstelleRAIN ON), all engines of the type "window" (see engine control) closed. In addition, you can set with RAIN RESUME that the restored to the previous window positions after the end of the rain should be.
The two inputs can be overridden via control commands RAIN: RAIN ON | OFF
- Simulates the rain sensor input: ON = Active, OFF = Inactive
- Simulates the rain sensor query: ENABLE = query active, DISABLE = query inactive
- When using one of the o.a. If the automatic mode command (i.e., the rain sensor hardware input query) is turned off, the polling of the rain sensor hardware inputs can be re-enabled. The set simulation values have no meaning as long as they are not used again.
- RAIN RESUME <s> / FORGET
- When RESUME is used, all motors of the type "window" are automatically opened to their previous position after the end of the rain. The value <s> determines (in seconds) how long to wait after the end of Regen before the DFF positions are restored. The restore function can be switched off with RAINSENSOR FORGET.
The control program provides a command interface via the serial interface of the Arduino Uno. This is connected to the intranet via a WIZ110SR RS232-to-Ethernet Interface.
The following commands are available:
- HELP [<cmd>|ALL]
- Print command help
- <cmd>
- command for getting help
- ALL
- print full help
- INFO
- Print version
- LOGIN [<password> [<timeout>]]
- Login
- <password>
- use <password> to login
- <timeout>
- logout after <timeout> sec
- LOGOUT
- Logout
- ECHO [ON|OFF]
- Get/Set local echo
- ON|OFF
- set local echo ON or OFF
- TERM [CR|LF]
- Get/Set command terminator
- CR|LF
- set terminator to CR or LF
- STATUS [ON|OFF]
- Get/Set status messages
- ON|OFF
- set status messages ON or OFF
- UPTIME [<uptime> [<h>]]
- Get/Set system uptime
- <uptime>
- set uptime (in ms since start)
- <h>
- set operation hours
- LED [<len> [<count> [<normal> [<rain>]]]]
- Get/Set LED control
- <len>
- pattern bit time in ms
- <count>
- pattern bit count [1..32]
- <normal>
- normal blink pattern
- <rain>
- rain blink pattern
- MOTOR [<m> [[T]OPEN|[T]CLOSE|TOOGLE|[GOTO ]<pos>|OFF|SYNC|STATUS]
- Get/Set motor control
- <m>
- motor number [1..8]
- <cmd>
- can be
- OPEN
- start motor opening
- CLOSE
- start motor closing
- TOPEN
- toogle opening
- TCLOSE
- toogle closing
- TOOGLE
- Toogle anyway
- [GOTO] <p>
- goto position <p> (in %, 0-100)
- OFF
- stop motor
- SYNC
- set motor in a defined state
- STATUS
- get the current status
- MOTORNAME [<m> [<name>]
- Get/Set motor name
- <m>
- motor number [1..8]
- <name>
- motor name
- MOTORTIME [<m> [<sec> [<overtravel>]]
- Get/Set motor runtime
- <m>
- motor number [1..8]
- <sec> maximum runtime [s]
- <overtravel> overtravel time [s]
- MOTORTYPE [<m>][WIN|JAL]
- Get/Set motor type
- <m>
- motor number [1..8]
- WIN|JAL
- motor type
- FS20 [<ch>]
- Get/Set FS20 status
- <ch>
- FS20 channel number [1..(2*8)]
- ON|OFF
- set <ch> ON or OFF
- PRG
- set <ch> into programming mode
- PB [<b>]
- Get/Set pushbutton status
- <b>
- pushbutton number [1..(2*8)]
- ON|OFF
- set <b> ON or OFF
- RAIN [AUTO|ENABLE|DISABLE|WET|ON|DRY|OFF|RESUME]
- Rain sensor function
- <cmd> can be
-
- AUTO
- rain detection enabled from input signals
- ENABLE
- enable rain detection
- DISABLE
- disable rain detection
- WET|ON
- start raining
- ,DRY|OFF
- stop raining
- RESUME
- <s> auto-resume window position after rain was gone.
-
- FORGET
- do not resume window position
-
- Note: ON|WET, OFF|DRY, ENABLE or DISABLE disables AUTO mode
- BACKUP
- Create backup from EEPROM
- RESTORE <addr> <data>
- Restore data into EEPROM
- <addr>
- 4-digit hex destination address
- <data>
- hex data to restore
- FACTORY
- Reset to factory defaults
- REBOOT
- Restart controller
- PASSWD <current> <new> <retype>
- Set password
- <current>
- old password
- <new>
- new password
- <retype>
- retyped new password