Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. spegelius
    • Profile
    • Following 0
    • Followers 0
    • Topics 3
    • Posts 15
    • Best 2
    • Controversial 0
    • Groups 0

    spegelius

    @spegelius

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

    spegelius Unfollow Follow

    Best posts made by spegelius

    • RE: My FrankenCube - 4 material Prometheus based printer

      As I mentioned, the originl 4x joiner part had some trouble with some filaments, probably due to having too tight bends inside the part. To fix that, I desgined my own part, trying to have the paths bend as little as possible, while keeping the part relatively small. After few iterations I got a part that has been working without problems for few months now. I printed it with PETG, but ABS might be better as it has higher heat tolerances. Still, PETG seems to be holding up quite well.

      alt text
      alt text

      posted in My Duet controlled machine
      spegeliusundefined
      spegelius
    • RE: FW compilation and relay control

      Ok the setup seems to be working, printed this gear with 4 colors (ABS, 0.2mm, S3D, Pressure Advance 0.27):
      alt text

      I used logical pins 60-63 for control and 5V from ATX PSU for power as I run whole system with it.

      tfreex.g:
      M18 E0

      tpost0.g:
      M116 P0
      M42 P60 S255
      M42 P61 S255
      M42 P62 S255
      M42 P63 S255
      G4 P300

      tpost1.g
      M116 P0
      M42 P60 S255
      M42 P61 S255
      M42 P62 S255
      M42 P63 S0
      G4 P300

      tpost2.g
      M116 P0
      M42 P60 S255
      M42 P61 S255
      M42 P62 S0
      M42 P63 S0
      G4 P300

      tpost3.g
      M116 P0
      M42 P60 S255
      M42 P61 S0
      M42 P62 S0
      M42 P63 S0
      G4 P300

      At first I had some trouble wrapping my head around how to keep E0 as the drive when changing tool, but luckily stumbled upon M563 definition in Duet Wiki and all was clear, just set all tools to use E0. I did my first configuration for Duet with some online configuration generator, so didn't really look it through all of the commands very keenly. Loving how much things can be configured without needing to touch the actual code.

      posted in Firmware installation
      spegeliusundefined
      spegelius

    Latest posts made by spegelius

    • RE: Duet Maestro and controlling 16-port relay

      Ok I guess that's expected, the relay isn't something that's specifically selected to work with Duet as I had it from other project. Anyways, it seems to be working fine so far when the inputs signals are fed through 1kohm resistor.
      I did a couple of test prints, first with 2 extruders and after adding 2 more.
      I'm toying with the idea of adding 2 more extruders, but need to desing a 6-port multiplexer part.

      Fidget Widget
      4-color print ongoing
      Tronxy X5S with 4 extruders

      posted in Duet Hardware and wiring
      spegeliusundefined
      spegelius
    • RE: Duet Maestro and controlling 16-port relay

      Made a workaround until I get the decoder chip by adding 1kohm resistor to the input lines. Now the relay port active voltage is 2.8V and not active is 3.7V. Relay seems to be happy with this, the ports change state as they should.
      So currently I can control 6 stepper motors with following pin config:

      ; GPIO
      M558 P0 C"zprobe.in"                               ; free zprobe.mod
      M950 P0 C"exp.pa21"
      M950 P1 C"exp.pa22"
      M950 P3 C"exp.pa3"
      M950 P2 C"exp.pa4"
      M950 P4 C"zprobe.mod"
      

      Only have two extruders mounted on the printer currently, 2 are waiting for installation. I have following tool change gcode:
      tfreex.g:

      M18 E0
      G4 P10
      

      tpostx.g

      ; T0 set relay
      M42 P0 S1
      M42 P1 S1
      M42 P2 S1
      M42 P3 S1
      M42 P4 S1
      G4 P300
      
      ; T1 set relay
      M42 P0 S0
      M42 P1 S1
      M42 P2 S1
      M42 P3 S1
      M42 P4 S1
      G4 P300
      
      ; T2 set relay
      M42 P0 S0
      M42 P1 S0
      M42 P2 S1
      M42 P3 S1
      M42 P4 S1
      G4 P300
      
      ; T3 set relay
      M42 P0 S0
      M42 P1 S0
      M42 P2 S0
      M42 P3 S1
      M42 P4 S1
      G4 P300
      
      ; T4 set relay
      M42 P0 S0
      M42 P1 S0
      M42 P2 S0
      M42 P3 S0
      M42 P4 S1
      G4 P300
      
      ; T5 set relay
      M42 P0 S0
      M42 P1 S0
      M42 P2 S0
      M42 P3 S0
      M42 P4 S0
      G4 P300
      

      Time to print something and see how well this works. The Duet2Wifi and 8-port relay setup has been working flawlessly for over a year so hoping this will too.

      posted in Duet Hardware and wiring
      spegeliusundefined
      spegelius
    • RE: Duet Maestro and controlling 16-port relay

      @dc42 It does have 5V input, I'm feeding it from the step-down regulator. I configured it to output 3.3V, but didn't change anything. Not sure what the relay actually uses since there's the separate 12V input. The datasheet for the relay is here if interested (rar packge): https://www.sainsmart.com/zen/documents/20-018-103/16-relay.rar

      Is there a possibility to reset pin to it's original state, as it is when Duet boots? Because the relay board has all ports inactive until the first M42 command and after that the Duet GPIO state is too low for the relay. I tried M950 P0 C"nil", but I could still use M42 on that pin. I measured the voltage from Duet connected to the relay right after Duet boot and it was 3.7V. After using M42 it's either ~0 or ~3.4V, measured on the relay input pins.

      I have some transistors so I could rig something to pull the input pins down, I think the relay has pull-ups for the inputs.

      posted in Duet Hardware and wiring
      spegeliusundefined
      spegelius
    • RE: Duet Maestro and controlling 16-port relay

      Ok the problem doesn't seem to be Maestro after all; did what I should have done in the first place and measured what the Maestro outputs are after issuing M42 commands and they do change, 0 or 3.3V. My bad, expected the relay to behave as the 8-port version does. So it sees 0 and 3.3V being 'low'.

      So I think adding that 5V decoder will fix this issue since it outputs 5V and the relay should be happy with that. And I get full control of the relay if I ever need it.

      I did upgrade to RRF3 but I suspect that 2.04 was also working fine. I'll stick with RRF3 for now since I made the config changes.
      Btw, how does one free a pin that's already defined? I wanted to try what zprobe_mod outputs, but can't define it with M950 since it's already defined.

      posted in Duet Hardware and wiring
      spegeliusundefined
      spegelius
    • RE: Duet Maestro and controlling 16-port relay

      Thanks for suggestions, I'll check those decoders.

      @dc42 : thanks for looking into this. The connections should be correct, as mentioned the M42 command kinda works once with pins 60-63, but after that nothing happens, the relay port stays activated. Also after I moved one wire from pin 60 to Maestro's E1 heater output (pin 2) and disabled the heater, the relay port control works fine with M42 P2 S0 and S1.

      I'll try RRF 3 if time permits later.

      posted in Duet Hardware and wiring
      spegeliusundefined
      spegelius
    • RE: Duet Maestro and controlling 16-port relay

      Tested Maestro's E1 heater output and it works fine controlling the relay. Also I can free one fan header so total 3 pins which would be enough to control 4 extruders with the relay. And using the E1 driver, that's total of 5 extruders.

      But I've been thinking that it would be nice to have options in case in future there's need for more fans etc. So to optimize the pin usage, I would need to have a circuit that converts the bit field like so:

      000 = 000000
      001 = 000001
      010 = 000011
      011 = 000111
      100 = 001111
      110 = 011111
      111 = 111111

      With this approach 2 pins could control 4 extruders and with 3 pins, 7.
      The problem is that I don't know how to do that with logic components, don't even know the proper search term to use :)...

      posted in Duet Hardware and wiring
      spegeliusundefined
      spegelius
    • RE: Duet Maestro and controlling 16-port relay

      Ok, where is this info seen? Looking here: https://duet3d.dozuki.com/Wiki/Using_servos_and_controlling_unused_IO_pins, the pins 60-63 (CS5-CS8) on Duet2Wifi have same characteristics as Maestro's pins 60-63 have. There is a mention of Due2Wifi CS-pins being general purpose I/O pins, though... but no mention of Maestro's pins NOT being general purpose pins. Me confused.

      If the pins truly are incapable of controlling the relay, I think I'll need to swap the boards so that I'll be using the Duet2Wifi to control this 16-port relay and Duet Maestro to control the 8-port relay. With the 8-port relay I'm currently only using 4 extruders and I only need 3 I/O pins for that so I can sacrifice heater or fan. But with the machine using the 16-port relay I'm thinking about experimenting with dual hotend-multi extruder hybrid setup and I probably can't spare any heaters or fans.

      Last option is to ditch Duet and use MKS Sbase I have on other machine, it has all the pins I need.

      posted in Duet Hardware and wiring
      spegeliusundefined
      spegelius
    • Duet Maestro and controlling 16-port relay

      I'm trying to replicate a configuration for controlling a relay to switch active extruder, like I've done here: https://forum.duet3d.com/topic/5302/fw-compilation-and-relay-control. With Duet2Wifi and 8-port Sainsmart relay the configuration has been working without problems, but with Duet Maestro and 16-port Sainsmart relay, something is not working right.
      So first, here are the relays I'm using:
      https://www.sainsmart.com/products/8-channel-5v-relay-module
      https://www.sainsmart.com/products/16-channel-12v-relay-module

      The 8-port relay uses 5V from that ATX power I use to power my printer. For I/O-pins I use logical pins 60-63 on Duet2Wifi to control the relay, directly from Duet to the relay. https://duet3d.dozuki.com/Wiki/Using_servos_and_controlling_unused_IO_pins

      The 16-port relay needs both 5V and 12V. I use 2 small step-down DC-converters to convert same 24V the printer uses to 5V and 12V and the relay itself seems to work fine this way. For I/O control I use logical pins 60-64 on Duet Maestro, directly from Duet to the relay.

      Now the problem: when I start the printer with Duet Maestro, I can issue M42 Px Sx command once for pins 60-63, which will toggle the corresponding relay port on the relay board. The S value doesn't seem to have any difference, I can use 0-255 and it will always toggle the port on but only once. Subsequent M42 commands to those ports do nothing, the relay ports stay activated. Pin 64 however works as intended, I can use M42 P64 S0 to toggle the relay port off and M42 P64 S1 (or 255) to turn it on.

      So why aren't pins 60-63 working as intended? Do I need to disable something in Duet config that's using the pins? The wiring seems to be correct since the correct relay port activates when issuing the M42 command first time.

      I upgraded FW on both Duets to 2.04, nothing changed. Duet2Wifi keeps on working, Maestro doesn't work.

      I use a 16-port relay mostly because I happen to have one. 8-port would have enough ports for my needs, but I guess having the option for controlling 9 extrudes has it's appeal ;)...

      Pic of the relay thingy

      posted in Duet Hardware and wiring
      spegeliusundefined
      spegelius
    • RE: My FrankenCube - 4 material Prometheus based printer

      As I mentioned, the originl 4x joiner part had some trouble with some filaments, probably due to having too tight bends inside the part. To fix that, I desgined my own part, trying to have the paths bend as little as possible, while keeping the part relatively small. After few iterations I got a part that has been working without problems for few months now. I printed it with PETG, but ABS might be better as it has higher heat tolerances. Still, PETG seems to be holding up quite well.

      alt text
      alt text

      posted in My Duet controlled machine
      spegeliusundefined
      spegelius
    • My FrankenCube - 4 material Prometheus based printer

      Been meaning to do a write-up of my printer since switching to Duet Wifi some 4-5 months ago, but as usual other things have been taking my time. But better later than never, as the saying goes.

      First about the printer itself. It's originally a 3DSystems Cube 2, which has been heavily modified. What's left of the original printer is basically this:

      • metal frame
      • X, Y and Z stepper motors and kinematics (Hiwin rails)
      • Y-carriage
      • some wiring
      • endstops sans Z

      Everything else is replaced. Original board and hotend are still somewhere, but I doubt they'll be any use ever again. Proprietary stuff, not worth messing with.
      I removed the original plastic covers because they amplified all the noices and made a frame of sorts from wood. Original extruder setup was direct drive, but I switched to bowden quite early.
      Also designed new extruder mount for it, the original metal piece wasn't cutting it once I added bed leveling probe in the mix.
      Original setup didn't have heated bed, but I built one from aluminum plate and a silicone heater from Ebay.

      The whole build has never been quite finished as I've added stuff and modified it as needed. So please excuse the messy wiring :).

      alt text

      Current HW specs:

      • Duet Wifi
      • Prometheus V2 hotend
      • 4x ProStruders. 2x ProStruders come with the Promtheus System, as does the hotend
      • Capricorn tubing
      • ATX psu, controlled by Duet
      • 145mm^3 heated build area
      • capacitive proximity sensor for bed leveling

      The multi-material setup is Distech's Prometheus System I got originally from the Kickstarter campaign. It's quite similar to Prusa's first MMU, but supports only 2 materials and is meant as a kit for any printer. I was quite happy with HW, but the SW side was sorely lacking, only Cura was supported and even that was somewhat hacky. With 2 extruders, the RAMPS I was using at the time was enough as it has 2 extruder drivers. I switched RAMPS to Megatronics for a while (actually burned the RAMPS, partly due to my own mistake, partly due to RAMPS being RAMPS) which also worked fine.

      alt text
      alt text

      I got a 4x joiner part and 2 more extruders from Distech for testing a year ago and that setup worked also quite well, although the 4x splitter was bit more finicky with the filament changes, some PLA's would get stuck on certain channels. To drive 4 extruders when the board doesn't have that my drivers, I use a cheap 8x relay board, wired by these instructions: http://www.marlinkimbra.it/?p=280. I had to modify Marlin a bit so the relay control worked properly, using AUX pins from Megatronics. With Duet, this was very easy, I can use the expansion header pins quite freely (thanks @dc42 for help), no need to modify firmware. With the relay, only one stepper driver is needed.

      alt text
      alt text
      alt text
      alt text

      (Demon girl suffered a layer shift due to PLA curling, Stuart suffered detached purge tower...:( )

      The whole setup has working very stably once I got the filament switching speeds and lengths tuned in. I've done some 20+ hour prints with all 4 materials utilized, no problems with HW.
      Switching to Duet caused some issues with the filament changes where Duet was actually failing with the 50mm/s long retracts and loads. What I think is that the Mega2560 based boards were never attaining those speeds (1000 steps/mm for Prostruders with 1/32 microstepping, DRV8825) and the physical extruder limits came into play with Duet. After tuning the speeds down, prints have been successful.

      For slicing the models, I use Simplify3D, KISSlicer 1.6 and Slic3r Prusa Editions. For generating the purge tower, I've been developing a tool called Filaswitch that supports the mentioned slicers. See: https://github.com/spegelius/filaswitch. I've tried Slic3r PE purge tower, and it works, but the g-code needs to be post-processed still, it's meant for Prusa's hw so things don't work quite right out of the box. Also my own tool has some options that work better for my needs (like configuring the purge speeds and rates).

      More pictures here: https://www.dropbox.com/sh/lagel8zv6iq2kjy/AADvm0BC8pujH1xX-YbiFbRBa?dl=0

      posted in My Duet controlled machine
      spegeliusundefined
      spegelius