servo motor current control loop, does it increase positional accuracy? - Page 1
Forum section: electronics / projects

author: huub8
author_rank: Contributor
timestamp: May 21, 2020, 02:48:08 pm
content: Hi all,I'm currently designing a lidar scanner to be used for the scanning of rooms (so 3D). I'm using the Garmin V3HP lidar for this, and the final design will look similar to this project, but mostly 3D printed:https://hackaday.com/2018/06/29/a-lidar-scanner-build-in-glorious-detail/Since the lidar can measure up to 40 meters away I need pretty precise motors to get a usable scan interval/angle step at that distance. I think the motors from gyems that I found on Taobao would be a really good option given my budget of about 100 dollars for the motors. Theoretically (I believe) they should provide 0.1-degree accuracy.http://www.gyems.cn/794871.htmlBut I do have 2 questions concerning the best model for my project; Gyems sells the 4000 series both with and without current control loop, am I right in thinking that I would not need current control for my application since I'll essentially be needing minimal torq all the time? Or does a current control loop still provide more accuracy for my application somehow? ( I am planning on balancing everything by the way )The second question concerns the nominal speed; Am I right in assuming that since I will be spinning the motors at less than 10 rpm I'm best of buying a motor with a low nominal rpm. It feels like this should make it easier to move it precisely at my slow speeds, but is this actually true?

author: thm_w
author_rank: Super Contributor
timestamp: May 21, 2020, 09:53:04 pm
content: Interesting motors.https://gyems.world.taobao.com/category-1324058625.htmThey are stating using a 14 to 18-bit magnetic encoder. Which is not true but state "actual effective of 16-bit" so maybe its the AEAT broadcom sensor. Position loop is stated as 2kHz.If you are going at 10rpm, then yeah that is very slow.In the picture you posted the top axis appears to be direct mount, but the bottom is divided via a belt drive. So if you were to use a different ratio of pulleys, that can get higher resolution.Can you specify where you see the models with or without current control loop? All you should be using is position control loop.On their taobao page I see options for RS485 or CAN, and low precision or high precision models.Have you determined the torque is suitable?

author: huub8
author_rank: Contributor
timestamp: May 22, 2020, 01:30:59 pm
content: Thanks for the reaction, the Gyems website isn't that clear (nor consistent) but on their download page:http://www.gyems.cn/support/downloadthey have some manuals on there that explain that the S series has "no current control loop" and the L series is "with current control loop and low power version".It seems that the S series can be bought with a 12 bit or 16 bit encoder, and the L series is stated to have a 14 bit encoder. Currently I'm thinking of buying the S version with the 16 bit encoder (the high precision version).I wasn't planning on using a belt in my design (should have specified that), I will instead use the motors to turn the parts directly (and thus eliminate any play between the actual lidar rotation and the encoder readings).I could use some help in determining what torque would be suitable, I have never calculated this before so this is my first attempt:For the top motor, which only turn the lidar module itself (so the top motor in the image I posted):The lidar module weighs 38 grams, and will be positioned to one side of the horizontal axis around which it will turn. I will balance this on the other side with another 38 grams, add to that the plate and rod to which it will be mounted and I estimate it to be around 100 grams total. Most of that will weight is actually close to the axis, so I modeled it like a rod with a 25mm radius of 100 grams. This gives me a moment of inertia of 312.5 g*cm2. The 4010 Gyems motor that I intend to use for this rotation has a rotor inertia of 81 so that would give me around a 4:1 inertia ratio. That seems reasonable right?For the bottom motor, which turns the whole top part including the motor that turns the actual lidar module:The 4010 motor weighs 81 grams and will be balanced by another 81 grams on the other side, the part turned but the top module as calculated above weighs 100 grams and I estimate the bracket to fit this all on to weigh around 250 grams. This means that the total thing that the bottom motor has to turn will be around 500 grams. I was planning on using the 5015 motor for this. Do you think this would be suitable?All the motor specs for the S series can be found here:http://dow.gyems.cn/RMD-Sxxb.pdfIn terms of torq, I would think that I hardly need anything since I will balance everything and the heavy rotating top part will also ride on a thrust bearing. I won't be accelerating or decelerating much, just a constant slow speed. Furthermore, any slight deviations in speed shouldn't matter either since I will just read the real position from the encoder so those variations won't actually influence the accuracy of the measured points (the points will simply be measured at slightly different locations).

author: thm_w
author_rank: Super Contributor
timestamp: May 22, 2020, 10:13:29 pm
content: I don't have enough understanding of the mechanical side to say much about torque levels being suitable. But if you are going to fully balance the system, it seems that it would be OK.Also I didn't see it, but there is probably a spec for maximum weight or load on the motor bearings. 100's of grams should be well within the rating though.So there are 4: X, H, L and S.L series states:- Applicable for running in 20RPM-2500RPM situation- Torque control mode, Velocity control mode, Position control modeS series states:- Applicable for running in 1RPM-1000RPM situation- Open loop control mode, Velocity control mode, Position control modeTorque control might be used where you have an external controller with its own feedback mechanism.In your case, you want to keep it cheaper/simpler and use the internal feedback, so likely position control mode would be used: 0.1s goto 1deg, 0.2s goto 2deg, etc.