BLDC bipolar PWM - Page 1
Forum section: electronics / beginners

author: uliano
author_rank: Regular Contributor
timestamp: May 07, 2023, 03:50:55 pm
content: I'm starting from scratch the topic of BLDC control and I'm still in a very early stage of this process in which I'd like to explore most of the topics.Reading this ANhttps://www.microchip.com/en-us/application-notes/an3998I got curious about the bipolar PWM which should provide some kind of help in detecting the zero crossing on back EMF so I started to breadboard a prototype.I'm in a very early stage and some VERY IMPORTANT parts of the hardware (e.g. current limiting!!) are missing, nevertheless before going on, as PWM signals appear to be correct, I would have liked to see the real thing turning, even if only open loop.Alas, the motor buzzes, draws current, vibrates but doesn't turn. So I doubled the software to implement the more traditional unipolar PWM drive. And the damned thing now spins!As I kept constant duty cycle, frequency I expected to get similar effect.In the following waveforms MOSFETs are driven by these lines:D0 = CLD1 = CHD2 = BLD3 = BHD4 = ALD5 = AHunipolar with resistive load:unipolar with BLDC:bipolar with resistive load:bipolar BLDC:Some digital signals have spurious pulses (which I don't know if they drive the MOSFET) possibly because of the ratty environment:[ Specified attachment is not available ]Any comment is welcomeEDIT ok images didn't come up as I intended, luckily file names are descriptive enough.EDIT2 and... one of them is missingEDIT3 I tried to change stratgy with images to no avail. maybe if I answer to myself...

author: uliano
author_rank: Regular Contributor
timestamp: May 07, 2023, 04:06:51 pm
content: this was missing unipolar with resistive load

author: Benta
author_rank: Super Contributor
timestamp: May 07, 2023, 07:28:15 pm
content: The AN you're referring to is about sensorless BLDC control, so I expect that's what you're trying to do.You need to look at your application, beacuse there are serious limitations:First, you cannot start a sensorless BLDC under load (or at least only with a limited load.Second, the starting procedure is complicated:1: energise one winding (two phases) to place the rotor in a defined position.2: apply a three-phase drive voltage with increasing voltage and frequency. The motor is now operating as a PMSM, not a BLDC.3: when rpms have increased to a point where measurable BEMF is present, you can switch to pure BLDC mode.Should you have a load/rotor stall, this procedure needs to be repeated.If this fits, go ahead. But if you want the characteristics of a PMDC, you'll need a motor with Hall sensor feedback.Have Fun

author: uliano
author_rank: Regular Contributor
timestamp: May 08, 2023, 03:16:34 am
content: Yes, I know I'm going to to set sail into complex and dangerous seas... and I'm not quite there.However, as with PWM I can -instantanously- start and spin the (unloaded) shaft in a range of angular velocity by simply letting out the waveform, I expected to be able to do the same with bipolar PMW.The fact that, ceteris paribus, bipolar PWM has a different effect than unipolar makes me think I did something wrong in implementing it.

author: uliano
author_rank: Regular Contributor
timestamp: May 08, 2023, 05:07:38 am
content: Here the green trace is the difference across two motor terminal and now it's clear that actually I did it wrong. Less clear is what is wrong and how to fix it.

author: uliano
author_rank: Regular Contributor
timestamp: May 08, 2023, 05:11:54 am
content: For comparison this is with unipolar PWM and now I'm more confused than ever and not sure of anything :-(

author: Doctorandus_P
author_rank: Super Contributor
timestamp: May 08, 2023, 12:25:49 pm
content: I'd say slow it down a lot, to have one of the states of the outputs, and then even add a button to go to the next output state. Lower the motor voltage or add extra resistors to keep the current in a safe range. I'm guessing, but a possibility is that you neglected that current must go into a phase, but it must also go out and back to GND in some other phase. If there is no overlap in the PWM ouputs, then no current will flow through the motor.

author: uliano
author_rank: Regular Contributor
timestamp: May 08, 2023, 12:59:51 pm
content: I'm getting convinced that I should have made some silly mistake with the waveforms as when I switch to unipolar I get it spinning.Now I'm looking hereAN4429but It seems the same table of 6 states I implemented:AHBLAH WOAAL WOBBH WOBBL WOACH OFFCL OFFAHCLAH WOAAL WOBBH OFFBL OFFCH WOBCL WOABHCLAH OFFAL OFFBH WOABL WOBCH WOBCL WOABHALAH WOBAL WOABH WOABL WOBCH OFFCL OFFCHALAH WOBAL WOABH OFFBL OFFCH WOACL WOBCHBLAH OFFAL OFFBH WOBBL WOACH WOACL WOB