1 (edited by MeshMoth 2013-05-11 10:08:28)

Topic: Double Endstop Idea

Does anyone want to try this?

I am too lazy...

http://www.soliforum.com/misc.php?action=pun_attachment&item=1973&download=0

Post's attachments

Double-Endstops.gif
Double-Endstops.gif 262.05 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

2 (edited by MeshMoth 2013-05-11 10:33:47)

Re: Double Endstop Idea

Oh and if it works, can you guys do it for all 3 axisseses? big_smile


Edit:...i keep staring at the GIF thinking its gonna print me something.

3

Re: Double Endstop Idea

Good idea... mechanically.... the only thing I would change is get rid of the sliding rod support... move it to the side of the endstop switch and lengthen and put a z bend in that end of the rod so the bend pushes the switch, then changing the software shouldn't be too hard- if I only had more free time but work just picked up and now I can barely keep up with printing.

4 (edited by adrian 2013-05-12 00:44:48)

Re: Double Endstop Idea

nice idea

except that it wont ever know if its hitting the + limit or the - limit... so it doesn't know if it needs to reverse or forward to come off the end stop. Net result is at best it can emergency stop the printer... then you;d need to re-home everything again as it would loose its print co-ordinates...

So mechanically sound... but not so sound as far as adding additional 'end stops'....
Just buy a RAMPS board and then you can have a proper +/- end stop pair... would be more reliable and functional than the above smile

5

Re: Double Endstop Idea

adrian wrote:

nice idea

except that it wont ever know if its hitting the + limit or the - limit... so it doesn't know if it needs to reverse or forward to come off the end stop. Net result is at best it can emergency stop the printer... then you;d need to re-home everything again as it would loose its print co-ordinates...

So mechanically sound... but not so sound as far as adding additional 'end stops'....
Just buy a RAMPS board and then you can have a proper +/- end stop pair... would be more reliable and functional than the above smile

This is true with the software in it's current iteration, that's why you would have to add direction registers... there are some shortcuts that would work also but no failsafes if you lose steps.

6

Re: Double Endstop Idea

Could you just wire the endstops together? You would have to change the code somehow so it knows which endstop it hit based on the direction it was going.  If it registered an X endstop hit while the printer was moving left, then it can guess it was the left (-X) endstop.  An X endstop hit while it was moving right would have been the +X endstop.

7

Re: Double Endstop Idea

^ brilliant ^

can't believe I didn't think of that [slaps forehead]

8

Re: Double Endstop Idea

My original idea was just to make everything stop and maybe home itself if either side reached it's limit. I was tired of the motors banging against the sides that dont have endstops and making that terrible noise (due to my own click-happy fingers of course). I would think that if an endstop gets hit while printing, the print should be aborted anyway because it means the model is too big to fit and should be resized, no?

Howcome you guys want it to continue printing? (Im not asking sarcastically im just curious.) And if it did continue to print, how would it print since it's already reached its linear limit? Would it ignore the remaining distance and just make a flat wall?

adrian wrote:

Just buy a RAMPS board and then you can have a proper +/- end stop pair... would be more reliable and functional than the above smile

Mybe if I understood how electronics work... To me everything with electronics works off of magic and pixie dust.

9 (edited by adrian 2013-05-12 02:26:51)

Re: Double Endstop Idea

Isnt it just easier to set the software limit then. There is a firmware setting that limits the movement to a max value. If you home it will only allow 150 or 200 mm movement depending on what value you set.

This entirely solved my over eager manual inputs and have not ever had the carriages crash since... I do have a RAMPS onboard, but due to the above setting never bothered with the second set of end stops.

Seems an easier approach too

10

Re: Double Endstop Idea

IanJohnson wrote:

Could you just wire the endstops together? You would have to change the code somehow so it knows which endstop it hit based on the direction it was going.  If it registered an X endstop hit while the printer was moving left, then it can guess it was the left (-X) endstop.  An X endstop hit while it was moving right would have been the +X endstop.

How can I do?

Also how would you wire it? From the way I thought how things work is that the endstops make a closed circuit when they are hit and it makes the motors stop. And, of you wired 2 together using the same terminals, they will never make a closed circuit because one side will always be open... Like i said, i have no clue how things really work just what i though happens and my reason for coming up with the original idea.

I would much rather mount another endstop on the otherside if all it meant was soldering 2 wires together. (And you guys do the pixie stuff)

11

Re: Double Endstop Idea

I'll tell you where to set the software limit later on, but you don't need a second switch in the scenario I explained just above. The firmware just doesn't allow more movement than you specify. You just need to home the printer as soon as you connect to it which is a habit you probably have picked up already.

Since doing this like I said I've never managed to crash the carriages

12

Re: Double Endstop Idea

adrian wrote:

Isnt it just easier to set the software limit then. There is a firmware setting that limits the movement to a max value. If you home it will only allow 150 or 200 mm movement depending on what value you set.

This entirely solved my over eager manual inputs and have not ever had the carriages crash since... I do have a RAMPS onboard, but due to the above setting never bothered with the second set of end stops.

Seems an easier approach too


So, I could have gotten the same effect by cutting and pasting some text to the firmware?
:-(

I really should learn stuff...

13 (edited by adrian 2013-05-12 02:50:47)

Re: Double Endstop Idea

In configuration.h ; change the following:

#define min_software_endstops false //{SD Patch} //If true, axis won't move to coordinates less than HOME_POS.
#define max_software_endstops false //{SD Patch} //If true, axis won't move to coordinates greater than the defined lengths below.

As you'll note, they are actually patched to false in the Solidoodle firmware. I personally switched max_software_endstops back to true and voila! problem solved.

Just make sure that the sizes in the following lines of Configuration.h from the above settings *is* set to the right size for your model.

Only time its possible to crash now is initially turning on the printer as the firmware will be at 0,0,0 co-ordinates until you home, but as I said, my habit as soon as I open RH is to hit the home button...

14

Re: Double Endstop Idea

The software endstops do depend on a habit of homing.  After a restart, and if you move it around with the motors off it will lose track of where it is.  It can either allow a crash or stop halfway across because it thinks it is at the end.  Hitting home all every time you finish doing something will help it work better.   I suspect Repetier itself does some software endstop function on its on based on printer settings but I'm not sure.

15

Re: Double Endstop Idea

Thanks guys for the great help. Glad I was too lazy to go through making that lever thing.

And yes, I always home before I print. Right after i click home, I prime the nozzle and click extrude a bunch of times then print. I know thats what the skirt is for but i guess i have a little OCD.

One thing though, i bought one of these these isp programmer thingies because my atmega 644p doesn't have a bootloader burned in apparently. Where do i plug it in on the sanguinololu? I see theres 6 pinouts next to the upper right screw but not sure and i don't want to fry anything. Tried google and youtube and found a bunch of tutorials using a breadboard and a bunch of other stuff i don't have, but nothing about using one of these programmer things.

16 (edited by adrian 2013-05-12 13:33:17)

Re: Double Endstop Idea

The ICSP ports. Check the sanginololu schematics on the reprap wiki, but they are the top right group of 6 pins if you look at the card from the rear

http://reprap.org/wiki/File:Sanguinololu_1.3a.png

In this pic, they are the bottom-right group of 6:

http://reprap.org/mediawiki/images/f/fa/Sanguinololu-photo-top.jpg

Don't worry about hooking up the +5V if you power it via USB when you are programming it. This is the only vague potential 'cause something to get fried'... Choose ONE way to power the Sang... USB, the Standard Mains, or via the Programmer and the 5V pin in the ICSP group.

You WILL however need the Gnd connection. Then from the programmer its a matter of hooking RST to Reset, MOSI to MISO, and MISO to MOSI (these are essentially 'in and out' or tx/rx.. but they aren't, so lets move on...) and SCK to the Clock pin on the programmer (often labelled CLK) .

Thats all you need..

17

Re: Double Endstop Idea

MeshMoth wrote:

Mybe if I understood how electronics work... To me everything with electronics works off of magic and pixie dust.

Everything electronics works off of magic puffs of smoke.  This is proven by the fact that when the magic puff of smoke is released the electronics no longer function.

An oldie but a goodie.

18

Re: Double Endstop Idea

This hasn't quite been mentioned but you can't use a single endstop switch for both for the simple reason of starting point.
When the printer comes on and the endstop switch is already activated which way do you move?
There is no last movement direction info, well unless you modify the firmware to store direction changes to the EEPROM every time but I doubt that would last long and it sure would slow down printing.

Nice idea to try and stop it crashing as an Estop, but then your printer gets stuck and needs manual intervention.

As Adrian said, software limits are the simple solution as long as you home all axis before printing (or playing about smile)

19

Re: Double Endstop Idea

So, I'm probably doing something really wrong but I keep getting:

avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

I almost sure I'm connecting everything correctly but I really haven't a clue.

I tried in Windows and on the Mac using Arduino IDE 1.0.4 (on both OSes) and 0022 on the mac.
Been looking all over the net to aid me but I still get that error.
I tried doing -FUSBasp to override but then it tells me I didn't specify the device.
I didn't try to update the firmware of the USBasp because it seemed like a another huge task that I have no idea how to do.
I read somewhere that making it use a slow SCK with a jumper or something will help but again... no clue.

Anyone know where I can just buy a new ATmega1284P with bootloader burned in? It's becoming a big pain in my buns and I don't want to deal with it anymore... or is upgrading also a huge pain in the buns because of the firmware?

Thanks again solidoodle for not including the bootloader on my chip...

20 (edited by adrian 2013-05-14 07:38:08)

Re: Double Endstop Idea

http://www.ebay.com/itm/ATmega-1284P-PU … 3381652c6e

I'm sure there is some others out there. Just search for atmega1284p marlin or reprap .

Re the loader, try swapping MISO/MOSI... and using the usbasp loader details