The Lynxmotion BotBoarduino
, Bot Board II
, and SSC-32
are known as great controllers, but some people get confused about VL, VS, and their different configurations.
Well, here it is: the definitive Guide to the Power Supply Options for the Lynxmotion Controllers!
Before going into the specifics of the controllers, let's first cover some background information.
Lynxmotion BotBoarduino and SSC-32 Controllers
VL and VS
What are VL and VS? VL and VS are two different power inputs present on the Lynxmotion controllers available with green screw terminal connections. VL standards for Voltage: Logic, and VS for Voltage: Servos. As their names suggest, VL is used to power the microcontroller and other logic components on the boards, and VS is used to power the servo outputs.
Because there is a 5V voltage regulator on each board for their for the logic components, the VL power input can generally accept voltages between 6-26V, however we advise to not use much more than 12 volts. Because the VS input is not regulated, its input voltage range will be determined by the servos that you use. Typical servo motors run at 4.8, 6.0, or 7.2 volts and usually have a tolerance range. See the specifications of your servos for more information.
But why are there two power inputs? There are many reasons for this:
- Reason 1: Different voltages
If someone is using servos that require 4.8 volts, they can provide one power source at that voltage for VS and provide another source (more than 6 volts) for VL.
- Reason 2: Spread the power load across two batteries
If someone is building a battery-powered robot, they can use separate batteries for their servos and logic. This is particularly useful if the robot must operate for extended periods of time, but doesn't have room for a battery large enough to power the servos for the whole duration: a full-duration battery can be used for the logic, while the battery for the servos can get replaced periodically. This allows the logic to keep working uninterrupted for the whole duration.
- Reason 3: Share one battery for all logic
If a robot uses multiple electronics boards that have logic, it is usually important that they all be using the same Vcc for power. In this situation, they can use one large battery for the servos of one controller board, another large battery for the servos of a second controller board, and use a single third battery for the logic of both boards.
- Reason 4: Isolate voltage fluctuations
If someone is using many servos in a battery-power robot -- such as in a hexapod or quadruped -- the servos can often consume enough power concurrently that the voltage of the battery fluctuates with current rushes. If the logic were powered off of the same battery, and the voltage sagged below 5.5 volts, the voltage regulator might stop working and cut power to the microcontroller. Since these voltage drops of transient and short in duration, the microcontroller switches rapidly between off/on/off/on/etc giving erratic and undesired behaviour. Using a separate battery for the logic is an easy way to fix this.
If none of these reasons apply in your situations, all three Lynxmotion Controllers have a VS=VL jumper that can be used to bind both power inputs together. Note that the controllers come with the jumper installed by default, so it needs to be removed if you choose to use two power sources.
Now let's look at the individual boards.
Lynxmotion BotBoarduino Microcontroller
The Lynxmotion BotBoarduino
is a shield-compatible robot controller based on the Arduino Duemilanove. It's perfect for controlling small robotic projects, and has an onboard speaker, three buttons and LEDs, and up to 18 servos can be plugged in directly to the board.
In addition to offering the VS=VL jumper, the BotBoarduino offers 5 other jumpers to configure power: one for USB/EXT, and one for each of the I/O banks.
The USB/EXT jumper is used to determine if the logic is in fact powered by the regulated VL source (EXT option), or if it is instead powered by the regulated 5 volts provided by the USB port. Note that when the jumper is placed in USB mode, the VS=VL jumper option does not have an effect and the servos need to be powered by a VS supply.
The BotBoarduino separates its 18 I/O headers into four banks: D2-5, D6-9, D10-13, and A0-6. Each of these banks have their own 5V/VS jumper. These jumpers determine if the middle row of the bank of servo headers is powered directly by VS, or by the regulated 5V logic. These options are useful because they allows you to use VS for a bank that has servo outputs, but to use 5V for a bank that has sensor inputs. Note that the 5V supply is determined by the USB/EXT jumper, so be careful when using USB mode if you have sensors that can consume a lot of current.
Because the BotBoarduino is based on Arduino, it does also have the VIN pin for the shields. This pin is directly connected to the positive part of VL, so you can use it the same way. If you supply power to VIN (instead of VL), and you have USB/EXT set to EXT, the power from VIN will go through the regulator and power the microcontroller. If the VS=VL is present, you can also provide (at low currents) power to VS. You can also use the VIN pin to measure/consume power from VL. This can be useful for use with certain Arduino shields that require more power than the standard regulated 5V. If VS=VL is present, the VIN pin will be powered by the VS supply, but if it is not present it will be powered by VL. Note that if you are using a USB cable to provide power to your logic, and the VS=VL jumper is not present, the VIN pin will not actually have any power.
For more information, see the BotBoarduino Manual
Lynxmotion Bot Board II
Lynxmotion Bot Board II Microcontroller Carrier Board
The Lynxmotion Bot Board II
is perfect for controlling your small robotic projects with a BASIC Stamp 2 processor. The Bot Board II is compatible with the BasicAtom 24-M
, the BasicAtom Pro 28-M
, the BasicX-24p-u
, and basically any BS2-pin-compatible controller. Depending on the controller, up to 20 servos can be plugged in directly to the board.
Like the BotBoarduino, the Bot Board II offers 5 additional power jumpers on top of the VS=VL jumper. However, unlike the BotBoarduino, all 5 for I/O banks. The Bot Board II separates its 20 headers into the following banks: P0-3, P4-7, P8-11, P12-15, and A0-4. Like the BotBoarduino, these jumpers determine if the middle row of the bank of servo headers is powered directly by VS, or by the regulated 5V logic.
For more information, see the Bot Board II Manual
Lynxmotion SSC-32 Servo Controller
Lynxmotion SSC-32 Servo Controller
The Lynxmotion SSC-32 Servo Controller
is a small preassembled servo controller with some big features. It has high resolution (1uS) for accurate positioning, extremely smooth moves, and has options to support moves that are immediate, speed controlled, group timed motion, and combinations. The SSC-32 controller can control up to 32 servos simultaneously.
The SSC-32 servo controller is different than the two other boards. Since it supports so many servos, it actually offers two VS power source inputs (VS1 and VS2). The VS1 supply is used to power servos 0-15, and the VS2 is used for servos 16-31. Because the board separates the two sources, you can spread the power load across two batteries. This is a great alternative to connecting both batteries in parallel to the VS terminal, since it eliminates problems due to variances in battery charges and internal resistance.
If you would like to use a single battery for both VS1 and VS2, there are two VS1=VS2 jumpers that you can install: both jumpers are the same and two are used together because of the higher currents possible. Note that the two VS1=VS2 jumpers come installed by default, so you must remove them if you would like to use two batteries.
Like the other boards, the SSC-32 servo controller does have a VL=VS jumper, but in this case it is actually VL=VS1.
The SSC-32 has servo controller has some extra +/- pins next to its bank of analog inputs. The two "+" pins are 5V coming from the regulator, and the two "-" pins are connected to GND. These extra pins are placed next to the analog inputs so that they can be used to power various analog or digital sensors that are plugged into the input.
For more information, see the SSC-32 Manual
Since the boards offer many configuration options, we would like to offer examples of some typical power configurations.
- For the BRAT Biped with FlowBotics, only one 6-volt battery is required, so it is plugged into the VS1 terminal of the SSC-32 and both the VL=VS1 and VS1=VS2 jumpers are installed.
- For the MH2 Hexapod and SQ3 Quadruped with BotBoarduino, more power is required to power their 12 servos. One 6-volt battery is plugged into the VS1 terminal of the SSC-32, a 9-volt battery is plugged into its VL terminal, and the VL=VS1 jumper is removed. Wires are also used to connect VL of the SSC-32 to VL of the BotBoarduino. Since there are no servos connected directly to the BotBoarduino, the VS=VL on it is left installed.
- For the A4WD1 Rover with Bot Board II, a 12-volt battery is plugged into the Sabertooth Motor Controller, a 6-volt battery is plugged into the VS terminal of the Bot Board II, and the VS=VL jumper is left installed.
- For the AL5D Arm with FlowBotics, a 6-volt wall adapter is plugged into the VS1 terminal of the SSC-32, a 9-volt battery is plugged into its VL terminal, and the VL=VS1 jumper is removed.
Quick Rules of Thumb
Finally, we would like to finish by offering some quick rules of thumb when working with the power configurations.
- If you are using multiple batteries, make sure that you remove the appropriate VS=VL, and VS1=VS2 jumpers. If these jumpers are left present, they will create currents between the power sources which will drain your batteries much quicker and could be dangerous with wall adapters.
- If you are having problems with your microcontroller's program stopping and resetting when it shouldn't, consider adding a power source dedicated to the VL.
- If you are using the BotBoarduino or Bot Board II and your logic battery is draining much too quickly, double-check your 5V/VS jumpers for each bank to ensure that your robot's servos are in fact using VS and not 5V.
- When connecting the Lynxmotion Wiring Harnesses to the terminals, always make sure that the wire fit properly into the terminals and that no stray strands are touching each other.
- Finaly, as with any other electronics product, double-check your power supply and harness polarities to ensure that the positive and negative ends are not inverted.