Absurd Sanguino questions
December 26, 2008 03:48PM
Having recently assembled a Sanguino, I have been busy coming up with strange ways to use or extend it. Most of my ideas have been on the interesting but probably useless/impossible side.

Here are the first two, concerning storage and memory:

1) I know that similar things have been done before, but how would you connect an sd card to the sanguino? It should have enough space for that. After it can connect to the sd card, could it execute a program stored there, or would it have to run an interpreter? Alas, I'm guessing it would need an interpreter.

2) I have an old stick of pc100 memory, 64MB. How hard would it be to have the Sanguino address a few megabytes of that memory, instead of the whole thing? Is it even possible, since it is designed for 100mhz?

Non-Sanguino question:

How hard would it be to create a breakout board with either a usb, ide, pce, or pci-e interface? This would enable us to use our multi gigabyte, multi gigahertz computers to directly control the reprap in an extensible manner that would (probably) easily handle whatever resource requirements our reprap could have. Old PCs can be found at the dump for free that have more resources than a 40 pin chip could ever dream of having. I have an old 133mhz pc that could easily be used to drive a reprap, if it had the right interface.

Pros of pc as controller:
-Nearly everyone here has a computer winking smiley
-Amazing speed, storage, and memory
-Easy networking using ethernet or wifi
-Great tools for programming in more languages than any other platform
-Lots of libraries
-Keyboard, mouse, audio, and graphical interface
-Such an interface board could be useful for many other things besides reprap

-It would probably be tricky to get some of the fancy features that some of the pins on the sanguino have, but I don't really know how many of those we use, or what chips are available to provide them

-This may require the use of an OS with some real-time capabilities. It is not good if some gui process hogs resources for a few seconds and skews your build.

-I don't know what I'm talking about, and have probably vastly underestimated the challenges this would create.

-Not everyone has a pc, they can be expensive, and they often use a lot of power.

-It is possible that the polling speed of the board would not be fast enough to handle all of the pins necessary for the reprap.

Any thoughts?

Re: Absurd Sanguino questions
December 27, 2008 03:17PM
Good ideas, all of em. In fact, Zach is working on a SD card slot for the Sanguino. There's a picture of it on the main blog. smiling smiley Good things come to those who wait...

As for PC stuff, what you want is EMC2 - a Linux distribution that controls CNC machines. I use the live CD to check my Gcode toolpaths, but I know there's at least one guy using EMC to run a RepStrap. Everything has already been done, but you will need some sort of interface board. There are lots of commercial stepper drivers available, but with some tweaking you could use the PC's parallel port to control a set of RepRap stepper drivers.

Myself, I'm waiting for the SD card with baited breath! A PC is a useful thing, and I kind of resent having to give up my main computer to my Darwin. smiling smiley I'd much rather give it a cheap microcontroller and some SD cards, and use the PC to design new parts. Besides, most PC's use enough power for 4 or 5 RepRaps.


Edited 1 time(s). Last edit at 12/27/2008 03:18PM by Wade Bortz.
Re: Absurd Sanguino questions
December 27, 2008 05:17PM
Basically what I'm wondering is: how complex would such an interface board need to be?

I think it might be possible to reprap most of such a board, so that in the end such a solution is cheaper than one with a microcontroller. Yes, it requires the pc while the build is running. But even with an sd based system, the computer is required to download the part files to begin with. Besides, a netbook or the olpc don't need that much power, and would probably be used to program the sd card in the first place if they wanted to make their own models; why make them also buy a microcontroller? It just seems to me that a system using the pc instead of a microcontroller _could_ be simpler, more reprappable, and cheaper.

I do think that an sd based system is cool, and preferable in many cases, since it doesn't need the pc while making something. Especially if the controller can copy a model from a usb cable over to its sd card. That way the reprap could be used like a printer, and the pc wouldn't have to babysit it the whole time.

Speaking of which, what progress is being made to make sd drivers for the Sanguino? I'd be interested in helping.

But a pc interface board would be useful for other reasons too, which is partly why I'm asking. What does it take to make one? Especially one with nontrivial capabilities? I.e., not just a breakout header soldered to a parallel port connector, but something capable of more pins, or usb connection, etc. How would it compare in capability and price to a Sanguino system?

Also, anyone have any ideas about how to address that 64MB stick of ram I mentioned with a Sanguino?

Re: Absurd Sanguino questions
December 27, 2008 06:27PM
Well, the Sanguino is essentially just that - it's a chip with a USB to Serial connection, and a whole lot of IO pins. The basic build on [blog.reprap.org] that Dr Bowyer put together is about as minimal as it gets. I have no idea what it would take to build an ISA card, but it's only going to work with a certain subset of computers, none of which I own. I use a Macbook, a Toshiba, and an EeePC, and the only common connector is USB. If you're going to use USB, you need a micro, unless you only need 1 IO pin.

To run a RepRap, you're going to need lots of digital IO, some PWM channels, and some A-D channels, and micros have all that already, while PC's don't. The data rate required to RepRap something is very low, only 1 or 2 kB/s, so something like USB to a micro is perfect.

My Darwin uses every pin on an Arduino, so essentially just copy out the specs of an Arduino and design your custom board to that. But then, that's what the Arduino was designed for, so I'm not sure what the benefit would be. I'd be surprised if you could do it for less than $25 without several man-years of effort.

Besides, I'm not sure you realize that once your RepRap is up and running, you're going to want to run it for _months_ at a time. Trust me, it's a pain in the rear if you're favorite computer is busy printing all the time. smiling smiley I tried to delegate the Eeepc to RepRap duties, but the software isn't quite ready to run on an EeePc. Yet.

Re: Absurd Sanguino questions
January 04, 2009 03:58AM

As far as I know the Sanguino can't address external memory at all. In fact, it seems that such capabilities are extremely rare in low-end microcontrollers such as most AVRs; for one thing, it requires so many I/O pins as to completely consume the number available to a reasonably sized DIP chip. Finally, even among micros that *can* address external memory, I'm not sure that memory designed for use in a computer is at all practical to work with; you'd probably be better off playing with more appropriate types of memory.
Re: Absurd Sanguino questions
February 12, 2009 01:32PM
I2C Memory in sizes around 4MB are affordable and use few pins, Using RAM sticks/Chips with sanguinos isn't practical or possible, being S(or D)RAM they lose all of their data when power is lost so they are useless for storage, and nothing what require a buffer that size for use with microcontrollers that you couldn't put together out of cheaper and easier to interface parts. IMPORTANT: The idea of interfacing with a PC through a card is the best of the other options you came up with! PCI-E Bus speeds are too fast to implement low end microcontrollers on, but getting a blank (protoyping) printed circuit board for PCI Bus on a motherboard is easy from either Mouser or SD TO ARDUINO INTERFACE just change the arduino pins to the appropriate Sanguino Pins. Interpreters won't run, but there are all kinds of guides to retrieving saved sketches to run on your sanguino or datalogging. Hope Some of This Helps, Dan
Re: Absurd Sanguino questions
February 12, 2009 02:29PM
Dan Wrote:
> I2C Memory in sizes around 4MB are affordable and
> use few pins

Can you cite a couple of chips that fit this discreption? I use the I2C bus a LOT and could use a good, big memory chip that worked on it. :-)


Hell, there are no rules here - we're trying to accomplish something.

Opportunity is missed by most people because it is dressed in overalls and looks like work.

Thomas A. Edison
Re: Absurd Sanguino questions
February 12, 2009 04:37PM

Bruce Wattendorf---
Re: Absurd Sanguino questions
February 14, 2009 03:20AM
What discourages most people from interfacing a big hardware device directly to a PC, is the potential of signals to send nasty voltages back into the PC. In terms of protecting the PC from this, the best way, is to narrow the data path, and provide electrical isolation or surge protection.

You notes things like interrupt speed giving potential for problems, There are linux builds for music that run a high interrupt frequency, and, if you run an old OS like DOS on a new PC, it will run pretty smoothly. Past those, I haven't any more personal experience re the interrupt issue.

You can also get development boards from the big chip manufacturers, for linux based single board PCs, these are probably easier to add on to in the way you are considering.

If you use the parallel port for interfacing, then you will need a either a bunch of general purpose latches and logic, else a microcontroller to interface.

If you make the decision to use a microcontroller, then the natural design progression is to narrow the data path (serial), and put some on board smarts, to improve on timing.

So, really, it's being done pretty sensibly as is...
Sorry, only registered users may post in this forum.

Click here to login