So didn't get a response from Modix yet, but just a general update, the issue is solved. As pathetic as it sounds my 2a 3.3v - 5v fuse was bad. Had continuity but was failing under load.
Check your fuses kids.
So didn't get a response from Modix yet, but just a general update, the issue is solved. As pathetic as it sounds my 2a 3.3v - 5v fuse was bad. Had continuity but was failing under load.
Check your fuses kids.
To add confusion but yet some clarity of where to go next with this, I ended up swapping out the endstop on the y axis for a standard mechanical switch. Printer was able to home the y axis with me manually triggering the switch in my hand. What was odd though was that the endstop manager plugin still did not indicate it was working, but the m119 did. A lot of inconsistency going on. Hopefully this is just an endstop issue. In contact with Modix, and will see what they think of it.
Yes, it is wired as described.
I finally did get the M98 print command to show I had "invalid number of visible axes". Changed the M584 P value to 3 instead of 4 (it should remain 4 due to the extruder right?) but still no change in homing issues.
I did email them, but waiting for a response. I worry this is a defective Duex board (I swapped out the Duet Wifi for a spare I had sitting at home). Which that will not be fun.
Everything else seems to function flawlessly. All the macros for fans, leds, gantry movements, hotend, etc all work fine.
@Herve_Smith
All of the endstops are Omron EE-SX4164-P2.
Checked the wiring to the sensor, it seems on par of whats in the datasheet and pinout of the duex.
M119 always shows "axis at min" regardless if its triggered or not. Even with the LEDS showing that it is registering them being triggered.
And sorry, never generally used M98 to post code on the forum. I tried to start doing such, but after the 5th attempt of ";" out things it kept asking for I gave up.
I guess what is the purpose of doing a M98 P"config.g"? Just a proper way to print out the config and use in the forum?
on another note, my x axis upon start up is not triggered, but if I trigger it once with the endstop manager it remains triggered even if I push the gantry away from the endstops. Still making zero sense.
@droftarts said in Endstops Not triggering in Web GUI, but trigger LEDS on Duex:
M98 P"config.g"
This is what I get when I try to do an M98
Hey Ian, so the X0:1 Y:5 was my mistake, I was just trying stuff to see what would work. That was not the issue. Sorry to add the confusion.
Ignoring my mistake, none of the estops function properly. I also tried "exp.e5stop" by getting the reference from the RRF config tool, but still no luck.
Also for some reason M98 P"config.g" did not work for me when I attempted it in the console.
As the title states, I am currently assembling our new Big 60 V4 for work, and have an odd endstop issue. Using the configuration for the Big 60 provided, none of the end stops trigger in the Web GUI, but on the Duex expansion board, the appropriate leds trigger on and off.
They are using optical sensors.
Any help would be greatly appreciated.
Config and M122 below:
; Modix Big-60 V4, Duex Expansion, IDEX single extruder
; Configuration file for Duet WiFi (firmware version 3.4.5)
; Generated by Modix - Version 3.4.5 Config D
global config_version = "Version 3.4.5 Config D"
global generation = 4 ; generation 4 printer
global printhead = 1 ; Griffin printhead
global printheads = 1 ; dual extruder
global expansion = 1 ; Duex expansion board is installed
global idex = 0 ; idex setup
; for macro commands
global pausetime = 0 ; record pauzing time
global fan_0_speed = 0 ; Used to store the fan0 speed
global fan_1_speed = 0 ; Used to store the fan1 speed
global filamentswitch = 0 ; filament switch disabled (edited)
global changer_count = 0 ; Counter for tool changer continous.
global toolstate = 0 ; used for pauses
; General preferences_________________________________________________________
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M555 P2 ; Set output to look like Marlin
M575 P1 B57600 S1 ; Set auxiliary serial port baud rate and require checksum (for PanelDue)
; Network_____________________________________________________________________
M550 P"Big 60 V4" ; set printer name
;M551 P"MODIX3D" ; Set password (optional)
M98 P"config_networking.g" ; enable network
;M552 P0.0.0.0 ; Uncomment this command for using Duet Ethernet board
G4 P300 ; wait 300ms
; Drives_________________________________________________________________________
;Main board______________________________________________________________________
M569 P0 S1 ; Physical drive 0. X-B-M
M569 P1 S0 ; Physical drive 1. X-F-M
M569 P2 R-1 ; Physical drive 2. U Secondary
M569 P3 S1 ; Physical drive 3. E0-Extruder.
M569 P4 S0 ; Physical drive 4. E1-Extruder.
;Duex5 board_____________________________________________________________________
M569 P5 S0 ; Physical drive 5. Y
M569 P6 S1 ; Physical drive 6. Z-Back-Left (ZBL)
M569 P7 S1 ; Physical drive 7. Z-Front-Left (ZFL)
M569 P8 S1 ; Physical drive 8. Z-Front-Right (ZFR)
M569 P9 S1 ; Physical drive 9. Z-Back-Right (ZBR)
;Settings_________________________________________________________
M584 X0:1 Y5 Z6:7:8:9 E3:4 P4 ; Driver mapping
M671 X-185:-185:668:668 Y668:-46:-46:668 S30 ; Anticlockwise
;___________________________________________________________________
M350 X16 Y16 Z16 E16:16 I1 ; Configure microstepping with interpolation
M92 X80 Y80 Z2000 E400:400 ; Set steps per mm
M566 X500 Y500 Z30 E3000:3000 P1 ; Set maximum instantaneous speed changes (mm/min)
M203 X18000 Y18000 Z400 E6000:6000 ; Set maximum speeds (mm/min)
M201 X3000 Y3000 Z240 E1000:1000 ; Set accelerations (mm/s^2)
M204 P1000 T3000 ; Set print and travel accelerations (mm/s^2)
M906 X1800 Y1800 Z1800 E1000:1000 I50 ; Set motor currents (mA) and motor idle factor in per cent
M84 S100 ; Set idle timeout - 100 seconds
; Axis Limits
M208 X0 Y0 Z-2 S1 ; set axis minima
M208 X600 Y600 Z1200 S0 ; set axis maxima
; Endstops
M574 X1 S1 P"duex.e5stop + duex.e6stop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin e5stop + e6stop
M574 Y1 S1 P"duex.e4stop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin e4stop
; Automatic Z Offset Calibration____________________________________
M574 Z1 S1 P"!duex.e2stop" ; configure switch-type for Automatic z-offset
; Z-Probe
M558 P9 C"zprobe.in" H3 F180 T12000 A1 R0.5 ; BLTouch probing settings
M950 S0 C"duex.pwm5" ; sets the BLTouch probe
M376 H100 ; Height (mm) over which to taper off the bed compensation
G31 P500 X0 Y32.4 ; BLTouch X and Y offset
M557 X{move.axes[0].min + sensors.probes[0].offsets[0] + 1, move.axes[0].max + sensors.probes[0].offsets[0] - 1} Y{move.axes[1].min + sensors.probes[0].offsets[1] + 1, move.axes[1].max + sensors.probes[0].offsets[1] - 1} P10:10
; The M557 is used to define the mesh grid area. It uses the P parameter to set the amount of probing points. P10:10 would be a 10x10 grid. Supports up to a 441 point grid.
M98 P"config_probe.g" ; Load the Z-offset from the config_probe.g file
; The Z_offset value is now set in config_probe.g, not in config.g
; Adjust the values there, do not adjust anything here.
; Heaters___________________________________________________________
M140 H-1 ; disable heated bed (overrides default heater mapping)
;E0_________________________________________________________________
;M308 S0 P"e0temp" Y"thermistor" T100000 B4725 ; configure sensor 0 as thermistor on pin e0temp
;M308 S0 P"spi.cs1" Y"rtd-max31865" ; Configure sensor 0 as PT100 via the daughterboard
M308 S0 P"e0temp" Y"pt1000" ; Configure sensor 0 as PT1000 on pin e0temp
M950 H0 C"e0heat" T0 ; create nozzle heater output on e0heat and map it to sensor 0
M98 P"PID_tune_E0.g" R1 ; PID calibration
M143 H0 S300 ; set temperature limit for heater 0 to 285C
; Fans______________________________________________________________
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S0 H-1 C"Primary blower fan" ; set fan 0 value. Thermostatic control is turned on
M950 F3 C"duex.fan5" Q500 ; create fan 3 on pin fan5 and set its frequency
M106 P3 S255 H0 T45 ; set fan 3 value. Thermostatic control is turned on
; LED______________________________________________________________
M950 F2 C"duex.fan7" Q500 ; create LED on pin fan7 and set its frequency
M106 P2 S0 H-1 C"LED Primary" ; Disable fan channel for LED
M950 F5 C"duex.fan8" Q500 ; create LED ENC on pin fan8 and set its frequency
M106 P5 S0 H-1 C"LED ENC" ; Disable fan channel for LED
M106 P5 S255 ; Enclosure LED on by default
M106 P2 S255 ; Primary LED on by default
; Tools______________________________________________________________
;T0_________________________________________________________________
M563 P0 S"E0 Primary" D0 H0 F0 ; define tool 0
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 S210 R180 ; set initial tool 0 active and standby temperatures to 210 and 180c by default
; Automatic power saving____________________________________________
M911 S22.0 R23.5 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss. Power Failure Pause
; Primary hotend Clog detector__________________________________________________
M591 D0 P7 C"e0stop" S1 L3.14 E10 R10:300 ; Clog Detector E0 [Add-On]
; Crash detector__________________________________________________
M950 J2 C"zstop" ; create Input Pin 2 on pin E4 to for M581 Command.
;M581 P2 T0 S0 R0 ; Crash Detector [Add-On]
; Emergency stop button__________________________________________________
M950 J3 C"ystop" ; create Input Pin 3 on pin ystop to for M581 Command.
M950 J4 C"xstop" ; create Input Pin 4 on pin xstop to for M581 Command.
M581 P3 T0 S1 R0 ; Emergency stop [Add-On]
;M581 P4 T0 S1 R0 ; Emergency stop [Add-On]
;M501
m122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.5 (2022-11-30 19:36:12) running on Duet WiFi 1.02 or later + DueX5v0.11
Board ID: 0JD0M-9P6M2-NW4SD-6JKDG-3SJ6L-KAQMK
Used output buffers: 1 of 26 (18 max)
=== RTOS ===
Static ram: 23836
Dynamic ram: 76156 of which 0 recycled
Never used RAM 9232, free system stack 182 words
Tasks: NETWORK(notifyWait,13.5%,237) HEAT(notifyWait,0.0%,333) Move(notifyWait,0.0%,363) DUEX(notifyWait,0.0%,24) MAIN(running,86.3%,438) IDLE(ready,0.2%,30), total 100.0%
Owned mutexes: WiFi(NETWORK)
=== Platform ===
Last reset 00:08:52 ago, cause: software
Last software reset at 2023-08-14 09:11, reason: User, GCodes spinning, available RAM 8980, slot 0
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x00
Aux0 errors 0,0,0
Step timer max interval 0
MCU temperature: min 33.3, current 34.3, max 34.8
Supply voltage: min 24.1, current 24.3, max 24.7, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 99/14, heap memory allocated/used/recyclable 2048/208/4, gc cycles 0
Events: 0 queued, 0 completed
Driver 0: standstill, SG min n/a
Driver 1: standstill, SG min n/a
Driver 2: standstill, SG min n/a
Driver 3: standstill, SG min n/a
Driver 4: standstill, SG min n/a
Driver 5: standstill, SG min n/a
Driver 6: standstill, SG min n/a
Driver 7: standstill, SG min n/a
Driver 8: standstill, SG min n/a
Driver 9: standstill, SG min n/a
Driver 10:
Driver 11:
Date/time: 2023-08-14 09:20:46
Cache data hit count 4294967295
Slowest loop: 12.18ms; fastest: 0.19ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 0.5ms, write time 2.5ms, 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 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
=== GCodes ===
Segments left: 0
Movement lock held by null
HTTP is idle in state(s) 0
Telnet 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
=== Filament sensors ===
Extruder 0 sensor: no data received
=== DueX ===
Read count 1, 0.11 reads/min
=== Network ===
Slowest loop: 38.52ms; fastest: 0.00ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
HTTP sessions: 1 of 8
= WiFi =
Network state is active
WiFi module is connected to access point
Failed messages: pending 0, notready 0, noresp 0
WiFi firmware version 1.27
WiFi MAC address c8:c9:a3:40:13:bb
WiFi Vcc 3.45, reset reason Power up
WiFi flash size 2097152, free heap 25288
WiFi IP address 192.168.237.66
WiFi signal strength -61dBm, mode 802.11n, reconnections 0, sleep mode modem
Clock register 00002002
Socket states: 0 0 0 0 0 0 0 0
@matt3o Sorry to bring up an old post, but did you ever find the solution to this? I also have similar noise issues and curious if you found a culprit.
@phaedrux great, thank you. Now to fine one that is in stock. Seems to be bigger challenge than I'd expect.
I don't see any physical signs of burnt out components and that's why I am a bit stumped, but I am no expert. No smoke came of it either. The PSU just gets loaded down, then it I shut it off immediately.
Edit: just tested it again today and it now only has the VIN led light up, no 5V or 3.3V. So definitely the Regulator. I looked up the schematic and found the buck converter to 5V (I think) on U3.
I assume this is what is blown? There is a small bubble in the plastic on the corner, its not the orientation dot. There is also a small piece of bluing ink missing over a trace. Not sure what that means. I haven't tried to tamper with that yet.
See photos below. (Also please ignore my fuse bypass, it works, just doesn't look the best)
So my Geetech A10M had a stepper driver that died. I have a spare Duet Wifi laying around with an external fuse bypassing the resettable 5V fuse from the step down 5V supply on the board. The reason I mention this is listed below later.
The A10M used a 16pin connector for its gantry harness and I wanted to reuse it, so I pinned out this connector but made a small mistake which now typing it sounds very dumb, butttt its all said and done now. I just want to see if the board is easily repairable.
So upon wiring up this jumper for the gantry connector I wired some 24V pinouts labelled on the original A10m controller to the Power IN on the board (just the + side) and now with everything disconnected, and a bench supply set to 24V, it shows the voltage drops to 1.5V. Clearly I shorted something over but I am not sure where to look.
USB function and 5V power works just fine. With USB power the board operates as normal.
@o_lampe said in Duet3 Incorporation with Roll2Roll Manufacturing:
@t3p3tony If they'd pretend that the encoder represents closed loop signals of the Y-axis, they only have to invert the counter measures => More pulses from the encoder increase Y speed instead of lowering
That"ll work when X-motion and Y-motion have fixed ratio.
Thats what sparked this idea, but hoping we could gain more freedom than having the ratios between the two axis similar, or fixed.
@t3p3tony said in Duet3 Incorporation with Roll2Roll Manufacturing:
Thanks for clarifying. The point here is that this is not a closed loop system on X as the controller (the duet) is not in control of that axis. It is a unique kinematics implementation in my view because RRF will need to modify the movement of the Y motor, based on the input from the X encoder. If it did not do that then any variations in X speed would lead to the Y "line" not being straight.
Its not necessarily complex, just not something that we have implemented up until this point.
For the dispenser, is the dispense rate controlled by a stepper motor or something else?
Tony,
Thanks for keeping tabs on this. Yes the kinematics are definitely not "traditional", but yes the Y-axis will need to be manipulated in respect to the X-axis position (which will be in a continuous direction).
As for the dispenser, it is currently using compressed air, and a few basic dials on a controller. Once we have the kinematic part of the system in place, we can look further for absolute control of the dispenser. This output would more than likely be controlled similar to a cnc spindle or laser than an extruder. But using a stepper for dispensing control isn't out of questions currently.
@t3p3tony I apologize for the delay.
To answer your questions:
Exactly
Sort of, we prefer the Duet to completely manipulate the gcode it has been given by using the encoder sensor to as closed loop feedback for the x-axis. The Duet in theory will always have the X-axis in motion (or the way we want to manipulate it to see) since the R2R line is continuous.
My thought was the gantry can travel to Y0 (home) and Set X0 with a command before starting the operation. Then it would just be a rinse and repeat operation. A better comparison is to how the belt style 3D printers operate, just not at a 45 degree angle.
The dispenser for the time being I believe is pretty crude, in that its all manual adjustments. Talking with the development engineer, the speeds of the line will vary, but by small margins and as of now it wouldn't be that big of an effect. If dispensing volume and flow become of concern, we will upgrade to a newer system.
Yes but this is not the important aspect as of now, but something to keep in mind.
I should clarify, if looking directly down on the R2R web in a 2D space, the Y-axis will be at an angle to the web direction, not perpendicular. This kinematic setup is a setup we have used previously in testing with manual control, we're simply trying to put a controller on it and manipulate it via a program. If you have suggestions for this as well I am all ears.
As for firmware, would it not be possible to remap inputs as necessary? Or do you mean in regards to the kinematics being unique?
Encoder = Duet "X-axis"
Y-axis = Duet Y-axis
Dispenser Flow Rate = Duet Extruder Flow Rate (use stepper driver input as Dispenser input?)
@t3p3tony I believe there isn't an encoder on our system as it stands. if it does have one, it is embedded into the PLC system that it runs off of. I assume we'd not want to tap into that.
So which ever type of aftermarket encoder that is best suited with Duet is ultimately what we'd want to link to the speed and dispensing rate.
Hi guys,
So our development engineer has been tasked with adding a dispenser to our Roll2Roll line. Being experienced with hobbiest motion control outside of PLC he asked for my help. (I am not super familiar with PLC, neither is the engineer, so if were barking up the wrong tree please let us know).
In an essence, we will be adding a dispenser to travel across the Roll2Roll web (web direction will be -X, +X dispenser direction will be -Y, +Y), but we want to be able to link the dispenser speed with the line speed to assure the speed and dispensing rate will be adjusted to speed changes of the Roll2Roll line.
Our initial thoughts are to use Labview, but he is saying the stepper motor control incorporation is difficult to setup. Additionally I introduced a Duet3 into our large testing Cartesian robot so adding another seems tempting after I showed the ease of use and the quality of the board is.
Sorry for the rambling. To summarize, does this seem possible? Requirements we have found are:
Any suggestions would be greatly appreciated.
Thanks
@phaedrux buck converter is wired to fan 2. Simply has the fan 2 output pins wired to the voltage input of the buck converter, and I calibrated the buck converter to step down 24V to 12V on my bench supply before installing it. The fan on fan 2 works as intended.
I am likely going to chalk it up to a bad mosfet. Luckily I should have a spare or two from an older duet board I fried a while ago.