T
treez
Guest
We have a 40w offline led lamp which uses linear regulators.
It can be dimmed by a microcontroller (PIC16F) on board.
I wrote a program which repeatedly dimmed it from 20% to 50% to 100% to 50% to 20% etc etc….and so on…
It spends some 1 second at each diming level.
I did the dimming by sending a square wave from the micro to an RC (filter) circuit which goes into the dimming pin of the led driver.
I just used the __delay(us) command to get the different dimming duty cycles.
It all works fine on the mains, and is fine on most of our AC PSU’s…but we have one Shekonic AC PSU on which the lamp flickers occasionally. However, the flickering does not always happen, and when it does happen, it only happens at those times when the PWM dimming duty cycle changes (eg from say 20% to 50%)
Do you know why this is?
Why does the noise afflict the micro at these specific times only?
I do not program the micro to read any pin.
-But does the micro (for whatever reason) , read its port before it writes to the port? (eg is this RMW thing going on?)
It can be dimmed by a microcontroller (PIC16F) on board.
I wrote a program which repeatedly dimmed it from 20% to 50% to 100% to 50% to 20% etc etc….and so on…
It spends some 1 second at each diming level.
I did the dimming by sending a square wave from the micro to an RC (filter) circuit which goes into the dimming pin of the led driver.
I just used the __delay(us) command to get the different dimming duty cycles.
It all works fine on the mains, and is fine on most of our AC PSU’s…but we have one Shekonic AC PSU on which the lamp flickers occasionally. However, the flickering does not always happen, and when it does happen, it only happens at those times when the PWM dimming duty cycle changes (eg from say 20% to 50%)
Do you know why this is?
Why does the noise afflict the micro at these specific times only?
I do not program the micro to read any pin.
-But does the micro (for whatever reason) , read its port before it writes to the port? (eg is this RMW thing going on?)