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

    THP

    @THP

    I do custom mechanical, electrical, and embedded system design, manufacturing, and repairs. Based in the USA, I have a small business doing quick-turn 3d printing for select customers and assorted other electro-mechanical projects.

    4
    Reputation
    24
    Profile views
    10
    Posts
    2
    Followers
    0
    Following
    Joined Last Online
    Location United States

    THP Unfollow Follow

    Best posts made by THP

    • RE: DuetLapse available for Alpha testing

      @Danal Love what you have done with DuetLapse, thanks for contributing it to the community. Overall works really well except for a couple of issues, some of which I know are on your radar such as error handling if you can't get a status update from the 3d printer (or if you are using a webcam error detecting) (as a side note, I have all hardlines between the printer and raspi 4 and computer running the camera and still randomly get errors).

      The first issue I noticed was that the layer detection works by looking for z height changes. This is an issue for me as I do a vertical lift on retraction with the printhead. It should also resolve the issues people had with taking pictures during mesh bed scanning.

      I added a function in the DuetWebAPI:

      def getLayer(self):
             URL=(f'{self._base_url}'+'/rr_status?type=3')
             r = self.requests.get(URL)
             j = self.json.loads(r.text)
             s = j['currentLayer']
             return (s)
      

      The type3 return adds the current layer height information.
      Then in the DuetLapse.py

      #        zn=printer.getCoords()['Z'] #replace with following line
              zn=printer.getLayer()
      

      along with updating the terminal printing in the oneInterval() function to

                  print('Capturing frame {0:5d} at X{1:4.2f} Y{2:4.2f} Z{3:4.2f} Layer {4:d}'.format(int(np.around(frame)),printer.getCoords()['X'],printer.getCoords()['Y'],printer.getCoords()['Z'],zn))
      

      I figured out you might want to include it in your code. I can setup a pull request if you want.
      Keep up the great work!

      P.S. I am running RRF3.0, I don't know if the layer output is included in RRF2.

      Also for everyone else looking to contribute or modify:
      I assume Danal know where the documentation for the status returns are, but for others like me who didn't know where the documentation on the firmware status returns are located, https://reprap.org/wiki/RepRap_Firmware_Status_responses

      posted in Third-party software
      THPundefined
      THP
    • RE: Shorted out8 on a Duet 3 - options for repair?

      @agmeadows I am able to do the repairs and located in VA, PM me your contact details and I can discuss the repair process. I am currently still getting set up but should be ready shortly.

      posted in Duet Hardware and wiring
      THPundefined
      THP
    • RE: Weird headmap since IR-Probe

      @Chriss:
      I thought I would revive this thread with some useful information. I stumbled on this thread after realizing that my IR probe started giving me weird results on my FR4/G10 build sheet. (I found this interesting article that shows how IR can find voids and defects in G10, https://irinfo.org/11-01-2015-hazouri/)

      Based on my recent tests all at room temperature, FR4/G10 causes some issues with the IR probe. I have a spring steel build sheet with 3M 468mp adhesive topped with a .020" G10/FR4 sheet. I can confirm that I get readings from the IR probe that are not correct on clean FR4 (cleaned with 99% isopropanol and no coatings and with a lightly sanded finish on the FR4)

      To confirm my suspicion, I performed mesh compensation probing, then picked 2 spots on the map showing a high next to a low. The two spots are 40mm apart in the x-direction with the IR probe measured difference of almost 0.2mm. Disabled mesh compensation (not necessary for the G30) but necessary for the dial indicator measurements) probed G30 S-1 got a reading from the IR probe of 0.005mm of what the mesh compensation point previously measured (it showed consistency in measurements of the IR probe). Then I took an analog dial indicator attached to my x extruder stepper motor and zeroed at the first point and dragged the dial indicator to the other point. The dial indicator showed a worst-case of <0.01mm difference at most between the two points. This included sweeping the area around each point with the dial indicator in case my offset on my IR probe was not perfect. This was all done with power to the stepper motors to ensure repeatable measurement points.

      To further confirm, I placed one continuous piece of masking tape over the two spots and remeasured with the IR probe and the Dial indicator. With the tape in place, I measured <0.01mm difference in height between the two spots with both the dial indicator and the IR probe.

      Also in regards to your plot of the PEI bed, I believe PEI is transparent to IR so you would be measuring whatever is below the PEI.

      I just painted the FR4 build sheet (previously was showing a lot of height variation) with high temp paint. (I hope it sticks well when removing parts (after curing the paint)). After painting, I get the nice flat bed measurements I was expecting on my printer. If the high temp paint works for printing, I will try to post up the paint I used. I will likely ditch the FR4 and paint the spring steel sheets for my custom built mag bed. It will depend on how well the paint holds up to being printed on. At least if I paint the spring steel, I can cure the paint to a higher temp which might help it hold up to the plastic extrusion temps better.

      As a side note: I use Airwolf Bed adhesion coatings on the fiberglass with really good luck with their ABS, PC and PLA coatings. I have had mixed results with the nylon coating, but it has been a really long time since I tried printing on it.

      Also, I found I have to run mesh compensation mapping with the IR-Probe when the bed and chamber are cool and at a constant temperature. I found there is a ton of drift as the sensor heats up above a hot bed.

      posted in Tuning and tweaking
      THPundefined
      THP

    Latest posts made by THP

    • RE: Shorted out8 on a Duet 3 - options for repair?

      @agmeadows I am able to do the repairs and located in VA, PM me your contact details and I can discuss the repair process. I am currently still getting set up but should be ready shortly.

      posted in Duet Hardware and wiring
      THPundefined
      THP
    • RE: Weird headmap since IR-Probe

      @Chriss:
      I thought I would revive this thread with some useful information. I stumbled on this thread after realizing that my IR probe started giving me weird results on my FR4/G10 build sheet. (I found this interesting article that shows how IR can find voids and defects in G10, https://irinfo.org/11-01-2015-hazouri/)

      Based on my recent tests all at room temperature, FR4/G10 causes some issues with the IR probe. I have a spring steel build sheet with 3M 468mp adhesive topped with a .020" G10/FR4 sheet. I can confirm that I get readings from the IR probe that are not correct on clean FR4 (cleaned with 99% isopropanol and no coatings and with a lightly sanded finish on the FR4)

      To confirm my suspicion, I performed mesh compensation probing, then picked 2 spots on the map showing a high next to a low. The two spots are 40mm apart in the x-direction with the IR probe measured difference of almost 0.2mm. Disabled mesh compensation (not necessary for the G30) but necessary for the dial indicator measurements) probed G30 S-1 got a reading from the IR probe of 0.005mm of what the mesh compensation point previously measured (it showed consistency in measurements of the IR probe). Then I took an analog dial indicator attached to my x extruder stepper motor and zeroed at the first point and dragged the dial indicator to the other point. The dial indicator showed a worst-case of <0.01mm difference at most between the two points. This included sweeping the area around each point with the dial indicator in case my offset on my IR probe was not perfect. This was all done with power to the stepper motors to ensure repeatable measurement points.

      To further confirm, I placed one continuous piece of masking tape over the two spots and remeasured with the IR probe and the Dial indicator. With the tape in place, I measured <0.01mm difference in height between the two spots with both the dial indicator and the IR probe.

      Also in regards to your plot of the PEI bed, I believe PEI is transparent to IR so you would be measuring whatever is below the PEI.

      I just painted the FR4 build sheet (previously was showing a lot of height variation) with high temp paint. (I hope it sticks well when removing parts (after curing the paint)). After painting, I get the nice flat bed measurements I was expecting on my printer. If the high temp paint works for printing, I will try to post up the paint I used. I will likely ditch the FR4 and paint the spring steel sheets for my custom built mag bed. It will depend on how well the paint holds up to being printed on. At least if I paint the spring steel, I can cure the paint to a higher temp which might help it hold up to the plastic extrusion temps better.

      As a side note: I use Airwolf Bed adhesion coatings on the fiberglass with really good luck with their ABS, PC and PLA coatings. I have had mixed results with the nylon coating, but it has been a really long time since I tried printing on it.

      Also, I found I have to run mesh compensation mapping with the IR-Probe when the bed and chamber are cool and at a constant temperature. I found there is a ton of drift as the sensor heats up above a hot bed.

      posted in Tuning and tweaking
      THPundefined
      THP
    • RE: DuetLapse available for Alpha testing

      @Danal I don't feel I need attribution, feel free to integrate it yourself. I realized after I posted the message I don't have a good way to push selected lines of code from my raspi at this moment (a bit rusty on my cmd line git commands) and I have other minor changes (such as directory storage) included in the changes of my copy.

      posted in Third-party software
      THPundefined
      THP
    • RE: DuetLapse available for Alpha testing

      @Danal Love what you have done with DuetLapse, thanks for contributing it to the community. Overall works really well except for a couple of issues, some of which I know are on your radar such as error handling if you can't get a status update from the 3d printer (or if you are using a webcam error detecting) (as a side note, I have all hardlines between the printer and raspi 4 and computer running the camera and still randomly get errors).

      The first issue I noticed was that the layer detection works by looking for z height changes. This is an issue for me as I do a vertical lift on retraction with the printhead. It should also resolve the issues people had with taking pictures during mesh bed scanning.

      I added a function in the DuetWebAPI:

      def getLayer(self):
             URL=(f'{self._base_url}'+'/rr_status?type=3')
             r = self.requests.get(URL)
             j = self.json.loads(r.text)
             s = j['currentLayer']
             return (s)
      

      The type3 return adds the current layer height information.
      Then in the DuetLapse.py

      #        zn=printer.getCoords()['Z'] #replace with following line
              zn=printer.getLayer()
      

      along with updating the terminal printing in the oneInterval() function to

                  print('Capturing frame {0:5d} at X{1:4.2f} Y{2:4.2f} Z{3:4.2f} Layer {4:d}'.format(int(np.around(frame)),printer.getCoords()['X'],printer.getCoords()['Y'],printer.getCoords()['Z'],zn))
      

      I figured out you might want to include it in your code. I can setup a pull request if you want.
      Keep up the great work!

      P.S. I am running RRF3.0, I don't know if the layer output is included in RRF2.

      Also for everyone else looking to contribute or modify:
      I assume Danal know where the documentation for the status returns are, but for others like me who didn't know where the documentation on the firmware status returns are located, https://reprap.org/wiki/RepRap_Firmware_Status_responses

      posted in Third-party software
      THPundefined
      THP
    • Tool offset honored but not displayed correctly...

      Tool offset honored but not displayed correctly on Web Interface or PanelDue.
      This has been a minor bug for me for a while (before 2.x rtos firmware) but not a concern for me until recently (if you read down, it is still not anything significant just very misleading/ confusing actions by the web interface and PanelDue).
      I am running 2.02 RC6 currently on a custom IDEX build. If I call a tool change once, it will not update the z position to reflect the tool offset. If I call the tool change a second time, the position displayed is updated to include the proper extruder height offset. I have a Z limit switch so I have an offset on Z on the G10 command "G10 P0 X0 Y0 Z-.25 S0 R0" and "G10 P1 Y0.25 U5.25 Z-.01 S0 R0" in the config.g file.
      The commands and positions are listed below as entered on the web interface to try to explain it. This starts with no tool selected but calls T-1 to clear tools to be sure. Note: Z axis does not physically move during this whole test.

      G-Code Z readout (mm) Comment
      G1 Z20 F200 20 Sets initial working height
      T-1 20
      T-1 20
      T0 P0 20
      T0 P0 19.75 This accounts for extruder offset
      T-1 P0 19.75
      T-1 P0 20.00

      The same can be repeated for Tool 1 as shown above with Tool 0. The P0 at the end of the tool does not affect the final outcome. If I do a normal "T0" without the P0 added, the Z height is correctly reflected during the tool change, but as soon as the tool change is complete, the offset disappears.

      Update before I even posted this. I tested more and it appears that the the position is respected by internally by the Duet, but not displayed on the web interface or PanelDue until a second call to the tool, or z motion is called.

      Below is a new table showing the test. Note: I tested with and without "P0" with a Tx command and no difference was experienced.

      G-Code Z readout (mm) Comment
      T-1 20
      T-1 20
      G1 Z20 F200 20 Sets initial working height
      T-1 20
      T-1 20
      T0 20 Did full tool change with purge. During tool change height changed to 19.75 but reset to 20 at the end of the tool change
      G1 Z20 F200 20 Z axis moves as expected to compensate for length
      T-1 P0 20
      G1 Z20 F200 20 Z axis moves as expected

      As noted earlier, it takes a z movement command to force an update in the position displayed or a second call to the same tool.

      Let me know if you need/want my config file or tool change files.

      Thanks,
      THP

      posted in Duet Hardware and wiring
      THPundefined
      THP
    • RE: Extruder Ramming from DWC and Panel Due?

      FYI, I updated to 2.02RC6 and it seemed to get rid of my problem with the U extruder(extruder1) extruding way faster than it should have on tool changes.

      posted in General Discussion
      THPundefined
      THP
    • RE: Extruder Ramming from DWC and Panel Due?

      not to hijack the thread, but I have a similar issues that may be related. I have a custom IDEX and Extruder 0 feeds just fine during a tool change to purge and wipe in tpost0.g with "G1 E20 F200", Extruder 1 I have to send "G1 E30 F1" in tpost.g to make it go a similar speed. I can send the gcode directly the the board and it behaves normally. The only time I see the issue is every tool change. I am going to open a thread with this and some other issues I have been dealing with soon. I am on "2.02RC5(RTOS) (2018-11-28b1)"

      posted in General Discussion
      THPundefined
      THP
    • RE: Laser filament monitor

      @dc42
      I would be very interested in working on this, I PM'ed you a couple of weeks ago regarding assisting with the laser filament monitor. I am located in the USA with the needed tools to program the attiny. I can even do smd board assembly if needed.

      posted in Filament Monitor
      THPundefined
      THP
    • RE: Bed & Chamber Heater Config for PanelDue

      Thanks for letting me know! Not a big deal right now as I can always use the web interface.

      posted in General Discussion
      THPundefined
      THP
    • Bed & Chamber Heater Config for PanelDue

      I know this is probably an odd configuration, but I have a bed and chamber heater of which I wish to independently control. I have the bed wired to the bed heater (H0) and the chamber heater wired to E2 (H3)

      I will note I have not connected the chamber heater element, but I have the SSR connected. (enclosure is in progress). In the web control the chamber shows up just fine and the chamber heater LED H3 (E2) will turn on if I enable the chamber heater. (I did have to edit the config-override.g to remove some PID parameters for H3 for it to work correctly.) But nothing shows up on the PanelDue for the chamber heater.

      I am running Duet Ethernet (FW 1.20) with DueX5 and a V2 PanelDue(FW 1.16)

      As a side note, the temperature for the chamber shows up as the 4th temp from the left if I define a higher numbered heater. To better explain, I was redoing the wiring for my printer and wanted to use H7, as my second extruder in my IDEX setup shares a common wire bundle for the motor and heater wire. When I changed the config.g file to use H6 (I thought it was H6 not H7 for a moment and H7 does not show up on the panel due 5" screen) the chamber heater shows up as the 4th temperature from the left with invalid temperatures for the undefined extruder temperatures, but does not have any button (above the temp reading) to enable or disable the chamber heater.

      ; Setup PT-100 Sensors
      M305 P1 X200 F60	;Right Extruder - U
      M305 P2 X201 F60	;Left Extruder	- X
      
      ;Setup Thermocouples
      M305 P0 X104 F60	;Heated Bed
      M305 P3 X105 F60	;Chamber
      
      M140 H0 P0
      M143 H0 S95                           ; set maximum extruder temperature to 275c
      H143 H1 S275
      H143 H2 S275
      M141 H3 P0		;Chamber Heater
      M143 H3 S80                               ; set Max chamber heater
      M301 H3 P-1
      
      M570 S180					; Hot end may be a little slow to heat up so allow it 180 seconds
      
      ; Fans thermostatic
      M106 P1 T45 H1
      M106 P2 T45 H2
      
      ```Thanks,
      THP
      posted in General Discussion
      THPundefined
      THP