The BlackBOX is much more than just a simple controller. It’s an intelligent beast.
The BlackBOX project
Created for ENG306
The BlackBox project intended to create a ready to use ‘bolt-on’ solution for implementing a dynamic speed and direction controller/driver for a DC load. This controller is designed to be integrated into a variety of control systems using analog and digital interface methods.
The BlackBOX is designed to create a powerful DC Motor controller using a 20M2 PIXAXE micro-controller (uC). This motor controller is intended to handle at least a 12V DC motor that has similar current and voltage characteristics of a 12V/2Amps car radiator fan and should be immune to a poorly rectified/noisy motor power supply.
Since PICAXE micro-controllers are relatively easy to program, this project used this micro controller and included several useful features such as using first order transfer function to create a soft ramping and reverse direction protection when going between set-points. These features resulted in practically all of the available memory of the uC to be consumed.
Some of the features included are:
- Forward and Reverse modes using MOSFET (Metal Oxide Semiconductor Field Effect Transistor) H-bridge circuitry with appropriate BJT (Bipolar Junction Transistor) gate drivers;
- A first-order dynamic ramp-up/ramp-down control using low side PWM (Pulse Width Modulation) hardware controls;
- Provides a 16 LED (Light Emitting Diode) visual light display for the motor’s desired speed and direction set-point;
- Visual indication of the current PWM duty cycle being applied to the load through a servo motor aligned with the set-point LEDs;
- Physical switches for start/stop (enable control/zero set-point), analog/digital set-point control and emergency stop button;
- Safety features such as grounding the load on controller power loss, ramp down to stop and emergency stop (E-stop);
- Visual indicators for the different operational modes of the motor controller (digital/analog control, start/stop/E-stop);
- Serial interface to retrieve error messages, poll current control values and to set the new set-point digitally;
Please note that this motor controller is designed to be flexible enough for implementation within most control systems.