Closed Loop Stepper motor chatter at low speed causes?

This is the manual that I have for my driver. https://www.omc-stepperonline.com/download/CL57T.pdf Section 3 on page 2 shows the location of P4, the serial interface. Further searching online, I see that the current driver is v4..0 which doesn't have an RS232 port. https://docplayer.net/229887688-Cl5...rd-of-revisions-aug-2019-initial-release.html

I wonder if the user inaccessible port on your driver is a serial port.
I don't know for sure what it is. It's 4 pin horizontal PCB mount. The connector is present, but the assembly housing has a knock out cover which blocks access. I suspect that it's either serial, or it could be a real debug port direct to the microcontroller. I need to power up the board with it all taken apart and probe it. I think that it may be 3.3V level serial. If it was never intended to be used by customers, they probably would have made a solid housing blocking access. The knock out is clearly removable and the connector is visible from the outside.
 
For getting strings from the program, you probably need to install it first and look at the exe/dll files it leaves. If I remember correctly, Linux boxes generally have a program installed named "strings" or "string" that pulls the ascii data out as well. Setup files are usually compressed, so you can't get much from the raw setup fine.

Try asking the vendor. Sometimes they have info that they didn't think people would ever want or shipping options perhaps.

For the connections, two of the pins are probably power/ground those usually go straight to power planes. The other two are likely RX/TX for serial, probably vcc/vdd levels as that's so common with microcontrollers. If you can get the real cable, use your scope to verify the logic levels. The cheap logic analyzers are handy for this as well. You might even get lucky and catch handshake pulses on one of the lines. That would tell you levels as well.

Or it could be a ICSP port or something else entirely. Given that it would be accessible while assembly is in progress, and the 4 pins, makes me think it's probably serial though.
I've used the string command. Used it to look inside the setup exe. Nothing obvious there. Need to install the program so it unpacks the program.

Have a two channel scope so verifying levels is easy.

Vendor seems to be cagey, at least publically. I will send them an email about this. They do offer software, so there has to be some info somewhere.
 
In my defense, gHex does convert hex to readable characters in the right side of the screen. Other tools also didn't show any character strings with "serial" in it.
I guess thel commands sent to the driver don't HAVE to be human-readable, do they? Maybe they're more like g code.....designed to make it easy for the firmware at the receiving end to understand.. If so, the turning lemons into lemonade argument is that the protocol might be a little easier to reverse-engineer. Maybe :rolleyes:
 
I only need to change micro stepping for 8 to 4 for one or two threads. All others can be cut using ustep = 8.

The holdout threads are 4 TPI and under, as well as 6 mm pitch and over. I redid my thread tables, using a GCD function to make the numbers look more readable. 4 TPI makes N/D > 1 using ustep = 8 (N=150, D=128). I can do 5 TPI, just not 4 TPI for ustep=8. I can do 5mm pitch, but not 6mm for ustep = 8. (5mm N=15, D=16, good) (6mm, N=1125, D=1016, bad) Practically speaking, for a G0602/G0752, not sure I could even cut such a coarse thread without problems. I did cut 8 TPI internal threads using gears though.

Until I come up with a solution to remotely changing the stepper driver ustep settings, I will not enable 4 TPI or 6mm threads. Giving up these threads is not much of a problem for me. Coarser threads probably require significantly more torque from the stepper as well. I chose a 4Nm stepper, and I can stall it if I grasp the pulley, so its not like there are buckets of torque available.

Not sure I'd want to cut a 1 TPI thread, even if I could do it, at least not without gearing my spindle motor to a crawl! Currently my slowest spindle RPM is about 100 RPM. That's darn quick for coarse threads!
 
dd is good for this because you can tell it to dump the stuff it finds in a file as ASCII characters. Looking at hex equivalents, not so good.
My goto for this is od -h -a
You get both. May need to fiddle with options to get good formatting.

edited to add: looks like Ghex gives something very similar. My Unix/Linux is just dated. But I had to smile thinking of all the uses of 'dd' I've encountered over the years.
 
Last edited:
Yeah, "dd" is the Swiss army knife of Linux. You can do most anything with that stupid thing. Many of them ill advised and dangerous, but you can.. :)
 
Got a response from StepperOnline. However, it's not encouraging. I sent back a response. Hopefully there will be a dialog, but I'm not holding my breath.

Found a work around for the micro-step programmability problem. If I judiciously up the rotary encoder resolution, I will be able to get down to 4 TPI without having to change the micro-step value. Then I can cut from 4-100 TPI and 0.2mm - 6mm pitch. It costs me another encoder, which seem to be going on eBay for about $35-$40. Not sure it is worth it, but it is a solution. The required resolution would be an encoder marked 1500. I have a 1024. Missed it by that much...
 
Back
Top