Wednesday, July 20, 2011

Leveraging Bogdan's anti-bounce circuit for Sampo...



In developing the Darwin-derivative, Rapman-derivative Sampo 3D printer project as a kaizen exercise I utilized the same sort of microswitches for limits checking as are specified in the Rapman design.  I soon discovered that the switches have a formidable electronic bounce.  I was able to control that using the button function in my firmware compiler for the y-axis.  The computations taken for a firmware fix, however, were going to put a terrific drag of my MCU that I didn't want to have to deal with.


Enter Bogdan Kecman with helpful suggestions on how to put together an antibounce circuit for the limits switches.






I had last built an antibounce circuit in 1981, so his help was greatly appreciated.  I built a lashup of the circuit to check to see that the component values were right and then went on to design a board to handle all six limts switches.  I wanted six instead of Rapman's three because a lot of problems that I'd had with Rapman stemmed from the fact that it has limits switches only on one end of its axes.  When things went bad one could find steppers trying to skate off of the unchecked far end of axes.  As well, Rapman limits checking only seems to be done when one is resetting the axes at the beginning of a print.  I want to do better than that.


I bought components and dug out my stripboard and had a go at the design.  Some time before I put together a stripboard design program after having had no luck with the ones I was able to access on the web.  Eventually, I evolved this board.


Frontside...






Backside...








It has been some time since I built a board, so I found putting this one together quite frustrating.  I was about to give up this evening after making a bunch of mistakes and then got angry to the point of rage.  The adrenalin let me get the @#$#@$ thing finished.








Tomorrow I will drill out the breaks in the strips, check the board for continuity and, if I have enough time, try to rig it into Sampo and extend the firmware to utilize it. I suspect that will have to wait till the weekend, however.


5 comments:

Forrest Higgs said...

I got a little time this evening and managed to get the anti-bounce board both drilled and debugged, insofar as continuity and resistance checking suffice.

Forrest Higgs said...

LOL! I got too stingy with resistors in that board design. I can save this board, but this first one is going to look nasty. :-)

AKA47 said...

It could be worth considering this as a potentially simpler method which has a small degree of added noise immunity.

http://forums.reprap.org/read.php?147,33082,86660#msg-86660

This is what I use and only needs a resistor and capacitor soldering across the micro-switches contacts. No PCB.

Bogdan Kecman said...

You are making your board too "clean" so that's why it takes too long :D .. if you get some press n peel foil (blue foil) and a laminator, some muriatic acid and some 12%-30% H2O2 you can have boards made in under 15 minutes..

arhi

Forrest Higgs said...

Once I get the design down pat I'll design a board in Eagle and just have some made. I'll likely use surface mount resistors and capacitors when I do that. They're both cheaper and quicker to apply.