Starting with openservo

Discussions relating to development and use of the OpenServo hardware.

Moderators: jharvey, Secondary Admin, Admins

Post Reply
mog123
Posts: 12
Joined: Sun Jun 07, 2009 5:32 pm
Location: Poland

Starting with openservo

Post by mog123 » Sun Jun 07, 2009 5:38 pm

Hi, I am a newbie with digital servos, I only operated on analog ones. I'd like to start with openservo, because it's much much cheaper than getting commercial digital servo's. I have some programming skills with AVR (eg.24 channel servo controller). Ok, enough of the introductions.
My questions is:
What do I need to get started with openservo? Do/Why do I need a "servo programmer"? I don't know how TWI or I2C works, should I need to learn it beforehand? Which version of the open servo is "available" to make at home? I saw that v3 has a 4 layer pcb, which is out of the question.
For all your replies,
thank you ver much.

jharvey
co-admin
Posts: 362
Joined: Sun Mar 15, 2009 12:06 pm
Location: Maine USA
Contact:

Post by jharvey » Mon Jun 08, 2009 10:05 am

I'm also quite new to this. Here's my take on it.

You need a programmer if you assemble it. This is because there isn't a boot loaded installed from the factory. After you upload your first firmware, you can program it with out a special programmer.

If you purchase your open servo board, it's my understanding that robotfuzz will upload that first firmware. This allows you to take it and run with it.

You'll need to modify a servo removing the guts, and replacing them with the OSV3 guts. Shouldn't be that hard, couple wires to solder, and a little nibbling may be required to get the connector to come out.

If you want to go the DIY approach, which is my goal, I've got a pile of extra boards. I only need like 10 or so, and I ordered something like 160. This got the cost down to a couple bucks each. I'm willing to sell those if your interested.

I2C is TWI. Basically I2C is Philips name, and TWI is generic. It's a data bus that allows you to kind of daisy change several devices off one bus with one acting as master. I understand a reasonable limit is 16 servos per I2C bus, however you might want to plan for less devices per bus.

More about I2C here.

http://en.wikipedia.org/wiki/I²C

mog123
Posts: 12
Joined: Sun Jun 07, 2009 5:32 pm
Location: Poland

Post by mog123 » Mon Jun 08, 2009 1:54 pm

Well I do have a STK500v2 standard programmer (USBasp). Is it enough or do I need some kind of USB/I2C adapter?
I'd like to make my own boards if that's possible (with atmega8's).

So basically it's like this:

1. do your pcb
2. program the controller with an AVR programmer(like stk500?)
3. solder the controller onto the board.
4. Replace the PID on the servo with the openservo
5. Write your servocontroller using openservo commands

Is that all?

jharvey
co-admin
Posts: 362
Joined: Sun Mar 15, 2009 12:06 pm
Location: Maine USA
Contact:

Post by jharvey » Mon Jun 08, 2009 8:37 pm

I think a lot of that sounds about right. I'd guess your board can program the chip.

I'm curios, does anyone know if the dragon can program it? Or perhaps there is a better programmer these days?

http://www.atmel.com/dyn/Products/tools ... ol_id=3891

mog123
Posts: 12
Joined: Sun Jun 07, 2009 5:32 pm
Location: Poland

Post by mog123 » Tue Jun 09, 2009 8:18 am

The dragon is just a module for the programmer, you need to check what kind of programmer do you have.

jharvey
co-admin
Posts: 362
Joined: Sun Mar 15, 2009 12:06 pm
Location: Maine USA
Contact:

Post by jharvey » Tue Jun 09, 2009 9:38 am

The Dragon is a USB powered device that can directly do ISP, HVSP, JTAG and a couple other programming methods. Or at least that's according to this link.

http://support.atmel.no/knowledgebase/a ... Dragon.htm

Some things I believe it can't do are ICE, and a couple debug techniques. I think it also doesn't lend its self all that well to batch programming. It's really a one device at a time kind of programmer. However it's low cost, about $50usd.

I believe OSV3 is programmed via HVSP, so this should upload the initial firmware just fine. I'll of course have to make an adapter cable, but that's not a big deal.

ginge
Site Admin
Posts: 1031
Joined: Sat Jan 14, 2006 2:34 pm
Location: Manchester, UK
Contact:

Post by ginge » Tue Jun 09, 2009 9:26 pm

OpenServo v2 and above are all programmed using the low voltage programming method. This is done through SPI and can even be flashed using a PC parallel port.

There are more links on these subjects than I can post here, but this one will give you a good idea on where to start asking questions

http://www.openservo.com/StepByStep

Cheers

BasicFox
Posts: 59
Joined: Sun Mar 15, 2009 2:45 pm
Location: Belgium

Post by BasicFox » Fri Jun 12, 2009 11:58 am

The parallel programmer didn't work for me... don't know why exactly but i've made the ponyprog serial programmer and that does the job (also a lot faster i think).
The voltage regulator can be sampled and make sure u put a working transistor in it :p spend a lot of time searching why it didn't worked the first time till i measured out my transistor...

PonyProg:
http://www.lancos.com/prog.html
Schematic:
http://www.lancos.com/e2p/siprog_base.png

Also u have to enter the fuses with checkboxes, a 0 stands for checked and a 1 stands for unchecked

FireBALL
Posts: 28
Joined: Fri Jul 24, 2009 4:31 am

Post by FireBALL » Sat Aug 29, 2009 2:46 pm

this one works for me with avrdude

Code: Select all

http://www.sparkfun.com/commerce/product_info.php?products_id=9231

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests