Welcome! Log In Create A New Profile

Advanced

Is openDACT best option for Delta auto-calibration? If not, which one?

Posted by realthor 
Is openDACT best option for Delta auto-calibration? If not, which one?
December 02, 2015 06:21AM
Hello, I have been researching a bit for the most suitable/easy delta auto-calibration that we have atm and OpenDACT Delta Automatic Calibration Tool by RollieRowland looks among the best to me at least. But I am very inexperienced with 3D printers in general let alone Deltas so that's why I ask here.

I am looking for the following:
- temporary probe, snap-on mount on the end effector; Q: where do I define the offsets or the position of the probe in relation to the delta (to the nozzle?/ to the towers?)
- auto-calibration that can take a Delta from "right after transport"-state (might be very uncalibrated and I've seen auto-calibrations like it to be within certain values); I don't care much about if I need to have 200 iterations, I will do it once in a while

Q: does auto-calibration routines save the end-values straight to EEPROM or do we have to manually take their output and put it in EEPROM via G-commands?
Q: how does a firmware installed on the delta's board react with the EEPROM settings? Does it ever change them? Overwrite them?


RepRap Lander concept on Concept Forge
RepRap Lander concept on RepRap Forums
My Things, mostly experimental stuff
Re: Is openDACT best option for Delta auto-calibration? If not, which one?
December 02, 2015 10:57AM
If you use printer electronics running RepRapFirmware, then least-squares auto calibration is built into the firmware. It needs only one iteration of bed probing if your height errors are less than about 0.5mm, or two or three if they are more than that. So it's common to run a single iteration of bed probing every time the machine is turned on, or whenever the print bed is swapped. The calibration is optimal in the sense that is minimises the sum of the squares of the height errors at all the probe points. You can use up to 16 points and they can be anywhere you like on the bed, although obviously you should choose points that give good coverage of all areas of the bed.

One thing you need to be very careful of when choosing or positioning a height sensor is that on a delta printer, it is very hard to avoid the effector tilting slightly as it translates. If your Z probe is offset horizontally from the sensor, then this tilt will change the relative heights of the probe and the nozzle, giving rise to probing errors. So you need to minimise the tilt, and place the probe as close to the nozzle as you can. Or use the nozzle itself as the probe, which is what FSR solutions do. In RepRapFirmware, you can correct for any residual height error on a per-point basis if necessary.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Is openDACT best option for Delta auto-calibration? If not, which one?
December 02, 2015 11:51AM
realthor, I am very active on the SeeMeCNC forum and I've tried/used literally everything out there for calibrating my deltas (I have 6 deltas at last count including a Rostock Max and various Kossel derivatives). I even wrote a gcode postprocessor that remapped the Z heights using Barrycentric interpolation of a set of triangles generated from bed probes. This wasn't for calibration but rather for compensation and works very well.

Here's what I've learned from my delta calibration research and usage:

  1. I've never had luck with the Marlin firmware with delta autocal. I've tried these with both a microswitch Z probe and FSRs under the bed with no success.
  2. Pilot626 on the SeeMeCNC forum developed a really nice heuristic autocal for deltas on Smoothieware. I moved a couple of my machines to Smoothieboards to take advantage of it. I've also contributed to the Smoothie source (the TemperatureSwitch module). The issue with this autocal is that the current Smoothieboard does not have enough memory to run the firmware with the autocal, LCD and ethernet support at the same time. So I was constantly reflashing firmware to go back and forth. Once you have autcal working, you'll find that you want to use it often to keep things highly tuned. These machines do change with environmental conditions (temperature and humidity).
  3. When I learned of dc42's autocal in RepRapFirmware (his branch) on the Duet, I ported 1 machine to that. It works fantastically. One pass (13 points) on my Rostock or Kossel250 takes less than 30 seconds and the results are excellent. I now run autocall at the start of each print when I'm printing heavily (I manufacture and sell a 3D printed fly fishing reel so near perfection is required). I am now migrating all my printers to Duets and the dc42 fork.
  4. Finally, a comment on probes. I've tried the Kossel microswitch and various other early probes. The issue with them is the offset from the nozzle tip. On a delta, I assert that probing at the nozzle tip is essential - or at least gives much better results (as David aka dc42 describes above). When Johann reported his first FSR (force sensitive resistor) usage on a mini Kossel I was hooked. I did a fair amount of experimenting with FSRs with mixed results. But, when the JohnSL board that interfaces the 3 FSRs, provides some sensitivity adjustment, and makes them look like a normal endstop switch to the hardware & firmware became available, that changed. I now have the JohnSL and FSRs on all of my deltas and just completed a 3-point system using them on a Taz 4 Cartesian printer. They all work great. David warned me that there might be a bit of height error on the probe points with FSRs as they require force to trigger. I have not observed this but I think it's because my heated beds are all very rigid and there is "no" mechanical slop in my FSR mounting system (which you can find on the SeeMeCNC forum). I have PEI surface on borosilicate glass on 1/8" (~3mm) aluminum (for heat dissipation) on a 3/8" (~9.5mm) melamine "snowflake" for insulation and stiffness. I have not tried David's IR sensor yet.
  5. I've also contributed to and worked with Rollie on the openDACT calibration. It is a work in progress and currently only works with Repetier firmware. I have not been active with it for the last month or two and prior to that I really did not have success with getting it to work. I had done a Mac OSX port of the source too. I think if it can be made to work and output results to various formats to support Repetier, Marlin, Smoothie and even RepRapFirmware it will be a good option for initial calibration. It will not be good for frequent "touch ups" like I do before every print.

By the way, I wrote a Python script to automatically generate the gcode for the bed.g file for the probing points. I posted it on the SeeMeCNC forum. David, I keep forgetting to send you a copy.

Hope this helps! The search for delta autocal is much like the Quest for the Holy Grail! But I've found the Grail in the RepRapFirmware dc42 branch.


Cheers,
Michael

Edited 1 time(s). Last edit at 12/02/2015 11:59AM by mhackney.


[sublimelayers.blogspot.com]

A strategy for Successful (and Great) Prints [forum.seemecnc.com]
Strategies for Resolving Print Artifacts [forum.seemecnc.com]

[www.EclecticAngler.com]
Re: Is openDACT best option for Delta auto-calibration? If not, which one?
December 02, 2015 11:56AM
RepRap Firmware runs only on the Duet, so not yet, I don't have Duet yet. BTW is RepRap Firmware going to support more boards in the near future? Because it is really presented as the next thing in 3D printers boards firmwares. Just there along with Smoothieware.

What about the mere mortals that still have their Megas and Rampses running their rusty printers? smiling smiley

I was asking about openDACT because it seems to be independent of the firmware. I don't know precisely if this is the case but it seems to do its thing and then writes the values to the EEPROM. You just give it the printer's connection data (COM port etc) and let it do its thing. Seems very convenient.

Regarding the probe yes dc42 you are right, just did some more reading about that and using a probe just below the nozzle is the way to go. There are so many thingiverse designs for that, most that are detachable are clamping to the alu heating block. I wonder where does one connect the switch to on the board. Are there enough receiving connectors on the board for that? I would use the nozzle tip and a closed 5V loop to close the circuit when the nozzle touches the ALU plate but I think I need to go the beaten route for now. I am too new to this delta thing.

I don't mind 100 iterations I just need something to do the calibration. I don't even require industrial precision. My calibration will be as good as the printer is. I would do it myself manually if I would understand what list of parameters need to be measured. Are those in EEPROM the ones? Does the auto-calibration do the same thing, probing for the best values to put in EEPROM? I have watched a few long videos about Delta calibration but it is disconcertingsmiling smiley ... Maybe I need to let the new data settle in my brain.

@Michael: thanks for the response, I was writing the post so didn't see yours untiI I saved it. You are right of course and I would go the duet way myself if I wouldn't hold my horses yet. I have just purchased a DreamMaker Overlord Pro from a guy that sold it after it finally arrived to him. He already bought another one in the meantime. It is far from perfect many things don't work, especially the firmware is not so stellar to be mild. I've opened a thread for that in this same forum.

Right now I am trying to make it work and print decent quality for my other projects. There is effort to port the Mega-based board and LCD and SD shieldetc to Repetier, hence my interest in auto-calibration and repetier and this other side of the 3D printing arena.

Edited 2 time(s). Last edit at 12/02/2015 12:09PM by realthor.


RepRap Lander concept on Concept Forge
RepRap Lander concept on RepRap Forums
My Things, mostly experimental stuff
Re: Is openDACT best option for Delta auto-calibration? If not, which one?
December 02, 2015 12:05PM
Realthor, this is a great place to start if you want to learn to do it manually: [minow.blogspot.com.au]

Many of us starting in the early days had to do it the old fashioned way. This guide uses Marlin firmware but it's easy to map to Repetier.


[sublimelayers.blogspot.com]

A strategy for Successful (and Great) Prints [forum.seemecnc.com]
Strategies for Resolving Print Artifacts [forum.seemecnc.com]

[www.EclecticAngler.com]
Re: Is openDACT best option for Delta auto-calibration? If not, which one?
December 02, 2015 12:20PM
Help me understand one thing: the g-code commands that the Repetier Host is sending to the printer have to be understood by the board's own firmware right? So if the board's firmware doesn't have many of the g-code commands implemented, that modern open source firmwares have, sending those gcodes will do nothing right? I ask this because I've found an issue with one of the printer's motors and somehow I fried two endstops [EDIT:] stepper drivers in the troubleshooting process ... smiling smiley so I can't test it myself.

That's why Repetier Host is best used when there is the Repetier Firmware on the printer's board right?

How can one use Repetier Host to calibrate a printer that has Marlin or maybe other flavour of firmware? They have to be compatible somehow.

Edited 3 time(s). Last edit at 12/03/2015 04:59PM by realthor.


RepRap Lander concept on Concept Forge
RepRap Lander concept on RepRap Forums
My Things, mostly experimental stuff
Re: Is openDACT best option for Delta auto-calibration? If not, which one?
December 02, 2015 12:47PM
Yes, the firmware needs to know how to interpret the gcode that is being sent to it. The gcode is created by your SLICER. The host (Repetier Host, Prontorface, etc) simply transmit the gcode to the printer controller/firmware. I can't think of a situation where the common slicers (Slic3r, Cura, MatterSlice, KISS) generate gcode that the common firmwares (Marlin, Repetier, Smoothieware, RepRapPro) can't understand.

Check out this: [reprap.org]

It lists all of the current g and m codes and tells which firmware supports them. In general, sending an unsupported g or m code does nothing.

I don't understand how you fried endstops - where they optical endstops?

There is absolutely no reason that Repetier Host is best used with Repetier firmware EXCEPT for the convenience of setting the EEPROM.

The current host applications do not do the calibration. That is either done in the firmware (RepRapPro or Smoothie and presumably Marlin) by sending the appropriate calibration gcode (see link above) or, in the case of openDACT, it acts like a simple host to instruct the printer to probe various points (using standard probing gcode) and then IT performs the calibration calculations and then sets the EEPROM values to what it's calculated. Currently, openDACT ONLY supports Repetier firmware.

You can use Repetier host to calibrate with Marlin firmware if the Marlin firmware supports the calibration. There are - I understand - flavors of Marlin out there that support some form of delta calibration. I gave up on it a year ago as I could never get it to work. But, lets assume you use Repetier Host to connect to a printer running David's branch of RepRapFirmware (which I do all the time), you simply send a G32 and the calibration is performed. It's the firmware that knows how to do the calibration in this example.


[sublimelayers.blogspot.com]

A strategy for Successful (and Great) Prints [forum.seemecnc.com]
Strategies for Resolving Print Artifacts [forum.seemecnc.com]

[www.EclecticAngler.com]
Re: Is openDACT best option for Delta auto-calibration? If not, which one?
December 02, 2015 01:03PM
If your firmware does not support auto-calibration but supports single point probe and you are not afraid of a bit of math then you can use this:
[forums.reprap.org]
[forums.reprap.org]
[forums.reprap.org]
Re: Is openDACT best option for Delta auto-calibration? If not, which one?
December 02, 2015 01:12PM
Quote
mhackney
By the way, I wrote a Python script to automatically generate the gcode for the bed.g file for the probing points. I posted it on the SeeMeCNC forum. David, I keep forgetting to send you a copy.

Also at [reprap.org] I added a link to a spreadsheet that generates the G30 commands for bed.g, given the radius you want to probe.

Quote
realthor
RepRap Firmware runs only on the Duet, so not yet, I don't have Duet yet. BTW is RepRap Firmware going to support more boards in the near future?

RRF is already available for RADDS and Alligator as well as Duet. Duet provides a web interface with fast file upload to the SD card. RADDS doesn't have the web interface, but gives you the option of the RAPS128 1/128 microstepping drivers.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Is openDACT best option for Delta auto-calibration? If not, which one?
December 02, 2015 02:10PM
Quote
mhackney
I don't understand how you fried endstops - where they optical endstops?

I actually fried two stepper drivers not the endstops. I am copy pasting what I've written about it at dreammaker.cc forums so that I don't explain again from the top of my head. It might be even something totally different but this is how I saw it. By the way, because i don't think you know about this, the Dreammaker Overlord's startup noise sounds like this but much worse in person, not much louder but more painful if you could imagine that: Dreammaker Overlord Pro startup noise

Quote
Troubleshooting noisy startup of the Overlord Pro
Hi guys, I have traced today the source of the terrible noise at startup/auto-calibration. This is about the same exact noise you see in all owner videos on youtube that show the auto-calibration routine (ex: [www.youtube.com] ... u.be&t=209).

While running the auto-calibration I noticed that the noise came more from one of the towers, didn't know which one was that. I did this over and over until I was certain that the noise is originating in one of the three towers. I turned the printer upside down, got the plastic off the bottom and watched/listened to the motors. The Z motor was the one driving the noisy tower.

Please don't do the following at home, I have burned two steppers in the process. I then disconnected the battery and the power source and moved by hand the Z motor up and down. Terribly noisy. The same noise you hear while it is operating.

I tried to figure if there was something different in the mechanical arrangement of that axis, pulleys, belts, tension. Everything was quite the same. Then I jogged by hand the other axes and that sound wasn't happening. The next thing I disconnected the motor from the board (took out the motor plug/connector - it is very nice to have the plugs/connectors on the motors themselves). I could have also taken out the plug on the board. Surprise surprise the sound was no more there, the carriage was sliding quietly. I then switched between them the connectors of X,Y and Z on the board to rule out stepper drivers and still the Z motor was making the noise.

I think that the problem is somewhere in this motor. There must be friction between the stator and the rotor while it gets powered (by the board) or generates (while manually jogging the carriage) its own power. The sound is worse in reality then you get from youtube videos.

Unfortunately I fried 2 steppers in the process, maybe the power generated while manually jogging the carriages up and down was too much for them to handle.

Interestingly enough, one of the stepper drivers was not the original DFRobot A4988 driver. Apparently the previous owner tried to do some troubleshooting too but he didn't get the right axis and he gave up selling the thing. The two original drivers (DFRobot A4988) are not working anymore. I powered again the board and there was nothing happening, no OLED display turning on, nothing. I almost shit my pants. But after 10minutes of personal cooldown I took it step by step and after taking all the stepper drivers off the think started. Oh what joy. Now I plugged one by one the stepper drivers and yeah, both X and Z were causing the board to remain powered off. I think this must be some feature of the board to prevent the other two axes to move the effector if one motor is not capable of moving its axis.

I find it interesting that the original stepper drivers gave in so quickly while the other stepper (one that looks just like this one: [www.dx.com]) didn't take the nose dive. This speaks maybe about some quality issues of the original drivers?

Ok, last interesting thing is that all these drivers have voltage control pots. I read that it is impossible to modify the current that goes into the motors because the stepper drivers of Overlords don't have pots. It might be that my DMO Pro Black Devil edition could be different from others? I don't know. But it was bad enough that I had to replace a motor, now I have to replace two stepper drivers too sad smiley

I will make some more tests with another motor (that I already have) and some steppers that a friend will bring over. Hopefully I will not burn anything else and will prove if the motor was faulty after all. If that proves true, i think I will have to replace all motors so all are exactly the same.


I personally can barely believe that jogging by hand the carriages of each tower to chase the noisy one can damage a stepper driver. Can too much auto-generated current that the motor is feeding backwards to the stepper driver while I manually lift/lower the carriage damage the stepper drivers? I don't know what else to think other that they are not working properly anymore since the board doesn't power on when they are plugged in.

Oh and I installed them the right way, with the pots in the same direction as they were from the beginning. They were arranged in such a way that the X,Y and Z were having the pots pointing in one direction and the extruder was having the pot pointing in the other direction.

Edit1: oh it is possible to damage the board actually (!?)
From the datasheet drv8825 PDF (I have A4988 but these have even less protection then the up-to-2.5A drv8825)
"It is NOT recommended to turn the stepper motor while connected to the electronics. While turning the stepper motor, large voltages may be emitted through the VMOT pin, which can damage the electronics."

Edit2: I am yet to try to use it again with replacement drivers but If the drivers are damaged, as suspected, I might have been lucky that they took the hit and not the board itself. I have found this comments -which I can't approve or disprove, they just match my sad experience-:

"I learned the hard way that moving an axis manually (powered off) not only acts as a generator, you can actually destroy the stepper drivers with the current generated."

Many reports of boards being powered up when an axis is run by hand too fast, especially Z axis with screws where the high resolution turns into high generation power when you push it the other way. And I was kind of trying to match the sound that i would have heard when it was running the auto-calibration routine, going from Zmax to Z min in a speedy fashion, creating a terrible noise as you can check in the video I've linked in the first post.

Again, from User Manual_FELIX_3_0_V10.pdf:
"!!Never move the axis at a high rate by hand, because the motors could act like a generator (similar to your bicycle and potentially damage the electronics of the board.)!!"


Thanks for our input.

Edited 8 time(s). Last edit at 12/02/2015 06:32PM by realthor.


RepRap Lander concept on Concept Forge
RepRap Lander concept on RepRap Forums
My Things, mostly experimental stuff
Re: Is openDACT best option for Delta auto-calibration? If not, which one?
December 03, 2015 04:44AM
Is there any AC-tool out there that corrects "leaning towers" on a Delta?
-Olaf
Re: Is openDACT best option for Delta auto-calibration? If not, which one?
December 03, 2015 06:54AM
No. But it can be done.
Re: Is openDACT best option for Delta auto-calibration? If not, which one?
December 03, 2015 01:10PM
To a first approximation, leaning towers can be corrected by moving the tower positions during auto calibration. It worked well enough for me when I had a delta with leaning towers. But it is only an approximation.

Handling leaning towers in the firmware would be cpu-intensive, and you would need a large number of probe points to auto calibrate them.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Is openDACT best option for Delta auto-calibration? If not, which one?
December 03, 2015 01:27PM
How do recognize leaning towers?


RepRap Lander concept on Concept Forge
RepRap Lander concept on RepRap Forums
My Things, mostly experimental stuff
Re: Is openDACT best option for Delta auto-calibration? If not, which one?
December 03, 2015 02:31PM
Quote
realthor
How do recognize leaning towers?

Put a carpenter's square on the bed.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Is openDACT best option for Delta auto-calibration? If not, which one?
December 03, 2015 05:07PM
Quote
dc42
Quote
realthor
How do recognize leaning towers?

Put a carpenter's square on the bed.

Of course that is the deviation from the vertical that you can easily see. I was talking about the deviation that you can't really see. There are several parameters that I can think of that aren't as easy to spot. What if you don't have a printer-tall carpenter's square, how do you know what is your deviation along the whole length of each axis? Then this deviation can be in several vertical planes I would think.How can you account for that?

Then if linear rods are prone to bowing while heavy carriages ride along them on Cartesian printers I would expect 1.5m alu extrusions to have some sort of flex/bow while the effector if pushed/pulled away/towards it. Morevover, the Rostocks have 1m+ long linear rods. Are these insignificant parameters that can be ignored?

There are maybe countless more parameters that affect the Delta accuracy that I can't imagine and haven't read yet about. I had a nice read at: http://boim.com/DeltaUtil/CalDoc/Calibration.html.

http://minow.blogspot.com.au/ was a nice read and I dare to ask you the experienced delta makers and firmware writers suggest more such curated resources because I am already wasting too much time with useless youtube videos on calibration and maybe poorly written or even worse, confusing, tutorials. I think that a list of such links should be kept somewhere that will take the novice from easy explanations to complex documentation on delta kinematics and calibration. Going all over the place in one's search to accumulate enough initial data to be able to work with can work against him.

Thanks.

Edited 2 time(s). Last edit at 12/03/2015 05:09PM by realthor.


RepRap Lander concept on Concept Forge
RepRap Lander concept on RepRap Forums
My Things, mostly experimental stuff
Re: Is openDACT best option for Delta auto-calibration? If not, which one?
December 03, 2015 08:16PM
Quote
realthor
Morevover, the Rostocks have 1m+ long linear rods. Are these insignificant parameters that can be ignored?
Clasiccal, old style Rostock with Ø 8 mm smooth rods has free smooth rod length about 73 cm and the maximum dynamic bending error with 42 Ncm stepper motors is about 0.2 mm. Static bending errors should be negligible (rods are vertical and platform weight by itself is small).
Obviously one should use at least Ø 12 mm smooth rods if the maximum accelerations are going to be used.
Re: Is openDACT best option for Delta auto-calibration? If not, which one?
December 05, 2015 04:12PM
To answer the original question, I have a Kossel Mini, with fsrs from ultibots which have the additional module to smooth and amalgamate the signal to be connected to the z min endstop. I use Rich Cattell's marlin and the auto calibration works really well. I have eeprom enabled and just send m500 to save afterwards. I believe writing a new firmware clears the eeprom but I'm not 100% on that as I always runs a fresh calibration afterwards taking usually 5-7 iterations.

I generally repeat the calibration if when using g29 to auto level, which I do before each print, there are heavy nozzle contacts with the bed. This generally indicates the calibration has drifted over time or something has moved. If the autocalibration is taking a lot of iterations then something is loose.

I'm tempted to move to a 32bit controller, but my ramps 1.4 works, I don't get any big problems with stuttering and I'm not trying to print at crazy speeds. Its filament control I wrestle with and currently I'm using a flying extruder to shorten the bowden tube which is working well, apart from the cold weather causing hot end blockages.
Sorry, only registered users may post in this forum.

Click here to login