Hypercube Piezo Orion - I dont understand...



  • So, I have had this Duet WIFI working outstandingly in another printer while it printed parts for its Hypercube replacement. I have this thing all assembled and am working toward making this Hypercube operate even more outstanding than its predecessor. If it were not for my simplistic understanding of the config...
    X and Y endstops work great. I have a similar one for low Z that the board acknowledges (lights the LED on the board) but does not stop downward motion.
    also, when homing X or Y the bed raises 3~ inches - the board finds its X or Y and then drops again.
    When homing Z the bed raises a few inches (no where near the nozzle/piezo and then presents me with this;
    5923351a-aed0-4641-ba52-7e6cc2dd4f48-image.png
    Not sure why this happens, should not the probe define its location? I have read and tried a number of examples like these ones;
    https://forum.duet3d.com/topic/6669/precision-piezo-orion-i-can-not-get-it-to-work
    https://forum.duet3d.com/topic/5025/precision-piezo-orion-anyone-got-a-working-config
    https://forum.duet3d.com/topic/2671/precision-piezo-z-probes-guide-for-duet-users-reference
    But every attempt seems the same. Please take a look at my config below, any pointers would be greatly appreciated.

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"3dPrinter" ; set printer name

    M667 S1 ; select CoreXY mode

    ; Network
    M552 S1 ; enable network
    M586 P0 S1 ; enable HTTP
    M586 P1 S0 ; disable FTP
    M586 P2 S0 ; disable Telnet

    ; Drives
    M569 P0 S0 ; physical drive 0 goes reverse
    M569 P1 S0 ; physical drive 1 goes reverse
    M569 P2 S1 ; physical drive 2 goes forward
    M569 P3 S1 ; physical drive 3 goes forwards
    M584 X0 Y1 Z2 E3 ; set drive mapping
    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M92 X160.00 Y160.00 Z4000.00 E420.00 ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
    M906 X1100 Y1100 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent. IO
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X300 Y300 Z300 S0 ; set axis maxima

    ; Endstops
    M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop
    M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop
    ;M574 Z1 S1 P"!zstop" ; configure Z-probe

    ; Z-Probe
    M574 X1 Y1 Z0 S0 ;
    M558 P1 I1 R0.4 F300 X0 Y0 Z0 ;analogue mode, NO/NC, delay, speed, not used as axis endstop(piezio) active high for I0 if not I1
    G31 X0 Y0 Z-0.1 P600 ;X, Y, Z offsets, sensitivity/threshold (piezio)
    M557 X35:280 Y35:280 S40 ; DEFINE PROBE GRID

    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
    M143 H0 S120 ; set temperature limit for heater 0 to 120C
    M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
    M307 H0 A193.1 C1096.4 D1.2 VO B0 ;BED HEATER TUNE
    M140 H0 ; map heated bed to heater 0
    M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
    M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
    M143 H1 S280 ; set temperature limit for heater 1 to 280C
    M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
    M307 H1 A850.7 C195.9 D6.2 V24.0 B0 ; NOZZLE HEATER TUNE

    ; Fans
    M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
    M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
    M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on

    ; Tools
    M563 P0 S"NOZZLE" D0 H1 F0 ; define tool 0
    G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
    G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C

    ; Custom settings are not defined


  • Moderator

    What do you have in homeall?

    The manual bed probing is presented when you have M558 P0, but your config shows P1 which I think is for analogue probes.

    I'm not sure, but I thought the Pieozo Orion was supposed to use P8. What does the Piezo documentation say?



  • Homeall shown below;
    In that last link i posted (from Piezo) it shows using P1, although the other examples show using 5 and 8 of which I tried as well.

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Apr 12 2020 15:18:04 GMT-0700 (Pacific Daylight Time)
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 X-305 Y-305 F1800 ; move quickly to X or Y endstop and stop there (first pass)
    G1 H1 X-305 ; home X axis
    G1 H1 Y-305 ; home Y axis
    G1 X5 Y5 F6000 ; go back a few mm
    G1 H1 X-305 F360 ; move slowly to X axis endstop once more (second pass)
    G1 H1 Y-305 ; then move slowly to Y axis endstop
    G90 ; absolute positioning
    G1 X15 Y15 F6000 ; go to first bed probe point and home Z
    G30 ; home Z by probing the bed

    ; Uncomment the following lines to lift Z after probing
    ;G91 ; relative positioning
    ;G1 Z5 F100 ; lift Z relative to current position
    ;G90 ; absolute positioning


  • Moderator

    What do you have in homez?

    @soreloser said in Hypercube Piezo Orion - I dont understand...:

    G1 X15 Y15 F6000 ; go to first bed probe point and home Z
    G30 ; home Z by probing the bed

    You should probably change the G1 position to move the nozzle to the center of the bed.

    I believe P8 would be the right probe type to use.

    After you change it and reboot send M558 in the gcode console by itself to see what the firmware thinks you have configured.

    Then you can use these steps to try and test your probe safely
    https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe





  • Which version of RRF?
    Which version of the Orion? Does it have the two rows of pins, one for analog and one for digital or just one row for digital? If you're connected to the digital pins on the Orion, you should use P8 for M558. If the analog pins, use P1. Also if analog, use I0.

    You have M574 Z0 and that needs to be Z1.



  • Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.0 (2020-01-03b3)
    Its the newer version of the sensor, i have tried both sets of pins, right now using P8 on the M558. I will change the M574 to Z1 and see. thanks!



  • Same;
    i rechecked the wire connectivity and that it is properly oriented in the z probe port of the duet, all good (oh ya, and its wired to the digital part portion of the Piezo).
    I turned down the sensitivity to see if it might be triggered prematurely, same. When i send the M558 code i receive 'Z probe 0 not found' , what should it be returning?


  • Moderator

    Can you post your m558 command as it is now?



  • M574 X1 Y1 Z1 S0
    M558 P8 I1 R0.4 F300 X0 Y0 Z0



  • Should i see some reference to the sensor in the status panel of GUI?


  • Moderator

    You are missing a few parameters like the dive height, travel speed. X0 Y0 Z0 is no longer used, so remove those. Also in RRF3 the inversion is done in the pin definition and not the M558, so remove the I1.

    Try this M558 P8 H5 F300 T6000 R0.4 C"!zprobe.in"

    C"!zprobe.in"` this must reflect the pin you're actually connect to. Are you using the Z endstop pin or the z probe pin? How are you wired?

    Delete your M574 X1 Y1 Z1 S0 and use the RRF3 syntax:

    M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop
    M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop
    

    You don't need a definition for Z here since you're using a probe.

    I think this should get you going with RRF3.



  • Once you get to the point of seeing the probe, I'd actually use it in analog mode because you don't have to fiddle with that tiny pot. When it's connected properly, you should see a constant reading of about 525-575 and touching the nozzle should cause the reading to jump then come back again. It happens too fast for the web console to keep up sometimes though. You can then set your G31 trigger threshold to around 10 + whatever the stable reading is. Of course, test that it stops the Z movement with your finger before you let Z home on its own.



  • @Phaedrux
    I am using the z probe input. Thank you, I will try your suggestions when i am in front of the machine tomorrow



  • @gtj0 Ok, cool - makes sense!



  • @Phaedrux WOW! Awesome! it works. Thank you for your assistance, I learned a lot. I have much more to do but this portion now works. My configuration portion looks like this;

    ; Endstops
    M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop
    M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop '

    ; Z-Probe
    M558 P8 H5 F300 T6000 R0.4 C"!zprobe.in" ;DIGITAL mode, NO/NC, delay, speed, used as axis endstop
    G31 X0 Y0 Z-0.1 P600 ;X, Y, Z offsets, sensitivity/threshold

    For now it stays digital until final tuning and try analog, thank you everyone.


Log in to reply