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

    Dual head bioprinter

    Scheduled Pinned Locked Moved
    STM
    2
    10
    719
    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.
    • falco22undefined
      falco22
      last edited by

      Hello everyone. I am building a low cost bio printer. The base moves on the fixed Y axis. The carriage moves on the X axis. On the X head it has two syringe heads. each head is held by a motor guide. The height of Z is determined by two independent rails, one for each head. I need to be able to manually set the 0 of each tool (because the commercial syringe tips are very different). For example, I am using this macro for syringe no. 1:

      G28
      G1 X90 Y100
      M106 P0 S255
      T1
      G30 S-2
      G28
      T-1

      I intend to have the same macro but on T0 for the other tool.
      But when I start printing the machine does not remember the 0 that was set.
      I need the machine to remember the 0 for each tool while the machine is on, and when it is turned off to reset both tools.

      Thanks!

      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        Are you using the tool change functions?

        https://docs.duet3d.com/en/User_manual/Tuning/Tool_changing

        Z-Bot CoreXY Build | Thingiverse Profile

        falco22undefined 1 Reply Last reply Reply Quote 0
        • falco22undefined
          falco22 @Phaedrux
          last edited by

          @phaedrux yes, but all the tool changer files are empty because I haven't configured them yet, so I don't know why the heater is activated at the beginning of the leveling.

          config.txt.g

          Phaedruxundefined 1 Reply Last reply Reply Quote 0
          • Phaedruxundefined
            Phaedrux Moderator @falco22
            last edited by

            @falco22 said in Dual head bioprinter:

            I don't know why the heater is activated at the beginning of the leveling.

            What gcode macro are you using to do the leveling?

            Z-Bot CoreXY Build | Thingiverse Profile

            falco22undefined 1 Reply Last reply Reply Quote 0
            • falco22undefined
              falco22 @Phaedrux
              last edited by

              @phaedrux
              G28
              G1 X90 Y100
              M106 P0 S255
              T1
              G30 S-2
              G28
              T-1

              1 Reply Last reply Reply Quote 0
              • Phaedruxundefined
                Phaedrux Moderator
                last edited by

                Please share your config.g, homeall.g, and any other macros that come into play.

                Also the results of sending M122 and M98 P"config.g" in the gcode console.

                Z-Bot CoreXY Build | Thingiverse Profile

                falco22undefined 1 Reply Last reply Reply Quote 0
                • falco22undefined
                  falco22 @Phaedrux
                  last edited by

                  @phaedrux
                  homeall.g
                  config.g
                  homex.g
                  homey.g
                  homez.g
                  resume.g
                  tfree0.g
                  tfree1.g
                  tpost0.g
                  tpost1.g
                  tpre0.g

                  • M122
                  • === Diagnostics ===
                  • RepRapFirmware for STM32F4 based Boards (fly_super8) version 3.4.0_1 (2022-03-17 12:50:35) running on STM32F4
                  • Used output buffers: 3 of 40 (13 max)
                  • === RTOS ===
                  • Static ram: 21344
                  • Dynamic ram: 75752 of which 0 recycled
                  • Never used RAM 32948, free system stack 214 words
                  • CCMRam static ram: 15868 dynamic ram: 19852 free ram 29812
                  • Tasks: NETWORK(ready,6.3%,265) HEAT(notifyWait,0.0%,347) Move(notifyWait,0.0%,361) FSWRITE(notifyWait,0.0%,566) MAIN(running,92.3%,452) IDLE(ready,1.4%,29), total 100.0%
                  • Owned mutexes: WiFi(NETWORK)
                  • === Platform ===
                  • Last reset 00:00:52 ago, cause: [power on/off]
                  • Last software reset at 2022-05-29 12:32, reason: User, GCodes spinning, available RAM 32948, slot 0
                  • Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
                  • Error status: 0x00
                  • Step timer max interval 0
                  • MCU temperature: min 32.7, current 39.6, max 39.7
                  • Supply voltage: min 12.1, current 12.1, max 12.2, 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
                  • Events: 0 queued, 0 completed
                  • Driver 0: standstill 2209, SG min 0, reads 4586, writes 12
                  • Driver 1: standstill 2209, SG min 0, reads 4587, writes 11
                  • Driver 2: standstill 2209, SG min 0, reads 4586, writes 11
                  • Driver 3: standstill 2209, SG min 0, reads 4586, writes 11
                  • Driver 4: not present
                  • Driver 5:
                  • Driver 6:
                  • Driver 7:
                  • Driver 8:
                  • Driver 9:
                  • Driver 10:
                  • Date/time: 2022-05-30 19:14:07
                  • Slowest loop: 8.16ms; fastest: 0.09ms
                  • === Storage ===
                  • Free file entries: 10
                  • SD card 0 detected
                  • SD card longest read time 2.9ms, write time 0.0ms, max retries 0
                  • === Move ===
                  • DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000
                  • === MainDDARing ===
                  • Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                  • === AuxDDARing ===
                  • Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                  • === Heat ===
                  • Bed heaters -1, chamber heaters -1, ordering errs 0
                  • === GCodes ===
                  • Segments left: 0
                  • Movement lock held by null
                  • HTTP 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: 24.51ms; fastest: 0.00ms
                  • Responder states: HTTP(2) HTTP(0) HTTP(0) HTTP(0)
                  • HTTP sessions: 1 of 8
                  • Uploads/Errors: 0/0
                    • WiFi -
                  • Network state is active
                  • WiFi module is connected to access point
                  • Failed messages: pending 0, notready 0, noresp 0
                  • Bad header: 0/0
                  • WiFi firmware version 1.26-05S32-D
                  • WiFi MAC address 6c:5a:b0:2d:c4:6e
                  • WiFi Vcc 0.00, reset reason Power up
                  • WiFi flash size 0, free heap 148228
                  • WiFi IP address 192.168.1.133
                  • WiFi signal strength -26dBm, mode 802.11n, reconnections 0, sleep mode none
                  • Clock register 00000000
                  • Socket states: 4 0 0 0 0 0 0 0

                  M98 P"config.g"
                  HTTP is enabled on port 80
                  FTP is disabled
                  TELNET is disabled
                  Endstop configuration:
                  X: low end switch connected to pin !io0
                  Y: low end switch connected to pin !io1
                  Z: high end switch connected to pin io2

                  1 Reply Last reply Reply Quote 0
                  • Phaedruxundefined Phaedrux moved this topic from General Discussion
                  • Phaedruxundefined
                    Phaedrux Moderator
                    last edited by

                    Can you try uploading your config.g again? I can't seem to download it.

                    The only tool change file that has a temp command in it (or any command) is this one

                    ; tpost0.g
                    ; called after tool 0 has been selected
                    ;
                    ; generated by RepRapFirmware Configuration Tool v3.4.0-LPC-STM32+2 on Sat May 28 2022 18:17:41 GMT+0200 (hora de verano de Europa central)
                    ; Wait for set temperatures to be reached
                    M116 P0
                    

                    Z-Bot CoreXY Build | Thingiverse Profile

                    falco22undefined 1 Reply Last reply Reply Quote 0
                    • falco22undefined
                      falco22 @Phaedrux
                      last edited by

                      @phaedrux config.txt.g

                      1 Reply Last reply Reply Quote 0
                      • Phaedruxundefined
                        Phaedrux Moderator
                        last edited by

                        ; Configuration file for Fly Super8 (firmware version 3)
                        ; executed by the firmware on start-up
                        ;
                        ; generated by RepRapFirmware Configuration Tool v3.4.0-LPC-STM32+2 on Sat May 28 2022 18:17:40 GMT+0200 (hora de verano de Europa central)
                        
                        ; General preferences
                        G90                                             ; send absolute coordinates...
                        M83                                             ; ...but relative extruder moves
                        M550 P"EXODO"                                   ; set printer name
                        
                        ; Network
                        M552 S1                                         ; enable network
                        M586 P0 S1                                      ; enable HTTP
                        M586 P1 S0                                      ; disable FTP
                        M586 P2 S0                                      ; disable Telnet
                        
                        M302 P1
                        
                        ; Drives
                        M569 P0 S0                                      ; physical drive 0 goes forwards using default driver timings
                        M569 P1 S0                                      ; physical drive 1 goes forwards using default driver timings
                        M569 P2 S0                                      ; physical drive 2 goes forwards using default driver timings
                        M569 P3 S0                                      ; physical drive 3 goes backwards using default driver timings
                        M569 P4 S0                                      ; physical drive 4 goes backwards using default driver timings
                        M584 X0 Y1 Z2 E3:4                              ; set drive mapping
                        M350 X16 Y16 Z16 E16:16 I1                      ; configure microstepping with interpolation
                        M92 X400.00 Y400.00 Z533.33 E40.00:40.00        ; set steps per mm
                        M566 X400 Y400 Z120 E120.00:120.00      ; set maximum instantaneous speed changes (mm/min)
                        M203 X3000 Y3000 Z180.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
                        M201 X300 Y300 Z20.00 E250.00:250.00      ; set accelerations (mm/s^2)
                        M906 X800 Y800 Z800 E800:800 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 X180 Y200 Z200 S0                          ; set axis maxima
                        
                        ; Endstops
                        M574 X1 S1 P"!io0"                                                       ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io0
                        M574 Y1 S1 P"!io1"                                                       ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io1
                        M574 Z1 S1 P"io2"
                        M574 U2 S0 P"!io3"                               ; configure switch-type (e.g. microswitch) endstop for high end on Z via pin io2
                        
                        ; 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
                        
                        ; Heaters
                        M140 H-1                                        ; disable heated bed (overrides default heater mapping)
                        M308 S0 P"ADC_0" Y"thermistor" T100000 B4092    ; configure sensor 0 as thermistor on pin ADC_0
                        M950 H0 C"heat0" T0                             ; create nozzle heater output on heat0 and map it to sensor 0
                        M307 H0 B0 S1.00  I1                              ; disable bang-bang mode for heater  and set PWM limit
                        M143 H0 S120                                    ; set temperature limit for heater 0 to 120C
                        M308 S1 P"ADC_1" Y"thermistor" T10000 B3988     ; configure sensor 1 as thermistor on pin ADC_1
                        M950 H1 C"heat1" T1                             ; create nozzle heater output on heat1 and map it to sensor 1
                        M307 H1 B0 S1.00 I1                               ; disable bang-bang mode for heater  and set PWM limit
                        M143 H1 S120                                    ; set temperature limit for heater 1 to 120C
                        
                        ; 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
                        
                        ; Tools
                        M563 P0 S"A" D0 H0 F-1                          ; 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
                        M563 P1 S"B" D1 H1 F-1                          ; define tool 1
                        G10 P1 X0 Y0 Z0                                 ; set tool 1 axis offsets
                        G10 P1 R18 S18                                    ; set initial tool 1 active and standby temperatures to 0C
                        
                        ; Custom settings are not defined
                        
                        

                        I don't see anything noteworthy in there other than the tool1 definition sets the active and standby temps to 18 for some reason.

                        Z-Bot CoreXY Build | Thingiverse Profile

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