Weird Stepper Motor Behavior
Guys,
So far I have not been able to find anything on the Internet
discussing my current issue, so I'm looking to the experts (yes, I mean
you) for some guidance.
My rig is a Rostock MAX V2 that I have had for about a year. Recently I upgraded
to the latest version of the Repetier Firmware (0.96.2) and got
everything fully functional...or so I thought.
Current state of my printer is that
all of the end stops are working and reporting properly; all motors move
smoothly in the correct directions; hot end heats up and reports temps
correctly; same with the heated bed; and fan control works properly.
Here's
my issue: After heating either the hot end or bed or both, the stepper
motors start to move erratically after a few minutes of operation.
Sitting idle, but engaged while heated the stepper motors will start to
'hiccup'; move ever so slightly in once direction and immediately
reverse back to original position. If I move the effector platform
while in this state it will skip around and never ends up the the proper
location. If I disengage the stepper motors, the problem goes away,
but only for a minute or two after the first effector move.
This
behavior is seen when controlling the printer via Repetier-Host OR
directly through the RAMBo via the LCD UI controls. If I don't heat the
printer, it seems to go for hours without displaying this issue.
The guys at SeeMeCNC thought this might be an issue with the power supply so I took some measurements and here's what I found.
Steppers Engaged with Heaters OFF: 12.05VDC +-0.01VDC
Steppers Engaged with Heaters ON: 11.05VDC +-0.01VDC
After
the weird stepper motor behavior ('hiccups') started, the voltages
jumped around from 10.52VDC to 11.47VDC; but only when using the 0.92
firmware. I never saw this behavior on the 0.91 firmware version. In fact I ran with the 0.91 firmware for an hour last night with the stepper motors engaged and both heaters on at ABS temps and never saw the issue.
Same power supply for both tests...
While I was trying to figure out the cause of my issue, I messed around with the HEATER_PWM_SPEED setting but didn't notice a significant change in behavior. I also changed the decouple speeds and stepper motor current settings, but still didn't notice any significant changes.
I'm not convinced that using a higher rated power supply will fix the problem; best case it will mask the issue, but at what cost. My current power supply is a 450W ATX/PC and the 12VDC rail is rated for 12A. I have a 360W AC/DC converter that's rated for 20A on the 12VDC rail. IF I do have to change out the power supply, does anyone see an issue with using a lower wattage one that is capable of supplying a higher current? Since the converter only supplies a 12VDC rail, even with a lower watt rating, it should be able to supply more power to my RAMBo.
Not that it matters, but I'm running on Linux Mint 17.2 and using Repetier-Host 1.6.0. As soon as I get this figured out, I plan on installing a Z-Probe using a Hall-Effect sensor. And maybe even an LED ring on the effector platform.
Any help or guidance in figuring out what's wrong with my setup is greatly appreciated!
-Bishop
So far I have not been able to find anything on the Internet
discussing my current issue, so I'm looking to the experts (yes, I mean
you) for some guidance.
My rig is a Rostock MAX V2 that I have had for about a year. Recently I upgraded
to the latest version of the Repetier Firmware (0.96.2) and got
everything fully functional...or so I thought.
Current state of my printer is that
all of the end stops are working and reporting properly; all motors move
smoothly in the correct directions; hot end heats up and reports temps
correctly; same with the heated bed; and fan control works properly.
Here's
my issue: After heating either the hot end or bed or both, the stepper
motors start to move erratically after a few minutes of operation.
Sitting idle, but engaged while heated the stepper motors will start to
'hiccup'; move ever so slightly in once direction and immediately
reverse back to original position. If I move the effector platform
while in this state it will skip around and never ends up the the proper
location. If I disengage the stepper motors, the problem goes away,
but only for a minute or two after the first effector move.
This
behavior is seen when controlling the printer via Repetier-Host OR
directly through the RAMBo via the LCD UI controls. If I don't heat the
printer, it seems to go for hours without displaying this issue.
The guys at SeeMeCNC thought this might be an issue with the power supply so I took some measurements and here's what I found.
Steppers Engaged with Heaters OFF: 12.05VDC +-0.01VDC
Steppers Engaged with Heaters ON: 11.05VDC +-0.01VDC
After
the weird stepper motor behavior ('hiccups') started, the voltages
jumped around from 10.52VDC to 11.47VDC; but only when using the 0.92
firmware. I never saw this behavior on the 0.91 firmware version. In fact I ran with the 0.91 firmware for an hour last night with the stepper motors engaged and both heaters on at ABS temps and never saw the issue.
Same power supply for both tests...
While I was trying to figure out the cause of my issue, I messed around with the HEATER_PWM_SPEED setting but didn't notice a significant change in behavior. I also changed the decouple speeds and stepper motor current settings, but still didn't notice any significant changes.
I'm not convinced that using a higher rated power supply will fix the problem; best case it will mask the issue, but at what cost. My current power supply is a 450W ATX/PC and the 12VDC rail is rated for 12A. I have a 360W AC/DC converter that's rated for 20A on the 12VDC rail. IF I do have to change out the power supply, does anyone see an issue with using a lower wattage one that is capable of supplying a higher current? Since the converter only supplies a 12VDC rail, even with a lower watt rating, it should be able to supply more power to my RAMBo.
Not that it matters, but I'm running on Linux Mint 17.2 and using Repetier-Host 1.6.0. As soon as I get this figured out, I plan on installing a Z-Probe using a Hall-Effect sensor. And maybe even an LED ring on the effector platform.
Any help or guidance in figuring out what's wrong with my setup is greatly appreciated!
-Bishop
Comments
After swapping out the Power Supply I did notice that the stepper motor driver chips were running very Very VERY hot. Other than the MOTOR_CURRENT_PERCENT setting, where's a good place to adjust/tweak?
Even though my printer was working with version 0.91, I went ahead and swapped out the power supply to rule this out as the cause. New power supply did not have any effect, so I started looking more into the code. What I found was version 0.91 did not actually use current percentages like the const MOTOR_CURRENT_PERCENT would have you believe.
RAMBo boards use digipots (digital potentiometers) to control the current and have a range from 0-255 (0 being the off and 255 being the max; which is 2.0A for my version).
Version 0.92 implemented a method (void setMotorCurrentPercent( uint8_t channel, float level)) to use MOTOR_CURRENT_PERCENT and actually treats it as a percentage. setMotorCurrentPercent calculated the percentage of max current ( level * 255 / 100 ) before setting the actual current level. So my problem was trying to set the percentage too high (based on the settings from version 0.91) which was causing the stepper motor controllers to overheat.
Given this finding, it was easy to calculate the actual percentage and adjust the Configuration.h file accordingly.
[code]
#if USE_LOW_CURRENT // Kysan steppers require a lower current than the Wantai steppers
#define MOTOR_CURRENT_PERCENT { 55, 55, 55, 63, 0 } // 140 / 255 = 55% and 160 / 255 = 63%
#else
#define MOTOR_CURRENT_PERCENT { 68, 68, 68, 78, 0 } // 175 / 255 = 68% and 200 / 255 = 78%
#endif
[/code]
I have been printing with these settings for two days and everything is working well.
Not sure if this will help anyone else, but I wanted to share just in case.
-Bishop