If you mean the maxdelay value, yes.
But if you conect osciloscope and take a look at the pulses from the pic output and the 50Hz at the same time, you will see that the maxdelay value is only for the maximum brightness.
If you mean the maxdelay value, yes.
But if you conect osciloscope and take a look at the pulses from the pic output and the 50Hz at the same time, you will see that the maxdelay value is only for the maximum brightness.
Looks like a bad signal level to me...
What is the voltage of your transformer?
What are your R3 and R4 value?
Try decrease R3 and post your results.
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
This is the osciloscope measures from the GP4 (AcLine input), and from GP2 (Output to TRIAC).
I use tranformer 8Vac, R3=4k7 and R4=10k.
Look the pictures from 0 to 4. Is from value off to on through 3 steps.
But the lamp still flashing...
Reven,
I've not used that circuit or code you are reffering to but by just looking at your waveforms it seems that the triac is triggered at the same phase angle in case 1, 2, 3 & 4.
The triac only needs a short pulse on the gate and will then hold itself 'on' untill the AC-line crosses zero, at which point it will turn 'off'. That short pulse should be delayed a certain amount of time from the zero crossing.
On your scope pics the triac seems to be triggered exactly 1div from the zero crossing in all cases except full on and full off.
/Henrik Olsson.
Hi, reven
Henrik is right ...
Here, the pulse length is not the thing to be variable.
but you must vary the time between zero voltage detection and triac gate firing ...
Long time = weak light
short time = full light
remember once the triac is turned on it stays turned ON until current becomes null.
Alain
Here, you had programmed a ... DC Dimmer !!!
************************************************** ***********************
Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
************************************************** ***********************
IF there is the word "Problem" in your question ...
certainly the answer is " RTFM " or " RTFDataSheet " !!!
*****************************************
I think you have right...
As Henrik says ,now the triac is triggered at the same phase angle in all cases.
I must change my code to put the pulse position in a variable.
Thanks all of you!
I will inform you about my progress!
BTW, take a look at the code,bacause I checked it many times and I could not find where the problem is.
http://www.picbasic.co.uk/forum/atta...0&d=1103787743
Thanks again,
Reven
Hi, Reven
Just understand what the interrupt routine does instead of should have done ...
""
' ACDetect
' --------
'
' Interrupt routine called by ACLine (GP4) pin state change
'
disable
ACDetect:
if ACline==1 then ' Check for rising edge of AC signal
if triacdelay > 0 then
Triac=1 ' Activate TRIAC
Alain's : ;;; No,No,No ... here we have to wait for ( Maxdelay - Triacdelay ) !!! THEN fire the Triac for, say, 20µs ... then let things quiet.
if FullBright==0 then ' In case Brightness flag is not set
pauseus triacdelay ' do the selected delay
triac=0 ' Disable TRIAC
endif
else
triac=0
endif
endif
INTCON.0=0 ' Clear GPIF (interrupt on GP4 change)
resume
enable
""
*** This part of program smells to have been taken from a heather using burst mode dimming ...
Sorry, Steve ... je t'aimais bien ( avec la musique de circonstance ... )
Alain
Last edited by Acetronics2; - 13th December 2005 at 12:15.
************************************************** ***********************
Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
************************************************** ***********************
IF there is the word "Problem" in your question ...
certainly the answer is " RTFM " or " RTFDataSheet " !!!
*****************************************
Bookmarks