Inventables Community Forum

Homing: Was working, then "just stopped"

I’ve been using my new machine for all of two days now. On day 1, everything was working as expected: Doing carves in Easel, all functionality seemed to be there.

At the end of the day I decided to be smart and play with chilipeppr, and in the process “homed” it into the wasteboard. Unplugged it & the arduino, restarted it, and it seemed to be working normal again.

Untill it goes to start the homing sequence in Easel in the “setup your machine” bit: In the past, worked fine. Now, it raises the Z axis half a turn, and stops, and just hangs forever. I can easily jog it up and down with no problem.

When a Carve… starts, and it ‘starts the homing cycle’ the same thing happens: Raises the Z about half a turn, stops, and says “there’s something blocking it”, but again, using the control panel on the side, I can jog it up and down with no issues.

I took the whole electronics bit apart, tightened all the screws, made sure there were no loose wires, but the same thing still happens.

Any thoughts as to why this would ‘just stop’ working?

thanks!

Usually this type of problem is the result of false triggers on the homing switches due to electrical noise. If you didn’t use shielded wire for the homing switches then that is the likely cause of this problem.

You can either use shielded wires or you can add low pass filters to the switch wiring where it connects to the gShield to solve noise problems.

You can use this thread to test your homing switches.

I used the white\black twisted wires that shipped with my kit from Inventables. If this is a known issue I’d presume I’d be shipped wires that worked? Or is that no the case? However, and correct me if I’m wrong here, wouldn’t a false trigger stop the machine in place at that point during travel? And it’s odd (to me) it would work perfectly fine for a day, then just sort of konk out. Very binary.

Anyhoo, I’m looking at that post you directed me to. I have the Arduino IDE hooked up (which I have a lot of experience with), but can’t seem to issue any commands to the machine, or at least if I am, it’s not returning a dang thing. I’ll keep poking at it, thanks for the info.

@larrym since it was working perfectly the first day do you think he might be running into soft limits that were accidentally set when he was using Chilipeppr? @AK_Eric can you do a $$ and post your settings?

Got connected: Bad baud rate.

This is what its returning:

Idle,MPos:0.000,0.000,0.000,WPos:0.000,0.000,0.000,Lim:111

So, it thinks they’re always switched on. I can hold them down, and rerun the command, and it spits out the same thing.
@Zach_Kaplan : I was wondering if chilipepr did something to it also :frowning:
I knew I delved too deep, too fast, should have saved chilipepr until next week :stuck_out_tongue:
Also, I was wrong: When the homing starts, the Z axis goes down half a turn before it stops. It should be going up. Which is what chilipepr did when I said ‘home’ on it: Sent it right, top, down, rather than left, front, top.
I’ll keep researching, but any way to fix these ‘soft limits’?
Thanks!

Post the $$ output here, we can check it out.

I don’t have that much experience with chilipepr. My understanding is it’s extremely flexible and gives you controls like flying a 747. That’s totally awesome, but if this is your first day out flying a plane you might want to start with a Cessna.

Go back into Easel for a second and close chilipepr. Now go to the machine menu and click “advanced” you should see the machine inspector button. Click that and type $$. Then paste back what it says.

Edit
Don’t feel bad for doing whatever you did. I 100% am the kind of person that gets a little confidence because I accomplished the first task and then try to turn it up to 11 and get in over my head and something bad happens and I realize I shouldn’t have done that. I’m just curious by nature and my curiosity sometimes gets the best of me. I continually watch our Chief Engineer Bart who is also a curious guy but with a far better process. He starts small and then builds on the small successes a little at a time so he turns it up from 1 to 2 and 2 to 3 instead of my approach where I go from 1 to 11. I’m continually trying to resist the urge to go to 11 and just go to 2 because all of Bart’s stuff works. :smile:

Thanks guys:

$0=10 (step pulse, usec)
$1=255 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=3 (dir port invert mask:00000011)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=19 (status report mask:00010011)
$11=0.020 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=1 (homing cycle, bool)
$23=3 (homing dir invert mask:00000011)
$24=25.000 (homing feed, mm/min)
$25=750.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$100=35.250 (x, step/mm)
$101=40.000 (y, step/mm)
$102=188.976 (z, step/mm)
$110=8000.000 (x max rate, mm/min)
$111=8000.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=500.000 (x accel, mm/sec^2)
$121=500.000 (y accel, mm/sec^2)
$122=50.000 (z accel, mm/sec^2)
$130=790.000 (x max travel, mm)
$131=790.000 (y max travel, mm)
$132=100.000 (z max travel, mm)

Note, I didn’t do anything in chilipepr other than turn it on, jog the toolhead around a bit, then hit the ‘home’ button, which caused it to home in the opposite direction on all axes (right, top, down), and start this whole process of confusion afterwards :frowning:

That looks good (maybe a question about $100).

Unplug the homing switch/spindle control connector at the gShield and ask grbl again for status (?).

“…Don’t feel bad for doing whatever you did. …”
Thanks @Zach_Kaplan :slight_smile:
Funny thing is, I’ve been doing computer graphics professionally for 20+ years, plenty of programming experience, built my own 3d printer from scratch, any number of small robots around the house, Processing apps, Android apps, Arduino apps, Python tools, blah blah blah. So basically I have very little fear of touching the big red button. But man, you flip one wrong switch and it goes downhill. All this stuff looks easy until it’s… not. I still have a steep curve to get up.

Hopefully at some point I’ll actually be contributing to the community :stuck_out_tongue:

Unplugged, new status:

$0=10 (step pulse, usec)
$1=255 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=3 (dir port invert mask:00000011)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=19 (status report mask:00010011)
$11=0.020 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=1 (homing cycle, bool)
$23=3 (homing dir invert mask:00000011)
$24=25.000 (homing feed, mm/min)
$25=750.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$100=35.250 (x, step/mm)
$101=40.000 (y, step/mm)
$102=188.976 (z, step/mm)
$110=8000.000 (x max rate, mm/min)
$111=8000.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=500.000 (x accel, mm/sec^2)
$121=500.000 (y accel, mm/sec^2)
$122=50.000 (z accel, mm/sec^2)
$130=790.000 (x max travel, mm)
$131=790.000 (y max travel, mm)
$132=100.000 (z max travel, mm)

No, I need the output from the ? command to grbl that shows the homing switch status.

Edit: $$ output is the settings for the grbl parameters.

OK. Soft limits are not enabled. That is indicated because $20=0. Ruling that out.

I’m not sure what the homing button in Chilipepr does that is different than the homing button in Easel. When you first set up your machine were the axes going in the right direction or did you tell Easel they were going the other direction and Easel fixed it for you?

D’oh:
From Arduino. FYI, typing this into easel doesn’t seem to do anything.

Alarm,MPos:0.000,0.000,0.000,WPos:0.000,0.000,0.000,Lim:111

Same as before it was uplugged?

Zach: when I first set it up, everything was going in the correct direction, both when jogging the steppers, and when homing. It all ‘just worked’ I was quite happy :smile: I saw the option to ‘reverse their direction’, but I didn’t need to use it.

Should I just reflash the arduino at this point back to factory default? (and if so, is there a handy link…?)

Not yet. Let’s start with a power cycle and disconnecting the USB. Closing Easel, IDE, and Chilipepr. Then open Easel power on and plug in the USB.

Do you have/know how to use a voltmeter? If so, measure the voltage with respect to ground on the Arduino pins D9,D10, and D12. These pins are brought up by the gShield and that is where you plug in the homing switch connector.

From the left D9 is the 2nd position, D10 is the third position, and D12 is the fifth position.

@Zach_Kaplan : done, everything turned off, on, and only thing open now is Easel. FYI, I havn’t had chilipepr on since yesterday. Currently it’s off limits :wink:
@LarryM : I do, just checked. All zero volts, open or closed, read on the board, and on the switch itself. It’s like there is no juice going out to them. I did confirm my meter is working right, reads 24.4v across the incoming line.

@Zach_Kaplan Unless Zach has something else to try then here is what I would do.

[Edit]Hum, you did measure the voltages with the connector removed, right?

Ok, there’s something wrong with the electronics. Assuming the connector is still removed. It may be a simple set up issue because the Arduino is supposed to be pulling those pins high with internal resistors.

At this point I would try to reload the grbl software to see if it is just a software issue.

You can do it this way:
https://inventables.desk.com/customer/en/portal/articles/2069033-grbl?b_id=9563

Or this way: