Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

how to drive a brushless dc BLCD Motor with high speed (sensor based driving)?

Status
Not open for further replies.

shirko20

Member level 2
Member level 2
Joined
Sep 29, 2013
Messages
44
Helped
1
Reputation
2
Reaction score
0
Trophy points
6
Visit site
Activity points
381
how to drive a brushless dc (BLCD) Motor with high speed (sensor based driving)?

Hello; recently i started to hack a BLCD from a cd/dvd ROM set ,and i found out it has three linear Hall sensor and three sets of coil ,
each hall sensor has two output and BLCD Motor has three wire,so I use one output of each three Hall sensor and I use ADC to read Hall sensor voltage and compare them together to find out the correct position of rotor and i succeed .but my high speed that i can get from motor is about 2400 RPM that is not a significant speed for a BLCD motor comparing to 8000 RPM and higher that they operate in.I am using avr mcu with 12 MHZ clock speed,each process of reading three hall sensor and getting write position and doing right Commutation takes average 8350 clock cycle's of Fcpu and BLCD motor has to do 36 step to do a physical rotation so:
1/12000khz=0.0000833 ms And 8350* 0.0000833= 0.695ms SO 36*0.695=25.05ms =0.02505 Second SO 60/0.02505=2395rpm
now my question is: If I use Comparator's to get digital output from hall sensors and use PIN Change interrupt instead of using ADC does it gives me higher speed's like 8000 RPM or 6000 RPM? Does ADC's low speed makes motor to rotate in low speed?
 
Last edited:

Did you homebrew a drive circuit for the coils? Do you send different polarities to the coils? When I think about it, the strongest force on magnets comes from a nearby repelling polarity. This suggests you should switch the coil from attractive to repulsive polarity at the exact moment the magnet passes. It makes for a complicated switching system. I could be wrong.

It would help to be able to measure real-time attractive/repulsive force. I'm not sure how to do so, except indirectly by watching rpm after I change pulse timing in some way.
 
One way to increase the speed that the motor runs at is with advancing the timing with which you excite the motor.
Try exciting the next coil just before you switch off the current one.
At that speeds you probably have to take into account the inductance of the motor. The inductance causes the current to lag behind and reduces performance.
This method "charges" the coil first before you switch to it.
 
Hi,

High speed means high frequency.
But high frequency means loss (heating) in the magnetic core.
The higher the frequency, the higher the loss.

There's a dilemma.
If you simply "switch" the power, then this will cause overtones.
These overtones are useless for rotation, but cause a lot of heating because of their high frequency nature.

An ideal waveform is a pure sine, it has no overtones.
Therefore the use of overtone filters (LPF) you may be able to improve speed.
The drawback is, that it also reduces voltage and introduces phase shift. You have to take care about both.

Klaus
 
hi,
Is your meaning of the "drawback" the flyback? because I used 8 diodes as flyback on L298d IC
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top