Josh wrote:Ah, so it looks like, basically, a time of flight sensor built from discrete components. I didn't see - does he have any information on accuracy/precision? Also, any experimentation/testing on different bed surfaces - ie, opaque vs translucent vs transparent, reflective vs matte, etc.?
The firmware for the ATTINY in that device doesn't look that complex (though does look quite well written); it should actually be fairly simple to have it write the SIG pin HIGH when triggered at the appropriate level, which is easy enough to tell both Marlin/RAMBo and Smoothie to use as the endstop signal state. That might also be a cleaner/faster signal than the ground it's using now, so more reliable/easier to sense/faster detection time.
Edit: I lie, it's a bit more than just ToF (if it even has any ToF component) - it looks like it depends on the two different IR LEDs to reflect onto the IR sensor in different proportions based on distance to the bed; when equal, it triggers the "endstop" signal.
Hi Josh,
i'll try and answer this as best i can
its actually not a time of flight implementation at all as i had stated before ..... think of it as more of a coincidence angle sensor using two narrow ir beams, which is why it can be accurate at short distances.
i think i may have described the approach on an earlier message.
for output what he did was use 2 pins of the attiny into two different resistors to make a multi level analog output. all that needs to be done is jumper around one resistor to make it true logic level.
so no code change for that. - another - less elegant solution is to add a pull down resistor on the output. but that is a bandaid. but still works, but is a bit dependent on what the pullup resister is on your controller and the logic voltage thereshold.
if you look at the code what you will see is that he looks for a pull up resistor at the input, if he sees that he attempts to give a 1/0 output.
the problem in the design is, it still goes though that resistor to do that... so it may work on some boards with high pull up resistance, but not on others with low pull up resistance. thats why its very dependent on the threshold voltage.
if the pull up resistance is high enough on the board then, no hardware mod is needed.
as far as accuracy...no he didn't post anything.
for the work i was doing...What i have prototyped is pure logic level out, and dosn't have that state were it may be flipping states, code approach is different also, but end result is the same.
as far as surfaces go... almost all surfaces measure the same.
the most extreme measurement delta i can find is going from matt black to matt white. mat black absorbing most of the ir and matt white giving he most off angle reflection. if you recall my previous explanation of the use of narrow beam with emitters... that would make sense.
other problems would be dual reflective surfaces, EG mirror, glass on mic-6, glass on a white surface etc.... where there an underlying reflective surface and a top reflective surface so it would get two coincidence angles.
the ideal situation for a translucent surface is for the background material to be low refectivity.
translucent/transparent and opaque surfaces measure the same, assuming there is no secondary reflective surface under the translucent or transparent surface.
So there are caveats to it, but as long as you understand them, your fine. i've not gotten around to do a reflectvity test with my mic-6 plate with kapton on it.
i suspect that could be a challenge for it. since my mic-6 has not yet been glass beaded, so it very reflective.
hope that helps understanding it.
M2 - MKS SBase w Smoothieware, GLCD, 24v, Upg Z & extruder stepper - IR bed leveling, Astrosyn dampers X/Y/Z, MIC 6, Zebra, PEI, & glass Build Plates - E3D, V3B Hotends, & more - many other 3d printers - production printing.