Motor Control - Electronics Blog

Archive for the ‘Motor Control’ Category

DIY CNC Laser Cutting: what *doesn’t* work

The idea to document a failed project is not mine. When I read this post by Hackaday, I realized that I do have a project that failed which I don’t want to simply trash. Some valuable insights have been gleaned while working on it and I am planning to reuse many of the parts and the software in a different project. I have so many DVD drive parts now that it would be silly not to make another attempt at building a DVD CNC laser cutter, but it will definitely be designed differently, thanks to the lessons learned. So, that’s how this post came about.
Read the rest of this entry »

Manually controlling bipolar stepper motor with Arduino and EasyDriver


Stepper motors are great for accurate positioning because they move in discrete steps – a feature that makes them very appropriate for CNC software control. But every once in a while you have an application where you need to press a button and rotate some kind of a jig at a preset angle or move something a preset distance if it’s a stepper-driven linear stage. So, I decided to modify an earlier Arduino sketch I wrote for testing the world’s smallest stepper motor to make it a bit more useful (and clean any bugs in the process). Keep reading to see what came out … Read the rest of this entry »

World’s Smallest Stepper Motor with Arduino and EasyDriver


This little wonder of electromechanical engineering came from inside a laser diode sled of an HP CT10L Bluray drive I’ve opened some time ago. The device on the picture consists of several parts, all easily fitting on a dime coin: a bipolar stepper motor with lead screw, a linear stage, a lens, and even an end position sensor (I’ve yet to make use of the sensor though). The entire assembly is only 14mm x 9mm x 4mm. This post is about making this tiny motor move. Keep reading! Read the rest of this entry »

Upgrading a DVD spindle three phase BLDC motor

Shroud (bell) with new magnets ready to be put back on the stator

Shroud (bell) with new magnets ready to be put back on the stator

Having played with DVD spindle motors during the construction of the Arduino stroboscope, one thing became apparent early on is that these small motors don’t have much of a torque. I have a few other projects in mind where more torque will be needed and I decided to try upgrading the existing motors with better magnets. So, here is how I did the upgrade in case you may want to repeat the procedure, with my own “lessons learned”. Keep reading! Read the rest of this entry »

Brushless DC (BLDC) motor with Arduino. Part 3 – The Stroboscope Project


It has been all dry theory in the Brushless DC (BLDC) motor with Arduino series up to this point. This is where it gets to be more fun. If you’ve just arrived, please check out the previous two installments:

  1. Driving a three-phase brushless DC motor with Arduino – Part 1. Theory
  2. Brushless DC (BLDC) motor with Arduino – Part 2. Circuit and Software

In this final part of the trilogy I am describing the hardware part of the stroboscope project and the making of the zoetrope animations themselves, in hopes that my visitors can take this further and come up with their own animations, which I would absolutely love to see. More details below! Read the rest of this entry »

Brushless DC (BLDC) motor with Arduino – Part 2. Circuit and Software


In this post I will describe the hardware and the software part of a project involving the use of BLDC (Brushless DC) motor salvaged from a broken XBox 360. This is a second installment in the series of posts related to Arduino and brushless DC motors. Please see the first part for a bit of info on the theory behind the commutation sequence. Once you understand the commutation sequence for the particular design of the BLDC motor, the circuit design for the BLDC driver becomes pretty clear. It is not much different from a bipolar stepper driver in that we need the be able to both source and sink current at all ends of the windings, except of course in this case there are only three ends whereas the bipolar stepper has four.
Read the rest of this entry »

Driving a three-phase brushless DC motor with Arduino – Part 1. Theory

Typical CD/DVD Spindle BLDC Motor With 12 Magnetic Poles and 9 Wound Cogs

Typical CD/DVD Spindle BLDC Motor With 12 Magnetic Poles and 9 Wound Cogs


This is the first part of what will probably be two (or more) posts describing one of my latest projects – an Arduino Stroboscope based on the spindle motor of a broken Xbox 360 DVD drive. I will save some practical information (like why I chose Xbox’s drive) for the second post. Here I wanted to concentrate on the theory behind using Arduino or another MCU to drive a three-phase Brushless DC electric motor such as a CD or DVD drive (or HDD for that matter) spindle motor, such as the one pictured further in the text. Read the rest of this entry »

Driving a Bipolar Stepper Motor with Arduino and ULN2803AG


While I’m getting ready to rip open some 10+ broken DVD-RW drives coming to me from an eBay seller, I though it would be great to have a testbed for the bipolar stepper motors I will harvest from those.

I have a bunch of ULN2803AG Eight Darlington Transistor Arrays with Common Emitters left from past projects and these can sink (but unfortunately not source) peak loads of 600mA (500mA continuous) and are well suited for power application like driving small motors. However, there is a problem with 4-wire bipolar stepper motors: they don’t have the common points of windings wired to the outside which would be needed for providing the motors with power. See the ULN2003 datasheet for more information about the IC: ULN2801,2802,2803,2804 and 2805 Darlington Array datasheet
Read the rest of this entry »

Fixing a Scorbot ER4-PC


No electronics lab can go for long without a robot eventually making its way in. Well, in my lab there is approx a dozen. Most are Scorbots by Eshed Robotec (Intelitek, Depco and there may be other names under which they were sold) These robots are usually rather old and by the time you get them they have been through a couple of generations of middle school students. But they were built solid and many survived, even if in need of repair. This is what this post is about Read the rest of this entry »

Tools

Coming soon ...

Recent Comments
  • Andreas Carmblad: Hi. I have some problems getting this to work. Can you help me? The code looks like this and all...
  • Andreas Carmblad: Hi again I’m trying to make this work. I have soldered everything together and I have...
  • Dovale: Hi I assamblled the system with Mercury stepper motor . The motor rotates but no response from the switches....
  • sam: sir i cant trace the Positive and negative of that LD. can u help me please??
  • Chanceleir: Hello and thanks for the detailed expalnation Actually I am trying to install energia on my 64 bit Ubunto...
  • admin: Thank you very much for sharing, Rob!
  • Rob: eLABZ, I had the same issue in Ubuntu 14.04. I found I had to make a few small adjustments to the above approach...
  • Mark: It’s kinda like an internal problem on the circuitry sir. Have done series of tests to check if the...
  • admin: Hard to tell what’s going on with your LCD – probably hasn’t been initiated or some kind of...
  • Mark: Sorry for the late reply of you’re comment too sir. Been busied for a while troubleshooting our project.
Meta