My other wavemaker is turning into a full controller, but wanted a wavemaker now. So been working on it the last couple of days. Just got it working today.
It uses a dontronics dt106 processor board and a dt205 relay board. No LCD or realtime clock, just works. Uses a 16f867 processor, but you could use just about any pic processor that will fit the dt106 board, I just have a couple of them laying around.
It use two channels for the powerheads
one channel for main pump
It runs 3 cycles each lasting about an hour each
1. This cycle runs both powerheads for 15 minutes with 2 minutes off
2. This cycle runs one powerhead for 8 minutes then the other for 8 minutes
3. This cycle runs both powerheads for 3 minutes 15 off
-Port b0 switch for feeding (not implemented yet) shut off 15 minutes and main pump
-Port b4 powerhead one Relay 1
-Port b5 Powerhead two Relay 2
-Port b6 main pump Relay 3
-Port b7 relay 4 not used on my setup relay 4
You can buy dontronic's boards just about anywhere
I use pic simulator IDE basic to program the chip.
You can download it from
http://www.oshonsoft.com/pic.html
30 usage trial
If you email me I can compile the code for you if you let me know what timings you would like for the powerheads. Then email you the code file but you will need a programmer.
You'll need a pic flash programmer
search the web for usb serial programmer, they run about $35
Here's the simple basic program
Code:
'Down and Dirty Wavemaker
' James Luttrell
'Uses DT106 board
' Uses Relay board
' Uses 16f876x processor 20mhz
Symbol powerhead1 = PORTB.4
Symbol powerhead2 = PORTB.5
Symbol pump = PORTB.6
Symbol button1 = PORTB.0
Const one_minute = 60000
'On / Off duration pulse one
' all powerhead on/off at the same time
Const pulse_one_on = 15
Const pulse_one_off = 2
' Alternating
Const pulse_two_on = 8
Const pulse_two_off = 8
' all on/off same time with longer off period
Const pulse_three_on = 3
Const pulse_three_off = 15
'init
TRISB = 0xf0
High pump
Dim i As Byte
Dim y As Byte
Dim x As Byte
'start main program here
Dim wait_time As Word
loop:
For i = 1 To 4
High powerhead1
High powerhead2
y = pulse_one_on
Gosub timer
Low powerhead1
Low powerhead2
y = pulse_one_off
Gosub timer
Next i
For i = 1 To 4
High powerhead1
Low powerhead2
y = pulse_two_on
Gosub timer
Low powerhead1
High powerhead2
y = pulse_two_off
Gosub timer
Next i
For i = 1 To 4
High powerhead1
High powerhead2
y = pulse_three_on
Gosub timer
Low powerhead1
Low powerhead2
y = pulse_three_off
Gosub timer
Next i
Goto loop
End
' wait y minutes
timer:
For x = 1 To y
WaitMs one_minute
Next x
Return
If you have any questions or would like programmed chips let me know.

