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

    M950, M563, M3 commands to run VFD

    Scheduled Pinned Locked Moved
    CNC
    2
    2
    210
    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.
    • Handymanpa54undefined
      Handymanpa54
      last edited by

      Hello All,
      I have a Duet2 ethernet and trying to get this CNC running. I tried sending M3 P0 S2000 but nothing. I took a look with my Oscope to see if any PWM is coming on Pin 13 signal, pin 30 gnd of expansion connector.
      I think I have the Gcode right but I really don't fully understand These commands yet.

      code_text
      8/9/2021, 7:11:15 PM 	m122
      === Diagnostics ===
      RepRapFirmware for Duet 2 WiFi/Ethernet version 3.3 (2021-06-15 21:44:54) running on Duet Ethernet 1.02 or later
      Board ID: 0JD0M-9P6B2-NJ4S4-6JTD2-3S46K-KU0LM
      Used output buffers: 1 of 24 (13 max)
      === RTOS ===
      Static ram: 23876
      Dynamic ram: 70264 of which 0 recycled
      Never used RAM 20276, free system stack 150 words
      Tasks: NETWORK(ready,25.2%,237) HEAT(delaying,0.0%,390) Move(notifyWait,0.1%,309) MAIN(running,74.6%,449) IDLE(ready,0.2%,29), total 100.0%
      Owned mutexes:
      === Platform ===
      Last reset 00:08:25 ago, cause: power up
      Last software reset at 2021-08-09 18:46, reason: User, GCodes spinning, available RAM 20276, slot 1
      Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
      Error status: 0x00
      Aux0 errors 0,0,0
      Step timer max interval 0
      MCU temperature: min 28.9, current 39.7, max 40.2
      Supply voltage: min 23.8, current 23.8, max 23.9, under voltage events: 0, over voltage events: 0, power good: yes
      Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
      Driver 0: position 0, standstill, SG min/max 0/1023
      Driver 1: position 0, standstill, SG min/max 0/1023
      Driver 2: position 0, standstill, SG min/max not available
      Driver 3: position 0, standstill, SG min/max not available
      Driver 4: position 0, standstill, SG min/max not available
      Driver 5: position 0
      Driver 6: position 0
      Driver 7: position 0
      Driver 8: position 0
      Driver 9: position 0
      Driver 10: position 0
      Driver 11: position 0
      Date/time: 2021-08-09 19:11:12
      Cache data hit count 4294967295
      Slowest loop: 9.14ms; fastest: 0.14ms
      I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
      === Storage ===
      Free file entries: 10
      SD card 0 detected, interface speed: 20.0MBytes/sec
      SD card longest read time 3.3ms, write time 0.0ms, max retries 0
      === Move ===
      DMs created 83, maxWait 490658ms, bed compensation in use: none, comp offset 0.000
      === MainDDARing ===
      Scheduled moves 5, completed moves 5, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
      === AuxDDARing ===
      Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
      === Heat ===
      Bed heaters = -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
      === GCodes ===
      Segments left: 0
      Movement lock held by null
      HTTP is idle in state(s) 0
      Telnet is idle in state(s) 0
      File is idle in state(s) 0
      USB is idle in state(s) 0
      Aux is idle in state(s) 0
      Trigger is idle in state(s) 0
      Queue is idle in state(s) 0
      LCD is idle in state(s) 0
      Daemon is idle in state(s) 0
      Autopause is idle in state(s) 0
      Code queue is empty.
      === Network ===
      Slowest loop: 14.94ms; fastest: 0.02ms
      Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
      HTTP sessions: 1 of 8
      Interface state active, link 100Mbps full duplex
      
      code_text
      ; Configuration file for Duet WiFi (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.2.3 on Fri Jul 30 2021 11:14:49 GMT-0400 (Eastern Daylight Time)
      
      ; General preferences
      
      G90                                                ; send absolute coordinates...
      M83                                                ; ...but relative extruder moves
      M550 P"CNC 6040"                                   ; set printer name
      
      ; Network
      M552 P192.168.1.14 S1                              ; enable network and set IP address
      M553 P255.255.255.0                                ; set netmask
      M554 P192.168.1.2                                  ; set gateway
      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 E16 I1                            ; configure microstepping with interpolation
      M92 X640.00 Y640.00 Z640.00 E420.00                ; set steps per mm
      M566 X400.00 Y400.00 Z80.00 E120.00                ; set maximum instantaneous speed changes (mm/min)
      M203 X2500.00 Y2500.00 Z240.00 E1200.00            ; set maximum speeds (mm/min)
      M201 X300.00 Y300.00 Z20.00 E250.00                ; set accelerations (mm/s^2)
      M906 X1300 Y1300 Z1300 E500 I30                    ; set motor currents (mA) and motor idle factor in per cent
      M84 S30                                            ; Set idle timeout
      
      ; Axis Limits
      M208 X0 Y0 Z0 S1                                   ; set axis minima
      M208 X390 Y590 Z68 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 active-high endstop for low end on Z via pin ^zstop
      
      ; Z-Probe
      M558 P0 H5 F120 T6000                              ; disable Z probe but set dive height, probe speed and travel speed
      M557 X15:215 Y15:195 S20                           ; define mesh grid
      
      
      M950 R0 C"exp.heater4" Q2000 L0:24000   					; Create spindle index 0, PWM frequency 2KHz, 
                                                        ; Lmin:max rpm ranges from 0rpm at PWM=0% to 24000rpm at 100% PWM
                                                        ; spindle speed PWM pin	: exp.13 
      M563 P0 R0 S"Spindle"                             ; Create Tool 0 with Spindle 0 and call it Spindle
      
      T0						  							; Select Tool 0 (or make sure generated by CAM)
      
       
      
      
      
      M453												; CNC Mode
      ; 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
      ;M307 H0 B1 S1.00                                   ; enable 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 S"CNC6040" D0 H1 F0                        ; define tool 0
      M453 S0 C"out1" R24000 Q100 T0
      M563 S"XYZ-Probe" P1                    ; define XYZ Touch Probe tool 1
      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
      
      ; Miscellaneous
      M575 P1 S1 B57600                                  ; enable support for PanelDue
      M501                                               ; load saved parameters from non-volatile memory
      M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
                                                       ; select first tool
      
      
      
      droftartsundefined 1 Reply Last reply Reply Quote 0
      • droftartsundefined
        droftarts administrators @Handymanpa54
        last edited by droftarts

        @handymanpa54 said in M950, M563, M3 commands to run VFD:

        As @cjm said in the other thread https://forum.duet3d.com/post/244734, you still have a second M563 tool 0 definition later in your config.g that is overriding the first:

        M950 R0 C"exp.heater4" Q2000 L0:24000 ; Create spindle index 0, PWM frequency 2KHz, 
                                              ; Lmin:max rpm ranges from 0rpm at PWM=0% to 24000rpm at 100% PWM
                                              ; spindle speed PWM pin : exp.13 
        M563 P0 R0 S"Spindle"                 ; Create Tool 0 with Spindle 0 and call it Spindle
        T0                                    ; Select Tool 0 (or make sure generated by CAM)
        
        M453												; CNC Mode
        
        ...
        
        ; Tools
        M563 P0 S"CNC6040" D0 H1 F0                        ; define tool 0
        M453 S0 C"out1" R24000 Q100 T0
        M563 S"XYZ-Probe" P1                    ; define XYZ Touch Probe tool 1
        G10 P0 X0 Y0 Z0                                    ; set tool 0 axis offsets
        G10 P0 R0 S0                                       ; set initial tool 0 active and standby temperatures to 0C
        

        Change the section after "; Tools" to:

        ; Tools
        ; M563 P0 S"CNC6040" D0 H1 F0                        ; define tool 0
        ; M453 S0 C"out1" R24000 Q100 T0
        M563 S"XYZ-Probe" P1                    ; define XYZ Touch Probe tool 1
        ; G10 P0 X0 Y0 Z0                                    ; set tool 0 axis offsets
        ; G10 P0 R0 S0                                       ; set initial tool 0 active and standby temperatures to 0C
        

        (I've left the XYZ Touch Probe as tool 1, but you'll need to come back to that and define it properly.)

        Edit: you may also need to invert the heater 4 pin, ie M950 R0 C"!exp.heater4" Q2000 L0:24000

        Ian

        Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

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