KiloQubit / probe_accuracy

GNU General Public License v3.0
94 stars 18 forks source link

test does not record probes with negitive probe point #6

Closed DaVinci-10 closed 1 year ago

DaVinci-10 commented 1 year ago

To start with, thank you for your work, this gains valuable insights But... Took me a few passes to figure out what was wrong.

(Ill give some background on hardware, but forgive if too detailed: the DaVinci 1.0 uses the nozzle as the probe. The way it works is, the nozzle is an all metal hotend and is grounded. The corner pads on the glass bed are conductive, and are wired as probe pin in printer.cfg. When the nozzle contacts the pad, the pin is triggered. very simple, no probe deploys; no offsets; no micro buttons to depress; no magnets to overcome like Tap. I can even laminate the bed with foil and save a bed mesh... ok with that out of the way)

My first test was at probe point 210x, 210y and worked fine. but the next next point was at 210x, -5y and it only logged the temps in the json file. I was able to verify this by temporarily changing the y_min and endstop so as to get 0 in the config for the probe point and re-test. it worked fine at 210x,0y I then tried it at -5, 210 and it also failed.

If any logs or example output is needed I do have them saved.

here is a snippit of json log from a y-5

{"ts":1680832046.5666897,"btemp":39.7,"bset":110.0,"etemp":28.9,"eset":0.0} {"ts":1680832055.7488663,"btemp":41.8,"bset":110.0,"etemp":28.7,"eset":0.0} {"ts":1680832064.933814,"btemp":43.7,"bset":110.0,"etemp":28.8,"eset":0.0} {"ts":1680832074.115607,"btemp":45.8,"bset":110.0,"etemp":28.7,"eset":0.0} {"ts":1680832083.2957892,"btemp":47.7,"bset":110.0,"etemp":28.8,"eset":0.0}

vs normal good output from y0

{"ts":1680811894.0619655,"btemp":23.1,"bset":0.0,"etemp":24.3,"eset":0.0} {"ts":1680811894.717463,"z":0.634375} {"ts":1680811895.6086173,"z":0.630469} {"ts":1680811896.4987571,"z":0.630859} {"ts":1680811897.3883061,"z":0.63125} {"ts":1680811898.278551,"z":0.63125} {"ts":1680811899.16916,"z":0.630469} {"ts":1680811900.059377,"z":0.630859} {"ts":1680811900.949688,"z":0.630859} {"ts":1680811901.8406627,"z":0.630469} {"ts":1680811902.7307703,"z":0.630859} {"ts":1680811903.2366679,"btemp":23.1,"bset":0.0,"etemp":24.3,"eset":0.0} {"ts":1680811903.8941498,"z":0.630078} {"ts":1680811904.78375,"z":0.630859} {"ts":1680811905.6740463,"z":0.630859} image image

edit: But as you can see in the image, I have been leveling the bed so as to get z0 ish when hot, but not taking into account the nozzle expansion. you can see the difference in the chart bigtime. so thank you again for the very nice utility (although i dont think my z motor has seen this much action in a long time ;) )

KiloQubit commented 1 year ago

I've just made a change that I think should fix this, can you try again with negative coordinates and confirm if it works for you now?

DaVinci-10 commented 1 year ago

I updated, will run asap, cooling down from previous run

DaVinci-10 commented 1 year ago

went ahead and ran it, tail on the file shows {"ts":1680903129.8752842,"z":0.051703} {"ts":1680903130.7650833,"z":0.051703} {"ts":1680903131.6557477,"z":0.051703} {"ts":1680903132.544723,"z":0.051703} {"ts":1680903133.4339285,"z":0.051703} {"ts":1680903134.3234935,"z":0.052094} {"ts":1680903134.8300316,"btemp":90.3,"bset":0.0,"etemp":131.4,"eset":0.0} {"ts":1680903135.4877973,"z":0.052094} {"ts":1680903136.3781385,"z":0.052094} {"ts":1680903137.270341,"z":0.052094} pi@DaVinci10:/tmp$

so it looks like that did it, i will post results but will be askew due to the warm start

DaVinci-10 commented 1 year ago

hope you dont mind i shared this extensivly today... good tool !

DaVinci-10 commented 1 year ago

It finished, and chart looks good image Thank You!

DaVinci-10 commented 1 year ago

There was one question, I had, is there a way to add chamber temps?

KiloQubit commented 1 year ago

There was one question, I had, is there a way to add chamber temps?

All temperature sensors defined in your config should be in the chart.

DaVinci-10 commented 1 year ago

is it limited to just heaters? as the json contains no other temps. I have 3 additional temps in printer.cfg klipper cpu, printer mcu, and a 2nd mcu rp2040 adxl345 (2nd duty is as a chamber temp monitor).

[temperature_sensor mcu_temp] sensor_type: temperature_mcu

[temperature_sensor klipper_temp] sensor_type: temperature_host sensor_path: /sys/class/thermal/thermal_zone2/temp

[temperature_sensor chamber_temp] sensor_type: temperature_mcu sensor_mcu: PIS

KiloQubit commented 1 year ago

is it limited to just heaters? as the json contains no other temps. I have 3 additional temps in printer.cfg klipper cpu, printer mcu, and a 2nd mcu rp2040 adxl345 (2nd duty is as a chamber temp monitor).

[temperature_sensor mcu_temp] sensor_type: temperature_mcu

[temperature_sensor klipper_temp] sensor_type: temperature_host sensor_path: /sys/class/thermal/thermal_zone2/temp

[temperature_sensor chamber_temp] sensor_type: temperature_mcu sensor_mcu: PIS

I can't test this right now, but I think you need gcode_id: added to those sections in order for Klipper to report those temperatures in M105.

KiloQubit commented 1 year ago

e.g. you can see pi and controller temperatures on mine

Screenshot 2023-04-08 at 14 46 57
DaVinci-10 commented 1 year ago

By the way, the gcode_id: was the fix for the temps. Thank you again

DaVinci-10 commented 1 year ago

image