Klipper Disconnecting

Basic Information:

Printer Model: Ender 3 Base
MCU / Printerboard: Octopus 1.1
Host / SBC: Pi-4B

Printer has been working fine, woke up yesterday morning had some issues with heater, ended up replacing it.

Removed printer from the tent, unplugged some fans, and the PI RX/TX and GND wires.

Installed new heater and thermistor(same thermistor style) and ran a successful PID tune. Used manual extrude function to put a bunch of filament thru make sure its good.

Atttempted to run some prints and it errors out says it cant save because it isnt connected.

Thought that was odd so i checked motion system. Ran 20 iterations of ā€˜SPEED_TESTā€™ no issue.

Sliced Benchy Boat same slice settings, starts printing!

COOL!

Sliced a PA tower, and it faults out running the bed mesh.
Try again it faults out again during bed mesh.(Heaters are heating)
Try again faults out on purge line?

Is something shorted maybe on the heater wiring, would the log show this? I am really bad at reading the log for understanding.

Klippy 11122024 loonelouis.zip (1.1 MB)
Sorry Please see attched Klippy Log

Hello,

During your print (12th nov, 07:44), the heating of your extruder has cooled down although it should not. You can see that in the logs for the extruder temperature. At the beginning everything works, only after a certain time, the temperaure dropped down.

Stats 70688.9: gcodein=0  mcu: mcu_awake=0.092 mcu_task_avg=0.000156 mcu_task_stddev=0.000182 bytes_write=11396539 bytes_read=20641606 bytes_retransmit=9 bytes_invalid=0 send_seq=325165 receive_seq=325165 retransmit_seq=2 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000827  heater_bed: target=0 temp=26.2 pwm=0.000 pi_temp: temp=33.1 MCU_temp: temp=28.1 Y_Motor: temp=29.7 Enclosure: temp=28.2 sysload=0.08 cputime=3341.207 memavail=7459864 print_time=67455.043 buffer_time=0.000 print_stall=3 extruder: target=210 temp=210.3 pwm=0.151
Stats 70689.9: gcodein=0  mcu: mcu_awake=0.092 mcu_task_avg=0.000156 mcu_task_stddev=0.000182 bytes_write=11398665 bytes_read=20642638 bytes_retransmit=9 bytes_invalid=0 send_seq=325236 receive_seq=325235 retransmit_seq=2 srtt=0.001 rttvar=0.001 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000839  heater_bed: target=0 temp=26.2 pwm=0.000 pi_temp: temp=33.6 MCU_temp: temp=28.2 Y_Motor: temp=29.8 Enclosure: temp=28.1 sysload=0.08 cputime=3341.285 memavail=7455708 print_time=67458.666 buffer_time=2.802 print_stall=3 extruder: target=210 temp=173.9 pwm=1.000
Stats 70690.9: gcodein=0  mcu: mcu_awake=0.092 mcu_task_avg=0.000156 mcu_task_stddev=0.000182 bytes_write=11399599 bytes_read=20643273 bytes_retransmit=9 bytes_invalid=0 send_seq=325269 receive_seq=325269 retransmit_seq=2 srtt=0.001 rttvar=0.001 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000835  heater_bed: target=0 temp=26.2 pwm=0.000 pi_temp: temp=34.1 MCU_temp: temp=28.1 Y_Motor: temp=29.7 Enclosure: temp=28.1 sysload=0.08 cputime=3341.335 memavail=7454952 print_time=67458.686 buffer_time=0.000 print_stall=3 extruder: target=210 temp=192.6 pwm=0.000
Stats 70691.9: gcodein=0  mcu: mcu_awake=0.092 mcu_task_avg=0.000156 mcu_task_stddev=0.000182 bytes_write=11400650 bytes_read=20643955 bytes_retransmit=9 bytes_invalid=0 send_seq=325305 receive_seq=325305 retransmit_seq=2 srtt=0.001 rttvar=0.001 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000834  heater_bed: target=0 temp=26.3 pwm=0.000 pi_temp: temp=33.1 MCU_temp: temp=28.1 Y_Motor: temp=29.8 Enclosure: temp=28.0 sysload=0.08 cputime=3341.386 memavail=7453788 print_time=67458.686 buffer_time=0.000 print_stall=3 extruder: target=210 temp=201.6 pwm=0.000
Stats 70692.9: gcodein=0  mcu: mcu_awake=0.092 mcu_task_avg=0.000156 mcu_task_stddev=0.000182 bytes_write=11402174 bytes_read=20644751 bytes_retransmit=9 bytes_invalid=0 send_seq=325355 receive_seq=325355 retransmit_seq=2 srtt=0.001 rttvar=0.001 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000832  heater_bed: target=0 temp=26.3 pwm=0.000 pi_temp: temp=33.6 MCU_temp: temp=28.1 Y_Motor: temp=29.8 Enclosure: temp=28.0 sysload=0.07 cputime=3341.443 memavail=7453804 print_time=67459.036 buffer_time=0.000 print_stall=3 extruder: target=210 temp=175.2 pwm=1.000
Stats 70693.9: gcodein=0  mcu: mcu_awake=0.091 mcu_task_avg=0.000206 mcu_task_stddev=0.000184 bytes_write=11403520 bytes_read=20645712 bytes_retransmit=9 bytes_invalid=0 send_seq=325415 receive_seq=325414 retransmit_seq=2 srtt=0.001 rttvar=0.001 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000831  heater_bed: target=0 temp=26.2 pwm=0.000 pi_temp: temp=34.1 MCU_temp: temp=28.1 Y_Motor: temp=29.8 Enclosure: temp=27.9 sysload=0.07 cputime=3341.543 memavail=7453804 print_time=67460.036 buffer_time=0.000 print_stall=3 extruder: target=210 temp=176.6 pwm=1.000
Stats 70694.9: gcodein=0  mcu: mcu_awake=0.091 mcu_task_avg=0.000206 mcu_task_stddev=0.000184 bytes_write=11405273 bytes_read=20646629 bytes_retransmit=9 bytes_invalid=0 send_seq=325473 receive_seq=325473 retransmit_seq=2 srtt=0.001 rttvar=0.001 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=180000830  heater_bed: target=0 temp=26.2 pwm=0.000 pi_temp: temp=33.6 MCU_temp: temp=28.1 Y_Motor: temp=29.8 Enclosure: temp=27.9 sysload=0.07 cputime=3341.617 memavail=7451380 print_time=67461.417 buffer_time=0.000 print_stall=3 extruder: target=210 temp=184.8 pwm=1.000
Heater extruder not heating at expected rate
Transition to shutdown state: Heater extruder not heating at expected rate
See the 'verify_heater' section in docs/Config_Reference.md
for the parameters that control this check.

After that, your extruder didnā€™t reach the temperature you wanted to reach (210C) in the expected time.

I would suspect either a problem with your configuration in printer.cfg, the sensor or the heater itself.
You can try to adjust the error time for the heating up process (in the printer.cfg), but if the heater needs to much time there is maybe a problem with the hardware. Or the heater needs an higher current. First check your configuration in the printer.cfg.

Has it become significantly colder in your printing room than before? maybe thatā€™s why the heater simply needs longer but it would not explain why the temperature dropped so much during the first print.

Or try to adjust your PID params.

I think that is unrelated to mcu disconnect. I have fixed my heater, least i thought? PID tune was done where it sits.

I also detailed that in the OP.

Ah okay you are right. Next time you could rollover your log so that only the current problem is shown.

Stats 1682.7: gcodein=0  mcu: mcu_awake=0.002 mcu_task_avg=0.000009 mcu_task_stddev=0.000003 bytes_write=63363 bytes_read=134567 bytes_retransmit=0 bytes_invalid=0 send_seq=3429 receive_seq=3429 retransmit_seq=0 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=2 freq=180000475 sd_pos=650 heater_bed: target=70 temp=70.1 pwm=0.318 pi_temp: temp=28.2 MCU_temp: temp=30.6 Y_Motor: temp=29.5 Enclosure: temp=23.7 sysload=0.04 cputime=77.954 memavail=7480156 print_time=867.283 buffer_time=5.008 print_stall=0 extruder: target=210 temp=209.3 pwm=0.272
Unhandled exception during run
Traceback (most recent call last):
  File "/home/admin/klipper/klippy/klippy.py", line 217, in run
    self.reactor.run()
  File "/home/admin/klipper/klippy/reactor.py", line 292, in run
    g_next.switch()
  File "/home/admin/klipper/klippy/reactor.py", line 340, in _dispatch_loop
    timeout = self._check_timers(eventtime, busy)
  File "/home/admin/klipper/klippy/reactor.py", line 158, in _check_timers
    t.waketime = waketime = t.callback(eventtime)
  File "/home/admin/klipper/klippy/extras/tmc.py", line 179, in _do_periodic_check
    self._query_register(self.drv_status_reg_info)
  File "/home/admin/klipper/klippy/extras/tmc.py", line 137, in _query_register
    val = self.mcu_tmc.get_register(reg_name)
  File "/home/admin/klipper/klippy/extras/tmc_uart.py", line 236, in get_register
    with self.mutex:
  File "/home/admin/klipper/klippy/reactor.py", line 79, in __enter__
    g = greenlet.getcurrent()
RecursionError: maximum recursion depth exceeded while calling a Python object
Transition to shutdown state: Unhandled exception during run

You have a recursion error here. Did you change some macros or something else which could lead in an infinity loop?
Maybe its a bug with klipper, do you use the latest version or have you recently updated?

1 Like

Maybe some neopixel stuff. But no i dont think anything detrimental to the actual process?

I am planning to reflash and re wire UART cable to pi this evening. Also i will remember to rollover the logs from now. Atleast for now we have a full history.

So I have not a clue what is going on now, this one tells me more, but. I dont understand any of it?

So confused
879087098098.log (1.5 MB)

Update:
I was able to complete a small print without issue. Then tried immediately after a larger print and not a test cube and it doesnt make it passed the purge lineā€¦ So odd.

Could you share how you wired your printer and serial port?

Serial connections can be tricky to get right (even though they seem simple), especially with making sure that you donā€™t have any grounding issues.

this gonna sound maybe novice or maybe its not right but current testing is showing that file names can not have spaces. im ground to ground on pi UART with a good fresh crimped dupont i just re did, wiggling affects nothing.

I asked for ā€œhow you wired your printer and serial portā€ - as I said, itā€™s not as straightforward as it appears and itā€™s easy to get grounding issues which includes loops (induced voltages) and ground shifts between boards.

Iā€™m sure you did a good job making the connections, I just want to make sure that the overall wiring in the printer is done properly.

UART, and im not sure how else to convey it, would pictures help?

Ideally a drawing including how you provide power in your system.

I havent finished the drawing, but this setup minus the hotend swap has worked for months, i will get some pictures and create a wiring diagram tho.

Great. I should have said above, that with serial communications you have to consider how power is done in your system.

The easiest and best way Iā€™ve found to do things is to power the Raspberry Pi from the Octopus - you should be taking the USART2_TX, USART2_RX and GND lines from J26. I suggest that you also power the Raspberry Pi from there as well and ditch any separate 5V supply that youā€™re using.

Wait, why ditch the external psu for my pi??

Correct J26. and that header gave me under voltage so i i went external.