• Tags
  • Documentation
  • Order
  • Register
  • Login
Duet3D Logo Duet3D
  • Tags
  • Documentation
  • Order
  • Register
  • Login

Another mirrored core xy question

Scheduled Pinned Locked Moved
Using Duet Controllers
4
14
359
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • undefined
    Fisher
    last edited by Fisher 19 Jan 2021, 16:04

    Im currently commisioning my new printer, all movemnts seem to working corectly except the y axis is mirrored.

    This image shows how i want the movemet configured as well as the location of the end stops.

    alt text

    my current config (i have removed non relevent sections):

    ; generated by RepRapFirmware Configuration Tool v3.1.10 on Wed Dec 23 2020 01:01:14 GMT+0000 (Greenwich Mean Time)
    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"My Printer" ; set printer name
    M669 K1 ; select CoreXY mode
    ; Drives
    M569 P0 S1 ; physical drive 0 goes forwards
    M569 P1 S1 ; physical drive 1 goes forwards
    M569 P2 S1 ; physical drive 2 goes forwards
    M569 P3 S1 ; physical drive 3 goes forwards
    M584 X0 Y1 Z2 E3 ; set drive mapping
    M350 X256 Y256 Z16 E8 I1 ; configure microstepping with interpolation
    M92 X2560.00 Y2560.00 Z1600.00 E400.00 ; set steps per mm
    M566 X900.00 Y900.00 Z60.00 E2000.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X12000.00 Y12000.00 Z400.00 E4800.00 ; set maximum speeds (mm/min)
    M201 X800 Y800 Z20.00 E2000.00 ; set accelerations (mm/s^2)
    M906 X800 Y800 Z650 E1300 I30 ; set motor currents (mA) and motor idle factor in per cent
    M84 S10 ; Set idle timeout
    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X330 Y270 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 S2 ; configure Z-probe endstop for low end on Z
    ; Z-Probe
    M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch
    M558 P9 C"^zprobe.in" H3 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X-35 Y0 Z3.4 ; set Z probe trigger value, offset and trigger height
    M557 X25:275 Y0:250 S50 ; define mesh grid

    homeall.g:

    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 X-330 Y-270 F3600 ; move quickly to X or Y endstop and stop there (first pass)
    G1 H1 X-330 ; home X axis
    G1 H1 Y-270 ; home Y axis
    G1 X5 Y5 F6000 ; go back a few mm
    G1 H1 X-330 F360 ; move slowly to X axis endstop once more (second pass)
    G1 H1 Y-270 ; then move slowly to Y axis endstop
    G90 ; absolute positioning
    G1 X50 Y15 F6000 ; go to first bed probe point and home Z
    G30 ; home Z by probing the bed

    homex.g:

    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 X-330 F3600 ; move quickly to X axis endstop and stop there (first pass)
    G1 X5 F6000 ; go back a few mm
    G1 H1 X-330 F360 ; move slowly to X axis endstop once more (second pass)
    G1 H2 Z-5 F6000 ; lower Z again
    G90 ; absolute positioning

    homey.g:

    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 Y-270 F3600 ; move quickly to Y axis endstop and stop there (first pass)
    G1 Y5 F6000 ; go back a few mm
    G1 H1 Y-270 F360 ; move slowly to Y axis endstop once more (second pass)
    G1 H2 Z-5 F6000 ; lower Z again
    G90 ; absolute positioning

    i belive i have to hange the following :

    • M669 y-1
    • M574 Y1 S2
    • change the movments in homeall and homey to positive movments

    ive tried this and the movment directions seem correct but i get strange behavior when homing where the x axis tries to continue moving beyond the end stop limit.

    Am i making the correct changes or am i missing somthing, TIA.

    undefined 2 Replies Last reply 19 Jan 2021, 16:04 Reply Quote 1
    • undefined
      Fisher @Fisher
      last edited by 19 Jan 2021, 16:04

      This post is deleted!
      1 Reply Last reply Reply Quote 0
      • undefined
        Fisher @Fisher
        last edited by 19 Jan 2021, 16:14

        @Fisher said in Another mirrored core xy question:

        M574 Y1 S2

        i made a mistake in my op but cant edit it as its getting flagged as spam for some reason i am changing
        ** M574 Y2 S1 **

        1 Reply Last reply Reply Quote 1
        • undefined
          Veti
          last edited by 19 Jan 2021, 16:14

          @Fisher said in Another mirrored core xy question:

          M350 X256 Y256 Z16 E8 I1 ; configure microstepping with interpolation

          you are overloading the cpu.

          the duet wifi does only support interpolation at x16
          and unless there is a specific reason, go with x16 and interpolation for all axes.

          did you forget the rest of your config? its missing some sections.

          for your motor movement see
          https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter#Section_Testing_motor_movement

          undefined 1 Reply Last reply 19 Jan 2021, 16:28 Reply Quote 0
          • undefined
            Fisher @Veti
            last edited by 19 Jan 2021, 16:28

            @Veti Thanks for pointing that out, idk why i had it like that, here is the full config:

            ; Configuration file for Duet WiFi (firmware version 3)
            ; executed by the firmware on start-up
            ;
            ; generated by RepRapFirmware Configuration Tool v3.1.10 on Wed Dec 23 2020 01:01:14 GMT+0000 (Greenwich Mean Time)
            ; General preferences
            G90 ; send absolute coordinates...
            M83 ; ...but relative extruder moves
            M550 P"My Printer" ; set printer name
            M669 K1 ; 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 S1 ; physical drive 0 goes forwards
            M569 P1 S1 ; physical drive 1 goes forwards
            M569 P2 S1 ; physical drive 2 goes forwards
            M569 P3 S1 ; physical drive 3 goes forwards
            M584 X0 Y1 Z2 E3 ; set drive mapping
            M350 X16 Y16 Z16 E8 I1 ; configure microstepping with interpolation
            M92 X160 Y160 Z1600.00 E400.00 ; set steps per mm
            M566 X900.00 Y900.00 Z60.00 E2000.00 ; set maximum instantaneous speed changes (mm/min)
            M203 X12000.00 Y12000.00 Z400.00 E4800.00 ; set maximum speeds (mm/min)
            M201 X800 Y800 Z20.00 E2000.00 ; set accelerations (mm/s^2)
            M906 X800 Y800 Z650 E1300 I30 ; set motor currents (mA) and motor idle factor in per cent
            M84 S10 ; Set idle timeout
            ; Axis Limits
            M208 X0 Y0 Z0 S1 ; set axis minima
            M208 X330 Y270 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 S2 ; configure Z-probe endstop for low end on Z
            ; Z-Probe
            M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch
            M558 P9 C"^zprobe.in" H3 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
            G31 P500 X-35 Y0 Z3.4 ; set Z probe trigger value, offset and trigger height
            M557 X25:275 Y0:250 S50 ; define mesh grid
            ; Heaters
            M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
            M950 H0 C"e1heat" T0 ; create bed heater output on bedheat and map it to sensor 0 ********* HEAT BED ON E1 Temporary.
            M307 H0 A162.9 C183.2 D2.0 S1.00 V24.1 B0 ; disable bang-bang mode for the bed heater and set PWM limit
            M140 H0 ; map heated bed to heater 0
            M143 H0 S120 ; set temperature limit for heater 0 to 120C
            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
            M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
            M143 H1 S280 ; set temperature limit for heater 1 to 280C
            ; 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 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
            M572 D0 S0.05 ;Pressure Advance setting
            M501 ; Custom settings
            1 Reply Last reply Reply Quote 0
            • undefined
              Veti
              last edited by 19 Jan 2021, 16:29

              @Fisher said in Another mirrored core xy question:

              M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
              M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp

              this is incorrect. find the correct beta value in your thermistor documentation.

              undefined 2 Replies Last reply 19 Jan 2021, 16:39 Reply Quote 0
              • undefined
                Fisher @Veti
                last edited by 19 Jan 2021, 16:39

                @Veti Ok thanks, im going to get the basics sorted before i try and understand what a beta value is.

                1 Reply Last reply Reply Quote 0
                • undefined
                  dc42 administrators
                  last edited by 19 Jan 2021, 16:42

                  To resolve mirroring on a CoreYX printer, you need to swap the X and Y motor connections over, either physically or in M584. It's also possible to correct it by changing the M669 matrix, but that is over-complicated for solving this.

                  Duet WiFi hardware designer and firmware engineer
                  Please do not ask me for Duet support via PM or email, use the forum
                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                  undefined 1 Reply Last reply 19 Jan 2021, 16:45 Reply Quote 0
                  • undefined
                    Fisher @dc42
                    last edited by 19 Jan 2021, 16:45

                    @dc42 thanks, i will still need to amend my endstop location and homeall / homey directions i assume.

                    undefined 1 Reply Last reply 19 Jan 2021, 17:50 Reply Quote 0
                    • undefined
                      dc42 administrators @Fisher
                      last edited by 19 Jan 2021, 17:50

                      @Fisher said in Another mirrored core xy question:

                      @dc42 thanks, i will still need to amend my endstop location and homeall / homey directions i assume.

                      Yes. Get G1 H2 moves working properly first, then sort out the endstop config and homing files. https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter#Section_Testing_motor_movement

                      Duet WiFi hardware designer and firmware engineer
                      Please do not ask me for Duet support via PM or email, use the forum
                      http://www.escher3d.com, https://miscsolutions.wordpress.com

                      1 Reply Last reply Reply Quote 0
                      • undefined
                        Fisher
                        last edited by 19 Jan 2021, 18:28

                        All sorted Thanks once again.

                        1 Reply Last reply Reply Quote 0
                        • undefined
                          Fisher @Veti
                          last edited by 19 Jan 2021, 19:24

                          @Veti Would you be able to explain a little more about whats wrong with this or point me towards some info on thermister settings / what is a beta value? my hotend thermistor is a generic one from e3d, my bed thermister is integrated into silicone heat mat - cheap chinese one doubut i'll be able to find any documentation for it.

                          undefined undefined 2 Replies Last reply 19 Jan 2021, 19:28 Reply Quote 0
                          • undefined
                            Phaedrux Moderator @Fisher
                            last edited by 19 Jan 2021, 19:28

                            @Fisher If it's an E3D thermistor, it would use Y"thermistor" T100000 B4725 C7.06e-8

                            Z-Bot CoreXY Build | Thingiverse Profile

                            1 Reply Last reply Reply Quote 0
                            • undefined
                              Veti @Fisher
                              last edited by 19 Jan 2021, 19:45

                              @Fisher said in Another mirrored core xy question:

                              my bed thermister is integrated into silicone heat mat - cheap chinese one doubut

                              those tend to be B3950 thermistors.

                              the beta value describes how the resistance changes with temperature as different thermistors behave differently.

                              if you have the wrong value it could easily read 200C but the actual temperature could be 20C off.

                              1 Reply Last reply Reply Quote 0
                              3 out of 14
                              • First post
                                3/14
                                Last post
                              Unless otherwise noted, all forum content is licensed under CC-BY-SA