User Tools

Site Tools


getting_started:tutorials:oneaxis_bbb

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
getting_started/tutorials/oneaxis_bbb.1780049303.txt.gz · Last modified: by ursgraf