This is an old revision of the document!
Experimental Setup with a Beaglebone Blue Board
Back to Control a Single Motor
Use a Beaglebone blue board. Connect all the necessary signals according to your hardware configuration file.
Testing the Hardware
Analog Output
There are 4 connectors denoted with DC Motors. Connect number 1 with the motor. Before testing plug in the 12V DC power supply or the Li-Po battery, otherwise the motors won't run. ssh into the Beaglebone blue board and run
ost@bblue:$ sudo gpioset -c gpiochip3 MOT_STBY=1
Open two other shells and run
ost@bblue:$ sudo gpioset -c gpiochip1 MDIR_1A=1
and
ost@bblue:$ sudo gpioset -c gpiochip3 MDIR_1B=0
Changing the polarity of MDIR_1A and MDIR_1B will change the direction. In a forth shell, configure the pwm signal as follows:
ost@bblue:$ echo 0 | sudo tee /sys/class/pwm/pwmchip2/export ost@bblue:$ echo 1000000 | sudo tee /sys/class/pwm/pwmchip2/pwm0/period ost@bblue:$ echo 200000 | sudo tee /sys/class/pwm/pwmchip2/pwm0/duty_cycle ost@bblue:$ echo 1 | sudo tee /sys/class/pwm/pwmchip2/pwm0/enable
Enable Signal
On the Beaglebone blue we do not use an external motor controller and therefore, we cannot really control the motor power with this signal. However, we put the signal onto the green led on the board. Check the function with
ost@bblue:$ echo 1 | sudo tee /sys/class/leds/green/brightness ost@bblue:$ echo 0 | sudo tee /sys/class/leds/green/brightness
Encoder Inputs
There are 4 connectors denoted with 4 Quadrature encoder inputs. Connect number 1 with your encoder. Make sure that your encoder works with 3.3V as delivered by this connector. Test the encoder with
ost@bblue:~$ echo 1 | sudo tee /sys/bus/counter/devices/counter3/count0/enable ost@bblue:~$ watch -n 0.5 cat /sys/bus/counter/devices/counter1/count0/count
Turning the motor in positive direction must lead to the encoder counting upwards. If not, change the A and B signals.
Ready Signal
The ready signal signals to the controller that the motor controller has powered up. As there is no external motor controller on the Beaglebone blue we simply put this signal on a digital input pin which is connected to the on board push button Mode.
Emergency Signal
The emergency signal is used to bring the application in a safe mode. We put this input signal on a digital input pin which is connected to the on board push button Pause. Later when the application runs we can cause the safety system to switch to an emergency state by pressing the Pause button.
Run Application
Start the application by choosing the appropriate configuration file:
$ sudo ./simpleMotorControl -c HwConfigBBBlue.json
