Duet 2 Wifi board configuration for OpenPnP use

1,805 views
Skip to first unread message

Hanski

unread,
Mar 19, 2020, 12:15:34 PM3/19/20
to OpenPnP
Hi all!
Thanks for all the great minds behind OpenPnP software for making it possible for DIY guys to build home-brew PnP machines!

The kind folks at Duet3D sent me a free Duet 2 Wifi board.
I replaced the Smoothieboard in my machine with Duet 2 Wifi board to have more quiet stepper drivers (Duet 2 has Trinamic drivers).

I've attached my machine.xml to show what commands are needed in OpenPnP GcodeDriver to control Duet 2 board.

I also attached my config.g which is located in Duet 2 board SD card. It shows how to configure vacuum pump, vacuum valve, and top camera lights outputs.

Pic of my machine:

PnP machine.jpg



machine.xml
config.g

ma...@makr.zone

unread,
Mar 19, 2020, 12:35:07 PM3/19/20
to ope...@googlegroups.com

Very cool! Very light looking! Fast?

Is it stable enough, with just this narrow center rail?

Video?

_Mark

--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/7389ea88-1275-4428-8673-2bb12190842a%40googlegroups.com.

Mike M.

unread,
Mar 19, 2020, 3:28:12 PM3/19/20
to OpenPnP
Cool - and nice set of DIMA feeders all over the place :-)
I like the simple aproach with lots of feeders and strong Rail in feeder direction!
Well done Hanski!
Mike

Mike M.

unread,
Mar 19, 2020, 3:46:02 PM3/19/20
to OpenPnP
Hanski - How do you trigger DIMA feedrs with Head movement ? No extra actuator?
Mike

Hanski

unread,
Mar 19, 2020, 3:53:02 PM3/19/20
to ope...@googlegroups.com
Thanks guys!
It’s hard to see from the picture but the machine is built around 20cm tall hollow aluminium rectange tube. The electronics are inside the tube.

As it’s a hobby purpose machine I tried to have:
-Simple mechanical and electrical design. Thus mechanical push lever feeders, simple stepper motors, and belt drives.
-Fit's through home doors, and has wheels for easy moving
-A lot of reliable "fill and forget" feeders because feeder management is really time consuming. 

I wouldn’t call it a very fast machine. It’s a open loop Nema17 stepper motor machine with 8mm wide belt on a 1100mm long travel x-axis.
Not an industrial grade machine. :)

It works surprisingly well, I’ve one 0402 feeder located close to motor end of the long x-axis.
Other feeders are for 0603 or bigger parts.
I need to modify a couple more 0402 feeders..

I found that it’s better to use bottom vision for all parts.
It makes better alignment and the job pauses if there’s a miss pick.


I’ll take a video later..

-Hanski


-- 
You received this message because you are subscribed to a topic in the Google Groups "OpenPnP" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/openpnp/M9VY-GcFP2o/unsubscribe.
To unsubscribe from this group and all its topics, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/6b2e1479-68d0-42e0-9bdf-88189388e212%40googlegroups.com.

dc42

unread,
Mar 20, 2020, 5:33:53 AM3/20/20
to OpenPnP
Hanski, thanks for sharing this! May I add those files to the Duet3D repository of machine  configuration files at https://github.com/Duet3D/RRF-machine-config-files ? Or would you rather add them yourself?

Hanski

unread,
Mar 20, 2020, 7:04:56 AM3/20/20
to ope...@googlegroups.com
Yes, please add the files to GitHub, thanks.

The Duet board SD card file config.g is easy to read for a novice.

But machine.xml is not so easy to read for a novice.

The only Duet board specific stuff is in the Gcode driver section, and there’s no need to modify the xml file directly.
The needed commands can be added through OpenPnP SW.
In my machine the needed commands are for pump, vacuum valve, and top camera lights ON/OFF commands.

But how to document this that it would be easy to comprehend for a beginner like me?

And thanks again for the free board!

-Hanski


Pic of my machine.xml relevant GcodeDiver section:







--
You received this message because you are subscribed to a topic in the Google Groups "OpenPnP" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/openpnp/M9VY-GcFP2o/unsubscribe.
To unsubscribe from this group and all its topics, send an email to openpnp+u...@googlegroups.com.

Hanski

unread,
Mar 20, 2020, 12:34:33 PM3/20/20
to OpenPnP
Here's a short video to show the Dima push lever feeder action.
Those feeders are mechanical creatures on their own.
There's a lot of straightening & tuning to do for a used feeder to make it work reliably.

-Hanski

Jarosław Karwik

unread,
Mar 20, 2020, 1:02:58 PM3/20/20
to OpenPnP
Are these original 2mm DIMA feeders ?
I plan to use in my machine same type ( got about 50+ of them) , just I have  4mm pitch only and I was thinking if it is worth to convert some of them to 2mm

These feeders look ( I have not tested) simple and reliabale - do they need much effort even for standard 4mm operation or is it tricky just for 2mm pitch ?

ma...@makr.zone

unread,
Mar 20, 2020, 1:29:14 PM3/20/20
to ope...@googlegroups.com

Very nice! Thanks for that.

_Mark

--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/527ccf25-b6e5-4ce7-9329-7b123dfbfc12%40googlegroups.com.

Hanski

unread,
Mar 20, 2020, 2:35:20 PM3/20/20
to ope...@googlegroups.com
Hi!
I’ve only one original 2mm Dima feeder.
My plan is to modify some more from 4mm feeders.

I could take a short video to show the difference between 2mm and 4mm feeders, if it helps.

Depending of your luck with used feeders, you might find that all the screws are loose, sheet metal parts are bent, sheet metal springs are deformed, tape push finger metal parts are bent, cover tape pull one way bearing is stuck, cover tape pull slip needs adjusting, etc.. :) 

I chose to dissassemble & rebuild every feeder.

-Hanski

--
You received this message because you are subscribed to a topic in the Google Groups "OpenPnP" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/openpnp/M9VY-GcFP2o/unsubscribe.
To unsubscribe from this group and all its topics, send an email to openpnp+u...@googlegroups.com.

Felix Schneider

unread,
Mar 20, 2020, 3:53:33 PM3/20/20
to ope...@googlegroups.com
Hey, 

I do have quite some Daum 4mm mechanical feeders (just like the Dima ones, construction is even simpler) and was thinking about creating a hybrid version between a ReferenceStripFeeder and a ReferenceLeverFeeder instead of building new sprockets to support 2mm tape. Just push the actuator every second part, and pick the second part with a position offset, like you would with a strip feeder. 

Is there anything I’m overlooking? Wouldn’t this be simpler than conversion of 4mm feeders?

Best,
Felix

On 20. Mar 2020, at 19:35, Hanski <hanski...@gmail.com> wrote:

Hi!
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/19D007B4-D713-41E6-A002-6ED08B5ABD7B%40gmail.com.

Hanski

unread,
Mar 20, 2020, 4:02:57 PM3/20/20
to ope...@googlegroups.com
Ha, that’s a great idea Felix!

-Hanski


Bill Ruckman

unread,
Mar 20, 2020, 4:02:57 PM3/20/20
to ope...@googlegroups.com
This function is already supported by the ReferenceLeverFeeder.  Just set the pitch to 2mm and it will advance every other part.

--Bill


Felix Schneider

unread,
Mar 20, 2020, 4:31:20 PM3/20/20
to ope...@googlegroups.com
Hey Bill,

thank you for pointing this out. I would most likely have found this my self. But only after implanting it ;))

Best,
Felix

On 20. Mar 2020, at 21:02, Bill Ruckman <bil...@gmail.com> wrote:



Hanski

unread,
Mar 20, 2020, 5:39:17 PM3/20/20
to ope...@googlegroups.com
So if there was an option in the ReferenceLeverFeeder to tell in which direction (x or Y) the next part is with 2mm pitch then it would be great.

-Hanski


Jarosław Karwik

unread,
Mar 20, 2020, 5:43:20 PM3/20/20
to ope...@googlegroups.com
Will it work ? Wont vibrations from picking up first part cause second part to jump?

Bill Ruckman

unread,
Mar 20, 2020, 5:51:42 PM3/20/20
to ope...@googlegroups.com
Wont vibrations from picking up first part cause second part to jump?  

Yes, I had that problem sometimes when I was using Lever Feeders.


Mike M.

unread,
Mar 20, 2020, 6:06:49 PM3/20/20
to OpenPnP
DIMA SMPM 6082 model - 2mm advancing has twin push arms with two springs
Mike
-Hanski

To unsubscribe from this group and all its topics, send an email to ope...@googlegroups.com.
DIMA_2mm.png
Dima_SMPM_6082.jpg

ma...@makr.zone

unread,
Mar 20, 2020, 6:21:37 PM3/20/20
to ope...@googlegroups.com

Hanski

out of curiosity,

  1. can the camera reach the feeder pick location?
  2. does it see two sprocket holes (or more)?

Something like this:

I'm asking because I'm in the process of developing a new feeder class in OpenPNP that can do what the lever feeder can do and more. But the condition for using it comfortably are the above two points (it can be used without vision but that's no fun).

_Mark

Jarosław Karwik

unread,
Mar 21, 2020, 12:40:31 AM3/21/20
to ope...@googlegroups.com
How does it work with these two levers? I cannot easilly gues even if I have 4mm version on my desk. I have expected simply shorter stroke then dual lever system.

You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/e5cb6e53-adaf-4b55-903d-5efc5c508bba%40googlegroups.com.

Hanski

unread,
Mar 21, 2020, 5:12:32 AM3/21/20
to ope...@googlegroups.com
Hi Mark!
In my case the two 0402 exposed parts in the feeder would look like this.

Sorry about the poor picture quality. I can’t post the original debug images. For some reason all pipeline stage image folder pictures are always 0KB in size and can’t be opened. I’ve set the log level to debug or trace but no difference. It does store all pics but all are 0KB size.

-Hanski



On 21. Mar 2020, at 0.21, ma...@makr.zone wrote:

Hanski

out of curiosity,

  1. can the camera reach the feeder pick location?
  2. does it see two sprocket holes (or more)?

Something like this:

<jioomnpkpbnbcgdm.png>

Hanski

unread,
Mar 21, 2020, 3:05:20 PM3/21/20
to ope...@googlegroups.com
Hi Jaroslaw!
Here some details about Dima push lever feeders. 4mm pitch vs 2mm pitch:

-Hanski

ma...@makr.zone

unread,
Mar 22, 2020, 6:53:41 AM3/22/20
to ope...@googlegroups.com

Hi Hanski

I think my new feeder will work with that. It will automatically "understand" the tape direction based on the sprocket holes relative to the pick location and the EIA-481 standard and therefore it will correctly iterate through the two picks. 

You can even add a "Multiplier", so you can actuate the levers multiple times, to serve 4 x 0402 parts or 2 x 0603 for instance. This can save some time for feeders where the machine motion required to reach the levers is significant.

This is how vision numbers the picks in setup/calibration:

I have some problems yet to solve, then I will create a Pull Request. 

_Mark

Hanski

unread,
Mar 22, 2020, 8:38:10 AM3/22/20
to ope...@googlegroups.com
Sounds good Mark!
It would also be nice to be able to set the part direction manually (in case of clear tape or other machine vision problem).

-Hanski

On 22. Mar 2020, at 12.53, ma...@makr.zone wrote:

Hi Hanski

I think my new feeder will work with that. It will automatically "understand" the tape direction based on the sprocket holes relative to the pick location and the EIA-481 standard and therefore it will correctly iterate through the two picks. 

You can even add a "Multiplier", so you can actuate the levers multiple times, to serve 4 x 0402 parts or 2 x 0603 for instance. This can save some time for feeders where the machine motion required to reach the levers is significant.

This is how vision numbers the picks in setup/calibration:

<fgjdfbilkiolhmfc.png>

<gcadbfkbnpbkcblc.png>

I have some problems yet to solve, then I will create a Pull Request. 

_Mark


Am 21.03.2020 um 10:12 schrieb Hanski:
Hi Mark!
In my case the two 0402 exposed parts in the feeder would look like this.

Sorry about the poor picture quality. I can’t post the original debug images. For some reason all pipeline stage image folder pictures are always 0KB in size and can’t be opened. I’ve set the log level to debug or trace but no difference. It does store all pics but all are 0KB size.

-Hanski

<IMG_20200321_110355.jpeg>


--
You received this message because you are subscribed to a topic in the Google Groups "OpenPnP" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/openpnp/M9VY-GcFP2o/unsubscribe.
To unsubscribe from this group and all its topics, send an email to openpnp+u...@googlegroups.com.

ma...@makr.zone

unread,
Mar 22, 2020, 10:05:52 AM3/22/20
to ope...@googlegroups.com

You cannot set the direction manually, but you can set & capture the two reference sprocket hole locations manually. This is also useful if vision is not possible, i.e. when only the nozzle tip can reach the feeder. You can then use the nozzle tip to capture their locations. Or you can even calculate their locations from theory (this is no fun but also not as difficult as it sounds).

_Mark

You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/F55465BF-C0FE-4A5D-BE88-C7FD9EF866BF%40gmail.com.

Hanski

unread,
Mar 22, 2020, 10:13:47 AM3/22/20
to ope...@googlegroups.com
Sounds very logical Mark. Setup looks similar as other feeder types. So it’s easy to comprehend.

Anyway, it would need testing. As guys pointed out here before, the exposed parts may jump out of pocket when nozzle hits to the next open pocket..

-Hanski

On 22. Mar 2020, at 16.05, ma...@makr.zone wrote:

You cannot set the direction manually, but you can set & capture the two reference sprocket hole locations manually. This is also useful if vision is not possible, i.e. when only the nozzle tip can reach the feeder. You can then use the nozzle tip to capture their locations. Or you can even calculate their locations from theory (this is no fun but also not as difficult as it sounds).

<ehhdppnccaplebnk.png>

ma...@makr.zone

unread,
Mar 22, 2020, 10:37:22 AM3/22/20
to ope...@googlegroups.com

> As guys pointed out here before, the exposed parts may jump out of pocket when nozzle hits to the next open pocket..

For my flimsy 3D-printed prototype feeders, it reliably does not do that when the nozzle tip hits, but it sometimes happens when the tape is transported plus the cover tape pulled back. The printed plastic or something is somehow transmitting vibrations and the parts flip in their pockets. Really a tough nut to crack, it seems, I tried so many things now and it is getting frustrating. Guess, there's a reason why most (if not even all) 3D printed feeders out there only handle 0603 or even larger.

But for your sturdy, heavy feeders, if you can already successfully feed your 0402 tapes without the parts toppling, then I would be very surprised if the pick is a problem. Those feeders are specifically made for very fast and hard picks and even if 0402 parts i.e. two parts uncovered at a time were not considered back then, vibrations are never a good thing, so I'm confident your tape is flush to the support and nothing is bouncing in there.

 _Mark

Hanski

unread,
Mar 22, 2020, 12:02:42 PM3/22/20
to ope...@googlegroups.com
I’ve very very limited experience about these things.
I had a problem of parts jumping out during tape push movement with 4mm pitch feeders.
The cure was that it’s ok to push the lever fast but letting it back up must be done very slowly (that’s when the tape moves).

Then I received my only 2mm pitch feeder and I found that it’s missing one mechanical moving part (related to cover tape pull).
The 2mm feeder doesn’t have parts jumping problem with fast lever release.
I think I need to modify all my feeders like the 2mm are..

Perhaps my point here is that all machines/feeders are different. You never know without testing. :)

Thanks for creating new OpenPnP features!
Keep up the good work!

-Hanski

Mike M.

unread,
Mar 22, 2020, 1:47:12 PM3/22/20
to OpenPnP
Hi,
I use DIMA feeders for 0603 and up - larger parts, but my DIMA feeder actuator is a Servo fixed to X axis Bridge and not and the Head. You can controll movement of Servo separatly (very easy with Smoothieboard 1 pin and config file) and for me the main reason why not with the head vas acurrancy which you can loose while picking up parts with the same head from the feeder (side force)... Old video first test DIMA - https://www.youtube.com/watch?v=FOffg7-mMO0
Important is as well that you adjust shutters (side 2 bolts) so on DIMA so that the part is covered and shutter only opens when the pick up is made
Mike

Hanski

unread,
Mar 22, 2020, 1:54:52 PM3/22/20
to ope...@googlegroups.com
Yes, I have to use the Dima feeders a bit wrong because I’ve only the head for pushing.
So there’s no shutter action in my style.
I think that’s why I need to release the lever very slowly to prevent parts jumping.

On the other hand the shutter part is factory removed in 2mm feeder.
So I think I need to remove the shutter from 4mm feeder and test if it cures the part jumping problem also..

-Hanski
 

-- 
You received this message because you are subscribed to a topic in the Google Groups "OpenPnP" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/openpnp/M9VY-GcFP2o/unsubscribe.
To unsubscribe from this group and all its topics, send an email to openpnp+u...@googlegroups.com.

Mike M.

unread,
Mar 24, 2020, 3:36:08 AM3/24/20
to OpenPnP
Reconsider - don’t change the feeders! Change the actuator - less work - and you will have no parts jumping out of tape pockets.
Mike

ma...@makr.zone

unread,
Mar 24, 2020, 3:59:46 AM3/24/20
to OpenPnP
Hi Hanski

Aha, so even with professional metal feeders the 0402 toppling-out is a problem. This helps me regain some motivation to go on and try to solve this for my $1.50 all 3D printed feeder.
  :-)

_Mark

Marek T.

unread,
Mar 24, 2020, 5:31:48 AM3/24/20
to OpenPnP
Solution is called "shutter".

Hanski

unread,
Mar 24, 2020, 5:47:56 AM3/24/20
to ope...@googlegroups.com
Hi!
I’m not blaming Dima feeders here.
I just use them the wrong way. :)

But perhaps the feeders were designed in that point of history that 0402 components weren’t popular yet.
And they just did a quick fix to the 4mm feeder to enable 2mm pitch (e.g. 2mm feeder is missing the shutter part)

-Hanski


> On 24. Mar 2020, at 11.31, Marek T. <marek.tw...@gmail.com> wrote:
>
> Solution is called "shutter".
>
> --
> You received this message because you are subscribed to a topic in the Google Groups "OpenPnP" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/openpnp/M9VY-GcFP2o/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to openpnp+u...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/8c419788-3faa-45e9-8b1d-5324d7c0900f%40googlegroups.com.

Inf Asked

unread,
May 10, 2020, 6:06:43 PM5/10/20
to OpenPnP
Hi all,

I'm thinking of using the Duet 2 for my LitePlacer. Does anyone have some more information about the wiring?

Is someone using it with this combination (LitePlacer, Duet 2 and OpenPNP)? I have no experience with the Duet.


dc42

unread,
May 13, 2020, 9:20:10 AM5/13/20
to OpenPnP
is there a particular aspect of wiring for OpenPNP you need help with, that isn't covered in the Duet 2 wiring guides at https://duet3d.dozuki.com/Wiki/Duet_Wiring_Diagrams ?

Inf Asked

unread,
May 13, 2020, 9:55:29 AM5/13/20
to ope...@googlegroups.com
Thanks for your answer. Yes the Duet is made for a 3D printer seen the connections, like hotend etc. But I have a pump, vacuum etc. I'm a bit lost to what I should connect to which pins. How could I find out that the value would be connected to the .... pin? For the Azteeg I had the drawing as below. There the value is connected to the hotend 2. But how can I figure that out for the Duet2? machine.xml -> g-code -> controller -> pins?

Some pinning are clear like x, y motor. Some very hard like pump, valve etc. One is a mystery like the ContactProbeNozzle. 

AzteegWiring.JPG

--
You received this message because you are subscribed to a topic in the Google Groups "OpenPnP" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/openpnp/M9VY-GcFP2o/unsubscribe.
To unsubscribe from this group and all its topics, send an email to openpnp+u...@googlegroups.com.

dc42

unread,
May 13, 2020, 10:10:52 AM5/13/20
to OpenPnP
I suggest you connect the contact probe to the Z probe input. For the others:

- The bed heater output is rated at 18A but doesn't have a built-in flyback diode. So if you connect a vacuum pump that uses a brushed DC motor to it, then you should connect a flyback diode in parallel with the pump.
- The extruder heater outputs are rated at 6A each and don't have built-in flyback diodes. So again, if you connect a device based on a solenoid or brushed DC motor directly to one, add a flyback diode in parallel with the device. A brushless DC fan doesn't need a flyback diode.
- The three controlled fan outputs are each rated at 1.5A continuous, with 2.5A permitted for a few seconds. Flyback diodes are already provided on those outputs. We don;t recommend that you connected brushed DC motors to these outputs unless you know that the peak current while starting will not exceed 3A.
- The two always-on fan outputs are good for 2A each, and could be used for any permanent lighting that you want to connect
- The fuse supplied for the fan power line is 1A but you can replace it by a 2A or 3A fuse if you need to

If you can provide more details about the vacuum pump, fan and valve, then I can advise on the best way to connect them.

HTH David

Inf Asked

unread,
May 13, 2020, 5:50:38 PM5/13/20
to OpenPnP
Thanks! The pump and the vacuum solenoid valve are controlled by FET switches. (See https://www.liteplacer.com/wiring/)

The type of pump is A120 see http://www.qdahead.com/show.asp?Id=16
The valve is a Scoocom valve 24V looks like these http://www.skoocomtech.com/air-valve/3-way-valve/3-way-2set-solenoid-valvesc0726g-2.html

So at this moment it looks like the TinyG drives (with 3.3v logic) separate of board FETs. If I keep it like that I don't need the diode I guess? But can I remove the FET, drive directly and place a diode instead?

There are two 12V FANs in series directly connected to the 24V. But I like to modify it because it make very much noise all the time. See http://www.delta.com.tw/product/cp/dcfans/download/pdf/AUB/AUB70x70x20mm.pdf

dc42

unread,
May 14, 2020, 10:33:26 AM5/14/20
to OpenPnP
Thanks. The pump could be driven directly from the bed heater output (or one of the other heater outputs) if you add a flyback diode. It's not clear whether it would be safe to drive it from a fan output, because it looks as if it uses a brushed DC motor and the starting current is unknown.

The solenoid valve could be driven directly from one of the fan outputs, or from a heater output if you add a flyback diode.

HTH David

Inf Asked

unread,
May 16, 2020, 5:37:38 PM5/16/20
to OpenPnP
Thanks when I have my board I will try. I love to see it work. One thing I miss is. What I understood my machine.xml is universal and stays the same. But how do I configure that the e.g. solenoid value is on a fan output and not on a heater outoput. The OpenPNP or machine.xml are not awair on which output the value is connected (and also the other things like pump etc)?

dc42

unread,
May 18, 2020, 3:12:20 AM5/18/20
to OpenPnP
You configure what you want the ports to be used for in the config.g file on the SD card of the Duet. This file is read when the Duet starts up. What commands you need in config.g will depend on whether OpenPnP treats the solenoid valve as a fan (controlled using M106 commands) or as GPIO (controlled using M42 commands).

Inf Asked

unread,
May 19, 2020, 12:24:21 PM5/19/20
to OpenPnP
Ok but how does OpenPNP knows which commands to use? E.g. looking at the machine.xml and config.g from Hanski. I see the command M950 for the vacuum pump

M950 P2 C"bedheat"                ; Vacuum pump output

But I cannot find the M950 in the machine.xml So how does OpenPNP that the vacuum pump is on M950 and not something else?

So most thing become clear thanks to your great help but the mapping from my LitePlacer machine.xml to the config.g is unclear for me.

Marek T.

unread,
May 19, 2020, 12:41:27 PM5/19/20
to OpenPnP
Openpnp is like commands generator, and to each command YOU must assign the code wanted to be thrown.

ma...@makr.zone

unread,
May 19, 2020, 2:26:24 PM5/19/20
to ope...@googlegroups.com

Hi 

you don't need to work in the machine.xml, but you need to define the commands in the GUI.

Read this to understand the commands:

https://github.com/openpnp/openpnp/wiki/GcodeDriver%3A-Command-Reference

_Mark

--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/42e7d21f-7f75-46c8-95f8-c61160fc9c30%40googlegroups.com.

dc42

unread,
May 21, 2020, 8:17:40 AM5/21/20
to OpenPnP
M950 is only used to define the bedheat pin as a GpOut port (GpOut 2 in this case). Control of the pin would be done using M42 P2 S1 to turn it on, and M42 P2 S0 to turn it off.

Inf Asked

unread,
May 21, 2020, 6:43:17 PM5/21/20
to OpenPnP
Thanks I'm getting close but I still missing pieces of the puzzle. So if I do the following.

I start taking the config.g file of Hanski

1) Will it be suitable for the LitePlacer of do I have to modify it (assuming connecting the valve, pump ... to the right pins)?

In case I have to modify what is the best way to do? I see a configuration tool but that is mainly for 3D printers and it does not allow to import config.g files.

Then say my config.g file is correct.

I will take the machine.xml file of a working LitePlacer Smoothieboard setup. Starting OpenPNP with the machine.xml the OpenPNP should be configured with all the GCode commands for the smoothieboard. I can change them in the OpenPNP GUI as _Mark said (the GUI will then update the machine.xml).

2) All setting changed in GUI are stored in the machine.xml? So editing in GUI or machine.xml should not make any difference. But GUI is better.

Now comes the tricky part. E.g. the M950 .... in the config.g file is fixed. I cannot change to say something arbitrary like

   M93746347 P2 C"bedheat"                ; Vacuum pump output

But to control it I have to use M42 P2 S1

3) How should I know that M42 controls M950? I don't see any relation between the M950 and the M42 command.

4) Are the GCode command for the Smoothieboard and the Duet the same? So M42 is the same command on Smoothieboard as Duet.

Hanski

unread,
May 22, 2020, 7:23:54 AM5/22/20
to ope...@googlegroups.com
Hi!

Here’s a pic of my Duet board wiring.
My machine is simple so not too much wiring.
Main supply comes from a laptop charger PSU.
Note the small bottle on the left. It’s a working silencer for the vacuum pump exhaust. :)

It was quite a big thing for me to gasp that you need to set the action commands your self in the OpenPnP GcodeDriver.
But that’s the beauty of GcodeDriver so it can be adapted to different motion control boards easily.

-Hanski




--
You received this message because you are subscribed to a topic in the Google Groups "OpenPnP" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/openpnp/M9VY-GcFP2o/unsubscribe.
To unsubscribe from this group and all its topics, send an email to openpnp+u...@googlegroups.com.

Ondrej Janovsky

unread,
May 22, 2020, 2:06:28 PM5/22/20
to OpenPnP
Hi,

M950 is attaching logical output (fan = F, heater = H, output  pwm = P) to the named hardware pin (C ).

M950 F0 C"FAN0" Q100
or
M950 F0 C"heater0" Q100

Now, you can control FAN connected on FAN0 or Heater0 by M106 P0 S255 

Or you can use

M950 P0 C"heater0" Q100
and
M42 P0 S255

Oja


Dne pátek 22. května 2020 0:43:17 UTC+2 Inf Asked napsal(a):

Inf Asked

unread,
May 29, 2020, 6:26:31 PM5/29/20
to OpenPnP
Thank you all for the great help!

I'm now in the stage of prepairing to wiring. But I see that the TinyG on my LitePlacer and also the Azteeg has a Xmin and Xmax switch (also for y and z). But the duet 2 only has one for the stop (Xstop).

How do I solve this?

OpenPNP also needs the start position I guess. When homing it first tries to find the start (Xmin) position,as far as I know.

dc42

unread,
May 30, 2020, 5:23:31 PM5/30/20
to OpenPnP
You only need a switch at one end of each axis for homing. After homing, RepRapFirmware will apply motion limits as set by the M208 command in config.g. So choose whether you want to home to axis minimum or axis maximum, and put a homing switch at that end of the axis.

A few users put switches at the other end of each axis too, wire those switches in series to a spare endstop input on the Duet, and configure them in RepRapFirmware to cause an emergency stop (using M581).

Mr. Cruz

unread,
May 30, 2020, 6:25:14 PM5/30/20
to OpenPnP
Very nice machine! I might've missed it, but what's underneath the cart?

On Thursday, March 19, 2020 at 11:15:34 AM UTC-5, Hanski wrote:
Hi all!
Thanks for all the great minds behind OpenPnP software for making it possible for DIY guys to build home-brew PnP machines!

The kind folks at Duet3D sent me a free Duet 2 Wifi board.
I replaced the Smoothieboard in my machine with Duet 2 Wifi board to have more quiet stepper drivers (Duet 2 has Trinamic drivers).

I've attached my machine.xml to show what commands are needed in OpenPnP GcodeDriver to control Duet 2 board.

I also attached my config.g which is located in Duet 2 board SD card. It shows how to configure vacuum pump, vacuum valve, and top camera lights outputs.

Pic of my machine:

PnP machine.jpg



Hanski

unread,
May 31, 2020, 3:45:10 AM5/31/20
to ope...@googlegroups.com
Hi Mr. Cruz!
Sorry, I didn’t quite catch what you ment with the “cart”?

-Hanski

Mr. Cruz

unread,
Jun 8, 2020, 12:23:51 AM6/8/20
to OpenPnP
Hi Hanski,

I was wondering what those metal blocks with the pegs were.
By "cart" I meant the entire structure that your PnP is mounted on. Is it not on casters?

Cruz M.

Inf Asked

unread,
Jun 28, 2020, 7:07:41 AM6/28/20
to OpenPnP
Hi All

Thanks all for your great help. Finally I manged to connect my LitePlacer to the Duet 2. But now I'm lost in whats wise to do about the configuring (getting config.g file).

When I follow the Duet 2 confiuration WiKi / online configurator I get all kind of 3D printers and questions about heaters etc but none for OpenPNP. So is this the route to follow?

Or should I use Hanski's configuration but that one is for a different machine?

So I don't know what's needed for the LitePlacer and which route to follow to get the right configuration file(s).

dc42

unread,
Jun 28, 2020, 5:33:04 PM6/28/20
to OpenPnP
Two options:

1. Use the online configurator to create config and homing files for a simple 3D printer with one tool. Then manually add to config.g any configuration commands that you need to set up GPOut ports for vacuum and any other additional devices.

2. Start from Hanski's configuration, and adjust the bed size (M208), maximum speeds (M203) and accelerations (M201) to suit your machine.

Feel free to ask at forum.duet3d.com if you need any help with the configuration and homing files.

Inf Asked

unread,
Jun 30, 2020, 4:05:59 PM6/30/20
to OpenPnP
Hi

Ok I will ask for specific configurations on that forum.

But one thing I start from Hanski's configuration. But I get the message that no homing file exists. Is this file necessary? I thought only config.g

dc42

unread,
Jul 1, 2020, 4:47:51 PM7/1/20
to OpenPnP
You need at least a homeall.g file. I suggest you use the online configuration tool to generate it.

Inf Asked

unread,
Jul 2, 2020, 12:52:22 PM7/2/20
to OpenPnP
I tried several times to use the online configuration tool. But every time I get lost and have to quit. I's for 3D printers and I get a lot of questions about the heater and so on which I cannot skip.

dc42

unread,
Jul 2, 2020, 2:52:35 PM7/2/20
to OpenPnP
On the IO Mapping page you can press the minus-button to remove all heaters except the bed heater. Then on the Heaters page, just accept the default.

Alternatively, you can construct the homing file yourself using the instructions at  https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCartesianPrinter#Section_Homing_files . 

HTH David

Inf Asked

unread,
Jul 11, 2020, 5:05:27 PM7/11/20
to OpenPnP
Thanks I didn't now that.

Now with the Duet web interface I can home X, Y and Z. Then I can also move X, Y and Z by jogging.

But in the OpenPNP I cannot move Z. When I home all three X,Y and Z are homing fine (Z moves up to the stop at the top). All position values at the right bottom of the screen are 0. Then I jog with X and Y no problem. But when I jog with Z (and A) nothing happens. The log shows no jogging for Z. Why?

In logging window

Jog X:

ReferenceNozzle DEBUG: ReferenceNozzle.moveTo((20.010000, 0.000000, 0.000000, 0.000000 mm), 1.0)
GcodeDriver DEBUG: sendCommand(G0 X20.0100    F22000 ; Send standard Gcode move, 5000)...
GcodeDriver DEBUG: sendCommand(tcp://192.168.1.25:23 G0 X20.0100    F22000 ; Send standard Gcode move, 5000) => [ok]
GcodeDriver DEBUG: sendCommand(M400 ; Wait for moves to complete before returning, 5000)...
GcodeDriver DEBUG: sendCommand(tcp://192.168.1.25:23 M400 ; Wait for moves to complete before returning, 5000) => [ok]

Jog Z:

ReferenceNozzle DEBUG: ReferenceNozzle.moveTo((20.010000, 0.000000, -10.000000, 0.000000 mm), 1.0)

But no gcode commands.

I tried with the contact nozzle probe. Then I thought it had something to do with the contact switch (actuator). And because I don't know how to get that working on the duet. I removed the ContactProbeNozzle and added the ReferenceNozzle. But nothing works.

B.t.w. Homing Z goes sometimes wrong. When it's at 0 it still goes up a bit (almost) damaging the endstop switch. But it detects it then and then stops. But then it already passes the endstop.

dc42

unread,
Jul 12, 2020, 10:24:44 AM7/12/20
to OpenPnP
I suspect that your homez.g and  config.g files don't match your machine configuration, so I suggest you post them here or on the Duet3D forum.

Am I right in thinking that you are trying to home Z to the top of the movement range, which you are calling Z=0, so that all Z moves after that are to negative values of Z?

Josh DeWitt

unread,
Jul 13, 2020, 12:59:07 AM7/13/20
to OpenPnP
I had a similar issue when I was starting up my machine, I would double check your axis mapping.  For me, I had to select the correct headmountable for jogging for both Z and A.  I think by default, the camera isn't mounted to either (but is default for joggin), so unless you switch to the nozzle in the jog screen, OpenPnP doesn't send a Gcode for something that it can't move.  That, or confirm that it has the right Gcode statement in the driver. 

Also, if you are homing to a non-zero position on axis, you can edit the homing position in machine.xml, or use a script on HOME_COMPLETE that calls a position report from the machine.

Inf Asked

unread,
Aug 3, 2020, 1:09:09 PM8/3/20
to OpenPnP

Thanks, sorry for the late reaction but I was on holiday.

You both pointed to the parts of the solution which I didn't solve completely.

@dc42
Yes you are (almost) right. I home at the top. The range is set to 154:190. It turned out that the top is 190. Then going down the value decreases. 

To me it looks best to set the endstop at the top and call that 0. Then moving down should be increasing (+) so the no negative numbers should be involved.

Is this the right way of thinking (seen from Duet and/or OpenPNP point of view)? How to achieve this (or the normal way of working)? It's definitely not the case now.

@Josh
Yes the mapping was wrong. Therefore no commands where send to the Duet. Now the commands are send the rotation is working. But only the Z movements not. But it seems to me a problem in the configuration of the Duet.

In the attachment my configuration files.
homeall.g
config.g
homez.g
machine.xml

bert shivaan

unread,
Aug 3, 2020, 1:19:58 PM8/3/20
to OpenPnP
Z moving down towards the PCB is negative direction. If you set 0 to the top of stroke, all Z moves will be minus towards the pcb/feeders/etc and positive moving up away from them.


--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/04b129a8-4bb3-4475-a2e6-07070eb46525o%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages