Welcome! Log In Create A New Profile

Advanced

TeaCup EndStops - Why?

Posted by Architect 
TeaCup EndStops - Why?
March 31, 2011 01:57PM
All,
over the past few months there has been many posts about the how and whys and issues with ends stops. I'm still not satisfied with their intended purpose and implementation. i plan to completely remake my end stops both hardware and firmware implementation, but before I do I figured I'd put out this post and get others opinions and there actual usage of end stops.
here is my take on what I think so far.

1. end stops purpose is to
a.) stop runaway motors from crashing the print head into the hardware.
- either a really bad job or a mechanical malfunction.
b.) provide an accurate and repeatable home location when the machine is started, reset and finished with a print.
- programmatic and hard coded into the start up routines.

2.) end stop purposes are not for
a.) homing during a print.
- I don't know if anyone is really doing this but I have read some posts elsewhere where people have suggested they do this.
b.) checking position - ??
- is this even possible?
c.) setting a print head position during a print and allowing the print to continue.
- if your print goes out of the printable area then the print is corrupt and should be killed. I believe the print area should be soft coded in the config (which it is now selectable in teacup)

so I'm thinking of redesigning my end stops. there will be two sensors per MIN. the first will be an optical sensor which will be for crude "hey I'm close" sensing and ( somehow ) a kill switch to the steppers during a print. bellow that will be a pressure sensor. this will be used to adjust the exact position for calibration.

The reason I'm thinking this way is I have to currently set my Z axis when I start a job and my current z axis end stop needs adjustment each time I change tape on my bed or level my bed. therefore any changes to the bed and calibration needs retuning. I would like for this to be done automatically and accurately every time i turn on my machine and i believe this to be the true power of MIN end stops.

thoughts?

Architect ><,'>
Re: TeaCup EndStops - Why?
March 31, 2011 02:22PM
Yup I am with you 100% on this.

It is worth while highlighting that 1a and 1b are very different functions.

Some folk will tend to chose to do without 1a

It is not uncommon on commercial cnc machines to find them doing without 1a.

Some folk in the teacup group have reported problems with electrical noise on the end-stop lines that makes 1a difficult on their machines.

1b however is indispensable, It can take a while messing on to set up a machine. The min end-stops configured to home give you a repeatable set-up as good as you did it last time at the start of every job. This makes for much quicker turn around. Watch any commercial kit (Printers, Laser Cutters etc etc, they all do this for good reasons)

Of course if you change you mechanics of your machine you need to set the end stops again. But as you unset your machine you know you need to set it up again.

For me personally 2 is a complete waste of time. if position is lost your job is finished. If it is so badly lost that you have hit an end stop you are indeed in so much deep do-do that it is well past time your job was finished.

If you really want/need the items in 2 I would seriously consider using servo controlled axes and bin of the stepper motors (unless you have positional feedback on them, which no one does).


Necessity hopefully becomes the absentee parent of successfully invented children.
Re: TeaCup EndStops - Why?
March 31, 2011 02:58PM
Architect Wrote:
-------------------------------------------------------
> The reason I'm thinking this way is I have to
> currently set my Z axis when I start a job and my
> current z axis end stop needs adjustment each time
> I change tape on my bed or level my bed.
I set my endstop a bit too high (5-10mm), home to the endstop, and then start my print with setting the z-axis to the distance bewteen bed an head (e.g G92 Z5.7). Like this I don't have to mechanically adjust the end-stop.

> therefore any changes to the bed and calibration needs
> retuning. I would like for this to be done
> automatically and accurately every time i turn on
> my machine and i believe this to be the true power
> of MIN end stops.
>
> thoughts?

I don't see how you plan to automatically calibrate the z-axis.
Re: TeaCup EndStops - Why?
March 31, 2011 03:37PM
Why not use a Z prob attached to the print head so that when it is .2mm from the bed regardless of where it is on the lead screws it will stop. You will never need to adjust the end stops again, you can use a 25mm thick bed or a 6mm thick bed and it does not matter. Plus no need to ever change any settings in the config.
Re: TeaCup EndStops - Why?
March 31, 2011 04:06PM
what is a Z prob?
and are you currently using one on something?

Edited 1 time(s). Last edit at 03/31/2011 04:07PM by Architect.
Re: TeaCup EndStops - Why?
March 31, 2011 04:10PM
I meant Z probe but it basically an endstop attached to a stick. Check out this one on thingiverse for makerbots, [www.thingiverse.com] it uses a servo to get the probe out of the way when not being used but you could easily do that manually with a leaver as you only use it at the very beginning of each build.
Re: TeaCup EndStops - Why?
March 31, 2011 04:15PM
I think Marcus meant to type "probe", but finger dyslexia got the better of him.

I do it often.

I have encountered commercial CNC machinery that had a ground wire connected to the machine and used a probe that triggered when it touched ground. this was all metal machinery for working lumps of metal into something useful.

However.

There are potential benefits to permanently grounding the extruder and temporarily slipping a piece of foil connected to a digital input which is pulled high under the tool head on top of the build platform. As a quick easy way to calibrate the Z.

At the moment I mess with the Z min end-stop using a piece of paper as a feeler guage between the nozzle tip and the bed.

A bit low tech but it it works.

Once adjusted I can do

G161 X0 Y0 Z0

and everything sets up ready for the next job.


Necessity hopefully becomes the absentee parent of successfully invented children.
Re: TeaCup EndStops - Why?
March 31, 2011 04:20PM
LOL you must have eye dyslexia I wrote that not Markus. hahahaha
Re: TeaCup EndStops - Why?
March 31, 2011 04:50PM
Sublime: Good thought. It might work even better to connect a probe to an end of the X axis such that it's barely over the print bed. A probe connected to the print head itself might catch on the print. Unless, of course, you can make the print head itself the probe. Either electrically connected to the print bed (undesirable, as neither blue printers tape or kapton conduct electricity) or mechanically. I saw a great design for a cheap yet accurate touch probe around here somewhere... I wonder if that could be adapted to use the print head? How much force does that thing need to resist anyway? Maybe a strain gauge?

Markus: Took me two looks to figure out what you where saying. "G92 Z5.7" sets the Z axis position to 5.7mm, regardless of where it really is and without moving the head. Thus when the print actually starts, the head moves to "0" which is 5.7mm down from where it is now.

That'll only work if 2b isn't enabled though!

Architect: 2b is a subset of 2a. If you're skipping steps, but only a few and only sometimes, you can fix it by invoking 2a. If the firmware also reports error amount, you've got 2b covered too. That's obviously something of a kludge, as it's using software to cover up the errors in hardware. It could be useful for debugging and "just getting it working" though. I would like to have this functionality, mostly because I don't know that I don't need it. (Not having a working machine stinks, I should work on it today.)

I'm not sure what you mean by 2c. Sounds like G92? It's a good question though. It sounds like what your saying is "Software endstops should be enabled in the firmware. If the firmware detects a movement command outside of the known build area envelope, it should abort with an error, turn heaters off, and refuse to do anything at all until reset."

Which sounds like a reasonable failure mode to me. Though care should be taken about queued commands - if they're aborted, an otherwise good print could be missing the last few print roads, simply due to a "eject parts" sequence that's meant to hit the endstops. Also make sure the firmware is tracking real head position rather than position relative to (0,0,0) which can be changed with a G92 command.


--
I'm building it with Baling Wire
Re: TeaCup EndStops - Why?
March 31, 2011 06:10PM
yay conversation. all good points.
in thinking about macus' question " how to autocalibrate Z-axis" I have a presure sensor that I picked up just cuz.. :-)
its here on sparkfun presure sensor there are others too if this one is not sensitive enough.
the plan, mount this to my bed in a corner just reachable by the print head. in the bottm x and y corner. when the x & y endstops trigger lower the print head till the z opto triggers. then slowly lower till presure is sensed on the pad. from there raise .25mm till no presure sensed. zero all counters. +1 X +1 Y, ready to print. this would be done with the homing command and each time the system is reset.

no other interaction of endstops other then perhaps an interupt from any of the optos killing all codes in the buffer and sending a kill to the host. whatever that might be. Have not seen anything like a error code from firmware to host stopping a job. does anyone know of any other firmware or hosts that handle soemthing like that. there doesn't at the moment seem to be much interaction between the firmware and host. antoher thing I would like to know is if anyone is using M109 in there gcodes. orbiting for 5 minutes hoping the heater reaches temp is a reallly lame way to wai for the heater to get it temp.
Re: TeaCup EndStops - Why?
March 31, 2011 06:28PM
@jgilmore
Having it at the side of the X axis makes a lot of sense and definitely makes it easy to implement. The only problem I see is my build plate does not cover my entire bed (sheet of glass clamped to the bed), the glass is the same size as the print area. So having it on a servo or manual cam near the head may still be better in some cases.

@Architect
If you are willing to take up space on your build platform within the usable build area for a pressure senor why not do as aka47 suggested and just put a metal contact on the bed that the head grounds to on contact.

Edited 1 time(s). Last edit at 03/31/2011 06:32PM by Sublime.
Re: TeaCup EndStops - Why?
April 01, 2011 03:30AM
From my perspective, 1) is right, and all of 2) is included if you've got 1).

Recovering a bad print usually requires manual interaction and there's no reason not to home X and Y while there are a few layers on the bed already. I have such situations sometimes, rarely, for various reasons, e.g. a serial line hangup, some dirt on the sliders ... you never know which surprise your RepRap presents you next smiling smiley

From the coding perspective, about everything is there already. The G-Code processing stuff is in all branches (G28, G92, G162, G162) and should work - I use it myself without local tweaks. Endstop handling is in the "endstop" branch, ready to be tested. Please go ahead with a simple "git checkout endstop && make program" and look what happens *couch*


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: TeaCup EndStops - Why?
April 03, 2011 09:48PM
There is an argument that says if you are wanting to check your position regularly when using stepper positioners you need a third pickup/sensor in the middle of your axis and that your build should always be centered in your build space.

This will mean that you can check the position that you pass the sensor every time you go past it.

There is also the option of being able to correct for a loss of steps and therefore position automatically at each pass.

If you have dropped steps etc then you will pass the center sensor at a different step count and can flag an error.

Where you rely solely on the extremes of travel (min & max), your build will have gone so badly wrong before you trigger them that recovery is impossible..........

This is a subject done to death a bit in previous forum discussions on Servo Positioners (pessimistic positioning) versus Stepper Positioners (optimistic positioning). A long time ago.

Probably worth a read if you have a lifetime or two to spare, or want to loose the will to live.


On touch probes

[reprap.org]

Is something I contributed a little while ago.


Necessity hopefully becomes the absentee parent of successfully invented children.
Re: TeaCup EndStops - Why?
April 04, 2011 06:25PM
Looks like nophead may have a useful way of doing the Z axis calibration. Low tech but works.

[hydraraptor.blogspot.com]


Necessity hopefully becomes the absentee parent of successfully invented children.
Re: TeaCup EndStops - Why?
April 04, 2011 07:22PM
Ha, and here I thought I'd read everyone of his blogs. I like it but the more I think about it the more I think I'm going to use his other ideas and break out homing to a separate all in one routine and use the end stops for just that. then I'm gonna initiate the soft build volume checks I think thats already done. from there, I'm thinking that i might put the pressure sensor right next to the notch on the platform. i will never print there. if I can get a .01mm repeatable accuracy I'll be happy for now.
Sorry, only registered users may post in this forum.

Click here to login