This blog is to record the development process of an electronics project. The goal of this project is to improve a DC motor controller that was originally produced in a University of Washington class.
A final project from my University class, a motor controller, enabled a DC motor to brake, change direction and adjust speeds. Although this was completed, the analog user interface and logic system were suboptimal because of excessive wiring and inefficient use of space. A microcontroller would streamline logic processes and save space, while an interfaced gaming controller would be highly user friendly. These upgrades will be attempted.
Specs of DC Motor, logic, and control system:
-27 V DC Motor with MOSFET H-bridge, optocoupled to logic (Will likely be tuned down to ~18 V for presentation)
-Dynamic braking, possibly counter-current braking
-User interface: Nintendo Nunchuk or Playstation 2 Dualshock
-Logic: Arduino Uno (AT MEGA 328 micro-controller)
Motivation (Problem Statement)
The original logic design was based on a multiplexer array. Each multiplexer was fed 4 input signals and were switched based on two more signals. Also, extra features such as slow-start (using RC circuits) were hard-wired into the board. This lead to a very complicated board. An alternative is to use a microcontroller. The Arduino Uno is a microcontroller board that is easily programmable and easily interfaced with other hardware. It has enough computing power to act alone as the logic component. Using the Uno will save space, and it will be easier to customize.
Similarly, the user interface was based on analog components such as dial-potentiometers and switches. This lead to a very messy design; many wires had to be soldered and there was no central box containing all the controls. A gaming controller such as a PS2 Dualshock or Nintendo Nunchuk will be interfaced with the Arduino to provide a more user friendly environment.