I just installed min-position proximity sensors on my X, Y1 and Y2 rails. My CNC is running on the Buildbotics controller. I had assumed (incorrectly I think) that I would be able to configure each of the three motors (M0, M1, and M2) to make use of proximity switches as their min-limit to be used during homing. I set up M0 and M1 with no issues and then discovered that since M2 is a slave to M1, there is no independent min-limit. I thought I had seen others using proximity-switches on both Y-rails (perhaps these were Masso units). I was thinking this would be a great way to ensure the Y-axis is perfectly square after each homing.
Is there any way to have each Y-motor home off its own min-position proximity sensor or is a single proximity sensor on the Y1 axis all you can do?
Thanks for any help you can provide,
I have proximity sensors on mine, originally with the buildbotics controller and then moved to LinuxCNC and now running Masso (non touch). The main reason I moved from the buildbotics controller was for the auto squaring function, I did not see a software supported way to implement it or a reasonable work around to implement it.
With the X,Y1,Z alone the proximity sensors were a huge game changer and enabled 0.02 accuracy across homing cycles which allowed for easy recovery if I needed to stop a job. I had a proximity sensor on Y2 with its built in LED that would allow for visual confirmation it was still (reasonably) square when homing.
good question. There exist two limit sensor pins (9, 10) for the second Y motor and I assume you connected a sensor there.
I haven’t tested it yet (I don’t plan to use this controller but have one here (running and connected to the network) in the lab so I can test things (when I’m there).
Do you have a normally-close setup? Which produces an error if you try to home but the sensor isn’t there? If so, if you disconnect the slave sensor and try to home Y, what happens?
Thanks for the info Derek! I was hoping there might have been an easy solution.
Regarding the accuracy you mentioned using the proximity sensors, I set up a dial indicator to monitor the home position of the Y1 gantry. After the initial homing, I zeroed the indicator. I moved the Y-axis to different positions, starting a few inches away from home to the max Y-position, each time homing the Y-axis. In a dozen homing cycles from all different starting positions, the gantry returned to zero with no more than 0.0005" of deviation (pic is of greatest deviation I saw). I’ll admit that I never tested the accuracy of stall homing this way, but I can’t imagine it could produce results any better than this. Very pleased with how they perform, even if I can’t use the Y2 sensor!
Yes, I’m using a normally-closed setup, with opto-isolators to transition from the 12VDC proximity sensors to the 3.3VDC controller input level. I have the Y2/M2 proximity sensor connected to pin #9 (Motor Min 2).
I tried disconnecting the Y2 sensor before and during a a homing sequence, as well as manually triggering the sensor with a piece of metal during a homing cycle, but the controller doesn’t know to monitor the status of Motor Min 2, so there is no effect on the homing process.
when you disconnect a limit sensor on a normally-closed setup (homing on the motor is set to switch-min), there pops up an error immediately when you home the axis. Doesn’t it do this on Y when the Y slave sensor is disconnected? I mean disconnect it at the I/O port.
No, there is no error for the Y2/M2 slave sensor (pin 9) being disconnected. If however, I remove the input for sensor Y1/M1 (pin 5) and try to home, I get an “ESTOPPED / Switch Not Found” error. The M2 setup screen (attached pic) is very limited in what you can configure (General / Power / Motion), and has no provision to set up motor limits or homing.
yes, this appearance of Motor 2 is what I have on my UI too and what is explained in the Buildbotics manual. And under limit switches, I did not find something about any behaviour in this mode.
Then thank you, so I don’t have to test this since you provided the answer: The pins for this motor are only in use when they are not assigned as a slave axis (I have just the controller here, running and connected to network, but there are no rails/steppers attached to it , I had planned to test this slave limit sensor behaviour soon)
I have enough reasons to use another controller but here’s one more
By the way, nice 3D print color! Makes forest come to my mind.