Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order
    1. Home
    2. rjenkinsgb
    • Profile
    • Following 0
    • Followers 1
    • Topics 11
    • Posts 424
    • Best 85
    • Controversial 0
    • Groups 0

    rjenkinsgb

    @rjenkinsgb

    Professional electronics designer & programmer for several decades, interested in electronics, computers, music & just about any kind of technology.

    102
    Reputation
    49
    Profile views
    424
    Posts
    1
    Followers
    0
    Following
    Joined Last Online
    Location Sheffield, England

    rjenkinsgb Unfollow Follow

    Best posts made by rjenkinsgb

    • Meet the Frankentron

      This is my very heavily modified machine, which started as a Tronxy X5SA Pro.

      The head carriage is totally replaced with a wider version based around a machined 8mm aluminium plate that has space for an E3D toolchange system between the slideway bearing mounts.

      That has a printed "cap" which has the anchor clamps for the belts built in to it, plus channels for the various cables, mount points for the X limit and a BLTouch probe, with slots to take captive nuts for the various retaining screws.

      (The cable end anchors etc. and cable support strips are the E3D ones.)

      The Z drives are independent and all endstop switches are now optical.

      The toolholders are mounted on bases fitted to the rear (originally front) extrusion, and to make space above that the drive belt idler pulleys are relocated back by 34mm using short sections of extrusion fitted on spacers, so the original idler mount locating screw position is now in line with the cross extrusion mounting screw.

      The Duet 6HC board is in an aluminium enclosure in the base, at present just resting in place. There is clearance to add a couple of thin rails across the frame to mount it on, and the PSU will probably go on a side extrusion.

      There is a tool distribution board in a plastic box on the rear of the frame, and toolboard cables plug in to that - or a dummy plug can be fitted to bypass the CAN chain if one is removed.

      The tools are, right to left:
      V6 bowden with hardened nozzle and hemera extruder, to allow for carbon filled materials.
      V6 bowden using the original tronxy titan extruder for general use.
      Hemera direct, to allow for flexible materials
      Plus a part build E3D ASMBL.

      I'm still spending more time doing fine adjustments than printing so far; the original bed had quite a significant sag in the middle, between its support rails, so I have added a glass bed over that which has given a great improvement, but still a slight cornerways tilt I'm trying to adjust out.

      All the modifications are plug-in or bolt-on, the machine can be completely restored to its original specification. It has lost a bit more printing area than I originally expected, but still a lot bigger than my Overlord Pro.

      The entire setup could be moved to or used on one of the larger TronXY machines, eg. a 500 or possibly a 600, if the head slide uses the same rail section.

      If anyone wants more details of the head mods or the files for those, or any other info about it, let me know.

      IMG_5271.JPEG

      IMG_5280.JPEG

      IMG_5273.jpg

      IMG_5270.jpg

      IMG_5279.JPEG

      IMG_5276.JPEG

      IMG_5281.jpg

      posted in My Duet controlled machine
      rjenkinsgb
      rjenkinsgb
    • RE: CAN Latency and practical application

      As far as I am aware, the CAN latency only affected such as "instantaneous" signals between two boards, like an axis limit or probe on one board relating to an axis motor on a different board.

      In normal operation, all commands are queued ahead of time and then executed synchronously by all boards.

      That's what caused a problem with a switch/probe detection, as the motor board would still be executing the move for a few milliseconds before the probe signal reached it.

      I believe even that is now a non-issue, and the axis will take the correct position from the switch trigger point.

      Even without that, a simple solution is a two stage home, backing off a fraction then a very slow move on to the switch again, so the distance moved during any delay is irrelevant.

      posted in Using Duet Controllers
      rjenkinsgb
      rjenkinsgb
    • RE: Open-loop for performance, closed-loop for error recovery.

      This is the other info I was thinking of, from a 1980s system with separate, analog servo drives.

      The lookahead / PID is probably easier to replicate from this version:

      Servo_Feedforward.png

      That's the CNC section of this overall drive system diagram:

      ServoLoops.png

      The control those diagrams relate to (Heidenhain TNC360) runs everything on a 16MHz MC68000 if I remember correctly, for machines operating with multi-axis interpolation and contouring at accuracies down to microns, but with totally separate servo drives.

      posted in Hardware dev
      rjenkinsgb
      rjenkinsgb
    • RE: Smert effector tilting during bed leveling and print

      @lildannyoso
      Looking at the video, you don't appear to be using the Smart Effector PCB adapters on the vertical rail carriages?

      SmartEffectorAdapter_sm.jpg

      A delta printer mechanism relies on each pair of rods always being absolutely parallel.

      If there is even the slightest difference, a fraction of a millimetre, in joint spacing between the two ends of the link arms/rods, the overall geometry of the machine will be wrong and the effector will tilt.

      That's why you get the adapters in the kit, to guarantee correct spacing at both ends of the arms.

      They can be on top of or sandwiched in a printed carriage, but those need to be what define the rod spacing.

      posted in Smart effector for delta printers
      rjenkinsgb
      rjenkinsgb
    • RE: Wiring and programming a switch for a conditional statement

      You can use a simple conditional statement, something like this:

      if sensors.gpIn[3].value = 0
              G91
              G1 Z15
              G90
      

      Use whichever input pin and level is appropriate for the switch.
      Any following indented lines will only be executed if the conditional statement is true. Normal execution continues with the first non-indented line.

      posted in Gcode meta commands
      rjenkinsgb
      rjenkinsgb
    • RE: DWC Tool #s not lining up with Temp Chart

      There is no extruder defined in the tool, and two fans; is that confusing things?

      Try this?

      ; Tools
      M563 P0 S"DeltaEffector" D0 H1 F0                  ; define tool 1 with heater 0 and Fan 0
      G10 P0 X0 Y0 Z0                                    ; set tool 0 axis offsets
      G10 P0 R25 S125                                    ; Active 125 Standby 25 
      

      That sequence sets up tool 0 OK on my multi-tool machine.

      posted in Duet Web Control
      rjenkinsgb
      rjenkinsgb
    • RE: Duet3 as hardware for LinuxCNC?

      @dc42 said in Duet3 as hardware for LinuxCNC?:

      can you explain #1 in more detail? Why do you need it, and how would you set the acceleration/deceleration profiles?

      I suspect he means the ability to adjust tool path speed & acceleration rather than just axis speed?

      eg. for one example:
      Milling into an internal corner of a pocket, the speed on the existing path has to slow down dramatically before the cutter buries itself in the wall it's going to start moving along after the change in direction, so the cutter is not overloaded.

      With an external corner the load drops off as it reaches the end of the move on that axis and starts along the next side, so it does not need to slow down in the same way. The path at that point would also follow a small radius so the cutter "rolls around" the corner position.

      Those behaviours depend on the tool offset being either left or right of tool path and the direction of the corner.

      The Duet does not have tool path offsets at all, as far as I am aware?
      (G40/41/42)
      They are normally also used with a separate editable tool geometry table; at minimum, length from the toolholder or chuck and diameter .

      I just do not know how practical it is to try and duplicate serious (high force in proportion to drive capability) milling type axis control on a controller such as a Duet, based around stepper motors?

      CNC axes have to compensate for both the direct load of "pushing" a tool in to a workpiece, and the reaction force of a rotating cutter trying to push sideways to the feed direction, affecting other axes.

      Industrial CNCs use axis drives with torque feedback as the lowest level of the axis control loop; the velocity loop in turn controls torque, and the position loop controls velocity.
      (Plus a kind of PID system that takes inputs from different stages of the overall axis system).

      Is that torque control stage possible with the motor drivers used on the Duet boards?

      I can't see it working properly at all with the external closed loop driver modules, as the CNC does not not have axis position feedback with those, at present; the most critical feedback loop, for actual position, is open.

      An axis add-on board that also has an analog setpoint output, for use with larger external servo drives, and with differential ABZ quadrature position feedback, plus a good set of non dedicated 24V I/O connections could be a more practical alternative.

      The ABZ feedback is because precision CNCs do not use switches directly as home positions - the switch is just to tell the CNC/PLC that the feedback device is in the correct rotation or cycle for it to look at the Z pulse from the encoder or scale and pick up the precise position from that. And differential to avoid interference on longer cable runs and with higher current motors in use.

      Also display - continuous "live" axis position, feedrate, distance to go & spindle speed, with active M code and G code status plus override percentages.

      All serious industrial CNCs also have an integrated PLC of some I/O size, to handle the machine mechanics, with the CNC only directly interfacing with the axes drives and estop, and all other hardware signals being passed between the CNC side and PLC side as virtual I/O in memory and then handled via the PLC program and PLC controlled I/O to adapt to the specific machine hardware.

      Note that I'm not criticising Duet boards or Reprap firmware; for what they are designed for, they are superb.

      It's just that having worked with large machine tools for 40+ years (and written a CNC system from scratch back in the 80s) there is simply so much that is radically different in controlling a machine tool compared to a 3D printer, it seems to me that the two should be each based on dedicated firmware (and possibly hardware) rather than trying to pack everything for both types of system into a single program & ending up with a jack of all trades but master of none result.

      The Duet CPUs are orders of magnitude faster and more capable than a lot of older CNCs that can do high speed micron precision contour machining, but the machine and drive interfaces are just not there at present, for anything much above "desktop" size machines.

      For an example of what I'd consider the minimal capabilities for a "perfect" small CNC system, have a look at the Heidenhain TNC360 from the early 1990s; that has everything needed, without the bells & whistles and excess complexities of newer controls.
      (Ignore the graphics & non G code programming capabilities etc., they are not relevant to the machine control side).

      posted in CNC
      rjenkinsgb
      rjenkinsgb
    • RE: Connection issues between 6HC and Pi 3B

      @alastair1
      Make sure you use "run as administrator" when starting Balena Etcher on windows.

      It may fail otherwise.

      posted in General Discussion
      rjenkinsgb
      rjenkinsgb
    • RE: Polar Coordinates

      The convention for lathes and vertical borers is that the spindle axis is Z and the radial axis is X. There is no Y axis.

      With two tools, the second tool movement parallel to Z is W and parallel to X is U.

      If you use the spindle / chuck for rotary positioning, then the angular setting is normally C axis

      If you want to keep compatibility with commercial machines, I'd suggest staying with those axis names.

      Lathe_Single.png

      Lathe_Twin.jpg

      posted in Using Duet Controllers
      rjenkinsgb
      rjenkinsgb
    • RE: Direction/Velocity Vector of Printhead movement

      @deme said in Direction/Velocity Vector of Printhead movement:

      looking for a way to be able to read the feed direction from the printer controller.

      Could you use an accelerometer on the tool?
      That would give instantaneous direction & acceleration ( so indirectly, velocity).

      The Duet can also take an accelerometer directly, though I'm not sure if the data that collects can be accessed.

      posted in Plugins for DWC and DSF
      rjenkinsgb
      rjenkinsgb

    Latest posts made by rjenkinsgb

    • RE: Smart Effector Part Cooling, what's everyone using?

      I use this setup from Thingiverse, with the E3D V6 hotend heatsink from the kit, titanium heat break, plated copper block & 0.4mm Olsson ruby nozzle.
      https://www.thingiverse.com/thing:3893311

      That's with a Flex3drive system, so like this on top:
      https://flex3drive.com/product/g5-flex-for-duet-smart-effector/

      The end result is very light but as precise as a direct drive setup.

      posted in Smart effector for delta printers
      rjenkinsgb
      rjenkinsgb
    • RE: Any advice printing tpu ?

      I've only done a few bits for experimentation.

      I just used Pritt (white glue stick for paper) and that worked fine, temperatures 70 & 240.

      posted in General Discussion
      rjenkinsgb
      rjenkinsgb
    • RE: e3d TC coupler motor is not moving and homing C has no errors?

      I agree with Rushmere3d, you need to add some limits for C.

      I have 0 and 500 on mine.

      ; Axis Limits NEED CHANGING FOR TC. CONSERVATIVE GUESS NOW for XY
      M208 X-14 Y0 Z0  C0 S1 														; set axis minima 
      M208 X330 Y265 Z350 C500 S0 		
      

      And this is my home C file:

      ; homec.g
      ; called to home the C axis (coupler)
      ;
      ;G91
      M400
      G92 C499
      M400
      M913 C60		; MOTOR TO 60% CURRENT
      G1 H1 C0 F2000
      ;
      M400
      G92 C0
      ;G90
      M913 C100			; MOTOR TO 100% CURRENT
      G1 C0 F10000
      
      ;Open Coupler
      M98 P"/macros/Coupler - Unlock"
      

      I have the lock position as C33 and unlock as C125

      posted in General Discussion
      rjenkinsgb
      rjenkinsgb
    • RE: Tweaking configuration on MB6HC with SBC

      @techbutterfly said in Tweaking configuration on MB6HC with SBC:

      I am a little curious about the M558 line under Z-probe - what is that for?

      See the GCode (and MCode) documentation here:
      https://docs.duet3d.com/en/User_manual/Reference/Gcodes

      The narrow white column is scrollable to find the specific code you are looking for.

      How have you got the CR Touch wired?

      If it's anything like their version of the BL Touch, there may be more than one cable type and you must work from the physical pin connections and not just rely on wire colours..

      posted in General Discussion
      rjenkinsgb
      rjenkinsgb
    • RE: Tweaking configuration on MB6HC with SBC

      I only ever use the configurator to create an initial rough config.

      I keep the files for each machine in their own machine directory on my PC, then if I need to tweak the config I edit the file with a text editor and re-upload to the machine via DWC (the Duet web interface).

      That also means you have a full working config available if you ever need to rebuild the SD card - burn the latest image, start the machine with that in it & open DWC, then drop all the files back in and you are running again in a few minutes.

      posted in General Discussion
      rjenkinsgb
      rjenkinsgb
    • RE: First Layer Rippling: What to try next?

      @jrcl
      I'd agree with Percar;

      It looks to me as if it may be overextruding for the nozzle height, so forcing each adjacent strip sideways and breaking it free from the bed.

      Try using babystepping and increasing the nozzle height as soon as the print starts, to see if it smooths out?

      I went through this with my converted TronXY when initially getting that going, similar effects due to Z too low on the first layer.

      posted in Tuning and tweaking
      rjenkinsgb
      rjenkinsgb
    • RE: Stringing with PLA

      @toddm said in Stringing with PLA:

      What would you change first?
      Both at 195C on the extruder,

      I always run at 210'C for PLA and get excellent results!
      To me it looks like the stringing is as the plastic is not molten enough, so stretching rather than separating as a liquid.

      posted in Tuning and tweaking
      rjenkinsgb
      rjenkinsgb
    • RE: CAN wiring when swapping out Toolboards

      I have a junction box on the back of the machine with the tool distribution board and D15 sockets for the tool cables. That allows me to remove tools and just use a dummy plug to link through the CAN bus at any unused connector.

      I also have the cables to each fitted tool permanently plugged in!

      Although you may get it to work with boards being connected and disconnected, I suspect there will be CAN errors and require continuous resets as boards appear and disappear from the bus, as seen by the controller.

      I've just copied the E3D cable support setup, which uses long springy steel cable ties to keep the tool cables formed in to upright loops.

      IMG_6399.jpg

      More photos here:
      https://forum.duet3d.com/topic/25709/meet-the-frankentron

      Video here:
      https://www.youtube.com/watch?v=x-ut81sn-io

      posted in Duet Hardware and wiring
      rjenkinsgb
      rjenkinsgb
    • RE: Linear actuator, DPDT relay, diodes

      This is the basic circuit you need for a reversing motor with limit switches:

      https://www.halloweenforum.com/attachments/relay-controlled-dc-motor-jpg.252253/

      The relay flywheel diode should preferably be a schottky or fast recovery type, with a higher current rating than the relay coil and a rather higher voltage rating than the circuit operates on.

      It would also be a good idea to add a kind flywheel circuit around the motor, to minimise relay contact arcing; the most effective is four diodes arranged as a bridge rectifier with the AC connections across the motor and DC out connected back to the power source (eg. the 24V supply) with bridge positive out connected to supply positive.

      posted in Duet Hardware and wiring
      rjenkinsgb
      rjenkinsgb
    • RE: Poor surface finish

      @jens55 From the way the defects occur at similar locations in different consecutive layers, I suspect something mechanically sticking - eg a bit of grit in a bearing or a dry bearing.

      That could explain the blob or melting effect, if the nozzle momentarily pauses them jumps past that spot once the drive system has wound up enough??

      posted in Tuning and tweaking
      rjenkinsgb
      rjenkinsgb