Orangutan LV-168 Robot Controller

We’ve just released the Orangutan LV-168 robot controller, a low-voltage version of our original Orangutan robot controller. The main features are the step-up 5 V regulator and low-voltage H-bridges that allow operation from 2-5 volts, but there are a few other improvements we hope you’ll enjoy: terminal blocks for the power and motor connections, push-button power, removable LCD with contrast adjustment, and more accessible buttons.

- Jan

Cool!

Man, the 2A per channel on the motor driver is a nice change. I’ve got some lower voltage motors I’ve been afraid to plug into my Orangutan or Baby-O for fear of putting the H-bridge chip into overheat mode. :wink:

The 20MHz crystal is also a nice change, even if it does eat up two I/O pins. And the new location of the pushbuttons makes them loads easier to get at. Good change! (The placement looks really similar to the X2’s pushbuttons, I see.)

Aaaaaaah! You kept the power select jumpers! LOVE IT! (I know I harp on that point, but I really really love those power jumpers…)

I saw DB4 and R/W for the LCD have moved to different pins, and the buzzer has changed pins as well. Are there any other I/O pin assignment differences from the original Orangutan? (Working through the necessary changes in Orangutan-lib…)

Outstanding!

Tom

Hi, Tom.

As you’ve noticed, we made several changes to the I/O pin assignments. One change was to use both of timer 0’s PWM outputs to control M1 and both of timer 2’s PWM outputs to control M2. This allows for hardware-based symmetric control of the motors. The buzzer was connected to one of timer 1’s PWM outputs.

If you download the LV-168 Test Program, you can see the device.h file I created with all of the pin assignments made in the same format as in Orangutan-lib (I used Orangutan-lib’s device.h as a starting point). You should hopefully be able to take the contents of that file, wrap it in something like #ifdef ORANGUTAN_LV168/#endif, and insert it into Orangutan-lib’s device.h. I also took the files lcd.c/lcd.h directly from Orangutan-lib and modified them to work with the LV-168. In addition, I made some minor changes to them: I altered lcd_int() and I believe I added lcd_binary(), lcd_hex(), and lcd_hex_nibble().

Lastly, feel free to incorporate all, some, or none of the test program’s buzzer.c into Orangutan-lib. buzzer.c provides a buzzer interface similar to the one you get when using the X2 (e.g. volume control, a playNote function, a playFrequency function, and interrupt-based note-duration timing so the mega168 can go off and do other things while the note plays).

- Ben

Cool!

That gives me a really good starting point to work from. (Gotta love diff!)

I like the re-work on the motor pins. A LOT. I’m back-tracking some of the motor code for the Orangutan and Baby-O to offer hardware modes as well (I need this for a line follower I’m working on). Being able to drive them symmetrically in hardware makes life a lot easier.

Thanks also for leaving TIMER1 alone. It’s really useful for driving servos, among other things. I still have dreams of a mini-sumo robot with a big servo-driven arm for lifting opponents off the ring and gently placing them over the edge. :wink:

I’ll happily incorporate buzzer.c into Orangutan-lib. I have to apologize for being so slow to get the X2 functionality into the library, but in a way things like the buzzer have been a bit of a stumbling block. I like a lot of the X2’s functionality better than the way O-lib does stuff, so there’s a lot of head-scratching and re-thinking to be done. This helps.

Really nice job, guys!

Tom

I’m excited at the prospect of running an Orangutan from a single Li-Po or Li-Ion cell, in a nice compact package, but I’m curious about the mystery component that switches power on/off with a button-tap. Is there some small current drawn in the “off” state?

-Adam

Hello, Adam.

We haven’t shown the power button circuit for two reasons: adding it to the schematic would unnecessarily complicate it without providing much useful information to most users; and we are looking into patenting the circuit, and we don’t want to disclose too much until we figure out our options.

In the off state, the circuit draws under 10 uA. (That’s the limit of what we can measure, and we don’t really care about such low currents since the batteries self-discharge much quicker than the decade one amp-hour lasts at 10 uA).

- Jan

Wow, that sounds really neat, good luck with the patent! Thanks for the spec, and you’re right, the drain is insignificant enough that I wouldn’t worry about leaving Li-Po batteries connected while its off. And hey, with this Orangutan you can set up battery monitoring without a voltage divider circuit!

-Adam

Any plans to make a LV version of the Baby-O? I know at least one person who’s running a Baby-O on a single LiPoly with a really neat solar charger Sounds like that’d be right up his alley.

Tom

Our goal is to continue expanding the Orangutan family so that someone looking for a robot controller can find the one that’s absolutely perfect for his needs. We have a number of new Orangutans at least tentatively on the drawing board, including a Baby LV. The main question right now is in what order to make them.

- Ben