ADVi3pp
ADVi3pp copied to clipboard
Introduce PROXIMITY_PROBE setting and build env for switch-like
Description
probes to work the BOARD_ADVI3PP_I3_PLUS_51. Works with proximity and other switch-like probes. Configured to be normally on and off when activated.
Requirements
Switch-Like probe connected to port 25 of the BOARD_ADVI3PP_I3_PLUS_51
Benefits
Firmware allows leveling. No Signal-Invert needed. No traces of bltouch in the on-screen settings. Less confusion. -- I used my probe a while with an external inverter circuit and the bltouch build. Figured it is much easier to invert the signal in Marlin.
Thank you for this Pull Request. Can you share some information about the proximity sensor you use? The model number, how it is connected, … ? So I can also add it to the user manual. And maybe test also myself before releasing this code.Any information is welcome, even of photo of an hand-drawing schema. I will do a proper schematic. Can you also contact me on ADVi3++ Community (direct message)? I will grant you an access to binaries, documentation, … for free (indefinitely). This is to thank you.
Hi again, I added some documentation. Hope it suffices. Feel free to ask more questions.
Thanks a lot. I am busy currently, but will review this PR this month
I actually did exactly the same 2 weeks ago: labsin/advi3++_proxy But I hooked it up to a EXT pin cause I didn't know how the Z probe pins were wired. Doesn't it already have a voltage divider?
Your voltage divider seems a bit off. Isn't the R1 and R2 on the wrong place in you example? https://raw.githubusercontent.com/andrivet/ADVi3pp/588b903cac146a148e5ca7a6670cf788da1aaa87/docs/assets/lj_sensor_wiring.svg
The value is also a bit low The input is guarantied high at 0.7*VCC = 3.5V (VCC=5V) and the maximum is VCC+0.5 = 5.5V So lets say 4V The voltage divider from 24V to 4V is R1/R2 = 5/1. So R1=2k and R2=500 would work. Most available would probably be 10k and 2k (what I used)
The 220Ohm in the example would step it down to 2.8V, which would be the correct value if the VCC was 3.3V, but a bit low for 5V.
I'd also advice for a proxy with a lower switching distance to improve the repeatability. The one you linked has Sn=10mm and a reproducibility of >5%, you could be 0.5mm off! Decent brands have <3% reproducibility and if you take 4mm switching distance, it becomes <0.12mm deviation which I think is acceptable, but still a lot more than the BLTouch
I suggest Sick: IME12-04NPOZW2S or Leuze: IS 212MM/4NC-4N0
These should be around €20-30 at which point you might as well buy a BLTouch which is a lot more accurate. I happened to had one at work and like to tinker or I would have bought the BLTouch
@labsin Yes, the resistors are off. It would be safe to use the values*10 to limit the current. Since I have the described setup running and my board is not fried, I assume, I got the voltage divider right. I tested it beforehand with a bench power supply.
The sensor I am currently using, is a LJ12A3-4-Z/BX (china ripoff) with a detection of 4mm plus minus 10 Percent (Same as the original Heschen one). The error rate can be expected to be consistent. So it does not really matter, if the sensor reads 4.4 or 3.6 mm, since the setup gets calibrated anyway. These types of sensors, especially the inductive ones, are an industry standard in high precision CNC machines. I bet, they would not be in use, if they were not predictable. Plus, I bought it explicitly advertised as 3d printer endstop switch. See: https://www.roboter-bausatz.de/p/induktiver-sensor-lj12a3-4-z-bx-dc6-36v
I must say, I never got the BLTouch, since it is absolute overkill imho.
I still must admit that I don't quite get why the sensor is described to be normally open, since it is HIGH on the black wire, when not triggered and LOW, when triggered.
I have mixed feelings with this PR. I do not like those proximity sensors and it requires too many hardware changes. I am not sure this is something I want to integrate (and thus support) in ADVi3++.