-
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-1I 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!
-
Are you using the tool change functions?
-
@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.
-
@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?
-
@phaedrux
G28
G1 X90 Y100
M106 P0 S255
T1
G30 S-2
G28
T-1 -
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.
-
@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 -
-
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
-
-
; 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.