Charlie, You can commutate the motor phase from a rotary encoder. No need for Hall effect sensors. Just phase lock to a zero point and know (measure) the 120 degree phase angles. I did much open loop motor control at IBM. It wasn't difficult and we did it with very simple controllers. It does pay to have a watchdog timer power-off all op amps in-case your SW debug locks up or runs away. I had our HW tech eventually create a socketed linear amp. Our HW engineer was an audiophile and said my SW brought tears to his eyes (not in a good way).
BTW, linear motes and steppers with microstepping can all be encoder-commutated and driven off 1 sinusoid table at 3 offsets. On Wed, Oct 6, 2021 at 9:44 PM Charles West via TriEmbed < [email protected]> wrote: > @Pete: > When you were working on it, did the motor you were using have hall effect > sensors in it? That's about all that makes me willing to try this. In the > worse case, I should be able to fall back to trapezoidal control based off > of the hall effect sensors without any sort of fancy estimation. I hope I > can do better than that though. > > @Carl&Rodney: > I've been actively looking through motor control gate drivers trying to > find something that is simple enough I can work with it, available and > capable enough. So far, the best I've found is the STDRIVE101 ( > https://www.mouser.com/ProductDetail/STMicroelectronics/STDRIVE101?qs=xZ%2FP%252Ba9zWqYdY88AYx%252Blxg%3D%3D). > I'm bumbling my way through designing a test circuit for it now, but I > would be the first to admit that I am rather terrible at analog electronics. > > Thanks, > Charlie > > > On Tue, Oct 5, 2021 at 3:35 PM Carl Nobile via TriEmbed < > [email protected]> wrote: > >> So my bad, I read Charlie's email and missed the brushless part. I must >> have brushes in my mind. >> >> So brushless DC motors are actually 3 phase synchronous AC motors, So >> three different PWM modulators are needed for each motor. Each PWM is 120 >> degrees out of sync with the others. and there can be absolutely no overlay >> on the others. There are special MCUs that are made for these motors. See >> the link below, it's for an older 8 bit MCU, but will give you an idea as >> to what needs to be done. >> >> http://ww1.microchip.com/downloads/en/devicedoc/atmel-7710-8-bit-microcontroller-at90pwm216-316_datasheet-summary.pdf >> >> ~Carl >> >> On Tue, Oct 5, 2021 at 12:55 PM Pete Soper via TriEmbed < >> [email protected]> wrote: >> >>> I once got the idea I could control a brushless motor by being "clever" >>> controlling set of drivers. I was mistaken. Without some means of sensing >>> the behavior of the motor, whether it be back EMF or some other feedback >>> it's about 99% of hopeless. Which is to say I was too stubborn to give up >>> and managed to see the motor (from a server disk drive) spin, but if I >>> squinted at it there was misbehavior. A truly silly waste of time. >>> >>> -Pete >>> On 10/5/21 12:45, R Radford via TriEmbed wrote: >>> >>> Carl, Charles is looking for a brushless controller, not just a DC motor >>> driver. Brushless motors are closer to a stepper motor than a regular DC >>> motor, but the 'steps' are controlled by sensing hall effect sensors to >>> know when to step to keep the motor running smoothly. >>> >>> They are great as they have less mechanical issues over time (no brushes >>> to replace) and also produce less electrical noise. >>> >>> The circuit you show is a nice DC to PWM circuit that is similar to one >>> I did many years ago, but now most (all?) microprocessors have built in >>> hardware assist PWM so that part is already handled. The first time I used >>> a similar circuit was controlling a robot from a 286 PC based robot where I >>> used the parallel port to drive an R2R D/A circuit comparing against a >>> triangle wave similar to your circuit. It worked great at the time, but now >>> would not be needed. I still have that old hardware somewhere - perhaps I >>> should pull it out and upgrade it. >>> >>> On Tue, Oct 5, 2021 at 12:02 PM Carl Nobile via TriEmbed < >>> [email protected]> wrote: >>> >>>> Charly, >>>> >>>> There are a few solutions to the controller problem. I designed an >>>> analog PWM circuit using op-amps and comparators that works great. You >>>> would also need an H-Bridge you would then need just one MCU board to >>>> control the PWM circuits then then control the H-Bridge circuits. >>>> My design is at: https://github.com/cnobile2012/VoltageControlledPWM >>>> My motors are fairly low current and voltage so the H-Bridges I'm using >>>> won't work for you, however MPJA.com has one in the link below, that will >>>> handle higher currents. >>>> https://www.mpja.com/Dual-H-Bridge-DC-Motor-Driver/productinfo/35567+MP/ >>>> It will handle two motors and is only $22.95 ea. They give full docs on >>>> their site. >>>> My PWM board shou interface with it fine. >>>> >>>> ~Carl >>>> >>>> On Sun, Oct 3, 2021 at 11:16 PM Charles West via TriEmbed < >>>> [email protected]> wrote: >>>> >>>>> Hello all! >>>>> >>>>> For the past 5 years or so, I've been working on a open source low >>>>> cost sidewalk delivery robot. The current draft (prototype picture: >>>>> http://goodbot.ai/lib/exe/fetch.php?media=mk3draft1.jpg) has 4 >>>>> hoverboard style motors in a skid steer arrangement. Each robot will need >>>>> 4 motor controllers, which is one the big cost drivers right now (even >>>>> prior to the covid shortage, the controller cost more than the motors). >>>>> >>>>> My last stab at designing a brushless motor controller failed >>>>> spectacularly and the covid parts shortage has also made the central parts >>>>> of that design completely unavailable. In addition, the bulk price for >>>>> the >>>>> motor controllers I've been using jumped from $56 per to ~$100 per. >>>>> >>>>> Given that, I thought it might be time to get back to the drawing >>>>> board. However, I am not an expert at this sort of thing, so I thought it >>>>> might be good to post what I am thinking and see if I am completely off >>>>> the >>>>> reservation. >>>>> >>>>> I'm currently using off-brand VESC motor controllers (schematic for >>>>> normal ones here: >>>>> https://vesc-project.com/sites/default/files/Benjamin%20Posts/VESC_6.pdf). >>>>> They are great but do way more than I need. They can handle sensored and >>>>> sensorless motors and be reconfigured with MANY different options using a >>>>> desktop application. I don't need to make something that is easy to make >>>>> work for lots of different motors and I don't need to support sensorless >>>>> operation. I just need to make something that works for my motors. >>>>> >>>>> The approach that the VESC takes is a central microcontroller which >>>>> talks with a (not currently available) DRV8301 chip. This chip in turn >>>>> senses voltage/current across each motor coil and drives 6 N-channel >>>>> mosfets to control the motor (3 high side, 3 low side). It does FOC >>>>> control, which I believe is state of the art in terms of smooth motor >>>>> control. It also integrates the 3 halls sensors that sensored motors have >>>>> if they are available. >>>>> >>>>> I'm having trouble finding any of these 6 mosfet motor controller >>>>> optimized gate drivers, so I am thinking that I will just get some high >>>>> side/low side mosfet drivers (like maybe these: >>>>> https://www.mouser.com/ProductDetail/STMicroelectronics/SRK2000A?qs=WHlX%252B%252B9%2FRwCG%2FkukabfLqA%3D%3D) >>>>> and some nice mosfets. Particularly without dedicated chips being >>>>> available, I'm not going to try to do current or voltage sensing. I am >>>>> thinking that I would just PWM the 3 half bridges and try to do sinusoidal >>>>> motor control using a STM32 microcontroller to drive it and the hall >>>>> sensors in the motors to estimate position relative to the coils. >>>>> >>>>> If I may ask, does this sound reasonable or am I totally off base? >>>>> >>>>> Thanks, >>>>> Charlie >>>>> _______________________________________________ >>>>> Triangle, NC Embedded Computing mailing list >>>>> >>>>> To post message: [email protected] >>>>> List info: >>>>> http://mail.triembed.org/mailman/listinfo/triembed_triembed.org >>>>> TriEmbed web site: http://TriEmbed.org >>>>> To unsubscribe, click link and send a blank message: mailto: >>>>> [email protected]?subject=unsubscribe >>>>> >>>>> >>>> >>>> -- >>>> -------------------------------------------------------------- >>>> Carl J. Nobile (Software Engineer/API Design) >>>> [email protected] >>>> -------------------------------------------------------------- >>>> _______________________________________________ >>>> Triangle, NC Embedded Computing mailing list >>>> >>>> To post message: [email protected] >>>> List info: >>>> http://mail.triembed.org/mailman/listinfo/triembed_triembed.org >>>> TriEmbed web site: http://TriEmbed.org >>>> To unsubscribe, click link and send a blank message: mailto: >>>> [email protected]?subject=unsubscribe >>>> >>>> >>> _______________________________________________ >>> Triangle, NC Embedded Computing mailing list >>> >>> To post message: [email protected] >>> List info: http://mail.triembed.org/mailman/listinfo/triembed_triembed.org >>> TriEmbed web site: http://TriEmbed.org >>> To unsubscribe, click link and send a blank message: >>> mailto:[email protected]?subject=unsubscribe >>> <[email protected]?subject=unsubscribe> >>> >>> _______________________________________________ >>> Triangle, NC Embedded Computing mailing list >>> >>> To post message: [email protected] >>> List info: >>> http://mail.triembed.org/mailman/listinfo/triembed_triembed.org >>> TriEmbed web site: http://TriEmbed.org >>> To unsubscribe, click link and send a blank message: mailto: >>> [email protected]?subject=unsubscribe >>> >>> >> >> -- >> -------------------------------------------------------------- >> Carl J. Nobile (Software Engineer/API Design) >> [email protected] >> -------------------------------------------------------------- >> _______________________________________________ >> Triangle, NC Embedded Computing mailing list >> >> To post message: [email protected] >> List info: >> http://mail.triembed.org/mailman/listinfo/triembed_triembed.org >> TriEmbed web site: http://TriEmbed.org >> To unsubscribe, click link and send a blank message: mailto: >> [email protected]?subject=unsubscribe >> >> _______________________________________________ > Triangle, NC Embedded Computing mailing list > > To post message: [email protected] > List info: http://mail.triembed.org/mailman/listinfo/triembed_triembed.org > TriEmbed web site: http://TriEmbed.org > To unsubscribe, click link and send a blank message: mailto: > [email protected]?subject=unsubscribe > > -- Best regards, Mike
_______________________________________________ Triangle, NC Embedded Computing mailing list To post message: [email protected] List info: http://mail.triembed.org/mailman/listinfo/triembed_triembed.org TriEmbed web site: http://TriEmbed.org To unsubscribe, click link and send a blank message: mailto:[email protected]?subject=unsubscribe
