Maker Pro
Maker Pro

Zero Crossing Point Detector .....

Fish4Fun

So long, and Thanks for all the Fish!
FYIW *** This is as much a thought experiment as it is a real-world problem .... ***

Typical "Hobby" Oriented BLDC motors and even recent "Industrial" BLDC motors are designed and built to be driven using "sensorless" drivers .... Of course "sensorless" is a Red-Herring, the motors//drivers absolutely require rotor position feedback to operate properly .... the trick is to employ "Zero Crossing Point Detection" in place of Hall Effect or Optical Sensors .... The theory is that "Simplifying" motor and driver design reduces costs....

Specifically the motors are permanent magnet, 3-phase motors designed to be driven with trapezoidal wave forms such that one phase is connected to V+, one to Gnd and one "Floating"; the "Floating" phase transitions from V+ toward Gnd OR From Gnd toward V+ and as the windings approach the N|S or S|N transition the voltage on the "Floating" phase crosses V+/2 .... the "Zero Crossing Point" ... typically a uC uses the Zero Crossing Point signal to time the next commutation event ....

For V+ less than ~30V a simple voltage divider and comparator are easily configured .... but what about a motor designed for 120V, 240V or 480V ? In these cases the Zero Crossing Point will be well above the reach of typical components referenced to ground... One approach might be to create a "Floating Supply", but it seems like using an opto-coupler like the H11AA1 **might** facilitate design ... (The H11AA1 uses Anti-Parallel LED Emitters on the trigger side and a typical NPN transistor on the output side) .... With a minimum of passive components it would appear Zero Crossing could be detected fairly accurately.

But what I don't know is "How it is really done", LoL. I have a 240V BLDC Spindle AND a driver designed for it ... NOT planning on attempting to design/build a replacement ... just curious how it is done .... or how other's might approach the problem ... As I stated at the start, this is as much a thought experiment as it is a real-world problem :)

Thanks!

Fish
 
One popular method for industrial BLDC servo's etc is to initially exercise the motor and detect the location of rotor poles by BEMF, from then on the rotor is kept track of by a encoder on the motor shaft.
The industrial drives I use that are H.V. (>200vdc) typically use Mosfet bridge arrangement.
In some cases a very low resistance is used between the Mosfet GND return and system common, an Op amp is then used to feed the current detected signal back to the drive.
M..
 

Fish4Fun

So long, and Thanks for all the Fish!
Hey Minder!

Perhaps I am confused ... happens sometimes :) All of the industrial servos I have dealt with (really, not that many) use some type of encoder, and pretty much require servo drivers.... Variable Speed BLDC Spindle motors I have dealt with have not had encoders, but rather have used "standard" frequency based "speed controllers".... I suppose it is possible the "speed controllers" simply drive the spindle motors synchronously, though I would think the efficiency issues and intolerance to load change associated with driving BLDC motors synchronously would be problematic. I just **ASSUMED** the industrial speed controllers used a Zero Crossing Detection Circuit functionally equivalent to their low-voltage cousins in the Hobby industry .... but maybe not?

Fish
 
The BLDC servo drives I use only require the BLDC hall effect commutation devices or the equivalent on an encoder track.
These are principally ±10vdc command type, they will run in open loop (variable speed) or velocity type drives but at low RPM cogging is evident due to the coarse commutation.
In closed loop control where an encoder is returned to a PID loop control, they run as smooth as any DC brushed version.
Typically now in this mode, the drives is set for torque (transconductance amplifier) mode, rather than velocity.
Incidentally a DC brushed motor can be ran off of these drives by setting the drive to 60° commutation and using the U & V phase.
Spindle controllers are principally open loop velocity controllers, if positioning is required then some kind of feedback device is usually needed.
M..
 

Fish4Fun

So long, and Thanks for all the Fish!
Hey Minder!

I am more confused than ever ...

The BLDC servo drives I use only require the BLDC hall effect commutation devices...

The ***Hall Effect Commutation Devices*** are what separate a conventional BLDC motor/driver from a "Sensorless" BLDC motor/driver .... The "Sensorless" BLDC driver determines commutation timing by sensing the voltage on the floating phase (Back EMF), and needs to generate a signal to the uC when it crosses the "Zero" Line .... ( the "Zero" line being defined as 1/2 * V+ ) ...

My understanding of "Open Loop" control implies a deterministic relationship between input phase and rotor position, for instance a typical stepper motor driven stage using a lead screw with a pitch of 0.500inches/rev and a direct coupled 1.8 degree stepper motor using a 1/4 Step driver ..... to move 1.000 inches --> 4 steps/step * 200 Steps/Rev * 2 Rev/Inch ==> 1600 "steps". My understanding of "Closed Loop" control implies there is an encoder, scales or some type of position feedback used .... in a closed loop system virtually any type of motor can be used to achieve virtually any level of positional accuracy .... from a crude machine like a garage door opener with only a pair of limit switches to high precision scales on a CNC machine .... neither depend on deterministic knowledge about rotor position .... Both the garage door opener and the CNC machine could use a brushed DC motor, a BLDC motor, an induction motor or even a hydraulic motor so long as the motor could be controlled ...

Regardless of control type, until a magnetic mono pole can be fabricated, DC motors require commutation, the generally accepted types of commutation are 1) Brushes 2) Positional Sensors (Mechanical, Optical or Hall) 3) "Sensorless Sensors" which use Back EMF ....

My ***ASSUMTION*** is that mass-market "speed controllers" which typically drive 200V - 1000V BLDC motors use "sensorless sensors" for commutation, and that there is a fairly standard way in which they sense zero crossing events ....

Sooo, I am interested in practical, reliable, inexpensive ways to dynamically sense 1/2V+ where V+ is in the 200V to 600V range (in the 50uS time domain) .... with the application being sensorless BLDC commutation ... The primary reason I think there has to be a "cheap and easy" way to do this electronically is a "negative" reason .... It would be relatively cheap to bring the "neutral wire" out of the motor .... a 4th wire would add near zero cost and would (from my perspective) make it really easy to design/build a zero crossing detector .... the fact that this is NOT common practice suggests to me there is a cheap and easy way to sense zero crossing that I simply haven't thought of yet, (Except using opto-couplers as mentioned in the OP), LoL.

Thanks!

Fish

Hey dorke!

Thanks ... I have read a lot of datasheets and Application Notes .... to date none have dealt with this specific detail. If you are aware of one that might, I would be thrilled with a link. The vast majority of Application Notes and "Typical" schematics I have seen with respect to "sensorless" designs involve low-voltage drivers where 1/2V+ can be referenced directly to ground .... the high voltage Application Notes and "Typical" schematics I have seen use Hall Effect // Optical sensors to provide commutation signals.

Thanks!

Fish
 
Top