Orangutan SV-168 Robot Controller
Note: The Orangutan SV-168 has been replaced by the Orangutan SV-328, which uses the newer ATmega328P microcontroller to provide 32 KB of program memory, 2 KB of RAM, and 1 KB of EEPROM. The ATmega328P is essentially a drop-in replacement for the ATmega168, so the code that works on the Orangutan SV-168 should work with minimal modification on the Orangutan SV-328 (the Pololu AVR Library now supports the ATmega328P).
The Orangutan SV-168 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 ATmega168 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-168 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.
Orangutan SV-168 features (top view).
The Orangutan SV-168 is based on Atmel’s mega168 AVR microcontroller, which runs at 20 MHz and features 16 Kbytes of flash program memory, 1024 bytes of SRAM, and 512 bytes of EEPROM. Because the user has direct access to the microcontroller, any development software for Atmel’s AVR microcontrollers, including Atmel’s free AVR Studio and the WinAVR GCC C/C++ compiler, is compatible with the Orangutan SV-168. An in-circuit programmer, such as our USB AVR programmer, is required for programming the Orangutan SV-168. 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-168. This robot controller is also compatible with the popular Arduino development platform.
Improvements over the Original Orangutan
The Orangutan SV-168 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-168 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 ATmega168 now runs 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-168 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.
Specifications & On-Board Hardware
- 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 ATmega168 AVR microcontroller (16 KB flash, 1 kB SRAM, 512 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 mega168’s hardware PWMs
- 3 user pushbutton switches
- 2 user LEDs
- battery voltage self-monitoring optionally connected to ADC6
- user potentiometer optionally jumpered to ADC7