Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. jwilo
    • Profile
    • Following 0
    • Followers 0
    • Topics 8
    • Posts 22
    • Best 4
    • Controversial 0
    • Groups 0

    jwilo

    @jwilo

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

    jwilo Unfollow Follow

    Best posts made by jwilo

    • RE: Waiting for a move to complete before returning OK

      I ran some tests tonight, rather it appears to be simpler than this.

      Combining M400 onto the same line, delays the return of "ok", i.e.

      G1 X100 Y100 F1000 M400
      

      However, what if you want to receive the "ok" as confirmation of receipt, followed by "done". The following appears to do it, but if you don't send the M400 before the move finished, it doesn't work, which for very short moves is quite likely...

      G1 X100 Y100 F1000
      M400 M117 P4 S"Done" L0
      
      posted in General Discussion
      jwiloundefined
      jwilo
    • Constant motor noise after a move, since firmware update

      In an attempt to resolve the issue in https://forum.duet3d.com/topic/35452/reading-general-purpose-inputs-in-duet-mini-5-returns-null, I upgraded the firmware on my new Duet Mini5+ from 3.0.something (not actually sure) to 3.4.6.

      After a machine move, the steppers now make a loud continuous noise, but not continuous in the sense they're buzzing continuously, but the pitch and volume appears to randomly change.

      I thought this must be because my configuration format was for an older firmware version, so I refreshed it using RRF config tool, but no change.

      The axes still move and function correctly, but this is a significant difference in behaviour, so would really appreciate any input in getting to the bottom of it. Thanks!

      EDIT - not sure how to post a response to my own question to show it as an answer... so just edited here instead. Issue resolved.

      So, in config.g, in the M569 lines I've enabled stealthChop using the D3 flag, where previously the D3 flag was not provided. Presumably stealthChop was enabled by default in older firmware, and not in current firmware?

      ; Drives
      M569 P0.0 D3 S1                   ; physical drive 0.0 goes forwards
      
      posted in Duet Hardware and wiring
      jwiloundefined
      jwilo
    • Driving opto-isolated integrated closed loop steppers

      I posted this over on the OpenPnP Google group, which some of you may find interesting, if anybody else is trying to drive opto-isolated integrated steppers, and needs a suitable expansion board to do so.

      posted in Duet Hardware and wiring
      jwiloundefined
      jwilo
    • RE: LED nozzle light?

      @handyandy you can configure it directly, rather than tricking Duet into thinking it is a fan.

      See my thread here, where I did exactly this to control some linear pull solenoids, and an LED ring light for a vision camera.

      This way you'll be able to control your light using

      M42 Pn S1 ; turn on your light
      M42 Pn S0 ; turn off
      

      Where n is the number you assigned to your light, via the M codes in my thread linked above.

      In my case, both the ring light and solenoid required 24V so I used OUT5 and OUT6, with the voltage select jumper set to VFUSED, as I too am supplying the board with 24V.

      Alternatively you can configure the jumper to supply 12V on these pins, if you're within current limits.

      Finally, I'd need to check the schematic to see if the outputs are just low side MOSFETS, in which case you likely can externally supply whatever voltage you need (within the drain-source breakdown limit of the FETs) and just use the ground side of the output pins, but take this last paragraph with a pinch of salt, as I've not done that check.

      posted in Duet Hardware and wiring
      jwiloundefined
      jwilo

    Latest posts made by jwilo

    • RE: How to configure a rotational motor axis

      @achrn OK thanks, good to know I'm at least not chasing something that doesn't exist.

      Next up then, is how to even configure a rotary axis? At the moment, my rotary axis is successfully configured as a linear axis, and the microstepping configure along with the steps/mm, such that if I try to move '1mm', I get 1 full rotation.

      M569 P1 D3 S1                   		; physical drive A axis goes clockwise
      M584 A1					; set drive mapping for rotational nozzle axes
      M92 A800
      

      But, that's not what I'd like. I want to be able to command the axis by degrees, is this possible? Adding R1 to M584 should apparently make the axis rotational, but it doesn't change behaviour at all, as far as I can tell.

      posted in General Discussion
      jwiloundefined
      jwilo
    • RE: LED nozzle light?

      @handyandy you can configure it directly, rather than tricking Duet into thinking it is a fan.

      See my thread here, where I did exactly this to control some linear pull solenoids, and an LED ring light for a vision camera.

      This way you'll be able to control your light using

      M42 Pn S1 ; turn on your light
      M42 Pn S0 ; turn off
      

      Where n is the number you assigned to your light, via the M codes in my thread linked above.

      In my case, both the ring light and solenoid required 24V so I used OUT5 and OUT6, with the voltage select jumper set to VFUSED, as I too am supplying the board with 24V.

      Alternatively you can configure the jumper to supply 12V on these pins, if you're within current limits.

      Finally, I'd need to check the schematic to see if the outputs are just low side MOSFETS, in which case you likely can externally supply whatever voltage you need (within the drain-source breakdown limit of the FETs) and just use the ground side of the output pins, but take this last paragraph with a pinch of salt, as I've not done that check.

      posted in Duet Hardware and wiring
      jwiloundefined
      jwilo
    • RE: Waiting for a move to complete before returning OK

      @dc42 thanks David, does that apply to any axis, not just Z? I may be reading too much into the meaning of the "Z move comp" response...

      posted in General Discussion
      jwiloundefined
      jwilo
    • RE: X and Y axis steppers choppy hypercube

      @BlitzReg have you configured microstepping?

      Steppers will be their very nature be incredibly... steppy, if driven in full steps.

      posted in General Discussion
      jwiloundefined
      jwilo
    • How to configure a rotational motor axis

      I'm trying to configure a rotational axis, for the nozzle rotation motors of an OpenPnP build (this thread title might sound similar to another thread I just opened here, but it's very much a different end goal.

      Whilst I can configure the axis to accept degrees, how do I get rid of the axis limit values?

      For example, I might need to rotate a nozzle +180degrees, 1000 times in a row.

      Presumably I could just set a very high axis travel limit, but that'd still only a band aid. Presumably there's an M code I'm missing to continue a rotational axis with no limit?

      posted in General Discussion
      jwiloundefined
      jwilo
    • Configuring continuous rotation until an input pulls low

      If I wanted to control something like a PCB conveyor motor using Duet, how would I go about doing it?

      From a high level, the control approach would be to start the conveyor stepper rotating, and continue until a light gate is broken and pulls a digital input low.

      That sounds like an endstop, but it's not really, that light gate would typically be for example the light gate in the middle of a machine.

      I would then want to start running the conveyor again, but that light gate would be pulling the input down still until the board that triggered it passes by.

      Then I would want the conveyor to stop again when it triggers a second light gate at the end of the conveyor.

      This would be trivial with a PLC or custom hardware and firmware, and I'm sure it probably is too, but I'm not sure how to go about configuring it.

      Essentially, I'd like to run said axis I'm velocity control mode, rather than position control.

      posted in General Discussion
      jwiloundefined
      jwilo
    • RE: Waiting for a move to complete before returning OK

      I ran some tests tonight, rather it appears to be simpler than this.

      Combining M400 onto the same line, delays the return of "ok", i.e.

      G1 X100 Y100 F1000 M400
      

      However, what if you want to receive the "ok" as confirmation of receipt, followed by "done". The following appears to do it, but if you don't send the M400 before the move finished, it doesn't work, which for very short moves is quite likely...

      G1 X100 Y100 F1000
      M400 M117 P4 S"Done" L0
      
      posted in General Discussion
      jwiloundefined
      jwilo
    • Waiting for a move to complete before returning OK

      Hypothetical one here, not for printing or CNC use etc, just a 'what if' in my mind.

      Say for example we're controlling a cartesian machine via Telnet, each time we issue a G1, G2, G3 etc - "ok" is returned as soon as the message is decoded, and the move is added to the motion queue.

      If the machine sending commands to the controller needs to wait, to know when those moves are completed, before it does something else, how would we achieve that?

      I see "M400: Wait for current moves to finish", but that does not control the return of "ok", does it?

      In 'pseudo actions', this is what I'm imagining:

      1. PC sends G1 move
      2. controller sends 'ok' back to confirm decode of message
      3. controller forms move, move finishes
      4. controller sends back something that says "I'm done"

      Is this possible?

      A possible solution I can think of is to:

      G1 X100 Y100 F1000 ; Issue move command
      M400 ; Wait for it to finish
      M117 P4 S"Done" L0 ; Send message via Telnet, which is the P4 argument. S is the message. L0 means don't log this message.

      posted in General Discussion
      jwiloundefined
      jwilo
    • RE: Controlling general purpose solenoids

      @droftarts No problem, thank you!

      posted in General Discussion
      jwiloundefined
      jwilo
    • RE: Controlling general purpose solenoids

      @dc42 Perfect! Thank you, that's the key I was missing. I thought the P value referred to which output you're using, and the name was a name you wanted to assign to the pin.

      I see now that P refers to the output you're creating, i.e. P1 is some solenoid, P2 might be a light etc, and the name is the name of the pin you want to map it to, great - all working now, thanks!

      posted in General Discussion
      jwiloundefined
      jwilo