[quote="pebe"]But before I can suggest anything, could we clear up a point about PWM? A triac (or the SSR you mention) cannot be turned off during a half cycle – it has to wait for the next zero current crossover. So can I assume that your PWM allows the triac to fire for a number of half cycles and then inhibits a number of them?[/quote]
I am aware that the triac cannot be turned off before the end of the current half-cycle (I think it can turn on earlier though); and also that the zero-crossing SSRs can only turn on and turn off at half cycles. So as you say that implies I have to turn the pump on and off for whole numbers of half cycles, unless I can find another device that will switch on and off during the half-cycle (or possibly with a triac turn ON at a variable time and off at the end of the current cycle).
It may well be (and I hope) that that is exactly what I need, but unfortunately it has been very difficult to find any specific information on this, so I have to experiment. The first thing I want to do as soon as I can get a safe connection of my Arduino to the pump is to experiment with different PWM frequencies.
I have a suspicion that the optimal period would be a multiple of the mains half-cycle, so for example with a 10Hz PWM frequency I could get 10 duty cycle settings, with 5Hz 20 settings etc. Unfortunately with the Arduino it is rather difficult to get exact PWM frequencies as desired (it is supposed to be possible, but I have not been able to set intermediate frequencies so far, and the available documentation is pretty complex). I have only been able to change the dividor, which gives me step changes in frequency. The lowest frequency I can get on the 8 bit timer is 30.5 Hz, which may be too fast - however I think even at that frequency I should be able to experiment, even if the signal will not be as "clean" as one would like - at least the pump should be on for some cycles and off for others, and I should be able to increase or decrease the proportion of cycles for which it is on or off. Alternatively I could try and use the 16 bit timer; by default this is set to a period of one second, but I can speed that up by changing the frequency dividor.
There is a video showing the Ulka pump being controlled by PWM here:
http://www.home-barista.com/espresso-ma ... 53-40.html
and
http://www.youtube.com/watch?feature=pl ... Ugl5pp5zaQ
and the hardware concerned is is the Flowell KC04 or FreePUM-200 shown on the website here:
http://www.ulka.co.kr/product02_sole.htm
- unfortunately only in Korean! The poster of the video gave me an email for the engineer at Flowell who developed the circuit, but he has not replied - maybe he cannot speak English!
According to his description:
========================
It's designed for control solenoid pump's pwm, like ULKA.
It has
Adjustable volume knob for pwm
AC On/Off switch
Spectrum Led (Can observe the amount of control)
Triac Drive
Electrode audible
========================
So it looks like whole half-cycle switching should be possible.