Test the Hardware

Motors

Before testing your assembled electronics plug in the 12V DC power supply or the Li-Po battery, otherwise the motors won't run. We will now test each component individually. ssh into the BeagleBone blue board and run

ost@bblue:$ sudo rc_test_motors -m 1 -d 1

-m 1 selects the first motor while -d 1 specifies a duty cycle of 1. The motor should lift its bar. If a motor turns in the opposite direction, change the + and - wire of the motor. You can stop the program by pressing Ctrl-C. The test program is located in /usr/bin and can be run from anywhere. Check this for all 3 motors.

ost@bblue:$ sudo rc_test_motors -m 2 -d 1
ost@bblue:$ sudo rc_test_motors -m 3 -d 1

Encoders

ssh into the BeagleBone blue board and run:

ost@bblue:$ sudo rc_test_encoders 

If you move the axis you should see encoder values changing.

LEDs and buttons

Next we want to check if all leds and buttons work as desired. Change to root mode

ost@bblue:$ su

The password is “root”. Change into

root@bblue:$ cd /sys/class/gpio

and add the pins involved to the gpio array with

root@bblue:$ echo 49 > export
root@bblue:$ echo 57 > export
root@bblue:$ echo 97 > export
root@bblue:$ echo 98 > export
root@bblue:$ echo 113 > export
root@bblue:$ echo 116 > export

The blue led should light up with

root@bblue:$ echo out > gpio98/direction
root@bblue:$ echo 1 > gpio98/value

and stop lighting with

root@bblue:$ echo 0 > gpio98/value

Do the same with the red led

root@bblue:$ echo out > gpio49/direction
root@bblue:$ echo 1 > gpio49/value
root@bblue:$ echo 0 > gpio49/value

And the green led

root@bblue:$ echo out > gpio116/direction
root@bblue:$ echo 1 > gpio116/value
root@bblue:$ echo 0 > gpio116/value

Read the state of the blue button with

root@bblue:$ echo in > gpio97/direction
root@bblue:$ cat gpio97/value

Repeat the last command with the button pressed. Do the same with the red button

root@bblue:$ echo in > gpio57/direction
root@bblue:$ cat gpio57/value

And the green button

root@bblue:$ echo in > gpio113/direction
root@bblue:$ cat gpio113/value

Exit root mode with

root@bblue:$ exit

Mouse

Connect the mouse and check under /dev/input which event is associated to the mouse. You can list the devices with 'ls' before and after you plug the mouse. The device associated to the mouse should be event1. If the event is available, you can type following on the terminal:

sudo cat /dev/input/event1

If you move the mouse you should see some characters on the screen. This shows that the mouse inputs are received by the BBBlue.

Adjust Hardware Configuration File

Check the direction of the encoders. Lower your TCP and run

ost@bblue:$ rc_test_encoders 

on your target. When raising the TCP the encoder values should be positive. Change each negative encoder in the HwConfigBBBlue.json from

"scale": [ { "id" : "gear",
		"minIn": 	0, "maxIn": 1,
		"minOut":	0, "maxOut": 76 },
	   { "id" : "enc",
		"minIn": 	0, "maxIn": 6.283185307179586476925286766559,
		"minOut":	0, "maxOut": 4096},
	   { "id" : "fqd",
		"minIn":	0, "maxIn": 1,
		"minOut":	0, "maxOut": 4}
	 ],

to (changed sign in id:enc)

"scale": [ { "id" : "gear",
		"minIn": 	0, "maxIn": 1,
		"minOut":	0, "maxOut": 76 },
	   { "id" : "enc",
		"minIn": 	0, "maxIn": -6.283185307179586476925286766559,
		"minOut":	0, "maxOut": 4096},
	   { "id" : "fqd",
		"minIn":	0, "maxIn": 1,
		"minOut":	0, "maxOut": 4}
	 ],

Check the encoder and gear values and adjust them if necessary. You can change HwConfigBBBlue.json on the host before deploying to the target or on the target directly. After that you can run the Delta application.


Next: Deploy to the Target