anti-overlap time
Hi Russ,
Looking at the circuit you want to replace:
It looks like you want to avoid both being on at the same time, at all costs (as you said).
It may be better to declare variable for the “HIGH TIME” and the “anti-overlap” time so you can change them in one place in the program, while playing with the duty cycle.
Could be missing something but it looks like you want the positive part of the cycle to take 8.336 milliseconds and same time for the negative part.
Sixty Hertz = 1/60 = 0.0167 (16.67 milliseconds).
This gives us 16.67 milliseconds for a complete (whole) cycle.
How much on or off time can be played with but the recurring 60Hz, is fixed.
So the total on and off time for GPIO.0 and GPIO.1 should equal 16.67 milliseconds, and never be on at the same time.
I used your same code and beat it up pretty bad:
LOW GPIO.0 'INITIAL CONDITIONS
LOW GPIO.1
START:
HIGH GPIO.1
PAUSEUS 8236 ' HIGH TIME - GPIO.1 only
LOW GPIO.1 ‘both pins low
PAUSEUS 100 ' anti-overlap time
‘ HIGH TIME and over-lap time should add to 8.336 milliseconds
HIGH GPIO.0 ' GPIO.1 has been low during anti-overlap time
PAUSEUS 8236 ' HIGH TIME - GPIO.0 only
LOW GPIO.0 ‘ both pins low
PAUSEUS 100 ' anti-overlap
‘ HIGH TIME and over-lap time should add to 8.336 milliseconds
GOTO START '60 HZ FREQUENCY
END
Play with HIGH TIME and anti-overlap to get the desired duty-cycle (average vs. RMS vs. 0.7 ) but they should total to 8.336 milliseconds each half cycle. Then 16.67 milliseconds for the whole cycle.
You should run the diodes (LEDs) between the PIC pins and the resistor to common (ground).
Oh yeah, I should warn you that I don’t know what I am doing!:>
-Adam-
Ohm it's not just a good idea... it's the LAW !
Bookmarks