Phase Drive a DC Motor

Phase_Drive_HBRIDGE

During the design of various motor control systems I’ve run into a few ICs that allow for a peculiar drive method.  I’ve seen it referred to as phase drive and direction drive.  I’ve never implemented it in a product that’s been produced, but lately I have decided to give it a shot.  The traditional method I’ve used for driving a DC motor in a closed-loop application is, simply stated, to drive it forward or reverse.  At a direction change the drive signal is typically small.  This is particularly true if you implement step limits on the PWM signals change from update-to-update.  Doing it this way reduces inductive voltage spikes from high speed reversals, saving your circuit from from death and destruction.

[Read more…]

Serial Servo Control with an Arduino

BM013_SERVO

Serial servo control with an Arduino can be accomplished using our BM013_SERVO open-source hardware module.  The BM013_SERVO has an onboard PIC16F1829 (firmware is available on our web site) that implements a 9600BPS serial interface and generates 10 output pulses to control RC servos.

[Read more…]

PID Motor Control with an Arduino

pid_firstbot

PID motor control with an Arduino can be accomplished using simple firmware.  In this example we use our Firstbot Arduino-Compatible controller to implement a PID based position controller using analog feedback and a potentiometer for control.  This is similar in operation to a hobby servo, but the potentiometer provides the control signal instead of a pulse from a receiver (and of course you are using a motor, not an RC servo).

[Read more…]

Loading Custom Firmware into the BM011 Dual Motor Controller

BM011_2_1280x1280

The BM011 is a dual DC motor controller with 4 inputs capable of reading RC signals and 4 outputs capable of generating pulses of 500uS to 2550uS in length.  The outputs are used to control RC hobby servos.  This design has open-source hardware, software, and firmware.

[Read more…]

Arduino Motor Position Controller

image


An Arduino motor position controller can be built using an Arduino Uno and our Motion Mind 3 motor controller.  This example describes how to interface an Arduino Uno with a Motion Mind 3 to create a closed loop motor position controller.   This example and the associated code can be downloaded from our web site as Application Note 1008 (AN1008).

[Read more…]

Arduino Compatible Motor Controller

firstbot

We’re about to put into production an Arduino compatible robot controller.  The design carries two microcontrollers.  The first is Atmel’s ATmega328.  This controller is loaded with the Arduino open-source bootloader.  That means you can interface to it, and load programs, like any other Arduino.  The second microcontroller is a Microchip PIC16F1829.  It’s loaded with an open-source C program that matches our BM011 dual motor quad servo controller.  We’re calling the product the Firstbot, since it’s a great platform to develop your first robot on.

Initially I don’t think we’ll sell it with the connectors installed (to keep the cost down).  We might have an add-on packet that includes 0.1” male and female headers.  The male headers are shown in the image above.  The design has 2 DC motor controllers that can carry 1A continuous and 5A peak (5-28V).  There are 4 servo input channels allowing you to connect it to an RC receiver.  There are also 4 servo output channels, allowing you to drive 4 RC servos.  The motor control firmware is open-source and written using Microchip’s  XC8 compiler.  There’s a small connector for a 0.05” spacing header that can be used with an adapter board to connect a PICKit3 to the board, and customize the motor controller.

Single unit pricing will be ballpark $30.   Available in the next few weeks.

Mixing RC Signals for Robot Drive Control

image

Mixing RC transmitter signals for robot drive control is easy with out BM011 Dual Motor Quad Servo Controller.  This is a design we’ve been working on for a bit, and the test software and microcontroller firmware are ready to release.  This is a completely open source hardware design.  The BM011 can be used to control two DC motors, can output 4 0.5mS-2.5mS pulses for driving RC servos, and read up to 4 servo channels.  Files should be available on our web site within a couple of weeks.

[Read more…]

Robotic Compass Blues

bm004_compass

Whew!  Just spent a good four hours writing code that turned out to be pretty simple.  We sell the BM004 electronic compass that’s great for robotics.  But I got the robotic compass blues.

[Read more…]

Arduino clone controlled robot chassis

We’ve been pretty busy around here doing contract work, so there’s not been much time for just doing fun things.  As part of the design effort going into an Arduino clone that control servos and motors independent of the Arduino Atmel part we put together an experimental robot chassis.  The chassis was designed in Sketchup and the parts were fabricated from Plexiglas by Ponoko.

[Read more…]

Arduino Compatible Robot Controller 2

image

We’re getting pretty close to finishing up the Arduino compatible robot controller design.  We’ve completed the design, re-design, prototype, re-prototype, assembly, and initial testing (those “re-’s” are not always required).

[Read more…]