Endstop behaviour in Pronterface + some build thoughts

Topics Related to the ORD Bot Printer

Endstop behaviour in Pronterface + some build thoughts

Postby rocketwiz » Wed Jan 02, 2013 11:12 am

Finally got to the stage of testing the end stops. It's taken a while to set this up mechanically, especially trying to true up all the axes.

Just a few quick thoughts on building the ord bot before I get to my question which hopefully will help new builders. Most of the build was relatively painless by following the assembly pages of the wiki. I will say that the alternative method for assembling the Z gantry is a better way to ensure all the axes are perpendicular to each other.

Then I got the to the z axis drive. Luckily my threaded rods were fairly but not perfectly straight, and I had a lot of difficulty in ensuring everything was lined up straight. My first attempt ended up stalling the motors as the rod just jammed at one point. Also the holes in the coupler are just slightly larger than the rods and therefore when the set screws are tightened the rods can end up out of whack.

And the rods don't really hang straight down when threaded into the nut blocks, which made the usual method of lining up the rods above the steppers pretty difficult. This worked for me: first I wrapped a single layer of kapton around each rod end, insert into the coupler and then fiddle with it while tightening the set screws to ensure that the rods rotate as true as possible (at this stage it was all hooked up to power to turn the steppers). The final stage was to line up the nut blocks (already threaded onto the rods) with the carriage plate holes (moving the stepper location if required), lightly bolt everything down and run the steppers to align all the bits and then tighten down (per Bart's instructions).

As I was using only 3 limit switches I disabled the max position endstops in Marlin (pins.h) by changing the relevant pin assignments to -1. Change this: #define X_MAX_PIN -1 and the same for Y and Z. For some reason the code refused to compile when I changed the max z endstop pin assignment (I was using arduino v1.01, updated to 1.03 but no go either - finally went back to v1.0 and then it compiled). Also the limit switch behaviour needed to be changed in configuration.h as I was using the switches in NC configuration (I wasn't about to rewire the switches) - change this: const bool X_ENDSTOPS_INVERTING = false and similarly for Y and Z. If you use NC endstops you will need to disable the max endstop positions (or short out the endstop input pins on the ramps board) otherwise Marlin will always read the status of these endstops as triggered.

At this stage I still have to test/calibrate the extruder and install the heated bed.

But first a quick question on endstop behaviour. I'm only testing the z axis at the moment but it looks like when the endstop is triggered, the steppers will stop and reverse about a quarter turn. How do you then reposition the extruder at the point when the endstop is triggered to get to 0,0,0?
rocketwiz
 
Posts: 43
Joined: Wed Dec 26, 2012 6:25 am

Re: Endstop behaviour in Pronterface + some build thoughts

Postby cvoinescu » Wed Jan 02, 2013 12:32 pm

Does what you described happen during homing, or when the switch is triggered unexpectedly? I'm asking because it is the correct behavior for homing: the machine moves until it presses the switch, then reverses slowly until the switch is no longer pressed, and that is the home position (zero on that axis, unless you've configured Marlin otherwise).

As an aside, some firmwares (and LinuxCNC) have the option of homing on either the break point of the switch (like Marlin) or on the make point. The latter gives a tiny bit of extra travel and, more importantly, avoids traveling beyond the home position during homing (which may destroy the nozzle, for instance). The downside is that the homing switch can't also be used as a limit switch without an offset, or it risks being triggered during normal operation.
cvoinescu
 
Posts: 501
Joined: Thu Aug 09, 2012 9:12 am
Location: Camberley, Surrey, UK

Re: Endstop behaviour in Pronterface + some build thoughts

Postby fma » Wed Jan 02, 2013 12:55 pm

One solution is tu use an optical endstop for Z axis; it is much more accurate than a standard switch...

BTW, do you rely on the endswitch for the Z home position? I always check and make it by hand after each print, as I remove the glass to unstick the printed parts... So the Z position change a little bit before and after.
Frédéric
fma
 
Posts: 213
Joined: Mon Aug 20, 2012 7:53 am

Re: Endstop behaviour in Pronterface + some build thoughts

Postby rocketwiz » Wed Jan 02, 2013 2:02 pm

Yes all the limit switches double as home endstops. Covoinescu, what I described is what happens when I click on the z home button in pronterface and then trigger the limit switch manually.

But I'm still not entirely sure how z homing is meant to be set up. If I understand it correctly I should position the home/limit switch stop to close to where the extruder would meet the bed (at the bottom end of the the gantry). Then, when homing, the z axis will hit the stop before it crashes into the print bed and then reverse slightly. I was under the impression that the extruder head should then move downwards again to meet the bed (or rather just above it). If not, how do I then get the extruder head to position itself to start printing without again triggering the end stop? I'm sure I must be missing something here as I can't find any settings in software.

fma - once I get this all done I'll put together a hall effect switch (as I have some sensors I was going to use for another project) to replace the z microswitch I'm using at the moment.
rocketwiz
 
Posts: 43
Joined: Wed Dec 26, 2012 6:25 am

Re: Endstop behaviour in Pronterface + some build thoughts

Postby rocketwiz » Wed Jan 02, 2013 2:23 pm

Sorry my bad guys. When testing I forgot to release the microswitch. So the axis does actually hit the stop, reverse, release the switch, moves forward again (more slowly) until it hits the end stop a second time and then stop. But I'm still not sure how to adjust the stop so precisely such that the extruder is exactly positioned ready for printing (short of making one of those end stop adjustment knobs on thingiverse).
rocketwiz
 
Posts: 43
Joined: Wed Dec 26, 2012 6:25 am

Re: Endstop behaviour in Pronterface + some build thoughts

Postby cvoinescu » Wed Jan 02, 2013 2:44 pm

rocketwiz wrote:But I'm still not sure how to adjust the stop so precisely such that the extruder is exactly positioned ready for printing (short of making one of those end stop adjustment knobs on thingiverse).


That's precisely why the endstop adjustment knobs exist on Thingiverse -- because otherwise it's hard to adjust. You may be able to adjust the bed more easily.
cvoinescu
 
Posts: 501
Joined: Thu Aug 09, 2012 9:12 am
Location: Camberley, Surrey, UK

Re: Endstop behaviour in Pronterface + some build thoughts

Postby rocketwiz » Wed Jan 02, 2013 3:30 pm

I'm now thinking to switch the z home position to the top of the gantry to make adjustment easier. Thanks for your help !
rocketwiz
 
Posts: 43
Joined: Wed Dec 26, 2012 6:25 am

Re: Endstop behaviour in Pronterface + some build thoughts

Postby fma » Wed Jan 02, 2013 5:27 pm

I think I will do the following: put the Z endstop a little bit above the bed, to help making a fast homing after switching on the controler. Then, adjust the Z level (using a sheet of paper), and send G92 Z0 when done.
Frédéric
fma
 
Posts: 213
Joined: Mon Aug 20, 2012 7:53 am

Re: Endstop behaviour in Pronterface + some build thoughts

Postby rocketwiz » Wed Jan 02, 2013 11:23 pm

Wouldn't you then trigger the end stop during the adjustment process?
rocketwiz
 
Posts: 43
Joined: Wed Dec 26, 2012 6:25 am

Re: Endstop behaviour in Pronterface + some build thoughts

Postby SystemsGuy » Thu Jan 03, 2013 12:24 am

Couple of things - as I recall - and I'm about 5k miles away from my printer - Marlin by default only uses the end stops on homing, so hitting them while printing has no impact.

Second is I do about the same - except for the G92. I tune my Z level endstop as close as I can using feeler gauges, and then find it easier to adjust my bed height to get the last couple of thousandths. This is also a great way to level the bed as well...
SystemsGuy
 
Posts: 250
Joined: Sat Dec 29, 2012 7:44 am

Next

Return to ORD Bot

Who is online

Users browsing this forum: No registered users and 15 guests

cron