Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order
    1. Home
    2. audryhome
    • Profile
    • Following 0
    • Followers 1
    • Topics 13
    • Posts 31
    • Best 2
    • Controversial 0
    • Groups 0

    audryhome

    @audryhome

    2
    Reputation
    4
    Profile views
    31
    Posts
    1
    Followers
    0
    Following
    Joined Last Online

    audryhome Unfollow Follow

    Best posts made by audryhome

    • Fabtotum revival

      Bought a Fabtotum on Kickstarter, received it in 2015, and got my 3D Printing training with it. Good training, since it learned me by practice all the mistakes to avoid as a user, but also all those to avoid as a designer.
      For instance, it stopped using it after the ribbon broke due to trailing on the bed and colliding with printing part. Collecting dust since 2 years since.

      I decided recently to give it a rebirth by changing almost everything except COREXY mechanic, the most valuable thing in FT in my view.

      Removed all guts, including the RPI and heads, printed parts for X end stop, new bowden E3D V6 / TITAN based with most advanced parts, and it worked almost at the 1st run.
      I will now use this as a test platform for new heads, water cooled, TITAN direct drive and more.

      posted in My Duet controlled machine
      audryhome
      audryhome
    • RE: Persistent variable stored on the SD Card

      @fcwilt Yes, I print tiny parts ( custom gears and connectors), and I need minimal entry points on my objects to allow best external mechanical interface possible.

      Therefore I need to purge my nozzle between each part to ensure identical start conditions.

      And since I need many parts, I stuff my printing bed with as much as possible parts.

      posted in Firmware wishlist
      audryhome
      audryhome

    Latest posts made by audryhome

    • RE: Modifying a global variable while running

      @dc42 So I solved the problem by putting a simple macro that shows up on Panel Due main page.
      This toggles the variable that control the cooling. Then I can modify it while a macro is running in a loop.

      Regarding daemon.g, I think user should have control on the 10 sec delay. I understand the reason why this is done that way, but this greatly limit the usability of this interesing functionality.

      Many thanks again for help

      posted in Gcode meta commands
      audryhome
      audryhome
    • RE: Modifying a global variable while running

      @dc42 Yes, but it will fire only at 10 sec interval, plus the G4 parameter, plus more, which is far too long.
      I understand the reason why you stretched this delay, but in my case, I just scan the print area with the fan running at100%, nothing to do with print quality. BTW it cools the part, dual extruders and bed 40% quicker on my bigbox.

      For instance, a G4 S4 will end up with 4 +10 minimal delay. Since I cannot change the 10 sec delay, it is useless. Would need as low as 100 ms to be workable for my use case.

      BUT it works when I use the DWC console (set global.cool_part=false) while printing through Octoprint on a RPI 4. There is hope there, except I have to switch from Octoprint to DWC, what I try to avoid.
      I don't dislike DWC, but I use mainly the PanelDue rather than the web interface once launched the print through OCTOAPP on mobile, and setting up a global variable through the panel is not very easy and I don't see how I can do it through octoapp.

      Maybe I miss something on panel due ( custom button with a meta command on main page possible? )

      Many thanks

      posted in Gcode meta commands
      audryhome
      audryhome
    • RE: Modifying a global variable while running

      @cosmowave Thanks for the tip, but I cannot wait 10 Sec between action not put a loop inside the daemon.g code, since my code is scanning a a certain rate to cool down, and I need also to deactivate the daemon.g from the outside => more global variables..... Since this 10 sec is hard coded, I'm stuck....

      posted in Gcode meta commands
      audryhome
      audryhome
    • Modifying a global variable while running

      I wrote a macro to cool down parts after print, using the fan and the XY part trace to scan the entire printed area of the bed until head temperature reach an acceptable value. The idea is to accelerate part cool down, thus reducing wait time.

      However, this process should be interrupted manually if the cooled part is easily removed from bed without damaging it.

      I run a macro to do this, however I would like to interrupt the macro by setting a flag from command line, something like set global.part_cool = false. Macro does something like
      "while (global.part_cool and temperature> something)
      scan_the_bed
      "

      Using G4 P100 in the loop doesn't solve the problem, since G4 does wait, but don't allow me to send command to set a global variable until macro end, which is precisely what I want to avoid.

      Using daemon.g won't solve the problem, since it will execute a set of commands the same way, only at regular intervals.

      Question: Is there a command/trick that would allow this, other than wiring a hardware button somewhere and using it as a trigger?

      Many thanks for help

      posted in Gcode meta commands
      audryhome
      audryhome
    • +state.time behavior

      +state.time converts the present time to an absolute 1970 value.
      as the documentation says:

      • int->int, float->float Unary +
      • DateTime->int Converts a date & time value to a number of seconds since the datum. Available in RRF 3.4 and later.

      It is either an unary operator or a function.

      When I use it in expression if(+state.time - global.last_time) I get an error

      "Error: in file macro line 14 column 17: meta command: expected numeric or enumeration value after '+' " which means the it doesn't recognize the + operator function in this context.

      Solution is to declare a var then use it at the same place.

      Is it a desired behavior or did I miss something?

      Many thanks

      posted in Gcode meta commands
      audryhome
      audryhome
    • RE: Heater "pumping" when in standby

      @phaedrux
      bowden_pump.jpg

      Hi

      This is a copy of the screen

      The green one is the faulty guy

      posted in Using Duet Controllers
      audryhome
      audryhome
    • RE: Heater "pumping" when in standby

      @phaedrux I did not record the graph on DWC since I mainly use Octoprint as a GUI.
      I don't think it's an artefact from octoprint but I'll check next time it happens and let you know.
      let's see

      posted in Using Duet Controllers
      audryhome
      audryhome
    • RE: G29 S1 doesn't set move.compensation.meshDeviation.deviation

      @dc42 Many thanks David

      posted in General Discussion
      audryhome
      audryhome
    • G29 S1 doesn't set move.compensation.meshDeviation.deviation

      Since G29 S1 does load the heightmap.csv (by default) it should also set the corresponding values in the object model.

      I use these object model values to make a sanity check before launching a print, to avoid failures caused by an inconsistent bed level.

      There is no other mean to check heightmap.csv values, AFAIN there is no possibility to read these values using a meta command or classical gcode.

      Any idea?

      posted in General Discussion
      audryhome
      audryhome
    • RE: Heater "pumping" when in standby

      @phaedrux Here is the config.g & config_override.g

      The heater that pumps is H2

      config.g

      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.3.10 on Fri Jan 07 2022 10:08:48 GMT+0100 (heure normale d’Europe centrale)

      ; General preferences
      M575 P1 S1 B57600 ; enable support for PanelDue
      G90 ; send absolute coordinates...
      M83 ; ...but relative extruder moves
      M550 P"BigBox_Duet" ; set printer name

      ; Network
      M552 S1 P"XXXXX" ; enable network
      M586 P0 S1 ; enable HTTP
      M586 P1 S1 ; disable FTP
      M586 P2 S1 ; disable Telnet

      ; Drives
      M569 P0 S0 ; physical drive 0 goes forwards
      M569 P1 S1 ; physical drive 1 goes backwards
      M569 P2 S1 ; physical drive 2 goes backwards
      M569 P3 S0 ; physical drive 3 goes forwards
      M569 P4 S0 ; physical drive 4 goes forwards
      M584 X0 Y1 Z2 E3:4 ; set drive mapping
      M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
      M92 X160.00 Y360.00 Z1600.00 E304.00:304.00 ; set steps per mm
      M566 X600.00 Y600.00 Z30.00 E20.00:20.00 ; set maximum instantaneous speed changes (mm/min)
      M203 X8000.00 Y6000.00 Z360.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
      M201 X500.00 Y500.00 Z20.00 E250.00:250.00 ; set accelerations (mm/s^2)
      M906 X400 Y400 Z1200 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 X0:330 Y0:240 Z0:300 S0 ; set axis maxima

      ; Endstops
      M574 X1 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
      M574 Y1 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
      M574 Z1 S2

      ; Z-Probe
      ;M558 P5 C"zprobe.in" H5 F120 I1 T6000 ; set Z probe type to unmodulated and the dive height + speeds
      M558 P1 C"zprobe.in" I0 H5 R0.5 F340 T6000
      ;M558 P1 X0 Y0 Z1 H3 F200 T5000 ; Smart IR Z probe, used for homing Z axis, dive height 3mm, probe speed 200mm/min, travel speed 5000mm/min
      G31 X-60.0 Y0 Z1.6 P510 ; Set the probe height and threshold (put your own values here)
      M557 X10:275 Y5:195 S85 ; define mesh grid

      ; 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 T50:60 ; set fan 1 value. Thermostatic control is turned on
      M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency
      M106 P2 S1 H2 T50:60 ; set fan 2 value. Thermostatic control is turned on

      ; Heaters
      M308 S0 P"bed_temp" Y"thermistor" T100000 B4725 C7.06e-8 A"Bed" ; configure sensor 0 as thermistor on pin bedtemp Semitec 104 GT2 for AC Bed
      M950 H0 C"bedheat" T0 A"Bed" Q10 ; create bed heater output on bedheat and map it to sensor 0
      M140 H0 ;S80 R60 ; map heated bed to heater 0 , active 80°C, stdby 60°C
      M143 H0 S150 ; set temperature limit for heater 0 to 120C
      M308 S1 P"spi.cs2" Y"rtd-max31865" A"Direct" ; configure sensor 1 as PT100 on pin spi.cs1
      M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
      M570 H1 P5 T20 ; set heater fault detection parameter
      M143 H1 S280 ; set temperature limit for heater 1 to 280C
      M308 S2 P"spi.cs1" Y"rtd-max31865" A"Bowden" ; configure sensor 2 as PT100 on pin spi.cs2
      M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2
      M570 H2 P5 T20 ; set heater fault detection parameter
      M143 H2 S280 ; set temperature limit for heater 2 to 280C

      ; Tools
      ;Tool0
      M563 P0 D0 H1 F0 ; define tool 0
      G10 P0 X0 Y0 ; set tool 0 axis offsets
      G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
      ; Tool1
      M563 P1 D1 H2 F0 ; define tool 1
      G10 P1 X-37.61 Y1.44 Z0 ; set tool 1 axis offsets
      G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C

      ; read stored PID parameters
      M501

      config_ovverride.g

      ; config-override.g file generated in response to M500 at 2022-02-16 09:07
      ; This is a system-generated file - do not edit
      ; Heater model parameters
      M307 H0 R0.935 K0.408:0.000 D2.93 E1.35 S1.00 B0
      M307 H1 R1.942 K0.445:0.129 D5.33 E1.00 S1.00 B0 V24.4
      M307 H2 R1.851 K0.261:0.199 D5.67 E1.35 S1.00 B0 V24.4

      posted in Using Duet Controllers
      audryhome
      audryhome