Uploaded a video explaining a bit more about the functionality of the AT2 and the waveforms of the op-amps.
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.
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.
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.