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.

Hard Disk Motor Controlling

Status
Not open for further replies.

rajudp

Advanced Member level 2
Joined
May 27, 2006
Messages
643
Helped
123
Reputation
246
Reaction score
96
Trophy points
1,308
Location
India
Activity points
4,055
hard disk motor

Please anybody give information about hard disk motors. it is having 3 pins and showing same resistance between them

with regards

raju
 

harddisk motor

Hey, I have one of them too.
I just tried to apply 9V between 2 terminals while keeping the 3rd terminal open. The motor rotated few degrees. By choosing seperate pairs of wire serially and applyingvoltage across them you can rotate the motor. Alternatively, you can use a microcontroller, and an optocoupler to drive the motor.
 
hard disc motor

yes you are right . but how to control it. and how the pins are used for proper operation
thanks and regards
raju
 
change hard disk motor

I'm almost certain that your disk has a brushless DC (BLDC) motor. Since it has only 3 leads, I think, it's a sensorless BLDC. I've never worked with such motors, but if you google "BLDC" or "sensorless BLDC", you'll get a tonn of app notes with schematics, algorithms and code.
 

how to use a harddisk motor

I think if you generate a 3 phase switching supply it should run. Never tried it myself.
 

how to run a 3 wire hard disk motor

I used this code for my AT89S52 microcontroller. Please remember to use an optocoupler to isolate the microcontroller pins from any direct electric contact with the motors, and also use a current amplifier to avoid toasting your optocoupler.



#include "reg52x2.h"

/*

* FUNCTION_PURPOSE: This file set up timer 0 in mode 2

* with a software gate.



duty = (256-RL_OFF)/[512-(RL_ON+RL_OFF)]

*/



#define fCrystal 20000 /* in kilohertz */
#define fPWM 1 /* rotation speed in RPS */
#define Instr_Per_Cycle 12
#define Duty 100 /*percent*/

#define RL_ON_C (256 - Duty * fCrystal / fPWM / Instr_Per_Cycle)
#define RL_OFF_C (512 - RL_ON_C - fCrystal / fPWM / Instr_Per_Cycle)

unsigned char RL_ON = RL_ON_C, RL_OFF = RL_OFF_C;

bit flag = 0;
unsigned char stat = 1;

unsigned int count = 0;



void main(void)

{

TMOD &= 0xF0; /* Timer 0 mode 0 with software gate */

TMOD |= 0x02; /* GATE0=0; C/T0#=0; M10=1; M00=0; */

TH0 = RL_ON; /* init values */

TL0 = RL_ON;

ET0=1; /* enable timer0 interrupt */

EA=1; /* enable interrupts */

TR0=1; /* timer0 run */

P2_0 = 0; /* Initialize P2.0 */

while(1); /* endless */

}





void it_timer0(void) interrupt 1 /* interrupt address is 0x000b */

{

TF0 = 0; /* reset interrupt flag*/

if (flag == 1)

{
TH0 = RL_OFF;
if (stat == 0)
{
P2_0 = 1;
P2_1 = 0;
P2_2 = 0;
stat = 1;
}
else if (stat == 1)
{
P2_0 = 0;
P2_1 = 1;
P2_2 = 0;
stat = 2;

}

else if (stat == 2)
{
P2_0 = 0;
P2_1 = 0;
P2_2 = 1;
stat = 0;

}
}

if (flag == 0)

{

TH0 = RL_ON;

}

count++;

if (count == 1000)

{

if (P1_0 == 0) RL_ON++;

if (RL_ON >240) RL_ON = 240; // Upper limit

if (P1_1 == 0) RL_ON--;

if (RL_ON < 16) RL_ON = 16; // Lower Limit

RL_OFF = 512 - RL_ON;

count = 0;

}

flag = ~flag;



}

Added after 7 minutes:

I forgot to mention:

Pin P2.0 P2.1 P2.2 should be connected to motor's 3 wires. If your motor does not rotate, try different combinations of motor wires and pins

Added after 8 minutes:

And in case you forgot, there is a 'helped me' button to press if you have found this information helpful.
 

running a three phase hard disk motor

READ MICROCHIP REFERENCE DOCUMENT "AN857" ABOUT CONTROLLING BLDC MOTOR.THEY HAVE VERY NICE EXPALINATION ABOUT THAT
 

You need those two things:
  1. Three pieces of half bridges if the spindle motor has no center tap (3 terminals). If the motor has a center tap (four terminals), you don't need halfbridges, just connect center tap to V+, and use regular PNP transistor between ground and the other terminals.
  2. A circuit with 3 logic outputs, where one input at time is active. A ring counter combined by a VCO should make it works. Three outputs shall be connected to each transistor or half bridge.

If this sounds interesting, and if you want to build this thing (diy project) I can always provide a relatively simple schematic. You should be able to make it work with only a few transistors and some logic circuits. Remember to get yourself a 5 volt supply if working with TTL circuits. Otherwise use cmos in 4xxx series.
 

I am currently working on the propeller clock with my group for which we needed to run a hard disk motor.
All you have to do is use an HBridge IC L239.
1) Generate a 3 phase step signal using 8052 Microcontroller. Keep the frequency small at first and then gradually increase.
2) Connect the output of the MC to the inputs of L239, which has 4 inputs.
3)Connect the three outputs of L239 to the HD Motor.
4)HBridge IC is used to provide the necessary current to the motor.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top