Orangutan SV-328 Robot ControllerPololu
The Orangutan SV-328 robot controller is a complete control solution for small robots running at 6 – 13.5 V. The small (2.15" x 1.9") module includes a powerful Atmel ATmega328P AVR microcontroller, two bidirectional motor ports each capable of providing 1 A (continuous), a removable 8-character x 2-line liquid crystal display, a buzzer, three user pushbutton switches, and two user LEDs.
Eight general-purpose I/O lines with up to eight analog input channels allow for adding sensors or expanding the system. These lines are brought out to 0.1" female headers as shown in the picture below; from left to right, the bottom row of pins are: PC5, PC4, PC3, PC2, PC1, PC0, PD1 and PD0. The Orangutan SV-328 features a 5V switching regulator capable of delivering up to 3 A, allowing the Orangutan to power RC servos directly from its regulated 5V power bus. This power bus can be accessed through the power and ground pins dedicated to each user I/O line.
The Orangutan SV-328 is based on Atmel’s mega328 AVR microcontroller, which runs at 20 MHz and features 32 Kbytes of flash program memory, 2 Kbytes of SRAM, and 1024 bytes of EEPROM. Because the user has direct access to the microcontroller, any development software for Atmel’s AVR microcontrollers, including Atmel’s free Atmel Studio and the WinAVR GCC C/C++ compiler, is compatible with the Orangutan SV-328. An in-circuit programmer, such as our USB AVR programmer, is required for programming the Orangutan SV-328; we offer a combination deal that lets you save when you buy a programmer with your Orangutan. We provide an extensive set of software libraries that make it easy to interface with all of the integrated hardware. These libraries come with a number of sample programs that demonstrate how to use the various components on the Orangutan SV-328. This robot controller is also compatible with the popular Arduino development platform.
Improvements over the Original Orangutan
The Orangutan SV-328 has introduced a number of substantial improvements over the original Orangutan, the most significant of which is the enhanced power system that allows an expanded operating range of 6 – 13.5 V (meaning you can power the Orangutan SV-328 from a 12 V battery), delivers higher motor current, and has much more available current on the 5 V line. The following list details the major changes:
TB6612FNG motor driver delivers higher current with higher-frequency PWM and decreased power consumption.
Hardware PWM outputs now connect to all motor driver inputs, removing the need for processor-intensive software PWM.
Input voltage can now be as high as 13.5 V.
The integrated 5 V regulator can supply up to 3 A, allowing this version to power servos and other high-power peripherals for which the battery voltage would be too high.
The MCU has been upgraded to an ATmega328 running at 20 MHz, and the pin connections have changed to match that of the Orangutan LV-168, the Baby Orangutan B, and the 3pi robot, so the same code will generally work on all four devices. The form factor of the Orangutan SV-328 is identical to that of the Orangutan LV-168.
Reverse battery protection is now achieved using a MOSFET instead of a diode, so the input voltage no longer experiences a diode drop.
The main power switch now turns off power to the entire board.
- overall unit dimensions: 2.15" x 1.9"
- input voltage: 6-13.5 V
- 2 bidirectional motor ports (1 A continuous per channel, 3 A maximum per channel)
- programmable 20 MHz Atmel ATmega328P AVR microcontroller (32 KB flash, 2 kB SRAM, 1024 bytes EEPROM)
- 8 general-purpose I/O lines, 6 of which can be used as analog input channels
- 2 additional analog input channels (ADC6 & ADC7) can be accessed on the board
- removable 8-character x 2-line LCD
- 5V regulator capable of supplying up to 3 A
- buzzer tied to one of the mega328’s hardware PWMs
- 3 user pushbutton switches
- 2 user LEDs
- battery voltage self-monitoring optionally connected to ADC6
- user potentiometer optionally jumpered to ADC7
- comprehensive user’s guide
- Size: 2.15" x 1.90"
- Weight: 35 g
- Processor: ATmega328 @ 20 MHz
- RAM size: 2048 bytes
- Program memory size: 32 Kbytes
- Motor driver: TB6612FNG
- Motor channels: 2
- User I/O lines: 81
- Max current on a single I/O: 40 mA
- Minimum operating voltage: 6 V
- Maximum operating voltage: 13.5 V
- Continuous output current per channel: 1 A
- Peak output current per channel: 3 A
- Maximum PWM frequency: 80 kHz
- Reverse voltage protection?: Y
- External programmer required?: Y
- LCD included?: Y
- 1.All 8 can be used as digital I/Os and 6 can be used as analog inputs. Two additional dedicated analog inputs can be accessed on the PCB if their jumper connections to optional hardware are removed.
- Pololu Orangutan SV-xx8 and LV-xx8 User’s Guide
- Pololu AVR Programming Quick Start Guide
- Pololu AVR C/C++ Library User’s Guide
- Pololu AVR Library Command Reference
- Programming Orangutans and the 3pi Robot from AVR Studio 4
- Programming Orangutans and the 3pi Robot from the Arduino Environment
- Application Note: Using the Motor Driver on the 3pi Robot and Orangutan Robot Controllers
- Application Note: MLX90614ESF SMBus Communication with Orangutan Robot Controllers
- Orangutan SV-168/SV-328 schematic diagram
- Pololu AVR Development Bundle for Windows (release 121115)
- Sample AVR Studio 4 project for the ATmega328P to blink an LED
- Toshiba TB6612FNG motor driver datasheet
- LSM303DLM Orangutan example project
- AVR Studio 4
- ATmega328P documentation
- AVR Libc Home Page
- GCC, the GNU Compiler Collection
- Pololu Orangutan Forum Section
- AVR Freaks
- Tutorial: AVR Programming on the Mac