Stepper Motor Controller

From Open Source Ecology
Jump to navigation Jump to search

Introduction

The stepper motor and its controller is one of the most central components of our automated manufacturing tools, which in turn are one of the most central components of the GVCS.

Luckily, there are a number of off-the-shelf options available which can be purchased and used immediately. Unfortunately, these are somewhat expensive, they won't be standardized among the community, and we're going to need quite a few of them. The RepRap, laser cutter, torchtable, cnc machine, circuit maker, and pick and place machine could need up to 3 each or more. Since we're building a mini factory, we'll likely need them in other applications as well.

It is essential that the community thoroughly understand stepper motors - their uses, limitations, and ways to maximize performance. Moving things precisely is a skill we need to get very good at.

To that end, at a minimum, we need to standardize on an off-the-shelf system in the near term, and create one or perhaps more of our own motor controllers that will suit our needs in the longer term.

Below is the wikipedia entry for stepper motors as well as tons of info on the RepRap page.

http://en.wikipedia.org/wiki/Stepper_motor

This is a goldmine for drivers: http://reprap.org/wiki/StepperMotor#Stepper_drivers

Team/contributors

Please list your name here if you are working on this at all.

Off-the-shelf options

  • 5 axis version of controller brain (minus power handling) - can this be used with any power-handling system? - [2]
  • An up to .75A brawn module from Sparkfun - [3]
    • Any advantage cf. open source RepRap stepper controllers?
    • This does offer USB connection, and is open source - [4]
  • 3 axis, 3A kit on eBay, $200 - [5]
  • CNC Stepper Motor Controller at [6].

Turnkey systems

  • 2-axis, 4A, 24V system - [7]

Technical information

Education

Here all the information is listed to bring you up-to-speed on stepper motors and stepper motor controllers.

Overview

Motor driver circuits

Must-read info on motor driving circuits. Basic [8], and current limiting [9].

Stepper motor sizes

  • Nema 23 motors are about 6x6x8 cm size - and require _______ amps for driving.

Electromechanical operation

Microstepping

The link below explains microstepping in detail. Basically, a stepper motor has about 200 little poles inside it. It is moved by alternating the magnetic field in such a way that the motor moves from one pole to the next, or steps, hence the name. This is sort of a 'digital' mechanical action - discrete jumps in position. With microstepping, instead of the field turning completely off on one pole and moving to the next, the field is on both adjacent poles at the same time, creating a 'tug of war' between the poles. The microstep angle is proportional to the ratio of current in each adjacent pole. If the currents are equal, the rotor pole will go halfway between the stator poles. If one pole has 75% of the current and the other has 25% of the current, it will go proportionally to the one with higher current, a quarter step. This can be thought of as an 'analog' mechanical action, so microstepping as you can see can give you better accuracy but may not be as trivial to implement. My explanation is simplified, the below link explains it properly.

A note about microstepping though is that it's sole function isn't always to increase resolution. It will cut down on motor vibration, noise, and wear when it is used to drive the motor through smooth rotations, because instead of one pole snapping to the next in quick succession, one pole gradually transitions to the next in the microstep increments you are using. Using quarter steps for example would give you four little gaps to snap to, as opposed to one big step.

http://www.zaber.com/wiki/Tutorials/Microstepping

Motor control lab

A laboratory assignment from MIT opencourseware where they take an audrino board and control a motor. [12]

A modern design example

Here we will detail the operation of a common design for modern stepper motor controllers. We hope to fully understand this design and either base our design off of it or take it's essential features and create a new design.

High-level architecture

Insert picture of overall architecture showing the control computer, the indexer, the power supply, and the driving circuit.

Indexer

Discuss indexer functionality and implementation.

Chopper circuit design

In this section we focus on what seems to be the most common modern design for stepper motor controllers, the chopper circuit. From Wikipedia:

"Modern stepper controllers drive the motor with much higher voltages than the motor nameplate rated voltage, and limit current through chopping. The usual setup is to have a positioning controller, known as an indexer, sending step and direction pulses to a separate higher voltage drive circuit which is responsible for commutation and current limiting"

Open source projects

OSE controller

Brainstorming

Power supply

What if we used power supply units from PCs? They're pretty high current and they can be placed in series for 12 volt, 24 volt, 36 volt, etc, systems. They've got 5 volt taps to run the microcontroller off of. They're ubiquitous and either free or cheap. Jason 00:46, 23 May 2011 (PDT)

  • Wiring diagrams [13]. Notice both +12V and -12V rails available. Jason 13:57, 23 May 2011 (PDT)

Crazy idea - combine inverter and motor controller circuits onto one

It seems to me that the high cost of both motor controllers and inverters are some pricy power electronics components. What if we could reuse those expensive power electronics components to make a single circuit that can either be an inverter or motor controller? An inverter takes DC power from batteries and creates an AC signal. However, when running motors, you don't need that functionality, because you're taking DC power and running motors with it. So, potentially, with a single expensive piece of power electronics, you could combine inverter and motor controlling capabilities for just a little more than supporting just a single function. Discuss. Jason 03:32, 23 May 2011 (PDT)

Vacuum tubes

http://openfarmtech.org/forum/discussion/220/making-vacuum-tubes

We have need of some power electronics, which include inverters and motor controllers. The primary cost of these circuits are the power electronic components. While we could definitely look at what it would take to make some of these semiconductor components, another option would be to look into what it would take to make vacuum tubes. This could potentially cut out those $20 mosfets we will need, and all the other components should be inexpensive in comparison. We aren't creating perfect audio here, or trying to make a communications system. We're simply powering stuff. Maybe its feasible. Jason 12:03, 23 May 2011 (PDT)

Requirements

This is the requirements section for the OSE motor controller. These requirements will dictate the design, as well as the off-the-shelf system chosen.

Functionality

List what functions the system needs to have.

Performance

List the performance (torque, accuracy, etc) the system needs.

Manufacturability

List important manufacturability details - minimum feature size on circuit board, for example.

Other requirements

Roadmap

Version 0.0

Version 0.0 will simply be an agreed upon off-the-shelf system suitable for most RepLab needs. This will standardize the hardware people are using, either for those who can't yet build their own system, or for those who don't wish to mess with the electronics. The chosen system should have a controller which is compatible with motors we build in the future, and motors which are compatible with the controller we build in the future.

In addition, the microcontroller should ideally be the same as the microcontroller used in the open source design. This will allow the software to be developed and tested completely independently of the hardware.