Difference between revisions of "Embedded System Control and Setup"

From Lofaro Lab Wiki
Jump to: navigation, search
Line 4: Line 4:
  
 
'''Hardware'''
 
'''Hardware'''
 +
 +
[[File:Tristate.PNG]]
  
 
Before any software can be uploaded and tested, external hardware must be made in order to interface with the servos in each of the robot's arms. To recreate the circuit above, one will need a 200 ohm resistor, a 10 kOhm resistor and a tri-state buffer IC, such as the SN74LVC245A octal tri-state buffer IC by Texas Instruments. Once this circuit has been recreated, the MSP432 can now be connected to this circuit, and a wire can be connected to the node that is formed at pin 18; this wire will act as the signal line to the servos.
 
Before any software can be uploaded and tested, external hardware must be made in order to interface with the servos in each of the robot's arms. To recreate the circuit above, one will need a 200 ohm resistor, a 10 kOhm resistor and a tri-state buffer IC, such as the SN74LVC245A octal tri-state buffer IC by Texas Instruments. Once this circuit has been recreated, the MSP432 can now be connected to this circuit, and a wire can be connected to the node that is formed at pin 18; this wire will act as the signal line to the servos.

Revision as of 23:58, 10 May 2016

Overview

This tutorial goes over the programming and use of the embedded systems that are placed into each of the robotic arms in order to make sign language movement possible. This tutorial assumes that the user has prior knowledge of making project folders and empty projects in Code Composer Studio and uploading programs to a MSP432 microcontroller, which is the microcontroller of choice for the embedded system. If not, there are supplementary tutorials embedded within this page which can help with these tasks.

Hardware

Tristate.PNG

Before any software can be uploaded and tested, external hardware must be made in order to interface with the servos in each of the robot's arms. To recreate the circuit above, one will need a 200 ohm resistor, a 10 kOhm resistor and a tri-state buffer IC, such as the SN74LVC245A octal tri-state buffer IC by Texas Instruments. Once this circuit has been recreated, the MSP432 can now be connected to this circuit, and a wire can be connected to the node that is formed at pin 18; this wire will act as the signal line to the servos.

After connecting the signal line to the node described above, locate pins 2.1, 2.2 and 2.3 on the MSP432 Launchpad; these pins will correspond to the MSP432's direction, transmit and receive lines once the board has been properly programmed. Upon locating these pins, connect pins 2.1, 2.2 and 2.3 to pins one, two and three of the tristate buffer IC, respectively.

Once the MSP432 has been connected to the external hardware circuit shown above, the Raspberry Pi 2's pinout sheet should be referred to in order to find its SPI bus pins. Once these are found, male-to-male header pins must be soldered onto the bottom of the MSP432 Launchpad in order to access pins 9.4, 9.5, 9.6 and 9.7. After pins have been soldered to the GPIO ports, connect pin 9.4 to the Raspberry Pi's chip select, 9.5 to the Pi's clock, 9.6 to the Pi's MISO, and 9.7 to the Pi's MOSI. Finally, solder one more male-to-male header at the bottom of the Launchpad for pin 10.0, and find pins 1.5, 6.6 and 6.7; these pins will act as our error, ready, go and emergency flags for fast communication with the Pi, respectively. At this point, it is up the designer of the Raspberry Pi to determine which GPIOs they want to use for the fast communication described above, as it does not matter which pins they use, as long as they do not interfere with the Pi's SPI bus. It should be noted, however, that the GPIOs that connect to pins 10.0 and 1.5 on the MSP432 must be inputs on the Pi, and the GPIOs that connect to pins 6.6 and 6.7 must be outputs.

Once all of these connections are made, one can then program the MSP432.