In this section, there are tutorials constructed from my research as an undergraduate. Just click on the link for the full tutorial.
hubo LED display
This section includes tutorials on how to build a 100 LED dot-matrix LED display for the Hubo KHR-4 Humanoid Robot.
Tutorial 1: Assembling the DSP Breakout Board (Hubo Lab DSP Board)
Tutorial 2: Assembling the LED matrix and driver board (designed by myself)
Turorial 3: Software running in the F2808 DSP for the LED Display
In the spring and summer of 2008, I sought out for a new microcontroller for use in the lab. Since I am a usual subscriber to the Nuts and Volts magazine, I had some controllers lined up. Among the ones that I had in mind was the Netburner MOD5213. This microcontroller is a Freescale DSP on an easy-to-work-with 40 pin DIP package. The processor operates at 66MHz, with a 63 MIPS throughput rate. Some other features of the MODS5213 are:
- 8 channel ADC operating at 100kHz sample frequency.
- Up to 8 independent PWM Channels with two separate clock frequencies.
- up to 4 Digital Timer Inputs for measuring time and counting.
- 3 standard UARTs for communication via asynchronous 3.3 volt-level RS232.
- 1 QSPI (Queued Serial Peripheral Interface) Synchronous serial interface for up to 2 devices via the Chip Select pins.
- 3 IRQ Hardware Interrupt Pins for an Interrupt Service Routine.
- Up to 2 I2C (I-squared-C) ports for communications with real-Time-Clocks, EEPROMS, and other various devices.
Although most of the features are multiplexed together to fit in the 40 pins package, this was not a major downfall. I estimated that most of the functions will not be used simultaneously, thus eliminating the need to do everything at any given time.
Tutorial 1: Introduction to the Netburner DSP - This is a brief introduction to the Netburner DSP using the hardware development board. In this tutorial, the Factory Demo configuration is used to understand the basics of the Netburner API, and the hardware.
Tutorial 2: Netburner and GPIO Pins - This tutorial helps the user understand the concepts of a general purpose (GPIO - General Purpose Input Output) pin. Using the Netburner API, the user will toggle an LED on the development board. (Modification may also be necessary if the user is not using the development board).
Tutorial 3: Netburner and PWM Control - This starts to dive into how to use the Netburner software (the include files) to change registers for the PWM module. An oscilloscope may be used on the designated pin to see the output result of the PWM control.
Tutorial 4: Analog to Digital Converter for the MOD5213 - This tutorial explains how to set up the A2D Converter on the MOD5213 Netburner DSP. Caution must be observed, in that the Pins on the Netburner are not 5 volt tolerant, and must go through a voltage divider if voltages over 3.3volts are used.
Tutorial 5: Locked Anti-phase Motor Controller (PWM Control) - This tutorial uses the PWM module to drive a transistor H-Bridge. The control implemented is called locked anti-phase, in that when the signal is low, one side of the H-Bridge is operating, and vice versa for the high signal. When the PWM frequency is high enough, the motor will stop (due to increased motor impedance) and 50% duty cycle will signify a stopped speed for the motor. To drive the motor, simply offset the duty cycle to a longer or shorter pulse. (Ex. If the duty cycle is 75%, then the motor will be driven at: 75%-50% = 25% * 2 = 50% in the forward direction. Likewise, for a 40% duty cycle, 40%-50% = -10% * 2 = -20%, or 20% duty cycle in the reverse direction.)
Nothing Here yet, more to come in the future!
F2808 DSP Board
The first draft of tutorial 1 for the Hubo LED Display is up and ready!