This is a quick review and guide to the JMC JAND4002-20B + 60JASM504230K-17BC servo drive and motor, putting it out there because it's a bit of a frustrating one to setup. I am in no way an expert on servo's, so please dont take this as gospel - if you think I've missed anything in the article or want to add to the discussion in any way, then please comment at the bottom. But perhaps I'll be able to help others save time if they decide to purchase one. I'm just using stp/dir commands for control, not anything more complex like modbus.
The model numbers above are the 400W version, a cheap servo system with a 17bit encoder that is new to the market. Listed currently on aliexpress for £142.65, or about $195, there are is also a 750W model available for £163 / £224, part numbers JAND7502-20B + 80JASM507230K-17BC.
Short conclusion: A decent and competent servo system, if you can get it working, but I would not recommend it unless you're tight for money and loose on time. There is no auto-tune, instead you get confusion over which parameters do what, buggy setup, and some of the claimed features are less than useless. Oh, and don't count on support from JMC - sometimes they'll answer a question, but more often they'll just ignore you..... that said, if you want more detail, read on!
A note on the encoder first, when I asked JMC what technology they used for it, they ignored the question, but looking on aliexpress at different servos and their pricing, I am quite sure it is magnetic. Since I could buy such an encoder for around £18, it seems likely that JMC are purchasing closer to £10. I do wonder about the real accuracy of such an encoder, although without testing this is impossible to know for sure. Teknik, a US based servo manufacturer who make the Clearpath servos, have very definite opinions on this subject, stating that such encoders cannot realistically exceed 0.1deg resolution and have an inherent processing lag - see this link for a full write up from one of their engineers (scroll down to username "teknik servo"). Checking the Delta site, another servo manufacturer that are more expensive that JMC but still not industrial prices, they employ both optical and magnetic encoders, though they only get purely magnetic resolution up to 16bit. For higher accuracy, they employ optical. Same with DMM, they have their own magnetic encoders which max out at 16bit. As such, I think it is fair to lay a very large question mark against the real accuracy of JMC's 17 bit encoder.
Connecting to PC is done with a USB to RS232 like the below - note this is not just a physical pass through, there is a chip in there, so a USB to micro USB cable will not work. Connect the USB to your PC, and you'll then want a female RS232 solder adapter and an old micro usb cable you can chop and solder into place. Wiring is not too hard, the manual lays it out, although there is no +5v in a RS 232 connection so you only need to wire in GND, TX232 and RX232. You can buy both these cables on aliexpress if you want to save time. Once plugged in to the CN5 port on the front, JMC have software that you can use to the change settings without manually tapping them in with the front panel. You'll need to ask them to email it to you. This software does have monitoring and oscilloscope style screens, but I did not find them particularly useful, since one of the most important functions - being able to track position instruction vs position feedback - didn't work. You get velocity instruction and velocity feedback, also position tracking error, and some other monitoring settings I didn't find much use for. Note also that you can see the entire screen for the scope - on my laptop a section at the the bottom was clipped off, and it was only when I ran the software on my desktop to write this article that I discovered the extra settings that were off screen. So there is clearly a minimum resolution to see everything.
The connection to the servo drive for IO is a type of 50 pin SCSI - took some research to discover this, as JMC dont list it in the specs. You might want to buy a breakout board like below, not cheap but I found it extremely helpful. Not just for testing, as after I was done I soldered the plug for permanent connections, and found the pins to be numerous and a confusing - rows are listed odd and even numbers, with 4 rows, so I think the top row went 25, 27, 29 etc, and the row below 26, 28, 30 etc (this is from memory, check yourself!!). This board was very useful to double check I had the right numbers in the right places. It had a part number of JR-50TSC if you need to search for it.
Enable circuit runs on 24V, there is no 5v option. This can be wired in internally with the 24v out (pin 17) as shown on page 23 of the manual, so you connect pins 17 and 11 (common 24V) . Or you can connect an external 24v source to pin 11 if you prefer, not a big deal either way as it's just for powering optocouplers. Once the 24v circuit is powered, pin 9 to ground then acts as enable, pass it through a mosfet or relay to get 5v control. For stp/dir pins, connect +5v (external) to 43 (pul+) and 38 (dir+). Standard pul- signal then goes to 41, and dir- to 37. Pretty simple in the end. Mine came default programmed for stp/dir so it worked straight away. And even before wiring anything, you can check the motor is good with the no load jog test (page 51).
I should add that there are "high speed" stp/dir pins, but their specs are not given in the manual, beyond stating they are 3.3-5v. When I asked JMC for clarification on when you should use each, and what their limitations are, they didn't respond except to tell me to use the low speed pins. I tried to ask a couple of times, but they ignored me. From the logic circuit I see the low speed go into an optocoupler, so perhaps they are better shielded - I went with them, though I dont know what their upper speed limit is....
As stated, there is no auto-tune, you will have to rely on ineffective presents or manually tune it yourself.
My setup was, initially, to have the servo powering a rotary axis via a belt. First thing to do is have the motor measure the rotor/load inertia ratio, use the front panel to get to AF_J-L and follow instructions on page 117. Next, there is an automatic adjustment mode for stiffness (p01-02), simplest is to set it to 3 which means you only need to set p01-03 to adjust system stiffness. Unfortunately I immediately found that the belt in my system had a resonant frequency, which was causing significant vibration as soon as I increased stiffness to anything other than "incredibly floppy". OK, whatever, I decided to set PID manually and see what happens. First problem, the manual states p02-00 and 01 are velocity control gain, at least in one list, in another list their are stated as position gain, and the software also tells me they are position gain. Which is it?! I still dont know - contacted JMC to ask, but they didn't bother to reply. Great. Since velocity gain is the first setting you are supposed to adjust, and it's the first setting on the list of adjustable gain settings, and followed by other velocity settings, I decided to just start with it. Is this correct?! I have no idea. Actually I suspect it is position now, as there are no other position gain settings in the list.... Whatever, so, increasing stiffness, I noticed the resonance was coming back, but hey it's OK because the manual states there are ways to eliminate specific frequency resonances, right? There is an automatic notch filter you can set, which should find resonant frequencies and eliminate them for you. The software monitor was actually able to see and pin this frequency, something like 488hz, but turning on the automatic notch filter did nothing. So I tried to manually set the notch filter - and it did reduce resonance a little, but it also made the system unstable, to the point that I had to drastically decrease stiffness just to filter out this resonant frequency. After unsuccessfully adjusting it for half an hour I tried other settings to eliminate the resonance, but the only effect was to make the system less stable.
Fed up, I decided to eliminate the belt and go with direct drive. This worked to eliminate the major resonance, but after tweaking all the other PID settings to the stiffest they could manage, another resonance crept in when turning the axis at around 40rpm, higher at 970hz. Not a serious issue, but I decided to try the notch filter again anyway. And again, even when it was set to a "depth" of 99 and a "width" of 1 - the minimum possible settings - it didn't get rid of the hum, it only made the axis rapidly unstable. If I set the values to be larger, the resonance actually become louder! I.... have no idea.... Another setting is the torque command low pass filter, which you have to calculate from a formula they give you (rearranging it first for the value you actually want......), but again, same effect, hum stayed or got louder but it decreased stability. As such I consider these "features" to be entirely useless. I'm currently in the process of trying to fit a plum coupling, which I hope will have a small damping effect on this resonance, since there doesn't seem to be any other way to eliminate it.
Another thing I discovered, I think it was p02-10, speed proportion gain. I increased it until the system became unstable, and then tried to decrease it again - all using the software on my PC to download settings. However, it didn't matter how much I then decreased the setting, the system remained unstable. I discovered I had to redownload ALL settings from PC to servo drive to effectively reset it and use the servo again. A stupid bug, basically.
If I was in the US and didn't require very high encoder counts for a rotary axis, I would absolutely buy a US made Teknik Clearpath servo instead. Although I have not used their products, from the reviews and technology they look fantastic, and the one time I reached out to Teknik to ask some technical question they were incredibly helpful and generous with their time. The difference as compared with Chinese companies, like JMC but I have interacted with others, was simply night and day. For my own application, I just wish they sold a motor with a higher encoder count! If they did I wouldn't use any other brand - although my application is a little niche, and the 12400 pulse/rev their encoders output is probably sufficient for more standard uses. As it is, for future builds, I plan on spending more money to go with more competent, better programmed, better documented and better supported servos - perhaps DMM or Delta. Again, none of this is to say you cannot get good performance out of this motor, but buying it to save money for me was a false economy, and the time my machine was down absolutely outweighed the cost saving I made.
If you've read this far, I'd love to hear your thoughts - have you used this or other Chinese servos? What was your experience? Do you have a preferred brand outside of China? Let me and other people know below!