This discussion on controlling DC motors is like re-inventing the wheel over 
and over again.  
Let's go back to 2005 when Uli brought out his UHU sevo drive with a small 
ATMEL 8 bit micro-controller.
http://uhu-servo.de/servo_en/index.htm

The design was expanded and turned into the more powerful HP_UHU drive.
There's a fair amount of info here:
https://en.industryarena.com/forum/uhu-servo-controllers--411

Take it a step further and Henrik Olsson created the PIC passed replacement for 
the ATMEL processor which handled higher line count encoders and is more 
resistant to electrical noise.
http://henriksplace.se/servo/

The question was asked about PWM at 50% meaning either 50% of full speed or 
motor locked.  The UHU drive concept describing the PWM is not the control 
signal from a PC but the drive signal controlling motor speed and direction 
using an H-Bridge configuration.  

The theory is that if the PWM signal is high the H-Bridge is switched to say 
turn the motor clockwise.  If the PWM signal is low the H-Bridge is switch to 
turn the motor counter clockwise.  Therefore with 50% the motor is first asked 
to turn one way and then the other.  That results in the motor essentially 
being locked in place.  Change the PWM on either side of 50% and the turns in 
the subsequent direction.  

So say the PWM frequency is 100mS for example.  Then for 50mS current is 
flowing in one direction and in the other direction for the next 50mS.  In real 
life it doesn't happen like that of course.  First the inductance doesn't allow 
the motor current to change instantly.  Second, full current as the result of 
applied voltage isn't pushed through the windings for the full 50mS.  That 
would be like an overheating motor locked condition which is sure to result in 
a burned out motor.

So what really happens?  The current through the windings is sensed by the 
controller.  If the motor can handle 3 amps continuous then the PWM High/Low 
times are modulated by the comparison of sensed motor current against a set 
point.   And if the motor is at the commanded position as determined by the 
encoder that current may be set back to reduce heating.

But move the motor off position as sensed by the encoder and the PWM on the 
side opposite to rotation is increased as well as perhaps the setback current.  

Here's a photo of my original UHU drive on a PC board made by Manjeet in India. 
  The motor is a 24V DC Servo with encoder.
http://www.autoartisans.com/ELS/doc/Test_UHU.jpg

I then ordered 4 and assembled 2 of the HP_UHU kits.
http://www.autoartisans.com/ELS/doc/HP_UHU.jpg

Ultimately I did have noise issues with the brushed servos and bought two of 
the modules from Henrik.  You can just see the small piggy back board in this 
photo.
http://www.autoartisans.com/ELS/doc/Henrik_HP_UHU_Module.jpg

The zoomed in photo is of the Mill Control Cabinet. 
http://www.autoartisans.com/ELS/doc/ControlCabinet.jpg
Two HP_UHU DC Servo drives with Henrik's processor module.  To the right of 
that a 15V small power supply for the UHU Logic section and behind that a GECKO 
Stepper Driver for the knee.  And beside that the STMBL AC Servo drive.  

Another option for a complete closed loop step/dir DC servo driver is the GECKO 
320 I think.  I have two but have never actually tried them.  The DC motors I 
have are 90VDC and I run them with a 105VDC power supply.  The GECKO's were 
limited to 70 or 80V.

I'm sure there are some other DC Motor Driver with encoder feedback out there.

John Dammeyer








> -----Original Message-----
> From: Thaddeus Waldner [mailto:thadw...@gmail.com]
> Sent: October-15-20 2:18 PM
> To: Enhanced Machine Controller (EMC)
> Subject: Re: [Emc-users] question for Chris and Thaddeus
> 
> The reactance and inductance questions are above my pay grade and I�d be 
> happy to hear someone explain it. :) I use these for
> robotics class in place of the old BJT L298, which are optimistically rated 
> for 2 amps but have more than 2v drop at much less than
> that current.
> 
> Maybe I don�t understand your comment but I�m pretty sure that a 50% duty 
> cycle PWM waveform will run the motor at half-
> voltage.
> 
> You command the direction with INa and INb according to the Truth Table. The 
> PWM signal will then switch either the A or B low-
> side FETs, depending on the INa/INb configuration.
> 
> 
> > It would appear that when enabled, and lets say with a pwm frequency near
> > the top of the 10khz range, that a 50% duty cycle pwm waveform would be
> > the equ of a balanced, at rest servo, so my first question is how much
> > additional inductance in series with the motors leakage reactance will
> > be needed to protect the chip from the current surges at the pwm
> > waveforms transition points?
> >
> > My hal file will obviously need to stage an initial enable at the 50%
> > duty points, then let the pid output thru.
> 
> 
> 
> 
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users



_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to