Welcome! Log In Create A New Profile

Advanced

Wanted: software genius

Posted by incruente 
Wanted: software genius
February 15, 2011 07:37AM
I've been following the reprap project for some time, and decided it was time to build a printer for myself. I decided to take advantage of my large collection of legos and finally build a lego repstrap. The build volume is rather small (but plenty big enough to make all the mendel parts), and I expect the build speed to be low, but such are the limitations of being a lego purist. So far, all three axes move smoothly and with little trouble. Motorizing and adding an extruder are just around the corner. If all goes as planned, portions of the extruder and the actual build platform will be the only non-lego parts. Now, I need to find someone who can write the software to make it happen. I plan to use the lego dacta 70909 interface, which is so old it plugs into a serial port, to interface all the motors and sensors. So if you think you have what it takes to build on existing open-source software to adapt an antiquated interface to control a 3d printer made from a toy, drop me a line. Maybe we could even talk about me building another one just for you (if I can find another bloody 70909!).
Re: Wanted: software genius
February 15, 2011 08:43AM
Just add the line #define lego on in the configuration.h and you are all set smiling bouncing smiley




reprapworld.com
PLA, ABS, PETG multiple colors (3 and 1.75 mm) €16,49 / kg
Megatronics 3.0 €79.99 / Minitronics €37,19
Re: Wanted: software genius
February 15, 2011 09:02AM
If you are going to use normal stepper motors then you can also use the normal RepRap electronics and the software as is.
Once you have all the RP parts you assemble your Mendel and use the same stepper motors and electronics to finish construction.
If you are using DC motors w/o position sensors then GOOD LUCK!


Bob Morrison
Wörth am Rhein, Germany
"Luke, use the source!"
BLOG - PHOTOS - Thingiverse
Re: Wanted: software genius
February 15, 2011 10:13AM
What motors are you using? Can you currently get it to move? How? Is there documentation of the protocol used to control the motors?


--
I'm building it with Baling Wire
Re: Wanted: software genius
February 15, 2011 10:25AM
Wow! Quite a lot os responses so quickly.

Morrison, I'm not using normal stepper motors. Also, I don't think I'll use optical endstops. I want to use normal lego pieces as much as possible: the extrusion head and thermal barrier, thermocouple, and heater must obviously be custom, but nearly every other part is available. I fully intend to use position sensors: each axis will have a touch sensor at each extreme for endstops and zeroing, and each drivetrain will incorporate a rotation sensor early on, so each degree will correspond to a smaller fraction later in the drivetrain for greater accuracy.

Gilmore, I intend to use the 9V technic motors like those shipped with the original mindstorms set. They aren't installed yet, but the axes move smoothly by hand. The best documentation I've found is here:

[www.timo.dk]

I haven't worked with this device (yet), but I understand that fairly simple commands allow control of the devices. There are eight output ports, each with polarity control, and eight sensor ports. Four of them are powered, of which three will be used for rotation sensors.

If anyone has any further questions or concerns, please bring them up. I could use all the extra ideas I can get.
Re: Wanted: software genius
February 15, 2011 10:37AM
Want a 3D Printer? Build Your Own With Lego


Bob Morrison
Wörth am Rhein, Germany
"Luke, use the source!"
BLOG - PHOTOS - Thingiverse
Re: Wanted: software genius
February 15, 2011 11:07AM
That printer only prints IN lego. I'm trying to build a 3D printer from legos, that prints in plastic.
Re: Wanted: software genius
February 15, 2011 11:07AM
No one has successfully used plain DC motors for axis positioning on a reprap. Even with position feedback, it takes PID control to get things accurate what with overshoot and such. It's not a simple problem, commercial servo controllers use dedicated hardware PID controllers. As a result they can actually get positioning accuracy smaller than the detents on the position sensor. There's the "open servo" project which is attempting to make a open source controller that will allow anyone to replicate this without paying thousands of dollars for a commercial servo.

Servos are normally used on higher-torque stuff, like the big CNC machines. For smaller machines, it's cheaper to use stepper motors.

In your particular case, with control being over a serial line and doing the PID calculations on the host computer, you've got a serious handicap because of the lag in communications. And probably variable timings between when the sensor is read and when the result appears on the serial line to the computer as well. The samples being limited to every 50ms will probably be a problem to. I'm sorry to say it, but given that handicap in addition to the fact that nobody has gotten DC motors to work on a reprap even with a dedicated microcontroller with precise and known timings, I don't think trying this is a good idea. Especially as it's definitely more of a software problem (if it can even be solved in software) and a finicky and difficult one at that.

I'd recommend getting known electronics, with stepper motors. You'll be much happier, if a bit poorer. I'd also recommend reading about the open servo project to get some background as to why. If you ARE dead set on doing this, you should probably start with the open servo project's source code, port it to C (nevermind, it's already in C) or Java or python or whatever you're comfortable working with on the PC, and work from there.

edit:grammar

Edited 1 time(s). Last edit at 02/15/2011 11:09AM by jgilmore.


--
I'm building it with Baling Wire
Re: Wanted: software genius
February 15, 2011 11:19AM
Gilmore,

I appreciate your concerns, and I agree it is, as best, a difficult problem. The lag in communications is actually what I think will contribute most to my print speed being limited. I'm actually not at all worried about the cost. I could quite easily buy a cupcake, or thing-o-matic, or one of the premade reprap sets. I just want to see how far I can push a machine made up as much of legos as possible. If this turns out to be impossible, then I won't even bother putting steppers motors on it; I'll just go straight for a dedicated machine.
Re: Wanted: software genius
February 15, 2011 02:59PM
Exellent! I wanted to make sure you had your eyes wide open going into this thing, it stinks to be surprised by how difficult something is, our chances of getting something out of your project are much better if you have some idea what you're in for.

I still recommend the open servo project, of course.

What sort of rotation sensors are you planning on using? I notice that you've planned for one input per rotation sensor. The rotation sensors that I'm familiar with produce a quadrature signal so you can tell not only how much it turned but which direction. Those would take two inputs, one powered one not, for each servo.


--
I'm building it with Baling Wire
Re: Wanted: software genius
February 15, 2011 05:32PM
Lego produces rotation sensors with a resolution of sixteen increments per rotation. The platform can move roughly 5.5 inches. Assume I want it to move a full range in, say, two seconds, which equates to forty-two gear teeth on their linear gear. This means to 360 RPM motors could be reduces about 4 times with a 16-tooth pinion on the linear gear. So each increment on the sensor equates to about .02 inches, or half a millimeter. These are rough numbers with rough assumptions, but good enough to work with. Accuracy will be improved with high gear ratios, at the cost of a reduction in speed.

The other option is to use a lego light sensor coupled with a disc on the drivetrain that has alternating light and dark sections. This is somewhat cheaper. Of course, both options could take advantage of a special portion of the geartrain that provides many rotations for each motor shaft rotation, for increased accuracy. The light sensor method would not provide direction data, so the software would have to assume the motor was running in the specified direction.

As to the number of inputs, four of the inputs on the controller are powered, and four are unpowered. The lego light and rotation sensors only require one powered input port each, so one would be left free.
Re: Wanted: software genius
February 16, 2011 11:53AM
I too am working on a Lego RepRap project.

http://forums.reprap.org/read.php?152,72198

Your thoughts would be appreciated.

Rob
Re: Wanted: software genius
February 17, 2011 04:46PM
Rob,

It looks like your project is more developed and well-thought-out than my own. I'm rather certifiably insane, you see, and you can read above that I insist on using genuine unmodified lego parts as much as possible. I guess it's because I'm the sort who refuses to fold origami out of triangular paper. Anyway, there are limits, Lego never made a very capable computer interface, and the extruder must obviously be non-lego. I'm mostly just going to go as full-lego as I can, and hopefully I can find someone to make the software possible.
Sorry, only registered users may post in this forum.

Click here to login