Updated schematics for a BLDC motor controller - Electronics Forums

Author Topic: Updated schematics for a BLDC motor controller  (Read 37366 times)

Georg

  • Jr. Member
  • **
  • Posts: 58
  • Karma: +0/-0
  • I have a soldering iron and I'm not afraid to use it!
    • View Profile
Re: Updated schematics for a BLDC motor controller
« Reply #15 on: March 15, 2013, 05:22:37 PM »
I connect the cables directly, because I was not sure about the ribbon cable (see at the picture). Each winding has 1.8 Ω. That is outside the 4-20Ω !? The Text on the board is A1,A3,A2. I do not have to connect GND, 5V to the motor board? There are hallsensors on it H1,H3,H2.
I checked each winding separately by putting 3V on it - the motor always reacts. So atleast the winding do work.
I just checked the Poti with serial.println. It is ok and linear.
Frankly spoken, the motor itself looks pretty ok?! Do have an idea, what I can try?
(Again thanks a lot for time!)

Electronics Forums

Re: Updated schematics for a BLDC motor controller
« Reply #15 on: March 15, 2013, 05:22:37 PM »

ElectroNick

  • The forum moderator
  • Administrator
  • Full Member
  • *****
  • Posts: 154
  • Karma: +3/-0
  • The soldering iron is ON!
    • View Profile
    • Electronics Blog
Re: Updated schematics for a BLDC motor controller
« Reply #16 on: March 15, 2013, 06:45:23 PM »
Frankly spoken, the motor itself looks pretty ok?! Do have an idea, what I can try?
The motor looks fine to me, should be a very nice motor. I'm almost sure the windings are connected to the three thicker traces at the edge of the ribbon cable near the label "17" and the ground and +5 are the two thicker ones on the opposite end.

If your motor measures 1.8Ω between each of the windings' ends, it just means that it's about twice the power of the one I'm using (which measures at 4.4Ω) - should actually help to spin it better, not hinder it.

No need to connect either of the Hall-effect sensors nor the ground or +5V for the sensors - they are not used in this circuit.

Not sure what's wrong, really. Just re-check all wires to be sure everything connects where it's supposed to.

Are you sure you put the magnet bell (rotor) back without skewing it and perhaps having it rub against the stator? 

Which transistors you ended up using? It looks like for the more powerful motor you'd need more powerful transistors. Could it be that one of the windings' driver PNP/NPN pairs already fried? It might have been pretty tough on smaller transistor: 3V @ 1.8Ω is  1.67A - rather too much for the likes of 2N3904/06. They might handle it momentarily but not for long.

Did you use the flyback diodes? They are kinda important else the back EMF will kill the transistors even if the high current didn't. Make sure the flyback diodes are inserted with the correct polarity!

I'm out of ideas for now, if something comes to my mind, I'll post more. So, again, double check the circuit, see if you catch some wiring or polarity related issue.

Georg

  • Jr. Member
  • **
  • Posts: 58
  • Karma: +0/-0
  • I have a soldering iron and I'm not afraid to use it!
    • View Profile
Re: Updated schematics for a BLDC motor controller
« Reply #17 on: March 16, 2013, 07:18:33 AM »
As transistors I am using 2N2219 and 2N2907 - 600mA and 800 mA. I added LEDs in the wires to the motor to see if impulses are going thru. This does happen. (Although the LEDs blink much brighter without motor than with motor.. ). I do not think that here is the problem, because I had the same effects with the L293.
The diode is 1N4001. Is this ok?
The rotor is running without friction. When I shake the rotor, I can hear some noise (like loose sand) in the top of the rotor. No idea what it is. I do hesitate to open it, because then the lock for the CD goes broken.
I will visit my dealer on monday and ask for an old CD-ROM drive and then try with a different motor!

Georg

  • Jr. Member
  • **
  • Posts: 58
  • Karma: +0/-0
  • I have a soldering iron and I'm not afraid to use it!
    • View Profile
Re: Updated schematics for a BLDC motor controller
« Reply #18 on: March 16, 2013, 05:53:05 PM »
I bought on the flea market on old CD-ROM-drive. With this motor it is now perfect working. The rpm can be regulated up and down. BTW the windings have only 1.3Ω - but no issues with my transisitors.
I opened the old motor to check what might be the problem. On top of the rotor is a bearing (the rolls made the noise!) for whatever reason. In the black roller housing is also a magnet. A big difference is to turn the motor. With the old one you feel step by step when the magnet forces fit together (without voltage!) - the new one turns without any resistance (without voltage). It seems that the old motor had some additional magnets in it.

ElectroNick

  • The forum moderator
  • Administrator
  • Full Member
  • *****
  • Posts: 154
  • Karma: +3/-0
  • The soldering iron is ON!
    • View Profile
    • Electronics Blog
Re: Updated schematics for a BLDC motor controller
« Reply #19 on: March 16, 2013, 06:30:13 PM »
Thank you for the update, Georg. I am glad you now have something to spin the animation with!  :) Also, I looked at my stash of motors and found a BLDC spindle motor that makes the funny noise, just like you describe and I am absolutely sure it's also small metal balls, just like on your picture, because I can hear the rolling sound of metal on metal. Mine came from a VERY old CD-ROM, I would think something like mid-90s. Could these balls be some sort of a balance compensation device?

I have no idea what they are for or, in fact, how could they affect rotation of the motor, but I am very intrigued by this. I'll try to hook my motor up and see if it works (or not) - might take a while since it also has a flat ribbon cable.

Georg

  • Jr. Member
  • **
  • Posts: 58
  • Karma: +0/-0
  • I have a soldering iron and I'm not afraid to use it!
    • View Profile
Re: Updated schematics for a BLDC motor controller
« Reply #20 on: March 17, 2013, 03:39:21 AM »
Dear ElectroNick,
what do you think about:
our CD-Spindle would be a good base for that? Could I win you for that project?
« Last Edit: March 17, 2013, 12:11:41 PM by ElectroNick »

ElectroNick

  • The forum moderator
  • Administrator
  • Full Member
  • *****
  • Posts: 154
  • Karma: +3/-0
  • The soldering iron is ON!
    • View Profile
    • Electronics Blog
Re: Updated schematics for a BLDC motor controller
« Reply #21 on: March 17, 2013, 12:31:58 PM »
Nice project! I love all sorts of laser - based projects myself and most especially laser scanning projects. It is absolutely doable. I haven't spinned mymotor up to 1,500 RPMs yet although I'm sure it's possible with an increase of motor voltage. You have somewhat beefier transistors in your setup than I do, you may be able to increase it to 6~8V and adjust the stepDelay variable down to "1" (the lowest it can go until the issue of Arduino missing hardware floating point will hinder any further progress  :) ) to be able to see faster speeds still.

At some point, however, mechanics may become an issue: all the CD-ROM spindle motors I've seen use simple brass low-friction bearings and those are not very good for fast RPMs as they will eventually overheat. You may want to try it on a HDD spindle motor instead that has ball bearings and will easily do 1,500RPMs for indefinite time. Even oldest HDDs were designed for 5,400 RPMs, so 1,500 is nothing.

You may want to check out my TTL-controlled laser driver, for controlling the laser with the Arduino.

One other thing I wanted to mention: his Arduino is not busy working on the motor rotation sequence - the fan motor controls itself (with a small dedicated circuit). Controlling a BLDC needs to be so fast that there is not much time left for anything else to do in the processor, especially the serial communication, which happens a lot in his device. So, at some point I would investigate splitting those functions between  two Arduinos or, more realistically, an Arduino for anything that needs communication to a PC and a dedicated small cheap MCU, such as an ATtiny perhaps,  to control the motor.

One more thing: his idea of using 6 mirrors is very clever - usually people use only one but then they need to create a way to do vertical scanning and rotate the spindle 6 times faster, too. He creates vertical scanning by slanting the mirrors at 6 different angles - nice approach. It does limit the number of horizontal lines to only 6 though - you might want to go 8 or even 12 for nicer looking characters. 

I may attempt something like this later, only I think I would use a HDD motor for which I just found a donor HDD - always wanted to try those motors.

 

Georg

  • Jr. Member
  • **
  • Posts: 58
  • Karma: +0/-0
  • I have a soldering iron and I'm not afraid to use it!
    • View Profile
Re: Updated schematics for a BLDC motor controller
« Reply #22 on: March 17, 2013, 01:01:00 PM »
Great! I am happy that you like this project as well! I will also look for a donor HDD... With your setup the sychronisation will be simple. Do you think Arduino ist fast enough for the laser with 12 mirrors? 1500rpm and 12 mirrors = 0.0041 seconds = 4.1 ms per mirror - I think I read somewhere, about 800rpm and 6 mirror is enough (800rpm and 6 mirrors=0.0125 Sec = 12.5 ms sounds a little better!) 
I have no experience atall with Attiny or something (Arduino is my start in the electronic world!).
A headache is the mechainical side with the rotor and the mirrors. My idea is to use as mirror the mirroring side of an CD (light and easy to cut). Those "mirrors" can be fixed on a CD as holder. This is tricky: the mirrors must have the correct angle vertical and horizontal and distance from the center. I would try it with hot glue positioned by the laser and the reflection point on the wall. Still this is a puzzle work!
I have not really understood the software side. In theory (as I understood) we have on each mirror a sequence of laser flashes to create the lines and points of the text. Can this happen inside the mirror time (eg 4.1 ms)?

ElectroNick

  • The forum moderator
  • Administrator
  • Full Member
  • *****
  • Posts: 154
  • Karma: +3/-0
  • The soldering iron is ON!
    • View Profile
    • Electronics Blog
Re: Updated schematics for a BLDC motor controller
« Reply #23 on: March 17, 2013, 01:33:42 PM »
In theory (as I understood) we have on each mirror a sequence of laser flashes to create the lines and points of the text. Can this happen inside the mirror time (eg 4.1 ms)?
Well, the problem here is that we don't actually have 4ms for 1 event. We need to squeeze at the very least 5 (columns per symbol) x 20 (symbols for good string length ) =  100 separate laser flashes into that 4ms time window. Not all 100 times the laser should be ON of course but the circuit and the software should be able to do it when needed. Good news though is that a laser diode is so incredibly bright that even at 4ms/100 = 40µs (microseconds) , the eye will still see the red dot on the wall. In fact, I think it can go even faster than that and still leave an impression in the eye.

The 40µs laser flashes are doable but I would be concerned that this is all that the Arduino will be able to do - process the required screen and figure out when the flash the laser. Besides, there's still very slow serial communication to the PC that needs to happen to grab the next frame (24 times per second). There's very little time left for switching the motor windings in the proper sequence - that also takes quite a bit of processing work. It may still be doable (although definitely without PWM - i.e. smooth transition between steps)  - I need to do some experiments here - but it would be much easier to just leave the motor to a different MCU. It does not have to be an ATtiny - it could just be another ATmega168 or ATmega328 (if you have a Duemilanove or Uno, that's the chip that's inserted into the socket in the middle). Basically, the difference is that you can use a $5 ATmega168 chip instead of a $20 complete Arduino board.

I would not use CDs for the mirrors - they are brittle and don't actually cut all that well. I would use just a silver film they use for flower or gift or candy wrappers. It weights absolutely nothing at all and reflects very well. Also, with film you don't have to worry about the "first surface mirror" effect and ghosting of the images - since CD is rather thick, the laser will reflect from both the first (CD itself) as well as the second (aluminum foil layer inside the CD)  reflective surfaces it encounters, so you'll have two images instead of the one that you need.   

I don't know when I will be able to jump on this project myself, hopefully soon, but I am very intrigued, so please come back here and tell us about your progress!

Georg

  • Jr. Member
  • **
  • Posts: 58
  • Karma: +0/-0
  • I have a soldering iron and I'm not afraid to use it!
    • View Profile
Re: Updated schematics for a BLDC motor controller
« Reply #24 on: March 17, 2013, 02:14:48 PM »
I agree with number of flashes ..
In my case it will be easier to link 2 Arduinoboards (one for motorcontroll and laser flash (because they are linked together according the speed) - one for the communication and calculating of the sequence). Just thinking about the communication. How to inform Arduino1 which of the 5 columns of the 20 characters for each mirror must be switched on/off? binary thinking 100 digits mean 2exp100?! this will be the wrong way! So maybe we must use a pin to stop laser flashes and read a point array through serial communication and start again afterwards.
The CD has two plastic disks, which are glued together. With a blade you can separate them and then you have the directly coated surface. advantage would be that the surface is totally flat.
Still I hope to find your interest (and time), so that you yourself can jump into the project!
I think I my first step will start with 6 mirror rotor based on the CD-motor and make a 6 point column on the wall ...  Then I can start making a 100 column point bar on the wall !

Georg

  • Jr. Member
  • **
  • Posts: 58
  • Karma: +0/-0
  • I have a soldering iron and I'm not afraid to use it!
    • View Profile
Re: Updated schematics for a BLDC motor controller
« Reply #25 on: March 19, 2013, 08:46:41 AM »
Just for your info: vacation and business cost some time .. I will come back in 3 weeks!

ElectroNick

  • The forum moderator
  • Administrator
  • Full Member
  • *****
  • Posts: 154
  • Karma: +3/-0
  • The soldering iron is ON!
    • View Profile
    • Electronics Blog
Re: Updated schematics for a BLDC motor controller
« Reply #26 on: March 19, 2013, 11:17:31 AM »
Just for your info: vacation and business cost some time .. I will come back in 3 weeks!
Have fun, check back here when you come back!

I have opened an HDD drive to get the motor and it looks like it might be an even better platform for the project you had in mind - the HDD body provides a nice solid base and the rotor has a good size flat top with plenty of threaded holes to mount that 6/12 mirror platter to it. They are driven slightly differently than CD spindle motors though, I've got to play with it some more. Hopefully will have something to show in 3 weeks.

Cheers!

Georg

  • Jr. Member
  • **
  • Posts: 58
  • Karma: +0/-0
  • I have a soldering iron and I'm not afraid to use it!
    • View Profile
Re: Updated schematics for a BLDC motor controller
« Reply #27 on: March 19, 2013, 02:04:55 PM »
Great - I asked already in the IT-department that I am interested in an old HDD. So hopefully I will get one in the next 3 weeks!
(It is hard to go in vacation ... leaving the project! :))
Cheers!

Georg

  • Jr. Member
  • **
  • Posts: 58
  • Karma: +0/-0
  • I have a soldering iron and I'm not afraid to use it!
    • View Profile
Re: Updated schematics for a BLDC motor controller
« Reply #28 on: April 10, 2013, 11:00:56 AM »
Hello Nik, I am back.
I have now a stripped HDD, looks like a solid base, as you said.
But the motor is only very slow aprx. 100 rpm. When I got higher the motor is only moving a little bit back and forth. The motor of the CD-drive is turning with the same config and I can turn it much faster.
I can measure 0.0 Ohm between  the 3 contacts with max. 150mA at 4.5V. More Volt does not change the behavior.
Do have an idea where the problem might be?
Bye

ElectroNick

  • The forum moderator
  • Administrator
  • Full Member
  • *****
  • Posts: 154
  • Karma: +3/-0
  • The soldering iron is ON!
    • View Profile
    • Electronics Blog
Re: Updated schematics for a BLDC motor controller
« Reply #29 on: April 10, 2013, 12:04:29 PM »
Hi Georg, welcome back! I have to admit, this is the first HDD motor I see that has only 3 winding ends (i.e. delta configuration) instead of 4 (wye configuration). All of mine are 4-leads ones and perhaps it's because the HDDs I've opened are all in the age bracket between very old and ancient ;)

Anyway, there is a way to make the delta config motor spin really fast - you just need to be able to spin it up not faster than the rotor is able to catch up. As far as I recall, these motors are wound similarly to the CD-ROM ones i.e. 9 cogs/12 poles but it's absolutely possible that yours has more poles (or more cogs - same effect) and needs more winding commutation steps to achieve the same speed. 

I have to admit, once I got involved with this laser scanning display project and got myself a 4-pin HDD motor, I stopped improving the schematics I've started from even though I don't plan on abandoning it completely.

Let me tell you where I'm at here (and perhaps I'll start a new thread about this later). I made an 8-mirror rotor for a 2.5" HDD out of a piece of a shiny metal sheet hoping that it will be reflective enough. It didn't work. Well, the metal is reflective all right, but the problem is: I cannot keep its surface flat enough for the laser dot to remain a dot. When the mirror surface warps, the dot becomes a line, a curve, anything but a dot.

Next I made myself a few small mirrors out of a split CD, like you said (this, BTW also needs its own thread - not at all straightforward ;)  ). It kinda worked but not really. I glued the CD pieces to the sides of the metal "flower" I made earlier and the dots were perfect in the beginning. But then I started to adjust the petals of that flower to reflect each at its own angle and the CD pieces had started to warp along with the metal - the CD is extremely flexible and  bends too easy. The end result - I'm going to throw away the metal - based mirror because of the irregularities with the reflections.

Then I went as far as design a 3D part that will become the base for 8 pieces of split CD mirrors that I will glue to its 8 sides sloping at different angels. The part has been ordered at Shapeways and should come at some point next week, I think. See the attachments here for illustration.

As far as electronics, I picked a non-MCU based so-called "spin-up" circuit to drive the BLDC motor. There are problems with it, too: it's not auto-starting, i.e. you need to give it a light spin by hand for it to start working but it spins incredibly fast - at some point a CD mirror managed to break away from the base due to centrifugal force - I'd say easily 5,000 RPMs or even faster. This is where I got the circuit: http://forums.parallax.com/showthread.php/119874-Hard-Drive-Stepper-Motor-with-high-speed-spin-up-circuit?p=881285&viewfull=1#post881285
problem is: it requires 4-lead HDD motor, won't work with 3-lead one. Can   you ask your IT guys for an older HDD? I'm using about 10 years old 16GB or 18GB laptop HDD for this.

I am yet to progress any further than the spin-up setup, for some reason cannot find an IR interrupt sensor which I know I have , and I need it for synchronization.

Anyway,  just wanted to let you know that the project is well under way but includes some deviations from the original plan. I'll keep you posted.
 

 

Related Topics

  Subject / Started by Replies Last post
0 Replies
12668 Views
Last post December 08, 2011, 03:57:06 PM
by ElectroNick
1 Replies
13574 Views
Last post February 11, 2013, 12:15:21 PM
by ElectroNick
6 Replies
7246 Views
Last post June 14, 2013, 12:56:18 PM
by antmabee
0 Replies
5793 Views
Last post June 14, 2013, 10:23:16 AM
by ElectroNick
0 Replies
12365 Views
Last post March 10, 2014, 05:02:20 PM
by Ethan