@dc42 I'm just saying with where the distribution board is located now the cables would be around 18". Yes it could be moved but would I rather not. Thanks
Posts made by warpster
-
RE: CAN wiring when swapping out Toolboards
-
RE: CAN wiring when swapping out Toolboards
@dc42 Thanks, there should be an overlap where, during switching, the power will be applied from both sides so it should not ever drop power. You say "very short", does ~18" qualify? So then leave tool distribution jumpers in place for the docked tools but for the pickup head jumper it at the head and leave the jumpers off on the distribution board for just that connector since it will have ~50" of wiring?
-
RE: CAN wiring when swapping out Toolboards
So no one? I can't find thisin the docs so where do I go to ask if not here?
-
CAN wiring when swapping out Toolboards
I'm changing my printer over to a toolchanger and all of my tools will be controlled with toolboard 1LCs. I have a tool distribution board that will be the hub for the toolboards. I want the individual tools when sitting in their storage positions to be connected to one of the tool distribution board connectors along with one distribution board connector going to the pickup head.
Say I have 3 tools then I would use 3 of the 4 connectors on the tool distribution board for the 3 tools and the forth connector would be for the tool pickup head which would not have a tool connected unless a particular tool was selected during printing.
What I am thinking is that I would remove all of the jumpers on the tool distribution board and move the jumpers to the tool connectors for each tool. So without any tools loaded the tool distribution jumpers would be removed and jumpers enabled at each tool and the tool would be connected.
The pickup head would also have the jumpers installed at the pickup end thus extending the bus back to the distribution board and eventually to the terminator.
When the pickup head picks up a tool the tool would be disconnected from it's original tool distribution board connector and connected to the connection that goes to the pickup head. In this case the jumpers at the old connector would extend the bus while the tool was loaded.
Is my thinking here correct or am I missing something? Thanks
-
RE: Documentation for the web interfaces on a Duet3 w/SBC RRF3?
@chrishamm Thanks for that .....could I ask a stupid question, I am new to python and the Duet. I am trying to write a function that will return a queried result of the object model back to the caller. I am adding the function to my copy of DuetWbAPI.py. I would like to pass the function a string like 'sensors.probes' and have it return just that portion of the object model. for my machine, a duet 3 w/o SBC it uses the rr_model/key='sensors.probes' and that works fine. I want this to be one function for either type of client so they need to share the passed parameters. So far I have
def getModelQuery(self, key):def getModelQuery(self, key): if (self.pt == 2): logger.info('in non sbc') if not self._rrf2: #RRF 3 on a Duet Ethernet/Wifi board, apply buffer checking sessionURL = (f'{self._base_url}'+'/rr_connect?password=reprap') r = self.requests.get(sessionURL,timeout=2) if not r.ok: logger.warning('Error in isIdle: ' + str(r)) buffer_size = 0 while buffer_size < 150: bufferURL = (f'{self._base_url}'+'/rr_gcode') buffer_request = self.requests.get(bufferURL,timeout=2) try: buffer_response = buffer_request.json() buffer_size = int(buffer_response['buff']) except: buffer_size = 149 replyURL = (f'{self._base_url}'+'/rr_reply') reply = self.requests.get(replyURL,timeout=2) if buffer_size < 150: logger.debug('Buffer low - adding 0.6s delay before next call: ' + str(buffer_size)) time.sleep(0.6) URL=(f'{self._base_url}'+'/rr_model?key=' + str(key)) try: r = self.requests.get(URL,timeout=2) j = self.json.loads(r.text) except Exception as c1: logger.info('bad JuJu' + ' ' + str(c1)) return ('failed') if not self._rrf2: #RRF 3 on a Duet Ethernet/Wifi board, apply buffer checking endsessionURL = (f'{self._base_url}'+'/rr_disconnect') r2 = self.requests.get(endsessionURL,timeout=2) return (j) if (self.pt == 3): logger.info('in sbc') URL=(f'{self._base_url}'+'/machine/status') r = self.requests.get(URL,timeout=2) j = self.json.loads(r.text) if 'result' in j: j = j['result'] thing = key.split(".") ja=j[thing[0]][thing[1]] return (ja)
This works but does not allow me to expand the number of indices so it isn't very flexible. Is there an easy way to take the input string and use it to query the whole object down to what I want and allow for flexibility in the number of indices? Or is there a completely different way of doing this that I am ignorant of? Thanks.
-
Documentation for the web interfaces on a Duet3 w/SBC RRF3?
Forgive my ignorance...I've found multiple discussions pointing to the documentation for web interface ie. //rr_connect / rr_model etc. https://github.com/Duet3D/RepRapFirmware/wiki/HTTP-requests
Where can I find documentation for the /machine/status interfaces? I have a duet 3 but it is running in standalone mode so I can't try anything as it uses the rr_model type http interface.
-
RE: Duet 3 w/o SBC and RRF3 multiple probe detection
Well I did find something that works
{ip address of printer}/rr_model?key=sensors.probes -
Duet 3 w/o SBC and RRF3 multiple probe detection
I have a remote python script running on my PC that aligns my tools on my TC. It first aligns the x an y and then aligns the Z in order for all tools. It may be run in a situation where the Z alignment is not supported (if no K1 sensor) so I need a way to determine in python whether the printer has the second K1 Z probe or not. My printer responds as if it were a Duet 2 running RRF3 so I need to use /rr_status?type=2 but that only returns info on one probe???? K0 but not K1 for some reason. I can't seem to get a G31 K1 to work....anyone have a python snippet to execute a G31 K1 through the DuetWebApi? I've been trying to get this code to work to no avail. Or if there is some other way to determine if the probe exists or not....
def getTriggerHeight(self): _errCode = 0 _errMsg = '' triggerHeight = 0 if (self.pt == 2): if not self._rrf2: #RRF 3 on a Duet Ethernet/Wifi board, apply buffer checking sessionURL = (f'{self._base_url}'+'/rr_connect?password=reprap') r = self.requests.get(sessionURL,timeout=2) buffer_size = 0 while buffer_size < 150: bufferURL = (f'{self._base_url}'+'/rr_gcode') buffer_request = self.requests.get(bufferURL,timeout=2) try: buffer_response = buffer_request.json() buffer_size = int(buffer_response['buff']) except: buffer_size = 149 if buffer_size < 150: logger.debug('Buffer low - adding 0.6s delay before next call: ' + str(buffer_size)) time.sleep(0.6) URL=(f'{self._base_url}'+'/rr_gcode?gcode=G31') r = self.requests.get(URL,timeout=2) replyURL = (f'{self._base_url}'+'/rr_reply') reply = self.requests.get(replyURL,timeout=2) # Reply is of the format: # "Z probe 0: current reading 0, threshold 500, trigger height 0.000, offsets X0.0 Y0.0 U0.0" start = reply.find('trigger height') triggerHeight = reply[start+15:] triggerHeight = float(triggerHeight[:triggerHeight.find(',')]) if not self._rrf2: #RRF 3 on a Duet Ethernet/Wifi board, apply buffer checking endsessionURL = (f'{self._base_url}'+'/rr_disconnect') r2 = self.requests.get(endsessionURL,timeout=2)
-
RE: PID tuning Toolboard Extruder heater with 24V Duet 3
Thanks, I'm running 3.2.2 now so what files do I need to download? I'm used to just getting the zip every time but there is no zip. No SBC
Duet3Firmware_MB6HC.bin
DuetWebControl-SD-3.3b2.zip
Duet3Firmware_TOOL1LC.bin
Duet3_SDiap32_MB6HC.binIs that it?
-
PID tuning Toolboard Extruder heater with 24V Duet 3
So I know PID tuning on the toolboard isn't supported yet. So everything says just hook it up to the main board, Duet 3 in my case, to do the PID tuning. Well my main board is 24V but the toolboard is only 12V so the heater is 12V.
So without even thinking about that I went ahead and hooked the heater up to the Duet 3 OUT1 and did the PID tune.....then I realized that I did that with a 12V heater.
So now my question, am I really supposed to hook up a 12V power supply, all mine are 24V, to my printer just to get the heater tuned?
Is there any workaround? Is the PID I just ran any good?
I had moved my PID parameters over from when it was on the duet 2 and prior to RRF3 but I was starting to see heater faults, which would shut off power to the heater, when printing with PLA. So now I'm not sure what to do next.
Thanks for any help.
-
RE: Duet 3, SBC can I also run Octopi on the SBC for older printers
Thanks for the reply. That's encouraging but me being an idiot as far as Linux goes does anyone have a link or some info to help accomplish this?
-
Duet 3, SBC can I also run Octopi on the SBC for older printers
As the tittle says, I currently run a Railcore with a Duet 3 and toolboard. I'm thinking of adding the SBC to the Duet 3 and I was thinking it would be nice to also run Octopi on the SBC to manage a non Duet printer I have. Is this possible or is the SBC locked into the Duet role only?
-
RE: 3000w 120v spec silicone heater
Ground the metal bed so if the heater shorts to the bed it will blow the circuit breaker instead of electrocuting you when you touch the bed after it is shorted, and standing in water. By the way you can use the ground from the power supply cord if it is three pronged to ground the bed. Ground is ground....
-
RE: Cant find Endstop status on DWC
That would be helpful. There are many docs around that say to reference the endstop status in the DWC but all of that documentation is wrong and confusing to a new user at this point. I think the proposed solution would be a great addition!
By the way I do not have the Object Model choice under Settings on 3.2 so is that an addon?
-
RE: Toolboard fan oddity with M106 S0?
@jay_s_uk Thank you! I don't know how I missed that. I don't even know when that got added, anyway that is it. I haven't finished my print but I will post back after confirming.
That took care of it, thanks again
-
RE: Toolboard fan oddity with M106 S0?
@jay_s_uk I modified the code in the original post to include all of the config.g
I am in the middle of a print and will try the others after that completes. Thanks
-
Toolboard fan oddity with M106 S0?
I just changed over to a duet 3 and a toolboard and rrf3.2. All firmwares are up to date.
OK what I have is a part fan on Toolboard out1 and the hot end fan on Toolboard out2.
Config settings (toolboard is address 20)
; Configuration file for _RRF3_ ; search _RRF3_PIN_ for all gcodes that require pin names ; ToolBoard 1 address: 20 ; Communication and general M111 S0 ; Debug off M550 P"RailCore" ; Machine name and Netbios name (can be anything you like) ;M551 Pmyrap ; Machine password (used for FTP) ;*** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xEE ; MAC Address ;*** Wifi Networking M552 S1 ; Enable WiFi M555 P2 ; Set output to look like Marlin M575 P1 B115200 S1 ; Comms parameters for PanelDue connected to Duet 3 io0.in G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Axis and motor configuration M669 K1 ; _RRF3_ change M667 to M669 ; set CoreXY mode M584 X0.2 Y0.0 Z0.5:0.3:0.4 E20.0 ; _RRF3_PIN_ Map Z to drivers 4, 5, 6 M569 P0.2 S1 ; _RRF3_PIN_ Drive 0 goes forwards X stepper (Rear) M569 P0.0 S0 ; _RRF3_PIN_ Drive 1 goes backwards Y Stepper (Front) M569 P20.0 S0 ; _RRF3_PIN_ Drive 3 goes forwards Extruder M569 P0.5 S0 ; _RRF3_PIN_ Drive 5 goes backwards Front Left Z M569 P0.3 S0 ; _RRF3_PIN_ Drive 6 goes backwards Rear Left Z M569 P0.4 S0 ; _RRF3_PIN_ Drive 7 goes backwards Right Z ;Leadscrew locations M671 X-18:-18:331 Y-2.4:250:125 S7.5 ; Hemera Front left, Rear Left, Right S7.5 is max correction - measure your offsets, to the bolt for the yoke of each ;Axis and motor configuration M350 X16 Y16 Z16 E16 I1 ; Set 16x microstepping for axes & extruder, with interpolation. M574 X1 S1 P"io1.in" ; _RRF3_PIN_ set X endstop to xstop port active high M574 Y1 S1 P"20.io2.in" ; _RRF3_PIN_ set Y endstop to ystop port active high M906 X1400 Y1400 Z1000 E1000 I60 ; Motor currents (mA) - WARNING: Conservative - May trigger stallguard (and prematurely during homing) if sensorless. M201 X3000 Y3000 Z100 E1500 ; Accelerations (mm/s^2) M203 X24000 Y24000 Z900 E3600 ; Maximum speeds (mm/min) M566 X1000 Y1000 Z100 E1500 ; Maximum jerk speeds mm/minute M92 X200 Y200 Z1600 E409 ; Steps/mm for X.Y M208 X285 Y285 Z300 ; (S0 default)set axis maxima and high homing switch positions (adjust to suit your machine) M208 X0 Y0 Z-0.5 S1 ; (S1)set axis minima and low homing switch positions (adjust to make X=0 and Y=0 the edges of the bed) ; Thermistors M308 S0 P"temp0" Y"thermistor" A"Bed" T100000 B3950 R4700 H0 L0 ;_RRF3_PIN_ Bed thermistor, connected to bedtemp on Duet3 M308 S1 P"20.temp0" Y"thermistor" A"Tool0" T100000 B4725 R4700 C7.06e-8 H0 L0 ;_RRF3_PIN_ toolboard e3d M308 S7 P"spi.cs0" Y"rtd-max31865" A"Chamber" ; _RRF3_PIN_ create sensor number 7 as a PT100 sensor in the first position on the Duet 2 daughter board connector M308 S8 P"20.temp1" Y"thermistor" A"Tool_area" T100000 B3950 R4700 H0 L0 ;_RRF3_PIN_ toolboard e3d ;heaters M950 H0 C"out0" T0 ; _RRF3_PIN_ define Bed heater is on bedheat M950 H1 C"20.out0" T1 ; _RRF3_PIN_ define Hotend heater is on ToolBoard out0 M950 H7 C"out9" T7 ; _RRF3_PIN_ define Chamber heater is on inverted Duet3 pin 24v M307 H0 A406.6 C942.7 D9.9 S1.00 V24.1 B0 ; Bed Heaters PID results M140 H0 ; map heated bed to heater 0 M143 H0 S120 M307 H1 A516.1 C228.9 D4.6 S1.00 V24.1 B0 ; Heater 1 model PID results - This is for the Hemera M570 H1 S360 ; Hot end may be a little slow to heat up so allow it 180 seconds M143 S285 ; chamber heater 7 M307 H7 A39.4 C738.8 D0.8 S1.00 V24.1 B1 ; heater 7 from PID tune and set Bang-Bang with B1 M141 H7 ; heater 7 is the chamber heater M143 H7 S60 M570 H7 T45 ; set Heater 7 (chamber) to allow a 45C change in temp over set temp - to remove errors ; Fans M950 F0 C"20.out1" ; _RRF3_PIN_ define fan0 - Part Fan 12v M950 F1 C"20.out2" ; _RRF3_PIN_ define fan1 - Head Fan 12v M950 F2 C"out4" ; _RRF3_PIN_ define fan2 - Lower Lighting 24v M950 F7 C"out8" ; _RRF3_PIN_ define fan7 - Top Lighting 24v M950 F8 C"out5" ; _RRF3_PIN_ define fan8 - Exhaust Fan 24v M950 F9 C"out7" ; _RRF3_PIN_ define fan9 - Extruder Light 24v M106 P0 S0 H-1 C"Part Fan" ; disable thermostatic mode for fan 0 - part cooler - turn off part fan M106 P1 S1.0 T60:190 C"Tool Fan" ; turn on P1 Hot End to start since I'm using it for Hot End - safety M106 P2 H-1 S1 C"Int Light" ; turn on lower interior lighting and disable thermostatic mode M106 P8 H7 T45 S0 C"Exhaust Fan" ; turn on exhaust fan thermostatic mode on at 45C for top temperature regulation M106 P7 H-1 S1 C"Hood Light" ; turn on top interior lighting and disable thermostatic mode M106 P9 H-1 S1 C"Part Light" ; turn on top interior lighting and disable thermostatic mode ; Tool definitions M563 P0 S"Hemera Tool" D0 H1 F1 ; Define tool 0 - uses extruder 0, heater 1, fan 1 for tool cooling G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures ;BLTouch - comment out the following 3 lines if using a IR Probe M558 P9 C"^20.^io0.in" H5 R1 F200 T6000 A5 S0.02 ; _RRF3_PIN_ BLTouch connected to Z probe IN pin on toolboard M950 S0 C"20.io0.out" ; _RRF3_PIN_ Define BLTouch Servo (S0) on toolboard pwm1 G31 X-33 Y0 Z3.95 P25 ; Left Side BLTouch Add offsets appropriately - do a paper test, and put the probed value in the Z value here ;G31 X-33 Y0 Z2.78 P25 ; Left Side BLTouch Add offsets appropriately - do a paper test, and put the probed value in the Z value here ;G31 X44 Y-39 Z0 P25 ; Only use during Z configuration ;filament sensor M591 D0 P3 C"20.io1.in" S1 R30:180 E3.0 A0 L24.72 ; _RRF3_PIN_ SETUP FILAMENT OUT SENSOR S0 disable S1 enable A0 (default) = only check extruder motion of printing moves M208 S1 Z-0.2 ; set minimum Z ;M208 S1 Z-5 ; set minimum Z - only use during Z configuration T0 ; select first hot end ;M501 ; load config-override
When I start up the hot end fan is on but I started noticing that when I started a print it would turn off. Not good! So I started looking at possible reasons but I couldn't see anything in my startup script or the slicer that should cause the fan 0 to turn off. So then I looked at the actual gcode and found that the slicer was throwing in an M106 S0, well that shouldn't cause an issue since the default fan for the M106 gcode is '0' according to the documentation and that is the part fan.
Pnnn Fan number (optional, defaults to 0). (In RRF_3 relates to the fan number created by M950, NOT the fan pin number on the board)
but then I started sending my own gcodes and for whatever reason sending M106 S0 does turn off fan 1, not fan 0. Sending M106 P0 S0 does turn the part fan (P0) off and M106 P1 S0 turns the extruder fan (P1) off.So is there a documentation error, something stupid I am doing in config.g or what that is causing M106 S0 to turn off the wrong fan?
-
RE: Duet 3 with Toolboard Magnetic filament monitor not working
@alankilian Well you got me thinking about the cable again so I removed it to test it better and there was a bad connection (on the end I did) that I missed. Doing a print now but I think I'm good. Thanks for making me double check!
-
RE: Duet 3 with Toolboard Magnetic filament monitor not working
@alankilian Thanks for the feedback, yes the black wire is well seated. That pigtail actually came with the toolboard (toolboard end wired). I had to add the connector on the filament sensor end and I have checked the wiring. Oh and I agree on the colors but that is what it came with so I used that.