So you are driving it with something like this? amazon.com/HiLetgo-BTS7960-Driver... <https://www.amazon.com/HiLetgo-BTS7960-Driver-Arduino-Current/dp/B00WSN98DC/ref=asc_df_B00WSN98DC/?tag=hyprod-20&linkCode=df0&hvadid=198090929431&hvpos=&hvnetw=g&hvrand=9099973595926304313&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9031026&hvtargid=pla-403676040447&psc=1>
One possible mistake is if even for a short time the both enable inputs are active you will get "shoot through" and short the power supply. Can you verify this NEVER happppens using a scope or logic analyser? Do not bother with a software "hal scope" You need to look at that is actually on the wires with a device that samples the actual metal pins. Real pins have riseand fall times and they can't intersect. I would also just use one PWM generator and connet it to both LPWM and RPWM. A safer why to handle L-EN and R_EN is to make 100% certain that they go through a state where BOTH ARE OFF. Don't flip them instantly as there is a finite rise and decay time. There needs to be soome number of microseconds where both are off. I bet LCNC flips both L-EN and R_EN on eht same software cycle. If so then the supply is shorted via the controller board. There boards are cheap and another way to fix this is to used a boaed with a "forward/Reverse" pin rather then two pins sothere is no chance of enabling both pins. Or using a "smart" controller with a serial interface where the speed and direction are sent as a digital command message. Then the acceletaion and such is handled by the controller. The sounds like an short in the h-bridge to me but I could be wrong. You can test this with a digital scope. on the control pins. On Wed, Sep 22, 2021 at 10:21 AM Gene Heskett <ghesk...@shentel.net> wrote: > On Wednesday 22 September 2021 11:44:51 John Figie wrote: > > > Gene, > > > > I would like to better understand your problem and have been thinking > > about this. I have some questions. > > > > > > I don't think the fact that there is a worm gear matters. The > > > > problem, I bet is the large inertia of the system. > > > > Hmm I am not sure about the inertia. I think if you have a large gear > > reduction then the inertia reflected across the gears should appear > > low from the motors point of view. > > > > > > Aside from proper tuning of the PID gains you could change the > > > > system to use a nested or "cascade" PID. THis allows the velocity > > > > setpoint to be controlled by the position error > > > > see the section "cascade" in the wiki article > > > > https://en.wikipedia.org/wiki/PID_controller > > > > > > > > I think you want a very fast loop i=for the inner PID. LIkely it > > > > wouldbe in external hardwarelike a microcontroller or FPGA. > > > > (does MESA > > > > > > do > > > > > > > the PID algorithm in the FPGA? It should.) > > > > > > > > > > > > > > > > On Sun, Sep 19, 2021 at 3:39 PM Gene Heskett > > > > <ghesk...@shentel.net> > > > > > > wrote: > > > >> Greetings all; > > > >> As most of you know, I built a servo from scratch for a BS-1. > > > > BS-1? What is this? Is this like a Grizzly BS-1 dividing head? Did you > > mount the servo motor to this? > > Not a grizzly, a Chinese clone. > > > > >> But I am not at all happy with its performance. > > > >> It is a motor with a worm output, driving the worm of the bs-1. > > > >> And it has an A/B quad encoder in it. > > > > So you have a 2 worm gear reduction. Where in this system is the > > encoder mounted? > > On the rear of the motor. > > > What are the encoder counts per rev of the encoder? > > DNK, no index in it. So I measured the encoder for 100 turns of the BS-1 > as verified by the home switch, divided that by 360000 to get a count > per degree scale value. Thats about 666.something per degree of the BS-1 > > > What are the motor characteristics? > > Brushed PMDC, rated a 100 watts, 24 volts. Intended to run estate gates > by chain drive similar to garage door openers. I assume its OEM > controller has a homing switch, and counts encoder pulses to open so > many pulses when the approaching driver punches his access button. > > > > >> But I must rather severely limit its run speed because the PID > > > >> doesn't see the null coming near fast enough to slow it and stop > > > >> a couple > > > > When you say null coming what do you mean? Is this the point where the > > desired position is reached according to the motion planner in > > LinuxCNC? > > Yes. I'd assume so. Motion has its own version. > > Null in this context is when the encoder output equals commanded > position. > > > > >> arcseconds early. I can't allow it to use reverse to stop as the > > > >> motor seems to be a near short circuit then, crowbarring the > > > >> power supply, > > > > How do you prevent the PWM from reversing the voltage on the motor? Is > > the motor driven from a PWM in only one polarity? How is the PWM and > > the switches arranged? > > Control is by a LCNC PID, fed by the lcnc encoders position output > feeding the PID feedback, with a pwmgen running in mode 2 where it has > two pulse width modulated outputs, one fwd, one reverse, which are fed > to a BTS 7960 board containing 2 of the Infineon half bridges for a full > bridge control. This IC is rated at 45 volts, 43 amps. Fed by a 24 volt > supply good for nearly 20 amps, intended for automotive seat position > controls, it runs this motor with zero heating. But if it overshoots the > commanded position and goes into reverse to bring the motor back by more > than a 1 or 2 % drive while the motor is still coasting fwd, it will > crowbar the psu, getting it hot instantly, causeing the psu to do a shut > down until it has cooled for 2 or 3 minutes. Even then, no heat in the > BTS IC's. > > The net result is that I must limit its cuising speed and accelleration > in order for it to coast to a stop using its own friction while avoiding > the use of reverse to stop, usually a quite small fraction of a degree > early. And that is about 10 to 15% of the speed it can move with the > full 24 volts applied. > > > Regards, > > > > John Figie > > > > _______________________________________________ > > Emc-users mailing list > > Emc-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/emc-users > > > Cheers, Gene Heskett > -- > "There are four boxes to be used in defense of liberty: > soap, ballot, jury, and ammo. Please use in that order." > -Ed Howdershelt (Author) > If we desire respect for the law, we must first make the law respectable. > - Louis D. Brandeis > Genes Web page <http://geneslinuxbox.net:6309/gene> > > > _______________________________________________ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users > -- Chris Albertson Redondo Beach, California _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users