Skip to content

Troubleshooting

clough42 edited this page Jan 22, 2020 · 14 revisions

Having trouble with your Electronic Leadscrew? Here are some common problems and how to fix them.

Common Issues

My hybrid stepper motor doesn't turn

Make sure you're using the extension cable that came with the motor.

The hybrid stepper motor and driver from Automation Technologies comes with an extension cable for the motor encoder. This is not a straight-through-wired cable; it is an adapter from the pinout of the motor encoder to the pinout expected by the driver. If you plug the encoder directly into the driver, it will not work. The motor may click. It might take one step and stop. The driver may trip and flash an error code. The solution is to use the extension cable or make your own with the same pinout.

My leadscrew isn't turning at the right ratio or my threads are the wrong pitch

Have you correctly set ENCODER_RESOLUTION in Configuration.h? This needs to be set to the number of counts your encoder will produce for one spindle revolution. Since you are using a quadrature encoder, this is four times the pulse count. A 1000P/R encoder produces 4000 pulses per revolution. This setting also needs to account for any gearing between the spindle and the encoder. If the same 1000P/R encoder is geared 2:1 to the spindle, you would set ENCODER_RESOLUTION to 2000 instead.

If the RPM display on your control panel is correct, you probably have the ENCODER_RESOLUTION set correctly.

Have you correctly set STEPPER_RESOLUTION and STEPPER_MICROSTEPS in Configuration.h? These should correspond to the stepper or servo motor you are using, plus any gearing or microstepping in your setup. Stepper motors are typically 200 steps per revolution and a microstep setting of 8:1 (1600 steps/rev) is common. For this case, values of 200 and 8 would be used.

For a servo motor with a 1000-step encoder connected directly to the leadscrew, you would set STEPPER_RESOLUTION to 1000 and STEPPER_MICROSTEPS to 1. The same servo connected through a 3:1 gear reduction could be configured with STEPPER_RESOLUTION of 1000 and STEPPER_MICROSTEPS of 3.

If you have both the encoder and stepper configured correctly, check to see if there is any additional gearing between the servo or stepper and the leadscrew. The G0602 and similar lathes have two knobs on the built-in gearbox. Mark the leadscrew and the input pulley with a marker and rotate by hand to be sure you have this set at 1:1. If your lathe has both a leadscrew for threading and separate gears for feeding, make sure you have it set in threading mode.

I can't get the firmware to compile properly in Code Composer Studio 8

The firmware project is set up for Code Composer Studio 9. There is no reason the underlying code can't work in CCS 8, but the project files were generated by CCS9. CCS9 is 64-bit only, so you will need to run it on a 64-bit machine.

The connector on the LED&KEY PC board interferes with the front panel of the box

Yup. Whoever manufactures these boards put the connector on the front for some reason. To use it in an enclosure, you need to move it to the back of the board. The PCB kit comes with an extra right-angle header for this purpose.

Desoldering tip: If you grab the pins with needle-nose pliers, you can heat up the solder joint and pull them out one by one. The pin will pull right out of the plastic carrier once it gets hot. Once all five pins are out, clean up the excess solder in the holes with solder wick. It's sometimes helpful to add fresh solder or flux to get everything flowing well and then use wick to pull the solder out of the holes. One the holes are clean, solder the new header on the back of the board.

The power and settings buttons don't seem to do anything

Correct. These are for future expansion. The power button will eventually turn off the display and disable the stepper output. The settings button will provide access to configuration items through the UI instead of configuring them in the Configuration.h file. None of this is implemented yet.

Clone this wiki locally