• Tags
  • Documentation
  • Order
  • Register
  • Login
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.
  • undefined
    falco22
    last edited by 28 May 2022, 16:48

    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
    • undefined
      Phaedrux Moderator
      last edited by 28 May 2022, 18:41

      Are you using the tool change functions?

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

      Z-Bot CoreXY Build | Thingiverse Profile

      undefined 1 Reply Last reply 29 May 2022, 10:06 Reply Quote 0
      • undefined
        falco22 @Phaedrux
        last edited by 29 May 2022, 10:06

        @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

        undefined 1 Reply Last reply 29 May 2022, 17:02 Reply Quote 0
        • undefined
          Phaedrux Moderator @falco22
          last edited by 29 May 2022, 17:02

          @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

          undefined 1 Reply Last reply 29 May 2022, 18:20 Reply Quote 0
          • undefined
            falco22 @Phaedrux
            last edited by 29 May 2022, 18:20

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

            1 Reply Last reply Reply Quote 0
            • undefined
              Phaedrux Moderator
              last edited by 29 May 2022, 18:57

              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

              undefined 1 Reply Last reply 30 May 2022, 17:16 Reply Quote 0
              • undefined
                falco22 @Phaedrux
                last edited by 30 May 2022, 17:16

                @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
                • undefined Phaedrux moved this topic from General Discussion 5 Jun 2022, 03:56
                • undefined
                  Phaedrux Moderator
                  last edited by 5 Jun 2022, 03:57

                  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

                  undefined 1 Reply Last reply 5 Jun 2022, 09:14 Reply Quote 0
                  • undefined
                    falco22 @Phaedrux
                    last edited by 5 Jun 2022, 09:14

                    @phaedrux config.txt.g

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      Phaedrux Moderator
                      last edited by 6 Jun 2022, 01:38

                      ; 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
                      6 out of 10
                      • First post
                        6/10
                        Last post
                      Unless otherwise noted, all forum content is licensed under CC-BY-SA