What's new
VORON Design

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members!

LDO V2.4 750 Watt AC 350mm Bed - Flickering Room Lights and PWM Crashes

JBryant

Member
I recently finished my LDO V2.4 350mm build with the above mentioned LDO supplied bed and heater. I found that when heating the bed it would also make the led strip lights plugged in near the printer flicker. After much internet searching I found that the default PWM frequency for the Klipper config is 50hz. I live in the US and have 60hz power. I updated the PWM to pwm_cycle_time: 0.01666 and that stopped the flickering lights. I've run a few small sub 1 hour prints with PLA so a bed temp of 60C and no issues. I tried to run something with a higher bed temp and I kept getting Klipper crashes stating Heater heater_bed not heating at expected rate. I have increased the check_gain_time up to 100 and it still won't reach full temperature and also crashes trying to run a PID tune. I've attached a screenshot below. The left blue trace is requesting 80C at 60hz and it's all choppy and eventually falls off completely. The middle trace is requesting 100C at 50hz while I had the bed raised checking voltages. I couldn't find any issues so I stopped it and reassembled and started a 100C PID tune.

Screenshot 2024-02-27 141224.jpg

Below is a trace of the completed PID tune at 100C and 50hz.

Screenshot 2024-02-27 141440.jpg


I have my max bed power set to 60% as per the setup guide to not exceed the SSR rating. Is there any reason why I can't set the PWM frequency to 60hz to stop the light flicker? I'm guessing it is switching faster than the SSR can handle as it almost acts like an extruder losing steps as far as the temperature goes. During the entire heat cycle the heater status is solid at 60% until Klipper crashes even though the temperature is swinging quite a bit. As you can see though it is a smooth trace at 50hz.

Similar but different topic. Even after heating for an hour, I have a 10-15C delta compared to the thermistor reading vs the actual flex plate temperature, the flex plate being lower.
 
Is there any reason why I can't set the PWM frequency to 60hz to stop the light flicker?

Mine flickers the lights too. I moved it to a different outlet in the interim, but would also like to find a solution.

Just thinking this through - at 0.01666, the bed pwm is running *AT* 60Hz, but so is the mains electricity. If these are "synchronized", then there are portions of the cycle that are basically worthless in terms of power delivery - The range between 0-100% PWM doesn't generate a linear 0-100% power output change, it has portions that are worth more or less (even zero!) according to the sine wave cycle. For example, if synchronized exactly, changing from 45 to 55% PWM duty wouldn't add 10% power - it would be adding "on" time when the AC wave is crossing zero, producing almost no actual power increase. So that's not great. 😐

(And I put "synchronized" in quotes, because there are almost certainly slight differences between the control board PWM and the line frequency- meaning that the alignment is ever shifting slightly - meaning that your PID tune is effectively periodically different as your print progresses. So that's not great either. 😐)


Frankly, I'm surprised it works as well as it does - and maybe the 50Hz "misconfiguration" is the reason why - it just gets lucky that the PWM is grabbing different portions of the sine wave often enough that it averages out. Maybe instead of 50 or 60Hz, we need a value of several hundred Hz (to lessen flicker) that is not a multiple of the local line frequency (to remain desynchronized)? :unsure: Would need to check the SSR datasheets...
 
I just pulled the bottom cover off and my Omron SSR explicitly states 50/60hz so probably best to stay in that range. I did find an older post where someone used 59hz and it cured their flickering lights as well as the bed temperature drop off. I'll try that later and see how the temperature graph looks.

Thanks for the explanation, I hadn't considered the power setting and pwm intermingling like that potentially hitting a zero point. However that is exactly what the temperature graph shows.
 
I just pulled the bottom cover off and my Omron SSR explicitly states 50/60hz
AFAIK that's the frequency of the AC mains being controlled, not of the PWM signal.

There has been some discussion about that recently and we need more data still, but it looks like using slightly lower/higher frequencies can help. Also, from the little data we have there's some evidence that some lamps are more susceptible than others to flicker.
 
59hz worked, I got a nice smooth heat trace up to 100C with no errors and minimal light flicker.
I think (??) in Klipper the PWM frequency is done in software. The timing will not be perfect. Perhaps on your system when you specify 59, the result is 60? Have you measured it?

Also one bit of missing information in this thread is that the SSR only switches the AC at the zero crossing point. With a wrong PWM frquency, I think you get a "beat", Hence the flicker.

The SSR has to wait for the next zero cross to switch. 60 Hz AC crosses zero at 120 Hz. I bet we'd do better with 10 or 20 Hz PPM.
 
I recently finished my LDO V2.4 350mm build with the above mentioned LDO supplied bed and heater. I found that when heating the bed it would also make the led strip lights plugged in near the printer flicker. After much internet searching I found that the default PWM frequency for the Klipper config is 50hz. I live in the US and have 60hz power. I updated the PWM to pwm_cycle_time: 0.01666 and that stopped the flickering lights. I've run a few small sub 1 hour prints with PLA so a bed temp of 60C and no issues. I tried to run something with a higher bed temp and I kept getting Klipper crashes stating Heater heater_bed not heating at expected rate. I have increased the check_gain_time up to 100 and it still won't reach full temperature and also crashes trying to run a PID tune. I've attached a screenshot below. The left blue trace is requesting 80C at 60hz and it's all choppy and eventually falls off completely. The middle trace is requesting 100C at 50hz while I had the bed raised checking voltages. I couldn't find any issues so I stopped it and reassembled and started a 100C PID tune.

View attachment 4282

Below is a trace of the completed PID tune at 100C and 50hz.

View attachment 4283


I have my max bed power set to 60% as per the setup guide to not exceed the SSR rating. Is there any reason why I can't set the PWM frequency to 60hz to stop the light flicker? I'm guessing it is switching faster than the SSR can handle as it almost acts like an extruder losing steps as far as the temperature goes. During the entire heat cycle the heater status is solid at 60% until Klipper crashes even though the temperature is swinging quite a bit. As you can see though it is a smooth trace at 50hz.

Similar but different topic. Even after heating for an hour, I have a 10-15C delta compared to the thermistor reading vs the actual flex plate temperature, the flex plate being lower.


I think I know the reason for this. But I need more data, in the general Voron forum I posted a servey asking for basic data about what people are using..

With the current design, I think flickering lights are to be expected.

I need to collect data on baed size, volts, watts, and what percent PWM gives what temperature. I know this will be different for everyone, that is why I ask, I'd like more data points then just what I see.

Basically, my impression here is that a lot of people don't know what is inside that SSR box (hint, it is not a MOSFET)

I'll publish my ideas AFTER I get enough user observations to back it up.
 
I do think it's interesting that FYSETC just updated their kits to 1000W heated beds. That seems to be going the wrong direction.

If the majority (at least for 350mm kits) are using 750W beds, with controls capped at 60% max duty cycle to keep the SSRs from melting, we're only really getting ~450W of heating power.
Using a 450W heater instead, with no duty cycle cap, would give significantly finer control resolution, and the lower peak currents would go a long ways toward reducing the power line flickers.
 
Top