Homing not working but E Stop In is ?
I've tried with and without inversion on the pins. I think the inputs are working. I think the problem is my understanding of what "homing" is meant to do and my set up is incorrect.
I was under the impression that, within StepConf, if I set up the X axis "Home Location" to be 10 (for instance).
Then I set an input on my breakout board to "Home X".
When the input comes on the X axis should wind itself to 10.
At the moment, when the input comes on nothing happens at all and if I go into LinuxCNC and choose to Home X from the software then the X axis just winds and winds indefinitely (I presume indefinitely - certainly a lot more than 10!).
I think the first problem I need to crack is to get the system "homing" correctly through the software. And then when that works I can concentrate on getting it to do it from the press of a button and an input on the breakout board.
Within StepConf I have ...
Home Location
Home Switch Location
Home Search Velocity
Home Latch Direction
With the exception of Home Search Velocity, I'm not sure how to configure these settings. Is this something you know off the top of your head? If not, I'll Google and search the forums but just thought I'd ask in the off-chance.
You've been a great help Andy and I think I'm going to end up resorting to manually editing the .ini / .hal files ultimately.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
To use a shared home/limit switch, you need to make sure that the homing sequence is set up with an offset to move the axis off the limit switch during the homing sequence. See linuxcnc.org/docs/html/config/ini-homing.html
Great info there Rod. Thanks. That looks like it will answer most (if not all) of my questions.
I only have 5 inputs on my breakout board. 1 is the E Stop.
I ideally wanted to be able to press "Home X" and then the X axis drives to it's home switch.
Then "Home Y" and the Y axis to it's switch and so on.
I'm guessing that set up isn't possible?
I might be able to get around it by using the X Home / Y Home / Z Home buttons drive the machine via the Arduino and then put the limit switches into the breakout board inputs.
I'll read the article and play around with it some more. The info you've all given has been great though. A big thanks for your help and patience with my ignorance! Cheers
Please Log in or Create an account to join the conversation.
At the moment, when the input comes on nothing happens at all and if I go into LinuxCNC and choose to Home X from the software then the X axis just winds and winds indefinitely (I presume indefinitely - certainly a lot more than 10!).
I assume that the motors are not connected to an axis yet then?
Try selecting "home-X" in the gui, then while the motor is turning, press the home switch, pause a second, and release it. Watch what happens.
With the exception of Home Search Velocity, I'm not sure how to configure these settings. Is this something you know off the top of your head? .
I know where to find the docs.
linuxcnc.org/docs/2.7/html/
Specifically:
linuxcnc.org/docs/2.7/html/config/ini-homing.html
Please Log in or Create an account to join the conversation.
It'll have to be tomorrow now, as sad as it sounds my tea is ready! And after a 12hr shift I'm going to watch a bit of TV and relax. Will post back tomorrow though after work. Thanks for the links
Please Log in or Create an account to join the conversation.
Also consider just using a single homing button with halui.home-all
linuxcnc.org/docs/2.7/html/gui/halui.html
Please Log in or Create an account to join the conversation.
Andy and I have both linked to the same doc but different versions. Use Andy's link (for V 2.7) as there have been some changes over time (master branch has definitely changed from 2.7).
Also consider just using a single homing button with halui.home-all
linuxcnc.org/docs/2.7/html/gui/halui.html
Ok, will do Rod. Thanks
Please Log in or Create an account to join the conversation.
I assume that the motors are not connected to an axis yet then?
Try selecting "home-X" in the gui, then while the motor is turning, press the home switch, pause a second, and release it. Watch what happens.
Genius! We're getting somewhere. I couldn't settle without trying this so I've just given it a go (it was chips and stir fry for tea by the way - very nice - yum!).
I set the input to "Home X" but then set the X homing going in the software. When I press the Home X input the motor goes the other way. When I then release the Home X input the motor then changes direction again but at a 'creep' speed.
So... at least something is happening. Now based on your great suggestions and yourself and Rod's brilliant links I should be able to suss something out with regards to functionality for my own system.
(By the way - you are correct - the motors aren't connected to a shaft yet. I've not built the frame etc at the moment I'm just building the control panel)
Please Log in or Create an account to join the conversation.
You can't actually tell the system that it is at home. You tell it to initiate the homing sequence, There is only one home position.I also thought it would be good to be able to 'manually' tell the machine it was Home.
I might be getting in a little bit over my head and Andy will know more but Master branch now includes axis offsets which may let you set a reference point that is offset from the home position (eg the axis offset is added to the commanded position when code runs). But the whole homing scenario in master has been changed due to the merging of the Joint axis code which in turns makes the concepts of joints and axes totally independent. So in my case, running master to control a joint axis gantry machine with two joints, the only homing option I have is "home all" as I can't home one side of the gantry (a joint) independently.... I'm only new a this, but I think that the better approach moving forward is to just "home all". To me that is part of my startup sequence. (Power up, out of estop, turn on, home all).
Please Log in or Create an account to join the conversation.
Just going back thought what you said last night when I was sleeping...
You can't actually tell the system that it is at home. You tell it to initiate the homing sequence, There is only one home position.I also thought it would be good to be able to 'manually' tell the machine it was Home.
I might be getting in a little bit over my head and Andy will know more but Master branch now includes axis offsets which may let you set a reference point that is offset from the home position (eg the axis offset is added to the commanded position when code runs). But the whole homing scenario in master has been changed due to the merging of the Joint axis code which in turns makes the concepts of joints and axes totally independent. So in my case, running master to control a joint axis gantry machine with two joints, the only homing option I have is "home all" as I can't home one side of the gantry (a joint) independently.... I'm only new a this, but I think that the better approach moving forward is to just "home all". To me that is part of my startup sequence. (Power up, out of estop, turn on, home all).
Yes I completely agree that "Home All" seems like the way to go. To be honest I didn't realise there was such a thing when I first started designing my machine. I just assumed (I know... never assume!!) that I could press "Home X" and then let the machine do the business. I suppose, for me, I can still set the machine to home on the z axis and then when it's high enough just press the Home X and Home Y together (assuming it will do that).
I suppose I'm trying to get the functionality of the machine to suit the interface that I've built. Which is a bit back-to-front but would be good if it was do-able. Now I've got the buttons working and I can see how the different values affect the homing then I'm hoping I can come up with something that will suit. I could always install a single "Home All" button at a later date.
I'm not sure what you mean by "master branch". Is it referencing the software at github or something? I also don't know the difference between Joints and Axes (but I'll be looking it up tomorrow when I get home from work).
This whole project started with a mate buying me an Arduino Mega for Christmas and then me thinking what I could use it for. I've never programmed an Arduino before. I've also never used Linux (all that stuff via Command Prompt sudo bash blah blah etc), I've also never had any CNC experience, nor have I used breakout boards, stepper drivers etc etc... it's been quite a steep learning curve up to this point but, an enjoyable one!
I'm just extremely thankful that there are forums like this and, on those forums, there are people like you and Andy. It makes the whole journey both feasible and enjoyable! Thanks
Please Log in or Create an account to join the conversation.