Welcome! Log In Create A New Profile

Advanced

Servolulu: Polulu-compatible servo motor driver

Posted by LoboCNC 
Re: Servolulu: Polulu-compatible servo motor driver
May 02, 2016 02:37PM
Quote
etfrench
One more question, are you planning on using 2 oz boards? The traces seem kind of small for 2 amps with a 1 oz board.

I could go with 2oz boards, although the maximum length power trace is about 0.2" for a 0.024" trace, which works out to about 4 milliohms for 1oz copper. At 2 amps, that's only 0.016w power dissapation, which I'm not too worried about.

Edited 1 time(s). Last edit at 05/02/2016 02:52PM by LoboCNC.
Re: Servolulu: Polulu-compatible servo motor driver
May 02, 2016 02:55PM
Don't mind me, I'm just starting to learn how to design PCBs smiling smiley
Re: Servolulu: Polulu-compatible servo motor driver
May 02, 2016 04:53PM
Hi, Jonathan from PCB:NG here - note that although we haven't launched it yet, we can do special pricing at quantity 24 and 120. Happy to answer any questions y'all may have!
Re: Servolulu: Polulu-compatible servo motor driver
May 02, 2016 05:02PM
Exciting development. I hope we can use it soon on our printers.
Re: Servolulu: Polulu-compatible servo motor driver
May 02, 2016 05:11PM
Quote
drmaestro
Exciting development. I hope we can use it soon on our printers.
Soon smiling smiley
This is my work from more than a month ago with a different DC motor with on-shaft encoder (very weak, used purely for verification of ATtiny85 code at that time):
[www.youtube.com]
Re: Servolulu: Polulu-compatible servo motor driver
May 03, 2016 02:50AM
Dumb question:
What makes a DC motor a DC Servo motor? Is it just the encoder or number of poles or???
Re: Servolulu: Polulu-compatible servo motor driver
May 03, 2016 03:05AM
Quote
o_lampe
Dumb question:
What makes a DC motor a DC Servo motor? Is it just the encoder or number of poles or???
Basicaly normal motor with some sort of feedback control (even potenciometer and comparator works OK in RC servos...).
Re: Servolulu: Polulu-compatible servo motor driver
May 03, 2016 03:14AM
Cant say how much i LOVE this project, I initially stopped my simular project, as I thought it wouldnt be any good using the drop-in module.. step+dir -> dc motor
And the plan was to make a new controller board with dc in the heart, and a STM32xxxxxx as the mcu..
But it seems to be good enough just to use this approach instead ! smiling smiley
Re: Servolulu: Polulu-compatible servo motor driver
May 03, 2016 03:17AM
Quote
o_lampe
Dumb question:
What makes a DC motor a DC Servo motor? Is it just the encoder or number of poles or???
A servo is a closed loop system. This means that there is a feedback on the actual position that is then used to correct positioning to reach the intended position. This is usually done via a PID control. This can be used to stabilize RPMs as well.
Sometimes you don't even need a specific encoder, with brushless motors it is possible to use the inactive coils for measurements. Many gimbals use this method.


[www.bonkers.de]
[merlin-hotend.de]
[www.hackerspace-ffm.de]
Re: Servolulu: Polulu-compatible servo motor driver
May 03, 2016 12:21PM
Jonathan (pcbng_jh),
I started with the project but am having difficulty finding any compatible chips on cut tape... (required per the PCB NG guidelines).
I'll keep looking otherwise I think we may have to find another IC.. (maybe ATiny85?) but always difficult to find cut-tape and not whole rolls (2000+ units).

Jon
Re: Servolulu: Polulu-compatible servo motor driver
May 03, 2016 12:24PM
If you have a volume order (24+), you can contact me directly and use tray packaged components. Tubes, however - no can do, I'm afraid.
Re: Servolulu: Polulu-compatible servo motor driver
May 03, 2016 06:44PM
Well, I had a little time tonight, so I played with the closed loop.
And I have to say it's fantastic.
I created a simple code that does "homing" in the beginning.
I verify if the encoder direction is consistent with motor direction - if it's not, I'll adjust the motor direction. This was a frequent problem for me as I undid and put together the printer and by accident connected the motor cable the other way.
Next, I slowly move to minimal position I can find - and I am checking here the encoder input to see if the carriage is still moving.
As soon as it stops, I kill the motor and consider current position as minimum (I also reset the encoder value to 0).
Next I will verify the maximum using the minimal speed in the opposite direction.
And as soon as I have it, I'll return back to 0 position.
Funny thing here is - I no longer need minimum and maximum switches - I can get the info from the feedback loop smiling smiley
I'm starting to love the system. Have to talk to Repetier firmware guys if it's possible to implement some feedback communication to their code directly.
But even if not, this will be very nice this already works OK.
And, did I mention it's extremely quiet? The only think I can hear is the linear bearings. And I'll try to print them as a next step to see, if that can help further.
Re: Servolulu: Polulu-compatible servo motor driver
May 03, 2016 07:03PM
rklauko: Great to see someone else working on servo control, but interleaving progress on your controller with the Servolulu development in the same thread is getting a little confusing. Perhaps you could start your own topic.
Re: Servolulu: Polulu-compatible servo motor driver
May 04, 2016 02:23AM
Quote
LoboCNC
rklauko: Great to see someone else working on servo control, but interleaving progress on your controller with the Servolulu development in the same thread is getting a little confusing. Perhaps you could start your own topic.
Sorry for spamming your thread. I started a new one and I'll refrain from further posts here. Good luck with your project.
Re: Servolulu: Polulu-compatible servo motor driver
May 08, 2016 10:56AM
Would Servolulu work with one of these magnetic encoders from Pololu?

Magnetic Encoder Pair Kit for Micro Metal Gearmotors, 12 CPR, 2.7-18V (HPCB compatible) [www.pololu.com]

It would be great for this ultralight extruder [forums.reprap.org]
Re: Servolulu: Polulu-compatible servo motor driver
May 08, 2016 11:41AM
Quote
ipcalit
Would Servolulu work with one of these magnetic encoders from Pololu?

Magnetic Encoder Pair Kit for Micro Metal Gearmotors, 12 CPR, 2.7-18V (HPCB compatible) [www.pololu.com]

It would be great for this ultralight extruder [forums.reprap.org]

Cant see any reasons they shouldnt work, but your resolution are only 12 pulses per revolution, and then your gearing
Re: Servolulu: Polulu-compatible servo motor driver
May 08, 2016 11:45AM
But the gearing is quite serious with the little motor (so is the torque), so 12 impulses per revolution should be plenty...
Re: Servolulu: Polulu-compatible servo motor driver
May 08, 2016 12:15PM
Quote
rklauco
But the gearing is quite serious with the little motor (so is the torque), so 12 impulses per revolution should be plenty...

Indeed. Some of these micro-motors have up to 1000:1 gearing, so 12000 pulses is close to 1/64 microstepping with a typical 1.8 deg stepper, which is way overkill for our application. The torque you can get from these is rather nice (see the above ultralight extruder) and you can temporarily boost the speed with higher voltage for retractions.
Re: Servolulu: Polulu-compatible servo motor driver
May 08, 2016 01:04PM
LoboCNC,
I like that there are more attempts to do good dc servo reprap. You can show your servo Operation diagram, which will be open source? Just like here. Or tell which loops will be used?

Edited 1 time(s). Last edit at 05/08/2016 01:06PM by pamalofeev.
Re: Servolulu: Polulu-compatible servo motor driver
May 08, 2016 03:12PM
Quote
pamalofeev
LoboCNC,
I like that there are more attempts to do good dc servo reprap. You can show your servo Operation diagram, which will be open source? Just like here. Or tell which loops will be used?

The current version of the Servolulu uses PIC-SERVO SC code, and you can view all of the gory details in the PIC-SERVO SC data sheet. The PID servo controller is described in Section 4.3, and the various operating modes are described in Section 4.4.

What I'm planning for an open-source version of Servolulu code is to duplicate just the PID controller section with Step & Direction inputs and then give it a simpler ASCII communication interface for setup with any simple terminal program. I'll also write it in C rather than assembly so that other people might have a hope of hacking on it.
Re: Servolulu: Polulu-compatible servo motor driver
May 08, 2016 04:56PM
Wow, just now I noticed the chip you are using to drive the motor - A4953. That's a fantastic idea - looks way better than the old L298 or even the one I'm using now - TB6612FNG. The TB is a dual H bridge, but for the pin compatibility 1 H bridge is better.
Re: Servolulu: Polulu-compatible servo motor driver
May 09, 2016 01:49AM
Quote
LoboCNC
The current version of the Servolulu uses PIC-SERVO SC code, and you can view all of the gory details in the PIC-SERVO SC data sheet. .

Hmmm... In STEP/DIR mode only position loop.. Thus, this system is not much different from mysan servo, except that used a more expensive controller. The only plus - the hardware encoder interface.
If you overwrite project in C, you did not think to use other mcu? For example stm32f030f4p6. On aliexpress cost ten mcu such as a PIC18F2331. Also it has a hardware encoder interface, and it is a 32-bit processor.
Re: Servolulu: Polulu-compatible servo motor driver
May 09, 2016 02:43AM
I think you misunderstood tge goal here - to huild a brand-new controller bottom up would bee probably too much. That's why the goal here is to provide drop-in replacement for current stepper circuits only. And yes - the code wull probably be similar to Misan's, but I don't think that it is a disadvantage.
Re: Servolulu: Polulu-compatible servo motor driver
May 09, 2016 07:22AM
Check this project. This is a real DC motor servo. He even has the current loop, but not really working on the motor model. I used to be studied for this specialty, a little understand the topic. A good drive will not work with only loop position and PID. Only simple, non-demanding systems, and this is not our case. And I do not propose to abandon the concept of a simple replacement of the stepper motor driver, only propose to review the use of pic18. He did not give the project the possibility to grow.
Re: Servolulu: Polulu-compatible servo motor driver
May 09, 2016 11:09AM
Quote
pamalofeev
If you overwrite project in C, you did not think to use other mcu? For example stm32f030f4p6.

Yes, it looks like this processor would be a much better choice for writing new code. (I used the PIC18F2331, a much older processor, because I have access to the PIC-SERVO SC code.) The control code itself, whether a simple PID loop or a fancier multi-loop architecture is all fairly easy to do. Doing a good job of the user interface and documenting it is much more work. And for me, the amount of work required to learn how to use the STM32 processor and development tools would totally eclipse the amount of work in writing the code.

Ultimately, the choice of processor is not really that important. The goal is not optimality but to come up with a servo controller solution that is easy for people to use.
Re: Servolulu: Polulu-compatible servo motor driver
May 09, 2016 01:22PM
I agree , though now it is a system on pic. The main thing is to attract attention , to show the benefits that the project was a good worker . Then there will be others.
Re: Servolulu: Polulu-compatible servo motor driver
June 07, 2016 03:46PM
LoboCNC: Do you have experience with A4953? Mine is quite disappointing - I got it yesterday and tested it today and it is quite hot during position hold. Is it due to my board design? (No heat pads or anything similar, but driving only 3.6W 12V motor...)
Re: Servolulu: Pololu-compatible servo motor driver
June 07, 2016 06:47PM
Quote
rklauco
LoboCNC: Do you have experience with A4953? Mine is quite disappointing - I got it yesterday and tested it today and it is quite hot during position hold. Is it due to my board design? (No heat pads or anything similar, but driving only 3.6W 12V motor...)

How much current are you running through the motor? The total on resistance of the A4953 is about 1 ohm, so I'd guess that with no connection to the thermal pad, it'll get pretty hot even if you are drawing less than 1amp.

Edited 1 time(s). Last edit at 06/07/2016 09:54PM by LoboCNC.
Re: Servolulu: Pololu-compatible servo motor driver
June 13, 2016 05:24AM
Quote
LoboCNC
How much current are you running through the motor? The total on resistance of the A4953 is about 1 ohm, so I'd guess that with no connection to the thermal pad, it'll get pretty hot even if you are drawing less than 1amp.
Thanks for the hint.
Normally the motor takes less then 150mA, but with problems during movement (e.g. start or hitting a minimum/maximum position) it can take almost 700mA.
1 ohm is quite a lot, so I put on a heat sink (stolen from my stepper driver grinning smiley) and it's now quite fine - not more then 39 degrees.
However, unlike TB6612 I am still getting some unwanted "audible" feedback - especially when breaking and stationary. With the same PWM the TB6612 is totally silent. It seems like some sub-harmonic frequency is causing it.
It looks like there is not much documentation/experience discussion on the web about the A4953.
@LoboCNC: Did you already test it with your chip? Did you experience any sound feedback?
Re: Servolulu: Pololu-compatible servo motor driver
June 13, 2016 05:37AM
Is there maybe some video of your experiments ? smiling smiley would love to see some
Sorry, only registered users may post in this forum.

Click here to login