OpenServo.com Forum Index OpenServo.com
Discussion of the OpenServo project
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Standardised USB->I2C interface
Goto page Previous  1, 2, 3, 4, 5, 6  Next
 
Post new topic   Reply to topic    OpenServo.com Forum Index -> Hardware
View previous topic :: View next topic  
Author Message
bigandy



Joined: 30 Jan 2007
Posts: 18
Location: Abergele, North Wales

PostPosted: Mon Feb 26, 2007 12:11 pm    Post subject: Reply with quote

Hi Folks,

Personally, I think I would only be using the USB-I2C bridge for programming and basic testing, the main control coming from either a PWM signal, or a dedicated micro in the application, so this looks ideal for me. The same goes with the GPIO ports, although they do add a bit of extra functionality, I can't really see me using them. Except, perhaps, to flash a few LED's here and there for effect Smile

I would go for the 33x33mm layout too, simply because it means more boards per ? Smile I would try and make room for the fourth mounting point too, although looking at the layout, it might be a bit difficult to shuffle everything up the board slightly.

Cheers
Andy

PS. I wouldn't mind taking one of the spare boards you have if that is okay? Let me know how much, and how to pay for it Smile
_________________
How do you explain \"Wet\" to a fish?
Back to top
View user's profile Send private message Visit poster's website
ginge
Site Admin


Joined: 14 Jan 2006
Posts: 1027
Location: Manchester, UK

PostPosted: Mon Feb 26, 2007 1:52 pm    Post subject: Reply with quote

Hi All

I have taken your comments onboard and added the fourth mounting hole.

I have a little room left over with the new layout, any requests? An LED maybe?


Both sides + legend

Top layer

Bottom Layer

Parts placement

Barry
_________________
http://www.headfuzz.co.uk/
http://www.robotfuzz.co.uk/
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
mpthompson



Joined: 02 Jan 2006
Posts: 650
Location: San Carlos, CA

PostPosted: Mon Feb 26, 2007 5:53 pm    Post subject: Reply with quote

Barry,

It's looking really good for it's intended purpose. I think power LED and one LED under GPIO control would be useful for a visual indicator if you could fit them in.

Also, I think we need a name for this board. Any ideas? Perhaps something like the OSIF for ""OpenServo InterFace"" board or something. Basically something so that we can all refer to it in a standard way when describing something on the web site or in these forums.

-Mike


Last edited by mpthompson on Mon Feb 26, 2007 6:17 pm; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
ginge
Site Admin


Joined: 14 Jan 2006
Posts: 1027
Location: Manchester, UK

PostPosted: Mon Feb 26, 2007 6:02 pm    Post subject: Reply with quote

Hi,

I can squeeze a couple of GPIO led/breakout pins with the available space. Does anyone have an aversion to SMT LEDs?

How about OpenServo Interface Reflash Io System - OSIRIS Wink

OSIF sounds good.

Barry
_________________
http://www.headfuzz.co.uk/
http://www.robotfuzz.co.uk/
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
mpthompson



Joined: 02 Jan 2006
Posts: 650
Location: San Carlos, CA

PostPosted: Mon Feb 26, 2007 6:20 pm    Post subject: Reply with quote

The little buggers can be hard to solder, but not much harder than any other SMT parts. I have no problems with using them.

-Mike
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
robotjay
co-admin


Joined: 01 Aug 2006
Posts: 225
Location: Nebraska, USA

PostPosted: Mon Feb 26, 2007 6:45 pm    Post subject: Reply with quote

Barry,

I love the look of the boards, and I will agree with you and Andy that the extra GPIO lines aren't especially necessary.

I have a question, would it be a good idea to change the components from surface mount to thru-hole? I think most hobbyists have plenty of skill to solder old-school thru-hole components, but hand soldering SMT parts is ridiculously hard without a stencil. (Honestly, I am still amazed that you and Mike can do that. You guys are like the Michael Jordans of SMT soldering.) Either way, thru-hole components would allow me to sell a PCB and it's parts as a kit, which will significantly reduce the cost to make one of these boards, as people wouldn't have to pay me for labor. What do you guys think?
_________________
"Nothing is fool-proof; For we fools are ingenious and will find a way."
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ginge
Site Admin


Joined: 14 Jan 2006
Posts: 1027
Location: Manchester, UK

PostPosted: Mon Feb 26, 2007 6:51 pm    Post subject: Reply with quote

I'm not sure that it is worth redesigning this as through hole.

One of the goals was to use the same processor as the OpenServo, which means we have to use SMT for at least the AVR. Unfortunately this is the hardest component to hand solder.

All of the SMT components are on one side, so it should be easy enough to oven reflow a few. If you don't fancy it I can get it arranged.

If everyone decides to go through hole I will support that and redesign as needed.

Barry
_________________
http://www.headfuzz.co.uk/
http://www.robotfuzz.co.uk/
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
robotjay
co-admin


Joined: 01 Aug 2006
Posts: 225
Location: Nebraska, USA

PostPosted: Mon Feb 26, 2007 8:24 pm    Post subject: Reply with quote

Barry,

I understand if you don't feel it's necessary to go with thru hole. I just thought I'd throw the idea out there.

I'm finidng it nearly impossible to locate a 12 MHz Crystal in thru-hole package here in the US. Would you be willing to sell me the components along with a bareboard (minus the AVR, because I already have those.) It'll save me time and money if you could. E-mail me with your response.

-Jay
_________________
"Nothing is fool-proof; For we fools are ingenious and will find a way."
Back to top
View user's profile Send private message Send e-mail Visit poster's website
mpthompson



Joined: 02 Jan 2006
Posts: 650
Location: San Carlos, CA

PostPosted: Mon Feb 26, 2007 9:03 pm    Post subject: Reply with quote

I don't have an issue with surface mount or through-hole components. Either way would work for me personally.

I'm hoping that most people interested in the OpenServo would simply buy an assembled board to get started quickly. What would the cost to an end user for an assembled board likely to be? Anything in the $30 to $40 range would seem to be a good deal to me.

-Mike
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
robotjay
co-admin


Joined: 01 Aug 2006
Posts: 225
Location: Nebraska, USA

PostPosted: Mon Feb 26, 2007 9:10 pm    Post subject: Reply with quote

After running through cost estimates, I think it is feasible to sell these for $40 each, as long as I don't get raped by Farnel to ship the crystal oscillator here to the US. I don't know if it's because I am buying in low volume or what, but Farnell's shipping rates are outrageous. I was able to source 98% of the board from DigiKey, but as I mentioned above, I can't find the oscillator in a thru-hole package.
_________________
"Nothing is fool-proof; For we fools are ingenious and will find a way."
Back to top
View user's profile Send private message Send e-mail Visit poster's website
mpthompson



Joined: 02 Jan 2006
Posts: 650
Location: San Carlos, CA

PostPosted: Mon Feb 26, 2007 9:40 pm    Post subject: Reply with quote

Jay,

Try the following links from Jameco for 12MHz crystals:

http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?storeId=10001&catalogId=10001&productId=325180
http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?storeId=10001&catalogId=10001&productId=325201
http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?storeId=10001&catalogId=10001&productId=325198
http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?storeId=10001&catalogId=10001&productId=14402

And an SMT one here:

http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?storeId=10001&catalogId=10001&productId=325921

Jameco is located across town from me. They don't have Digikey pricing, but are good folks to deal with.

-Mike
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
robotjay
co-admin


Joined: 01 Aug 2006
Posts: 225
Location: Nebraska, USA

PostPosted: Wed Feb 28, 2007 8:37 pm    Post subject: Reply with quote

Hi again!

Because Barry didn't seem real thrilled about redesigning the board he just laid out, I went ahead and redesigned Barry's version of the USB-mega-I2C, and made everything thru hole. The reason I wanted a redesign is two-fold: 1.) Hand soldering surface mount parts is nearly impossible for me, and I've damaged more than a couple MCUs while attempting to do it. 2.) Buying stencils for reflowing is not cheap, and I want to save money where I can.

After completing the redesign, I did some cost estimations, and the money that I would save personally (by not having to buy a new solder paste stencil) is negated by the cost of Thru-hole components. I never realized it before I started working with SMT parts, but in low quantity, Thru Hole components are almost 5 times as expensive as Surface Mount parts. This negates any reason for me to not just buy a new stencil and reflow them.

I'll go ahead and post my work, in case there's anyone out there who wants to save a little money by doing it themselves, without needing access to reflow equipment. My version includes extra I2C headers, in case we get this hardware fast enough to handle multiple servos. I also brought back the 10-pin ISP header, and added an 8-pin socket for easy reflashing of the bootloader.

The Parts List, Eagle schematics, and Board files are contained in this ZIP file.

Schematics:


Top Side:


Bottom Side:


Part Placement/Silkscreen Layer:




Although it was mostly a waste of time to have redesigned this board, it did give me valueable hands-on experience with EaglePCB. I ran through a couple tutorials, and tried my best to mimick Barry's design. Hopefully this is an acceptable version, and now I feel comfortable enough with Eagle to contribute more to the layout processes where we need them. Enjoy!

-Jay
_________________
"Nothing is fool-proof; For we fools are ingenious and will find a way."
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ginge
Site Admin


Joined: 14 Jan 2006
Posts: 1027
Location: Manchester, UK

PostPosted: Wed Feb 28, 2007 10:57 pm    Post subject: Reply with quote

Hi Jay,

Good work!

I like the boards, and it doesn't hurt to have in the arsenal. I will check it into CVS if you want.

Just a quick note about the top layer... I have found it difficult to solder to the top side of the board when using through hole components. You can't quite get the iron under those header pins, and sometimes they get mangled.

If you look at the boards I have done, I used a via just a little bit away from the component to break to the bottom layer. It makes it a little easier to hand solder.

Don't take this as critisism, I am very happy that you have done this.

To make solder paste stencils I etch a thin sheet of copper away to leave just the needed mask, and then use a piece of card to scrape the paste over the board. I am working on using a CD/RW laser on my milling machine to cut transparency sheet to make this easier.

Barry
_________________
http://www.headfuzz.co.uk/
http://www.robotfuzz.co.uk/
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
ginge
Site Admin


Joined: 14 Jan 2006
Posts: 1027
Location: Manchester, UK

PostPosted: Sun Mar 04, 2007 11:25 pm    Post subject: Reply with quote

Hi all,

I have checked in my driver code for the OSIF interface. This is a DLL and a command line test program. it is not completely ready, but is entirely functional. I am checking in now as my laptop hard drive is starting to click.

The DLL has a simple interface to communicate, as below:

Code:

//read an 8 or 16 bit value and return as int
int OSIF_readbytes(int adapter, int servo, unsigned char addr, int length);
//write an 8 bit int
int OSIF_write8(int adapter, int servo, unsigned char addr, int data);
//write a 16 bit int
int OSIF_write16(int adapter, int servo, unsigned char addr, int data);
//initialise /deinitialise the device
int OSIF_init(void);
int OSIF_deinit(void);
//read n bytes
int OSIF_read(int adapter, int servo, unsigned char addr, unsigned char * data, size_t buflen );
//write n bytes
int OSIF_write(int adapter, int servo, unsigned char addr, unsigned char * data, size_t buflen );
//scan for bus devices returns array of int and found count
int OSIF_scan(int adapter, int *devices, int *dev_count );
//returns true if servo exists
bool OSIF_probe(int adapter, int servo );
//send a command
int OSIF_command(int adapter, int servo, unsigned char command);
//reflash application with filename intel hex
int OSIF_reflash(int adapter, int servo, int bootloader_addr, char *filename);


The new driver is in CVS at
.../Interfaces/OpenServo_InterFace/driver/dll/


I have also renamed the directory in CVS. I recommend a clean checkout.
http://www.openservo.com/viewcvs/viewcvs.cgi/OpenServo/Interfaces/OpenServo_InterFace/

I also checked in my latest OSIF PCB. It has3 GPIO pins that break out as well as optional power and status LED's. The breakouts are 1x ADC and RX+TX

As always, comments welcome.

Cheers,

Barry
_________________
http://www.headfuzz.co.uk/
http://www.robotfuzz.co.uk/
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
ginge
Site Admin


Joined: 14 Jan 2006
Posts: 1027
Location: Manchester, UK

PostPosted: Mon Mar 05, 2007 5:45 pm    Post subject: Reply with quote

Help!

I am stuck on something that has me thinking in circles...

The Connector on this beastie is an 8 pin OpenServo connector, wired so that you can plug in a standard ribbon cable between the OpenServo and the USB board.

You may be thinking ""Great!"", but this has a real down side... You can't program new firmware onto the OSIF board without having an adapter on the OpenServo flash cable. As the pinout for the USB board has the same pin out as the flasher cable/board you would need to make a cable that bridges the two. IIRC there are only a few people that use the parallel port method anyway, and otherwise use Mike's AVR ISP to OpenServo PCB. If that is the case I don't see a problem here. Nothing needs to change.

It's not too late for me to rearrange the layout to allow for flashing with the standard OpenServo flash lead if that is what is desired.

Here is what has me thinking in circles...

If I leave the layout as it is, we can use some fairly simple firmware inside the OSIF board to bootstrap the OpenServo. Yes, It can be converted into a programmer too! And it will be able to flash any AVRDUDE supported device (with adapter cable)

So the question comes down to this:
Redesign the board to allow for flashing from an already modified OpenServo cable.

or

make your own cable and allow for reflashing the OpenServo with a very simple cable.

Help! I have until tomorrow 1PM (GMT) to let the board house know what is going on.

Barry
_________________
http://www.headfuzz.co.uk/
http://www.robotfuzz.co.uk/
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    OpenServo.com Forum Index -> Hardware All times are GMT
Goto page Previous  1, 2, 3, 4, 5, 6  Next
Page 2 of 6

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group