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

    Posts made by Jrow

    • RE: A potential highly accurate sensor for levelling

      @Jrow my proposal would be to include the webcam PCB on the back of the Z axis of a CNC machine, and to mount the laser level permanently to the bed of the CNC.

      The warm up routine would include a travel along X and also along Y, measuring the deviation in Z, then using that to build a grid of Z offset for mesh bed levelling. You could also measure Z backlash and compensate for it.

      posted in General Discussion
      Jrowundefined
      Jrow
    • RE: A potential highly accurate sensor for levelling

      @oliof the discord conversation is in the PrintNC community, which is open to join, but it's pretty well condensed in the youtube link.

      Basically; Discord user Byran ON is using a laser level common in the construction industry, and the PCB from a common webcam to detect differences in the level of the top surface of a steel beam. In his case, the steel beam is a mounting point for linear rails for a CNC, and the intention of his device is to manipulate the surface of the top of the steel beam so it's as flat as possible. The webcam PCB includes an imaging sensor with an array of pixels*, which the above linked Github software uses to detect the most illuminated point of the laser via sampling.

      Another user has proposed a similar method, using a stretched wire, and an optical device that detects the center of the wire. He previously did this by eye to manually grind a lathe for someone.

      • Image of the array of pixels to give an idea of how this produces such an accurate reading:

      alt text

      posted in General Discussion
      Jrowundefined
      Jrow
    • RE: New Z Sensor?

      It seems irrelevant to me whether or not the sensor can be implemented on the Duet, if it can record data on an external device, then transfer that data to the Duet.

      BTW, an FYI for the others in this thread. I started a discussion about another sensor option being discussed by the PrintNC community; https://forum.duet3d.com/topic/32134/a-potential-highly-accurate-sensor-for-levelling

      posted in General Discussion
      Jrowundefined
      Jrow
    • RE: A potential highly accurate sensor for levelling

      @Jrow ok, so this isn't precisely what I'm suggesting. In the case of the CNC for instance, it's not about scanning a bed or work surface, but the variation along linear axis (X & Y primarily) in order to compensate for variation in travel.

      The laser level would be mounted and collimated separately, and the machine levelled separately. The imaging sensor would likely be mounted on the Z axis, or the Y, and could be used for a wide variety of tests from measuring Z backlash, to measuring the amount of variation in Z along the X & Y rails.

      A mesh could then be calculated from there.

      posted in General Discussion
      Jrowundefined
      Jrow
    • RE: A potential highly accurate sensor for levelling

      @dc42 should've used the search function!

      posted in General Discussion
      Jrowundefined
      Jrow
    • A potential highly accurate sensor for levelling

      I just came across a lengthy discussion on the PrintNC discord channel where a user is combining a webcam sensor without a lens and a laser level to accurately measure the variation in the surface of a steel beam that he's using in the construction of his CNC.

      You can see a video explaining what he's doing here on his channel; https://www.youtube.com/watch?v=hnHjrz_inQU

      And find the discussion of this method here; https://discordapp.com/channels/648972213734604807/1078447519517921392

      And the webcam software can be found here; https://github.com/betzuka/laserlevel

      This is all very intriguing to me, as I've built a CNC and I'd love to improve it's precision. And this should help, but I immediately wondered if these sensors could be combined with mesh bed levelling, to provide a highly accurate CNC, without the added steps of modifying the CNC gantry. Couldn't a CNC (or 3D printer) simply substitute a sensor like Duet's IR sensor for this webcam / laser level combo, run along the X and Y axis, while measuring the deviation, and then compensate?

      Further; and this gets into even more intriguing territory for CNC's; couldn't the controller also measure deflection of the gantry in real time, along with a tool height sensor, to determine (and compensate for) spring forces?

      posted in General Discussion
      Jrowundefined
      Jrow
    • RE: M556 axis compensation for a CNC

      I put some tape on either motor coupler and ran Y homing from different start positions, very slowly and absolutely confirmed this working in action. I've now squared the CNC, by adjusting one of the sensors until my dial gauge read the same from one end of the linear rail to the other, when sliding it along a square. It's probably not perfect, but it should do for now, at least as proof to myself that I can do it this way.

      Notably, I also had to up my idle motor currents a little so it wouldn't go back out of square when they timed out. That's the I value on M906, where you set your motor amps.

      posted in CNC
      Jrowundefined
      Jrow
    • RE: M556 axis compensation for a CNC

      Yup, I have confirmed homing via this method now. But in trying to install the endstop plugin, I think I messed up my DWC. I had a CNC specific version of it installed, and attempted to update to the current DWC (3.4.1), and I don't have the menus the plugin suggests.

      Is it something worth creating a ticket about, regarding M119? Is that a bug; that it doesn't report multiple endstops?

      posted in CNC
      Jrowundefined
      Jrow
    • RE: M556 axis compensation for a CNC

      @jay_s_uk I've already homed the Y axis with io5.in only, by switching from io2.in, to ensure that endstop works.

      I just am a bit concerned that M119 doesn't report multiple enstops for Y.

      posted in CNC
      Jrowundefined
      Jrow
    • RE: M556 axis compensation for a CNC

      @fcwilt I'm a bit nervous here. When I try M119, with M574 Y2 S1 P"io2.in + io5.in" set, I only get an endstop triggered if io2.in is triggered. Due to the nature of the machine I really don't want to try bending it. Is there a way to check that my config is correct beyond what I've already specified?

      The documentation for M574 only mentions multiple endstops for Z. I'm worried it's possible that it wasn't implemented for Y.

      posted in CNC
      Jrowundefined
      Jrow
    • RE: M556 axis compensation for a CNC

      @jay_s_uk so, I am finally getting around to adding a second endstop to my Y, to auto-square the axis. I found this post on the forums, which says:

      @fcwilt said in 3 Z steppers - can I move it individually?:

      You need to have an M574 command something like this (from my printer) ...
      M574 Z1 S1 P"!duex.e2stop + !duex.e3stop + !duex.e4stop"*
      ... where you specify each endstop in the order the matches the Z stepper assignments in the M584 command (from my printer)
      M584 X0 Y1:2 Z5:6:7 E3

      My current setup is:

      M574 Y2 S1 P"io2.in"
      M584 X3 Y0:1 Z2

      My assumption based ont he above is that if I change the first line to P"io2.in + io5.in" where io5.in refers to the second endstop, this should home the Y axis to both endstops automatically, without having to specify moving motors individually. Am I on the right track here?

      I would of course still have to introduce an adjustment on one of the Y steppers, after homing, assuming my endstops aren't perfectly aligned.

      posted in CNC
      Jrowundefined
      Jrow
    • Halted after no emergency stop - solved while trouble shooting

      My Duet 2 that I've been running for a few years now is reporting a halted state on both the DWC and PanelDue. I initially noticed this state after coming back to the printer the next day after a completed print. The printer is in the position it would go to at the end of that print job, and the console reports:

      11:25:43 Connection established!
      11:25:32 Emergency Stop! Reset the controller to continue.
      22:42:50 Finished printing file XXX.gcode, print time was 7h 30m

      The printer was not in use, and DWC was not connected at 11:25. It's possible something touched PanelDue. There is an office cat. I've since E-stopped it, and tried M999. Both cause fans to come on, reported temperatures and voltage do not change. Halted state still reported. A couple more M999's and a page refresh on DWC, and printer reports idle and seems to be functioning as normal.

      Found previous, apparently unresolved issue that may be similar; https://forum.duet3d.com/topic/6301/question-about-halted?loggedin=true

      posted in General Discussion
      Jrowundefined
      Jrow
    • RE: Higher input voltages for steppers

      Actually come to think of it, what would be the cost of manufacturing boards with these additional components instead? Is this something that could be achieved at a low rate of production with a pick and place, or via a PCB service?

      posted in Hardware wishlist
      Jrowundefined
      Jrow
    • RE: M556 axis compensation for a CNC

      @jay_s_uk so I took my sensor out of my X axis, with the intention of using a regular microswitch for that, and somehow broke the head off it. Might've been a good thing. Could've been broken before I moved it, and might've caused a crash on X.

      Is there a way to manually enter the skew via M556 since I'm now out of appropriate sensors?

      I assume no, as you mentioned the steppers can move while energising.

      posted in CNC
      Jrowundefined
      Jrow
    • RE: M556 axis compensation for a CNC

      @jay_s_uk and so with the second sensor, what's the procedure to get the motors to adjust to the correct position?

      Also; I didn't know that about steppers starting up.

      posted in CNC
      Jrowundefined
      Jrow
    • RE: M556 axis compensation for a CNC

      @jay_s_uk no; just the one.

      posted in CNC
      Jrowundefined
      Jrow
    • RE: M556 axis compensation for a CNC

      @jay_s_uk I've tried the manual version of this; turning off and unplugging steppers, and turning each axis by hand. But if I turn in the undesired direction, it skews further, and if I turn in the desired direction, there's spring in the machine and it comes back to the skewed position. Rather than having to dismantly the X & Z axis, and do some more drilling I'd really love to be able to fix this with software.

      posted in CNC
      Jrowundefined
      Jrow
    • M556 axis compensation for a CNC

      I've built a CNC router, and it's X axis is approximately 1mm out of square across the 640mm between each of the two Y ballscrews, or 0.15-0.2mm out of square across a 100mm test cut I carried out.

      In the test, we'll say that at X0, Y effectively cut at 0, and after a move of X+100, but no move on Y, the effective cut was Y+0.15-0.2mm.

      I'm not really certain how I use the M556 command, documented here for the Omerod.

      My assumption is that I use M556 S100 X0.17

      But this could just as easily be X-0.17

      Do I just try the command and find out?

      posted in CNC
      Jrowundefined
      Jrow
    • RE: Request for canned cycle implementation

      @dc42 consider my request for canned cycles low priority then!

      posted in CNC
      Jrowundefined
      Jrow
    • RE: Request for canned cycle implementation

      @cthulhulabs ohhh, so you can use parameters inside a macro that you call? Is that what I'm looking at?

      posted in CNC
      Jrowundefined
      Jrow