AT2 Motion Controller

This is the first consumer product I ever designed for Dynamic Perception. The AT2 Motion Controller is a dual brushed DC motor controller that offers control with a joystick or a kind of cruse control with the knobs. In Joystick mode, the knobs act as adjustable dampening for the motors. The dampening is adjustable from 0 seconds to 5 seconds. In knob mode the knobs set the speed of the motors. Modes can be swapped individually for each channel (1 in Joystick and 1 in knob) is possible with the push buttons.

Schematic

Above is the full schematic. You can download it and the design files at Dynamic Perception’s github. Everything for the board design is open sourced.

The AT2 can accept a voltage power source from 7V to 16V and power two 1.2A 12V motors. Motor controller is a standard L298 motor driver which should be recognized by most hobbyist.

There are no microcontrollers in the AT2. Each channel uses 4 op-amps to create a pair of square waves to drive the L298 via PWM.

Schematic_PWM_Generator

The first op-amp is just creates a high impedance input to the generator. It is set up as a voltage follower to pass the voltage that the knobs or joystick output. The knobs and joystick do this by just creating a voltage divider. Second op-amp creates an oscillating triangle wave at around 75Hz. The voltage from the first op-amp sets the voltage offset of this triangle wave. The third and forth op-amps are voltage comparators. One is set to trigger at above a certain voltage and the other is set to trigger below a certain voltage. These voltages are set by the voltage dividers. The output of the voltage comparators are the PWM wave that the L298 sees. I have seen a couple motor controllers that operate this way.

This is what the triangle wave looks like.

When the triangle wave is activating the top end voltage comparator. This is with a high voltage input to the first op-amp.

When the triangle wave is activating the bottom end voltage comparator. This is with a low voltage input to the first op-amp.

It took 8 revisions to get the functionality and design of the controller correct.

The first prototypes are in the top left with the final revision being the bottom right. I will never order a board without silkscreen again.

This is the progression of the case design with the oldest prototype on the right side.

First hacked together prototype. I just took a piece of scrap aluminum to make the “chassis”.

Second all aluminum case prototype. This proved to be too heavy and costly to machine.

Third prototype with a hybrid case. My personal favorite. It has an aluminum bottom and a plastic top. The weight was perfect but it still was still too costly to manufacture.

Forth case with the curved plastic on top. This decorative piece of plastic prevented easy access to the motor and power connectors to it was removed.

Final design with silkscreen. The plastic is a really tough ABS which resists cracking. The texture of the plastic is also nice to the touch. Rubber knobs cap the potentiometers.

Some inside action on how it is all wired together.

You can buy the AT2 Motion Controller from Dynamic Perception.

4 thoughts on “AT2 Motion Controller”

  1. G’Day Parker,

    Just found your post and am interested to ask a little more about the Joystick used in this project. I’m hoping to incorporate something similar into a project for the disabled but the ones I’ve found so far about that size are simple switches. I was hoping to dynamically be able to adjust the ‘dead zone’ and was hoping for something to provide analog input. Any chance you can point me in the right direction?

    Cheers,
    – Scott O’Brien

  2. Hello Parker!
    Can you please send me shema with specification of this AT 2 Motion Controller..I didnt have chance to see it..

  3. Hi Hello Parker!
    Greetings of the day

    Hi this is hemant here from India were can i Buy AT2 MOTION CONTROLLER as i like the concept and would like to use this for my slider

Leave a Reply

Your email address will not be published. Required fields are marked *