Pages: [1]   Go Down
Author Topic: how to drive the cd-rom brushless motor?  (Read 4399 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 24
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

now i got one BLDC motor from my old cd-rom. The motor was 3 wires. Anybody can tell me how drive it using arduino?The motor have 13 pins,maybe it's diffcult to drive.Maybe i will have to cut the driver part from the origial . smiley-grin
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 14
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

3 wires or 13 pins which is it? Perhaps a clear photo or drawing or part number will help.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 24
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

you can get it from an old cd-rom. it's used to rotate the cd in center of shield.
Logged

Lacomb, Oregon
Offline Offline
Sr. Member
****
Karma: 0
Posts: 302
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sorry, I don't have an old CDROM I care to tear apart.
Logged

Stephen

Grenoble/Lyon - France
Offline Offline
Sr. Member
****
Karma: 0
Posts: 363
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

and every CD-rom drive don't have the same motor... we need more infos to be able to help you...
Logged


0
Offline Offline
Newbie
*
Karma: 0
Posts: 24
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

just found BA6840BFS IC can driver the cd-motor with 3-phase . i cannot find the motor stype,it is nothing  about it,maybe i will detach it to see which pin is wire A,b,c ,whici is Hall 1,2,3, etc
Logged

SF Bay Area (USA)
Offline Offline
Tesla Member
***
Karma: 106
Posts: 6371
Strongly opinionated, but not official!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

There's a whole cult following in converting old CDROM 3-phase motors to high-power "outrunner" motors for model planes and such.  Rewind the stator, add stronger magnets, drive with a multi-amp ESC...
While there are many different motors, the principles of the three-phase motors which are usually there are the same, and you can learn a lot from the cult, even if you don't go to the extremes...  (the motor is the same before you start mods; just not as powerful.)

    http://www.rcgroups.com/electric-motor-design-and-construction-361/

This does mean that driving such a motor from an Arduino is relatively difficult; about comparable to driving a stepper motor.  Standard circuit is a half H-bridge for each of the three wires.  I'm still looking for a simple circuit that will do for light loads...

It ALSO means that one way of driving such a motor is to buy a cheap RC Electronic Speed Controller, which the arduino can then drive as it would a servo...
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 24
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

yes, now i found that it is diffcult to drive the BLDC, maybe  it is relatively easy to drive BLDC with sensor than sensorless . LBP6190 maybe meet the need if with hall sensor. But it cost nearly $2 more. Does anybody use arduino to drive BLDC without sensor ???
« Last Edit: June 28, 2008, 07:47:39 pm by cxl2253 » Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 8
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi, I have tried and found this Sketch useful for driving a Sensorless BLDC Motor.

Quote

 
// this uses the Arduino servo library included with version 0012

// caution, this code sweeps the motor up to maximum speed !
// make sure the motor is mounted securily before running.

#include <Servo.h>

Servo myservo;

void arm(){
  // arm the speed controller, modify as necessary for your ESC  
  setSpeed(0);
  delay (1000); //delay 1 seconds,  some speed controllers may need longer
}

void setSpeed(int speed){
  // speed is from 0 to 100 where 0 is off and 100 is maximum speed
  //the following maps speed values of 0-100 to angles from 0-180,
  // some speed controllers may need different values, see the ESC instructions
  int angle = map(speed, 0, 100, 0, 180);
  myservo.write(angle);    
}

void setup()
{
  myservo.attach(9);
  arm();  
}


void loop()
{
  int speed;

  // sweep up from 0 to to maximum speed in 20 seconds
  for(speed = 0; speed <= 100; speed += 5) {
    setSpeed(speed);
    delay(1000);
  }
  // sweep back down to 0 speed.
  for(speed = 95; speed > 0; speed -= 5) {
    setSpeed(speed);
    delay(1000);
  }
  setSpeed(0);  
  delay(5000); // stop the motor for 5 seconds
}  



 

I am building my Knowledge up to drive a large very powerful BLDC Motor.

Kiwijor 8-)
Logged

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 331
Posts: 16499
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

A lot can be learned reading a Atmel application docs on driving brushless DC motors:

http://www.atmel.com/products/AVR/mc/3p_bldc.asp?family_id=607

This app note looks very informative for sensorless applications:

http://www.atmel.com/dyn/resources/prod_documents/doc8012.pdf

Lefty
« Last Edit: April 09, 2010, 06:44:11 pm by retrolefty » Logged

SF Bay Area (USA)
Offline Offline
Tesla Member
***
Karma: 106
Posts: 6371
Strongly opinionated, but not official!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@Kiwijor: i assume that you also have a BLDC "speed controller" between the Arduino and the actual motor...  Driving a bare motor is a lot different.
(since such controllers are available for under $10 these days, I'm not even sure it makes sense to try to build discreet controllers any more.)
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 8
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,
I omitted to mention that didn't I, I bought a small motor and 20 amp ESC from Hobby City for experiment cost of both was under $20 I think.

I have a high Power BLDC motor that came from a Fisher and Paykel washing machine, and intend to construct a higher power ESC for controlling it, I also bought a serial Arduino Bd Kit, I've been involved in Electronics for many years, and enjoy tinkering.

My first Microcontroller used a 6801L which was a 1bit CPU with 2k of ram, back in 1980 it was the first of the modern CPU chips.

The F'nP' washing machine, built in 1984 was the first ever to use a BLDC computer controlled Motor, as an aside, it also makes a great Wind Turbine generator, turning out considerable energy.

Kiwijor.
Logged

Pages: [1]   Go Up
Jump to: