OpenPNP with Duet 3



  • Hi! After being a happy Duet3D delta-printer user for a few years, I am exploring new territories. I am looking into pick'n place machine based on OpenPNP (picking and placing surface mounted components on PCB boards).

    One of the core decisions to make is obviously what controller board to purchase. OpenPNP recommends Smoothieboard. I absolutely want to try out the Duet 3! Has anyone tried out using the Duet for this purpose? More information on controller requirements are here.

    Anyone?



  • In general, any motion controller that can accept GCode commands for movement and output control will work with OpenPnP.



  • Yes, that is also what they argue on their web page. At the same time they highly recommend Smoothieboards. They actually "push" it quite hard. My main question would be: What does Smoothieboard bring to the table that the Duet does not for the use-case OpenPNP?



  • @kenavn said in OpenPNP with Duet 3:

    Yes, that is also what they argue on their web page. At the same time they highly recommend Smoothieboards. They actually "push" it quite hard. My main question would be: What does Smoothieboard bring to the table that the Duet does not for the use-case OpenPNP?

    let see superior hardware and community? jokes aside, there was a time when smoothie was among the higher end controllers, with respect to speed (steps/second) and silent (smooth) motion, but the duet3 has them beat on everything (but cost?).

    (edit: of course using the same as everyone else is easier, but if you're comfortable with g-code and configuring the duet it shouldnt be a problem)


  • administrators

    @kenavn said in OpenPNP with Duet 3:

    Hi! After being a happy Duet3D delta-printer user for a few years, I am exploring new territories. I am looking into pick'n place machine based on OpenPNP (picking and placing surface mounted components on PCB boards).

    One of the core decisions to make is obviously what controller board to purchase. OpenPNP recommends Smoothieboard. I absolutely want to try out the Duet 3! Has anyone tried out using the Duet for this purpose? More information on controller requirements are here.

    I don't see any reason why Duet 3 can't be used with standard firmware for Open PNP. If you do come across any issues, I'll provide support.



  • Pick-n-place, I'm very curious which machine?

    And, have you looked at https://www.liteplacer.com/ I've built one, and they work fairly well.



  • @dc42 Thank you! I've started the mechanical build, and it is progressing good this far. I also have a Duet Wifi running on my large delta 3d-printer, which I have been very happy with.

    What happened last week is that some parts broke on my CNC machine, and I decided to do some upgrades to that machine as well (OB Ox metal derivate). I just bought the new Duet 3 for my PnP, but now I am considering using it on my CNC instead, as I would benefit for the possibility of auto squaring the Y-axis and improving the overall availability through ethernet etc. I cannot achieve this with my current xpro board.

    One of the reasons for me being unsure on using the Duet 3 for my PnP is something that you mentioned over at the OpenPNP mail-list (i guess dc42 @ pnp is you.. Pure guesswork). You indicated that the Duet 3 might be "overkill" for the PnP usage. Would you please elaborate a bit on that, so that I better understand what you are aiming at?

    If I would go ahead an plunge into ordering my third Duet, I will very much want to start off with the right feeling and more than hopeful dreams..



  • @Danal Hello! Yes, I have researched a bit and I have also looked at the Liteplacer. Looks very nice! I'm just a bit more exploring, and want to start more "on scratch". Not that I actually will go all that way, but I have decided to base it on a Openbuilds frame like I have done with my delta and my CNC. So I have started out with the cartesian pnp from Anthony Webb (https://hackaday.io/project/9319-diy-pick-and-place), but started to customise it a bit in regards to both toolheads, bed, size, electonics mount etc.

    I am planning on putting some Youtube-videos out on my CNC-life, as it is consuming more and more of my spare time 🙂 I will announce when ready, if you are specially interested.



  • Looks like a quite nifty machine. I don't really use my lightplacer anymore... and I'm nonetheless somewhat motivated to build one of those... it's an addiction, isn't it?



  • @Danal Hehe, it surely is! But I guess there are worse addictions out there. Despite of not seing me much on evenings, my wife must also agree to that 🙂 Why did you not use it? Why not start a small scale production business for the hungry makers out there? 🙂



  • Warning, long personal story ahead:

    At the time I built the LightPlacer, despite all the statements on the designers web site that the LP was for proto, and not prod, I was building runs of about 20 at a time SMT boards for a small contract. My wife and I were solder dotting (no mask) and p-n-p by hand, and I wanted to see if we could semi-automate.

    The total delivery was right on the boundary of in-house vs. just having them assembled at a fab house. 20 or so boards every couple of months. And the whole deal might, just might, "take off" and scale up, at which point I would 100% go fab.

    Well... by the time I was even close to having the lightplacer working, we'd done about 160 boards in batches of 20, and then my customers checks started bouncing. That was the end of that contract...

    And... there's a little bit more to the story: I had a severe medical issue, some probability that I wouldn't make it, and I signed all IP rights over to the guy who would later start bouncing checks, signed them over while I was in the hospital. As time went forward, He not only short paid the last couple of batches, he found a different supplier, gave them the design, and I was out.

    And to be super honest, probably some of the bad feeling of the way that contract ended slopped over onto the LightPlacer. The guy was totally un-repentant, and simply refused to make good, and we parted on pretty bad terms as he migrated to another supplier. Totally unfair to the LP, but true.

    Given the couple of years it took me to truly recover medically, I made a conscious decision to simply let all that go.

    So, yeah, big sob story. Not much to do with the LP itself.


  • administrators

    @kenavn said in OpenPNP with Duet 3:

    One of the reasons for me being unsure on using the Duet 3 for my PnP is something that you mentioned over at the OpenPNP mail-list (i guess dc42 @ pnp is you.. Pure guesswork). You indicated that the Duet 3 might be "overkill" for the PnP usage. Would you please elaborate a bit on that, so that I better understand what you are aiming at?

    The features Duet 3 has that Duet 2 doesn't are the ability to connect large numbers of stepper motors etc. using expansion boards or tool boards, high current stepper drivers, and support for a closely-coupled Raspberry Pi or other SBC with full access to the object model of RepRapFirmware. My understanding of OpenPnP machines is that you don't need to drive large numbers of stepper motors, you don't need high current stepper motors because the PnP head isn't especially heavy, and the user interface is already handled by a Raspberry Pi. So a Duet WiFi/Ethernet (or maybe even a Duet Maestro) would be more than adequate for use with openPnP in a PnP machine.

    We have a limited number of Duet 2 boards to give away for innovative projects, and use with OpenPnP would count at present. Send me a direct (chat) message if you are interested.



  • @Danal Personal stories are more interesting that unpersonal ones, so no warning required 😉 I am happy for your recovery, living a life with loved ones AND interesting machines are so much better than the alternative. Bad customers though..

    I challenge you. Sell the LP, build a new one, and let the show begin! There are actually a few interesting variants to see over at Hackaday if you poke around a bit. But I ended up on this one. My first idea after gaining enough confidence on two previous machine builds was to do this from scratch. But the cost involved is just a factor that makes we want to stick to a proven route, and then just modify and make my own derivate over time.

    I am pretty confident that the Duet is a good platform for this, but I guess it might need some adaption.. Currently OpenPNP seems to be the software route to go. The fact that it expects an "old-fashioned" USB interface to work, and it relies on its own computer-vision logic makes this a bit more "dynamic" then what the Duet is built for. In other words; what could we use the Duet web-interface for when it comes to pnp? As of now it is probably limited to basic movement and homing, and no "runs" pr. se. I might be wrong, but I guess it takes som tinkering to find out.



  • @dc42 When it comes to OpenPNP one of the really interesting areas as I see it is the CV-functionality. One of the reasons why I am building this now is that I want to get to the point where I can start exploring the state of OpenPNP in regards to running it on a Nvidia Jetson Nano. The Nano has a Raspi compatible GPIO pinout. A "package" with well integrated Duet3d hardware with a Nvidia module and Linux with OpenPNP sounds like a really snappy combo.. Would that not be a use case more applicable for the Duet 3? I do not know the specifics and possibilities in the GPIO-support on the Duet 3, so please excuse me if I am totally off 🙂

    After following the community for a while my current assumption is that the processing pipeline required for the computer vision is a bit demanding for a Raspberry Pi. The Raspberry Pi 4 has of course more potential, but I was thinking about trying out a Nvidia Jetson Nano (GPU) that has Raspi GPIO. That would further enhance the CV capabilities. But - this is an area I need to discover and I can pretty much do that discovery without more than a test installation of OpenPNP and the Nano itself.

    I would be very interested in a Duet 2 for my PNP, absolutely. I'll msg you. Thanks!



  • I'm doing OpenCV on a Pi 4 that is the Pi for a Duet 3, to recognize circles and therefore align the nozzles on a toolchanging printer. In very NON optimized python, processing 10 frames a second or so. The default circle recognizer in OCV slows WAY down if it can't find any circles in an image. I may modify it to quit after a fixed number of millis. Maybe.

    In my use case, the printer is not moving when OpenCV is recognizing circles... but it is moving while OpenCV has a window up, updating the USB camera view at background thread frame rate. Which I've never measured, but looks/feels in the 20 or 30 area.

    A Jetson would make a fine SBC for a Duet 3 (I believe at least one person on the Jubilee Discord is running a nano with a D3), and the extra image hardware would make OpenCV really scream, with essentially no CPU load. It would be interesting to try both, to see if the Nano is really 'required'.

    Nano seems to be $110 to $150 right now; Pi 4 seems to be $50 to $70. So very very roughly half/double.



  • @Danal Yes, there are price differences there. But if you compare the Nano to a NUC or something more than an ARM Cortex, you will have a larger price difference in the opposite direction. And a NUC would not as an example bring any FLOPS to the table - neither would the Raspi. The question is if a GPU would make a whole lot of difference in relation to the general "wait times" of the machine itself, and how big a part of the cake relates to the camera and lighting setup. But I guess it is a discussion already started elsewhere, and not typically right for the Duet forum 🙂 (I know there is at least one individual thas has mentioned he is looking into the Duet/Jetson/OpenPNP combo as of Q4 2019).

    But this is definetly an area I want to learn more. What remains unclear for me is the potential in the RPI GPIO ports of the Duet 3. But I have one in my shop as we speak, so I will look into it at some point. It looks like it has its future staked out as a part time tinkering board in regards to the GPIO-port and part time CNC controller for my custom OX^2 Metal.

    @dc42 I sent you a PM regarding the Duet 2 🙂 It would be a great start to the PNP project, thank you.


Log in to reply