Currently the issue is with my Z axis not homing correctly. I think I have a similar issue with my Y but there other factors I need to rule out first with the Y.
SO full story. Bought my Jackpot 2024 sometime as the controller for my never finished LR3. Fast forward to life letting me actually build the LR3, the LR4 is out and I just stole the usable parts off the LR3 and started with the LR4. Build Thread
I now have a machine that is ready for initial squaring and such, but it wont home correctly. I spent some time with @Jonathjon trying to rule out everything and now I’m stuck in the office for the day. Gives me a chance to type up my issues, findings and see if I cant get it sorted out.
The good:
- the board and my tablet that I am using for GUI connects every time flawlessly
- all commands are sent without any noticeable issues
- all 5 motors are spinning correctly
- all 5 end stops are lighting up correctly, 6 if you include the touch probe
- I can jog the machine in all directions correctly, though I admit I haven’t checked for accuracy
- X homes 100% the way it should.
The bad:
- Y and Z axis will home and trigger the end stops, but only shuts off one motor while the other continues to keep trying to move.
I was on FB messenger with @Jonathjon sending pictures which I can share here, and videos that I can not. But I am going to try and walk through yesterdays trouble shooting.
At the start, there was a video showing how the machine moves when trying to home the z axis. The video showed the machine going up, and clearly hearing two distinct clicks. One from each end stop. The wheel side (Z1) stopped but the rail side (Z0) kept trying to move and because of the physical limit of everything could not. Instead the motor made its clicking noise like it was tapping out.
I took a second video doing the same motion, but showing the limit IO LEDs while it was trying. Both LEDs went out when the switch was triggered.
blue painters tape is just from labeling and there is no cuts or nicks in the wire
So I mentioned to him that is seems like maybe an issue with the firmware/config. That’s when I found out I am running an old version of FluidNC
So he and I agreed an update to the newer version wouldn’t hurt, but he mentioned not remembering an issue with the homing being one of the things fixed.
I couldn’t do the update yesterday, and wont be able to until some time after dinner the earliest. But I figured since I was going to remove the ESP32, it would be a good time to undo my wiring and put the board in its real home on the machine instead of just laying on the table to test. When I did that I swapped the Z0 and Z1 to opposite sides of the machine. Then I tried homing again. The problem moved from the rail side to the wheel side.
After seeing this, I figured it HAS to be in the programing side of things or the problem wouldn’t have moved. What I am now left with is that Z0 or that IO32 is the start of the issue and the wiring and machine side are good.
I found this thread and he had similar issues. I ran the $ss command like @vicious1 instructed in that thread and didn’t see anything abnormal, but I’m not super well versed in this stuff just yet. Forgive me, but I cant get everything in there to screen shot, so I am copying and pasting.
$ss results:
$G
<Idle|MPos:0.000,0.000,0.000|FS:0,0> <Idle|MPos:0.000,0.000,0.000|FS:0,0|WCO:0.000,0.000,0.000>
$ss
[MSG:INFO: FluidNC v3.7.12 GitHub - bdring/FluidNC: The next generation of motion control firmware]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.4] [MSG:INFO: Local filesystem type is littlefs] [MSG:INFO: Configuration file:config.yaml]
[MSG:INFO: Machine LowRider]
[MSG:INFO: Board Jackpot TMC2209]
[MSG:INFO: UART1 Tx:gpio.0 Rx:gpio.4 RTS:NO_PIN Baud:115200]
[MSG:INFO: I2SO BCK:gpio.22 WS:gpio.17 DATA:gpio.21]
[MSG:INFO: SPI SCK:gpio.18 MOSI:gpio.23 MISO:gpio.19]
[MSG:INFO: SD Card cs_pin:gpio.5 detect:NO_PIN freq:20000000]
[MSG:INFO: Stepping:I2S_static Pulse:4us Dsbl Delay:0us Dir Delay:1us Idle Delay:255ms] [MSG:INFO: User Digital Output:0 on Pin:gpio.26]
[MSG:INFO: User Digital Output:1 on Pin:gpio.27]
[MSG:INFO: Axis count 3]
[MSG:INFO: Axis X (0.000,1220.000)]
[MSG:INFO: Motor0]
[MSG:INFO: tmc_2209 UART1 Addr:0 CS:NO_PIN Step:I2SO.2 Dir:I2SO.1 Disable:I2SO.0 R:0.110]
[MSG:INFO: X Neg Limit gpio.25]
[MSG:INFO: Axis Y (0.000,2440.000)]
[MSG:INFO: Motor0]
[MSG:INFO: tmc_2209 UART1 Addr:1 CS:NO_PIN Step:I2SO.5 Dir:I2SO.4 Disable:I2SO.7 R:0.110]
[MSG:INFO: Y Neg Limit gpio.33]
[MSG:INFO: Motor1]
[MSG:INFO: tmc_2209 UART1 Addr:3 CS:I2SO.14 Step:I2SO.13 Dir:I2SO.12 Disable:I2SO.15 R:0.110]
[MSG:INFO: Y2 Neg Limit gpio.35]
[MSG:INFO: Axis Z (-300.000,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: tmc_2209 UART1 Addr:2 CS:NO_PIN Step:I2SO.10 Dir:I2SO.9 Disable:I2SO.8 R:0.110]
[MSG:INFO: Z Pos Limit gpio.32]
[MSG:INFO: Motor1]
[MSG:INFO: tmc_2209 UART1 Addr:3 CS:I2SO.19 Step:I2SO.18 Dir:I2SO.17 Disable:I2SO.16 R:0.110]
[MSG:INFO: Z2 Pos Limit gpio.34]
[MSG:INFO: X Axis driver test passed]
[MSG:INFO: Y Axis driver test passed]
[MSG:INFO: Y2 Axis driver test passed]
[MSG:INFO: Z Axis driver test passed]
[MSG:INFO: Z2 Axis driver test passed]
[MSG:INFO: Kinematic system: Cartesian]
[MSG:INFO: Using spindle NoSpindle]
[MSG:INFO: Flood coolant gpio.2]
[MSG:INFO: Mist coolant gpio.16]
[MSG:INFO: Probe Pin: gpio.36:low]
[MSG:INFO: STA SSID is not set]
[MSG:INFO: AP SSID FluidNC IP [192.168.0.1] mask [255.255.255.0]channel 1]
[MSG:INFO: AP started]
[MSG:INFO: WiFi on]
[MSG:INFO: Captive Portal Started]
[MSG:INFO: HTTP started on port 80]
[MSG:INFO: Telnet started on port 23]
ok
<Idle|MPos:0.000,0.000,0.000|FS:0,0|Ov:100,100,100>
<Idle|MPos:0.000,0.000,0.000|FS:0,0>
<Idle|MPos:0.000,0.000,0.000|FS:0,0>
/axes/x/max_travel_mm
/axes/x/homing/mpos_mm
/axes/x/homing/positive_direction
/axes/y/max_travel_mm
/axes/y/homing/mpos_mm
/axes/y/homing/positive_direction
/axes/x/max_travel_mm=1220.000
ok
/axes/x/homing/mpos_mm=0.000
ok
/axes/x/homing/positive_direction=false
ok
/axes/y/max_travel_mm=2440.000
ok
/axes/y/homing/mpos_mm=0.000
ok
/axes/y/homing/positive_direction=false
ok
<Idle|MPos:0.000,0.000,0.000|FS:0,0>
in that thread he mentioned his limit wires were backwards, that makes no sense. The board is going to send voltage in one side and it will come back the other side. I’m not against trying it, but it really doesn’t seem like it could be a thing.
As of right now I have changed NOTHING in the config or firmware. I haven’t set any limits or standoffs. I haven’t done anything but cut and paste stuff I found. Like this little bit about Motor0 for Z:
z:
steps_per_mm: 200.000
max_rate_mm_per_min: 1200.000
acceleration_mm_per_sec2: 80.000
max_travel_mm: 300.000
soft_limits: false
homing:
cycle: 1
positive_direction: true
mpos_mm: 0
feed_mm_per_min: 300.000
seek_mm_per_min: 800.000
settle_ms: 500
seek_scaler: 1.100
feed_scaler: 1.100
motor0:
limit_neg_pin: NO_PIN
limit_pos_pin: gpio.32:high
limit_all_pin: NO_PIN
hard_limits: false
pulloff_mm: 4.000
tmc_2209:
uart_num: 1
addr: 2
cs_pin: NO_PIN
r_sense_ohms: 0.110
run_amps: 0.680
hold_amps: 0.500
microsteps: 8
stallguard: 0
stallguard_debug: false
toff_disable: 0
toff_stealthchop: 5
toff_coolstep: 3
run_mode: StealthChop
homing_mode: StealthChop
use_enable: false
step_pin: I2SO.10
direction_pin: I2SO.9
disable_pin: I2SO.8
That is straight from the config I downloaded to my tablet, sent to my phone and then transferred to my computer (because I want to DAMN SURE I dont mess with the actual one) for reviewing and trouble shooting purposes.
OK, that’s a TON of reading. But I turn it over to you “smarter than me” types to see what you can come up with. Sorry about the information overload, but the best way I know to ask for help is to be as specific as possible.
UPDATE
I had 2 minutes so I went and reversed the plug on IO32 and no change.