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

Reply via email to