Sunday, August 17, 2008

 

Blood on the carpet...


I soldered up one of Zach's Sanguinos on stripboard from the circuit diagram.

He intends it as an easy replacement for the Arduino with more pins, more memory, more ... well, everything, really.

Getting the bootloader in was a bit of a mission. I cut the old Centronics plug from a legacy printer cable and made one of these in-circuit programmers.

The first problem was that Pin 18 on the printer cable D socket (see the hand-drawn circuit) was not connected to any wires in the cable. But it's obvious that that is just the ground connection, so I found a wire that was connected to the metal cable shell and used that.

The second problem is that you can't easily drive the pins on an old-style printer port from Linux, so I had to use a Windows machine. I downloaded the giveio package from MIT and ran the program ginstall.bat from it, but things were still not talking properly.

The Arduino bootloader page told me that it was Windows polling the parallel printer port to see if anything was plugged into it that was causing the trouble. The fix is to edit the registry (Run -> regedit), then go down the tree to:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Parport\Parameters

(in fact, my Windows didn't have Parameters at all, so I had to create it), then set "DisableWarmPoll"=dword:00000001.

Things still weren't right. In Zach's file boards.txt there is a line:

sanguino.bootloader.path=atmega644

that should read:

sanguino.bootloader.path=atmega644p

Zach's going to correct that asap, but the man's on holiday: give him a break...

Finally, I could burn the bootloader :-)

Then everything sprang to life :-))

I could download test programs, flash LEDs on pins (see above) and so on.

At the moment my Darwin is printing out parts in ABS for Ian's extruder design to make sure we can reprap them as well as lasercutting them. When that's done in a week or so, I'll rip out the Arduino and put this new-fangled Sanguino thang in and see if we can use that. It should use identical RepRap driver electronics to the Arduino, so it ought to be straightforward (hollow laugh offstage...).

Watch this space...

Comments:
The arduino can be used for in circuit programmer, no?

Or you don not have an arduino?
 
khiraly: really, that would be great news:
[i]You'll only need to have access to one RepRap to make another.
You only need to have access to one Sanguino/Arduino to make another.[/i]

Nice... I think I'll make a stripboard version too, if I don't order from RRRF soon.
 
Off-Topic:

Dr. Bowyer: did you get my e-mail?

-Leav
 
I've searched for a description of how to use an Arduino to program another. It ought to be straightforward. Anyone know a URL?

Leav: yes, just. I just replied.
 
Could it be this you are asking for?
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1165363464
http://tinker.it/now/2006/12/04/turn-arduino-into-an-avr-isp-programmer/

I'm afraid the crystal clock needs to be changed to a 3.6MHz one... in the post he changed some code as well. Perhaps this could be foreseen in a future Sanguino design?
 
Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to
Posts [Atom]