Welcome! Log In Create A New Profile

Advanced

designing a program setup wizard tool for reprap

Posted by james villeneuve 
I am designing a tool for the reprap and am about to release it; it converts stl files and sends changes to skeinforge. It mostly is a GUI for skeinforge, it simplifies settings on tool, auto calculates complex changes and best of all includes a setup wizard to test for proper working temp and raft settings, bridge settings for the reprap.

For example you give it a range of temperatures and it creates a test to run for your printer, so you know without a lot of experimentation what settings to have.

It is written in Visual basic but I am making the code open source and available and am hoping there is interest, and to eventually have a version in java, I would appreciate and comment on interest, I will be posting the software online within a week or so. IT is called 3d simple. It mostly is the wizard, a GUI to skeinforge, and includes quick links to mesh lab, reprap program, and reprap g code simulation.

Thanks for your feedback and comments. I hope this software makes the reprap easy to use for everyone! I expect this program to be able to make use of reprap fun and easy to new users.
Re: designing a program setup wizard tool for reprap
November 10, 2009 12:52AM
Thanks. I'll keep an eye out for it and if I get enough time before Christmas I may look at converting it to Java. I may be hamstrung by the fact that I've only written a small 'Hello World' program in VB but thats what the internet is for :-)
I'm uploading an example onto youtube.com I will post the link soon. The program part works, just the settings wizard is what I am working on. The program takes the guess work out of reprap setup.

thanks, James
[www.youtube.com]

the video shows the program, 3d simple, I am working on the setup wizard, the wizard asks you a few questions and generates tests in g code, then asks you the results. the idea is that after you use the setup wizard this program knows how your printer works and what it is capable of, after that it sets the settings for you.
(http://www.youtube.com/watch?v=hRnWx8db7ZA)
one thing I have been noticing is that the temp the reprap says it is versus what it really is is different. I am thinking of also creating a conversion g-code utility, so that everything runs from a baseline. Anyone have this issue, I run something, and it runs too hot, I can change the temp with my rapman version 3.0 but i need to sit by the tool for every temp change. It seems that people need to calibrate temperature or have a base temperature to calibrate g code too. hopefully I'm not rumbling on about nothing. So I'll play around tonight with a g code to baseline temperature. I would hope that people would post g code versus stl files, and then say yea, my lowest melting temp is 220C. that Way i could print or other people could print the part from g code. or of course have the rapman version 3.0 have adjustments for temp! thank's for listening....
emt
Re: designing a program setup wizard tool for reprap
November 12, 2009 04:30AM
Hi

I am not sure what you are asking here.

I set a temperature (Repstrap with G3 electronics) and the feed back in Host reports a temperature that matches the command. I have an additional thermocouple on the extruder so I can take temperature readings with a meter and that confirms temperature is correct within about 2 degree C. Perhaps you have a calibration problem.


Regards

Ian
I am asking if it is a good idea to use a variable resister in place of the 47k resister for the rapman, so that the resistance changes the voltage for the controller. I was just frustrated by the fact that i do have a temp calibration problem. thanks...
I have a video of changing my resistor to a variable 10 turn resistor to adjust temp to be accurate. If i share code with people i want it to work on any machine correctly. So i am showing people how to modify the resistor that goes in series to the thermistor. My 3d simple program showed me i was running at a higher temp, and that was why parts were not turning out well. I could compensate for it in software where it would lower the temp for me, but i would rather have the hardware show and use the correct temps, so my code will work on a temp calibrated reprap. Is there a way to compensate version 1.06 firmware for rapman 3 without modifying hardware? thanks,
looks like it is a 4.7k.
ok, looks like the 4.7k is just a reference resistor used to tell the processor board what type of extruder, or something like that. I know that my extruder is running 5degrees C too hot, This is bad, because the filament is too hot and sags when bridging (going over an open space) I can compensate in software for changes, but i was hoping to calibrate my reprap first with using the actual temp. I have had a hard time trying to find a schematic of the rapman version 3 controller. I was hoping there was a setting i could change easily in the firmware. My goal is to have a rapman running at proper temp. It is a bad thing to be overtemp even by 2 degrees c. i'll ask bfb and wait on it a little bit first...
Re: designing a program setup wizard tool for reprap
November 13, 2009 09:09AM
If you are working with ABS then if your filament is sagging it is most likely you are not stretching it enough. I have accidentally made ABS objects at more than 280C and they came out very strong and a bit brown. They were the strongest object I have made but I could not remove them from the raft. No problems with the print quality though.

Also 5C is not a big change. It will affect the bond strength when trying to make a weak bond to a raft but, not much effect on viscosity. 2C over temp is insignificant in my experience.

PLA is more prone to sagging when too hot because it has a much sharper change in viscosity, but even then 5C has little effect. I make 10C step changes to improve bond strength.

The reprap electronics is normally calibrated by updating a table in the firmware to match the thermistor, rather than changing component values. No idea what BfB do. There isn't a simple relationship between the resistor and the reading though. You can fix it at one temperature but to be correct over a range you have to put the right value for Ro and beta into the firmware somehow.


[www.hydraraptor.blogspot.com]
thanks. I gave up on temp calibration and will accept the fact that my machine runs 5 degrees C hotter than it says (reading 230, but running 235), I'm just going to calibrate to what temp my rapman melts abs. I have noticed that temp is very important and critical to support layers in the model as well as flow rate. I just know it looks better when temp and flow rate are accounted for correctly. I'll have examples to show in a few days. Temperature makes good parts. accuracy would improve if the rapman could monitor to the 10th of a degree, really! (it's the next layer above the first layer that bridges that is important) - I have asked on the bfb forum about a software setting to calibrate the temp. It looks like there may be a gcode 'm' command to set temp in the works.... In the mean time I'll wait for the controller source code (rapman version 3 is pic controller based)
My program 3d simple is about ready to be beta tested. i ran into trouble the other day, and it was running the wrong code to get skeinforge to behave. I was running command line skienforge.py whatever.stl, when I should have been running \skeinforge\skeinforge_tools\craft_plugins\export.py whatever.stl. i don't know how it was working before, but then it stopped working and I spent 2 days just trying to figure that one out! not to mention for those that do not know skeinforge overrides settings with those found in %userprofile%\.skeinforge\ that '.' is hard to work with in windows, but i found away. in vb the %userprofile% is Environ("USERPROFILE"). anyway i expect if all goes well the program will be available as a beta release Wen/Thur of this next week. (meaning code is messy but works for those adventurous), The program is simple to use, but requires a lot of knowledge about 'your printer' so the setup wizard will take a few hours to run the tests, but the goal is after that easy use reprap. I'm promising that you will download an stl, and no more freaking around with it. 1st time printing perfect!

thanks, comments questions?

James
Re: designing a program setup wizard tool for reprap
November 16, 2009 07:31AM
> that '.' is hard to work with in windows,

Dead simple on linux! So it's written in VB? Leaves all of us using linux out. Sorry to hear that. Was looking forward to it.
Re: designing a program setup wizard tool for reprap
November 16, 2009 06:32PM
Hi James

If you avoid the VB specific libraries and use .net functions only it’s possible to translate to C# at which point it could be used under Mono for Mac and Linux.
Thanks, I'm piecing it together in vb. Really, just to get it working. It's a tool out of desperation really. Once I get it working and get some people to try it out, I hope to have a version in java. Java is a slow language, but it is easy to port over to mac, Linux, and toaster ovens smiling smiley So this is more a proof of concept version. what is cool is the installation file. it's a once stop installation that has it all. I doubt the java version will have anything but the wizard and the gui. The installation is huge due to including the programs to install, all these programs are used to some extent by my GUI. the setup wizard is part of the GUI though.

here is both the installation and the program running:


Still some issue with the temp wizard... also looking into a possible raft mode change. the idea is that someone with little knowledge of reprap or skeinforge can start to print, and build knowledge from there. I also want a better raft, and see that many people on this forum are wanting that.... I have not looked at skeinforge code, but I do know it outputs a statistic file for the size of the area it will print on. I may use that, to design a squiggly line raft. Kind of lazy i guess, i read this output file, to know the size and shape of the raft to make, create a raft file and merge it to the beginning of the print. Anyway, I am now shooting for release this weekend, I'll release it and the source code too.
I had trouble doing software for gcode because of needing to remember to turn off extruder during moves. to make it easier to remember i created a gline language. keep in mind i needed to software control probably about 800 lines of custom g code for temp, extrude, feed rate settings. you will be interested to know i am close to done.

anyway for those interested in a simple language parser GLINE is below

basically it is like telling a line to do something on a screen and is much easier to visualize when programming:


say

gline x1,y1,z1 to x100,y100,z1 ' single line to line

converts code to gcode like this:

G1 M101 'turns extruder off
G1 x1 y1 z1
G1 m103 'turns extruder on
G1 x100 y100 z100
END ' if end of all lines of code


It is much easier to create for/ next and if loops with the above gline interpreter, if anyone wants it let me know. I created it to simplify gcode programming

here is the code in vb language but it is easy to move it to another language:
temp stores the gline code and converts it to gcode. cleaver use of the 'to' as a separate line
here is the language parser, simple and gline is simple to write!

TEMP = UCase(GCODE_TEMP(A)) 'MAKE ALL UPPER CASE
'FIND CODE LOOK FOR FIRST X AND FIRST Y
'GOES TO FIRST X AND Y THEN TURNS ON AND GOES TO SECOND
'CONVERTS FEW LINES INTO MANY, ALSO CHANGES MCODES WHEN NEEDED
TEMP = UCase(GCODE_TEMP(A)) 'MAKE ALL UPPER CASE
TEMP = Replace(TEMP, "GLINE", "M101" & vbCrLf & "G1 ", 1, -1)
TEMP = Replace(TEMP, "GLINE", "M101" & vbCrLf & "G1 ", 1, -1)
TEMP = Replace(TEMP, ",", " ", 1, -1) 'REMOVE WEIRD COMMAS
TEMP = Replace(TEMP, "TO", vbCrLf & "M103" & vbCrLf & "G1 ")
TEMP = Replace(TEMP, "SPEED", vbCrLf & "F", 1, -1)
TEMP = Replace(TEMP, "EXTRUSION", "M108 S", 1, -1)
TEMP = Replace(TEMP, "TEMP", "M104 S", 1, -1)
an error in my code m101 and m103 are backwards. it is fixed here:
I am still editing this code for accuracy...
A = 1

Do

TEMP = UCase(GCODE_TEMP(A)) 'MAKE ALL UPPER CASE
'FIND CODE LOOK FOR FIRST X AND FIRST Y
'GOES TO FIRST X AND Y THEN TURNS ON AND GOES TO SECOND
'CONVERTS FEW LINES INTO MANY, ALSO CHANGES MCODES WHEN NEEDED
TEMP = UCase(GCODE_TEMP(A)) 'MAKE ALL UPPER CASE
TEMP = Replace(TEMP, "GLINE", "M103" & vbCrLf & "G1 ", 1, -1)
TEMP = Replace(TEMP, ",", " ", 1, -1) 'REMOVE WIERD COMMAS
TEMP = Replace(TEMP, "TO", vbCrLf & "M101" & vbCrLf & "G1 ")
TEMP = Replace(TEMP, "SPEED", "F", 1, -1)
TEMP = Replace(TEMP, "EXTRUSION", "M108 S", 1, -1)
TEMP = Replace(TEMP, "TEMP", "M104 S", 1, -1)
Print #1, TEMP ' PRINTS GLINE TO CONVERTED TO GCODE
A = A + 1
Loop Until UCase(GCODE_TEMP(A)) = "END_OF_THIS" 'END STRING

an example of gline to make a square shows its simple power:
it only draws the line and its beginning is known and interpolated to second part
example:

GLINE SPEED400
GLINE EXTRUSION600
GLINE X1,Y1,Z1 TO X50, Y1,Z1
GLINE X50,Y1,Z1 TO X50, Y50,Z1
GLINE X1,Y1,Z1 TO X1,Y50,Z1
GLINE X50,Y1,Z1 TO X50, Y50,Z1


gcode created:
G21
G90
G28
M106
M222 1000
M101
M104 S247
M108 S400
M101
M103
M103
G1 F400
M103
G1 M108 S600
M103
G1 X1 Y1 Z1
M101
G1 X50 Y1 Z1
M103
G1 X50 Y1 Z1
M101
G1 X50 Y50 Z1
M103
G1 X1 Y1 Z1
M101
G1 X1 Y50 Z1
M103
G1 X50 Y1 Z1
M101
G1 X50 Y50 Z1
M103
G1 F100
M103
G1 M108 S100
M104 S220
End
--------------------------------------

other than needing to filter extra spaces for neetness the gocde works. testing it now. it make a square, turning off extruder when it is not needed. I know i don't need to do so much work for a square, but when you pass over at different degrees such as a right angle you can do so easily without thinking about it.

GLINE X1,Y1,Z1 TO X50, Y50,Z1

anyway it will make the tesing process work faster as I can see the gline method in my head and not worry about if extruder is on or off, or if z rate is changing.

what i had to deal with is that all moves are interpolated in g code, x,y,z. This is hard to program with , so now only the points between a line are interpolated. for example
x1 y100 z1
x100 y100 z1
x1 y100 z2 'this cause z to interpolate to 2, not go to 2
i would want extruder off in this case,
o rot do only 1 change at a time
x100 y100 z2
x1 y100 z2

for what its worth....
I Posted a few more videos. The test wizard is almost completed. Need speed of printer test and plastic internal stress test. I also found out something interesting. You can control tension of plastic by how thick the layer is to a previous layer. For example lay down a line .6mm wide .6mm high. Lay down another line on top of it starting with z at .58 ending z at .6. line will lift from bed, do another .6mm wide .6 mm high line and this time start z at .6 and end z at .58 the other line will fold up to just the opposite way.. It seems like a possible way to control internal stresses in plastic? I don't know, just an observation, along with layer thickness has a greater effect than chaning temperature on bonding of layers.
Re: designing a program setup wizard tool for reprap
November 23, 2009 09:16PM
James, would you like to write this up on the wiki?
I'll look at the wiki in a few days. I've been so busy with settings and setup of this application. I'm going to release a beta version by tomorrow. It is so people who are interested can try it out. The goal was to make it so someone who just built a reprap could build workable parts in just a day. The main way I due this is I characorize how an individual tool is, then translate that into the vast complexities of skienforge. I created a setup tool that has everything a beginner needs, without overwhelming them, I also created a setup wizard that I have created a setup wizard along with instructions so that finding what settings work for your printer is simple, and then there are only 3 knobs to play with. It is similar to how a print driver works in thinking. Got to go, but expect a 75mb file to download and a link to it posted here tomorrow. the beta only has draft mode created, as I am still figuring out flow settings for the normal and professional 3d prints modes. so the print modes are draft- fast and I mean 3-5 minutes prints! normal where you want speed and quality, and then professional the i don't care how long it take just print it perfect mode.
Re: designing a program setup wizard tool for reprap
November 29, 2009 04:50AM
Hi James, i have been following this with great interest, something along this lines is exactly what skeinforge needs. I had been talking about something similar a while ago, also taking cues from 2d printers (alignment wizard etc) but being no programmer I couldn't do anything with it smiling smiley So looking forward to the beta! Since you are a BfB Rapman user please post this on the Bfb forum too.
I will post this here and there too. I've ran into a little snag, I changed one setting and everything blew up on me. I actually had a variable value set in two places so 8hrs later it is fixed. another thing for example i enabled fillet by accident. this changes the rate and feeds for fill rate. so Never ever enable it!! smiling smiley another issue is with draft mode thickness. I had exceeded extruder speed of my printer, so I had to go back in and say well if extruder can't keep up then lower federate. I'm trying to compensate for various printer speeds and feeds.

so after the draft mode is finished - keep in mind this is a beta! - then I will recompile and verify the installation on a fresh pc, then post!
Ok, latest update. I am having trouble with printing on hot plastic over 10mm tall. I have successfully created the ability to print at different thicknesses from a print head while controlling extruder rate. I even successfully created a way for skeinforge to bridge those layers so that holes below are ok. However, I found out last night that objects over 10mm high with little support structure will fall sideways. This is due to molten plastic that has yet to cool, or also due to the thin base layer (the part i tested had less than 1/4 of its size on the bottom surface. Anyone try printing out for example the reprap diagonal-tie-rap.stl file? This object is printed with narrow side down, with widening layers up top. I am trying not to need to turn on support structures, or add much time with cooling. The answer may be to lower temp setting, but this is the tricky part. I would lower the temp to barely past transition point for it becoming a liquid.



If I base off of this temp, then the software I am creating will need to ask you to print a small test structure before each part, as outside temperature and humidity change cooling rate.

This is part of the problem. I need to know what the temp of the plastic would be when the plastic extrudes and is exposed to atmosphere. And that the equilibrium temp is above transitional temp. Or I need to run a set of print outs where a visual reference lets a person know what temp to run at. Does that make any sense to anyone?


I'm stuck trying to resolve this before I can release my 3d_simple software. This issue is with objects above 10mm high, or with less than 1/4 surface area touching at base. Below 10mm high draft mode is successfully working. I am printing out strong usable parts in less than 3 minutes. This is for draft mode settings only. I will post a video soon on this.

I need help with dealing with layers over 10mm. Any ideas on dealing with lying down on top of molten layers? Any ideas on how to avoid support structures?


I need some out of the box crazy ideas, such as for example, depositing layers with heater turning at the same time while printing.

Thanks
Re: designing a program setup wizard tool for reprap
December 01, 2009 06:37AM
I don't get a problem with height or the area contacting the base per se, but I do get problems with very small area layers such as the stem of a wine glass, or the very thin opto tabs on the Darwin: - [1.bp.blogspot.com]

Yout draft mode is probably much faster than the speed I use. There is always a limiting speed when layers get small where the heat is coming in faster than it dissipates. I slow down when the layer takes less than 10 seconds and I use a fan blowing on the object for some plastics.

A more sophisticated approach would work out the perimeter to area ratio and attempt to estimate how fast the layer will cool and limit the extrusion speed on each layer accordingly.

Not all extruders can operate slowly so in those cases it is necessary to pause between layers. That is less than ideal as it gives chance for dribble.

Edited 1 time(s). Last edit at 12/01/2009 07:43AM by nophead.


[www.hydraraptor.blogspot.com]
I run my reprap at 32mm/s max and max extruder speed is 200rpm. If the calculations for extrude speed are higher than the max settings for a machine, the feed rate is lowered to compensate.

as for drippy extruders, mine has about 10mm to 25mm drizzle when turned off.

i also have an algorithm that corrects for this. it looks at z rate of last 5 moves and takes the highest z, turns down extruder to not flow M108 s10, and then reverses tool direction for 5 steps, and then does the last 5 steps over, returning to last position, then running the m103 off, then what ever code was before. It is an effective wipe step. I can compile that as separate code if anyone is interested. For me so far it has been promising, but there is also rapman version 1.08 that reverses extruder when you turn off extruder. This setting works on more than just what the comb does in skein. i also use the comb settings.

I have been able to successfully change the extrusion size, and emulate or mimic a thicker nozzle for draft mode. i extrude 6 times more than normal, so my thickness is around 1mm or so. this is draft mode. the results are stunning, as you do 1 pass for perimeter, loops, and then just multipass the bridges at the bridging extrusion and speed (yes I also parse the gcode to add that in too.)

this would be a pain to do all this manually but the 3d simple software does it in 2 clicks, you click draft mode, then click print to gcode.

So for my problem above: I had problems with plastic warping on parts over 10mm in height size.


I have been using something I called a fast raft, and changed it today. That will help with bonding should there be a small surface area touching the baseplate. for example an upside down trianglesmiling smiley I also will try to find the minimum working temp where transition occurs for the abs plastic i am using. That means though, that I will need to have the user of the 3d_simple program run a sample test on the machine before using it. it would only take a few minutes but I would need an idea on humidity and room temp, for example i would show possibly 10 tubes each 15mm high and 5mm wide at several temps and ask the user what one printed ok.

What i need to know from whoever can, is what is the minimum temp that your plastic extrudes without problems, as friction becomes intense inside of a thick liquid, and I think but am not sure that there is a temp where plastic is melted but will not flow.

SO if anyone out there can tell me your plastic and what is the minimum temp it will flow and the max and min flow settings on your reprap. It will help shape the programming settings. thanks!


will upload another video soon showing a part printing. you will see some stunning things in the way the machine works. and how fast it gets the job done!


keep in mind the program is still changing. i want it to work on tall parts too!
Re: designing a program setup wizard tool for reprap
December 01, 2009 10:07AM
ABS softens at ~80C (glass transition) and it melts at 105C but I can't extrude it much less than 180C as it is too viscous.

To get a strond bond I find it needs to be at least 240C. Higher temperatures are even stronger but the plastic starts to go brown.

Yes if you extrude 1mm filament at 32mm/s that is about six times faster in terms of flow rate and hence heat going into the object. I think you will need a powerful fan and good insulation on the nozzle since you need the layer to have cooled from ~240C to below 80C before then next layer is extruded on top.


[www.hydraraptor.blogspot.com]
thanks for that info.


I have a video posted here:


it is work in progress. a part prints in about 3-5 minutes.

45% fill.
i need to fix my raft so that it is over start position, and recalibrate height of base plate, other than a few small things, the print turns out mostly ok. Well it is a usable part. I may fill it less as it cools faster. Quick note at end of video I show unfinished parts that bent over during print.

youtube [www.youtube.com]


The goal is make 3d printing easy by creating tools to calibrate software to a printer.

Working on the draft mode is so i can learn to control the printer. the idea is to have draft mode, normal mode, and presentation mode.
Sorry, only registered users may post in this forum.

Click here to login