Hi Everyone, I am new to this forum and quite new to Arduino as well.
I own a biticino (now legrand) domotic system equipped with a three channel relay based actuator (R430R3V10) normally used to control fancoil speed.
I would like to use Arduino to read the which channel of the actuator is active and then regulate the HMV unit fans using the PWM generated by arduino.
The general idea I have is to have 3 different resistors. Once the channel gets activated Arduino would generate the PWM signal according to the value of resistance read.
I attach the electric scheme of the ventilation unit.
Just so I understand what you're asking, the high-level summary is that you have a fan controller that is meant to control a multi-speed fan using relays, you'd rather have it control a variable-speed fan using PWM? And the input to your controller is the relays?
Thanks a lot for your reply and yes you got it.
Basically, my domotic unit have 3 relay one for each "speed" channel and I would like to convert it into a PWM signal to control the speed of the fan units.
OK, you want to use an opto-isolator to isolate the high voltage on the controller. Three of them, one for each speed. They go to digital input pins on the Arduino. The sketch is very simple, it just continuously checks the three input pins and if one of them is on it adjusts the PWM output accordingly.
What's the purpose of your idea?
Three relays for speed can be 3 speed-levels but also 7, depends on the logic.
So you would leave the relay speed control connected and disconnect fan PWM from control board and control it by Arduino?
So if control board sends speed level X to fan, but you apply speed Y, the tachometer RPM doesn't match and board gives an error. If you disconnect tachometer from board, it gives an error.
If your purpose is to take control away from Btcino, then apply your arduino between that and the speed level connector.
Control the mechanical ventilation throughout domotic and not using the manual speed control
Three relays for speed can be 3 speed-levels but also 7, depends on the logic.
No. Three relay, three channels, three speeds.
So you would leave the relay speed control connected and disconnect fan PWM from control board and control it by Arduino?
No. Let's say I want speed 1, so I close channel 1 on the actuator which would rise 10kOhm resistance. Arduino reads the 10kOhm and produce the PWM for the fan speed. When I change to speed 2, I would get 20 kOhm resistance which for Arduino would be the command to produce a PWM for speed 2.
So if control board sends speed level X to fan, but you apply speed Y, the tachometer RPM doesn't match and board gives an error. If you disconnect tachometer from board, it gives an error.
No. I am talking about to exclude completely the stupid board made by the vendor. I all need from the constructur are the fans, I don't to communicate with his chinese board.
If your purpose is to take control away from Btcino, then apply your arduino between that and the speed level connector.
which the purpose of this post, but how do I tell to Arduino to monitor the resistance values which I am controlling throughout Bticino actuator.
I am not familiar with this piece of equipment. I am guessing it is what we would call in the USA a whole house ventilator. I am not understanding what you are trying accomplish either. It looks like the motors have a 0 to 10v speed input, so in theory you could have infinite speed control. Just take control of the 0-10 PWM and ground wire. That may be a problem if this control board is running closed loop needs a tach signal to operate. There are also voltage inputs on the board - speed v1,v2,and v3. How are those used? Can that help you? What is a Bticino actuator? Are the resistance values from thermistors? Also, how does TX, TR, and TE control this device. There are two motors. Does it run them at different speeds? If you disable that functionality you may create a situation where you have excess condensation or other problems.
Ok, that would work.
But why would you like to play with resistors and measure resistance if you have nice dry contact relay?
GND from arduino to contact COM.
Three relay contacts to 3 arduino digital pins and job is done.
You might need to experiment little bit with the speed control. Scheme shows 0-10V PWM, so I expect that arduino 5V(or 3.3V) PWM is ok, but frequency might need tuning.
Again, clarification: A "biticino domotic" is some sort of home automation system? And it has a three-relay output with low-medium-high settings for controlling a ventilation fan? And you have a ventilation system already istalled, which has fans that are controlled by a PWM signal? And you want to discard the controller for that ventilation system, and replace it with one that you make, which takes as its input the three-relay output of he home automation system, and sets the speeds of the fans accordingly?
Eventually, all I need to do is to replicate this video where a 4 wire fan is controlled by Arduino. Instead of monitoring the temperature, my input would be coming from one of the actuator channels.
If you are sure there are only 3 speed settings and only one channel can be active, it's simple, just read the pins and
if 2 is low, set pwm x
else if 3 is low, set pwm y
else if 4 is low, set pwm z
else turn off
You have to read the tachometer back. The reason they have that is that the fan speed isn't going to be always the same for a given PWM setting. With the two fans, it's important that they both run at the same speed so the ventilation is balanced.
What I would do is set one via PWM, read it's tachometer, then set the other to the same PWM and adjust the PWM until the tach reads the same.
I know you've disparaged the controller that came with the ventilator, but if it has an external input for fan speed it might be lot easier to use that instead.