Pipeline- fiducial and AutoFeederSetup

795 views
Skip to first unread message

yiannis panais

unread,
Dec 15, 2017, 8:29:26 AM12/15/17
to OpenPnP
Hi Jeason
and other guys
Would be easy for you to make a sort video tutorial how to use pipeline for fiducial ( its most important than autofeeder) for example what filter we use and what expect to see from that filter,
as you do with bottom vision? i think to help lot of members here and also me :).
I tray some days now with out any resort, in my pcb i dont have fiducial so i tray to use vias and hole ( as other guys do ) but not any lack.
Thanks.

 

Cri S

unread,
Dec 15, 2017, 8:32:15 AM12/15/17
to ope...@googlegroups.com
post a image, forget templatematch and use hough circle, but post a
source image with
colors, not the bw debug image.
> --
> 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 post to this group, send email to ope...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/6e7cd3e6-a3a2-47cc-acac-74d6934e3273%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>
Message has been deleted

Marek T.

unread,
Dec 15, 2017, 10:00:35 AM12/15/17
to OpenPnP
Yiannis, that kind of tutorial made by Jason is placed somewhere here in some thread of team14 (if remeber well). But really would be good if Jason copy it to the manual (if did not do).
Houghs circles I'm not sure if are really better than templatematch, I've played with both but finally better for me seems be templatematch as effect. Anyway go with Cri, no one will help you more :-).
Btw I'd forget the holes used as fidu. Manufacturers of pcb really rarely drill the holes ideal in vias centers and other on each board, so on every board you'll have other final effects. Better use some parts pads as fidu.

Cri S

unread,
Dec 15, 2017, 10:27:41 AM12/15/17
to ope...@googlegroups.com
Marek, with holes thing are different and it is important to not use
the holes, but the anular ring of the via, as traces have the same
offsed as the pads, the hole have a different offset,
if fiducials need to be indipendent of pcb batches and drill machines.
Templatematch could work if no precision is needed.
Generally 4 boards are drilled at same time, and if you order 100
boards, it is possible
that this are 20 pool panels where you`r panel is presend 6 times on one panel,
drilled from 4 different drill machines ending in 5 mojor differents
offsets over the same batch of pcb you get.
> --
> 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 post to this group, send email to ope...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/c661f574-ae61-4ba5-8596-aedcd975cd11%40googlegroups.com.
Message has been deleted

yiannis panais

unread,
Dec 15, 2017, 1:50:49 PM12/15/17
to OpenPnP
Hi cris
first from all, when i perform a fiducial check, the head its move just one time very close to the fiducial and stop, not repeat recognithion 3 time as is set by default, why?before
pipeline i perform a fiducial with vias and head its move 3 times tray to find.
I use ELP camera 1Mpx-6mm with ring led around.
this is the filter to i us for fiducial pipeline:
that filter i use it from Team14.
and two image.
thanks 

<fiducial-locator class="org.openpnp.machine.reference.vision.ReferenceFiducialLocator" enabled-averaging="false" repeat-fiducial-recognition="3">
         <pipeline>
            <stages>
               <cv-stage class="org.openpnp.vision.pipeline.stages.ImageCapture" name="0" enabled="true" settle-first="false"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.ImageWriteDebug" name="1" enabled="true" prefix="bv_source" suffix=".png"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.BlurGaussian" name="2" enabled="true" kernel-size="3"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.MaskCircle" name="3" enabled="true" diameter="150"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.ConvertColor" name="4" enabled="true" conversion="Rgb2Gray"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.Threshold" name="5" enabled="true" threshold="130" auto="false" invert="false"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.FindContours" name="6" enabled="true" retrieval-mode="List" approximation-method="None"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.FilterContours" name="7" enabled="true" contours-stage-name="5" min-area="6000.0" max-area="4500.0"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.MaskCircle" name="8" enabled="true" diameter="100"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.DrawContours" name="9" enabled="true" contours-stage-name="5" thickness="1" index="-1">
                  <color r="255" g="255" b="255" a="255"/>
               </cv-stage>
               <cv-stage class="org.openpnp.vision.pipeline.stages.DetectCirclesHough" name="circle" enabled="true" min-distance="50" min-diameter="75" max-diameter="10" dp="1.0" param-1="80.0" param-2="10.0"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.MaskCircle" name="black image" enabled="true" diameter="0"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.DrawCircles" name="12" enabled="true" circles-stage-name="circle" thickness="2">
                  <color r="255" g="0" b="16" a="255"/>
               </cv-stage>
               <cv-stage class="org.openpnp.vision.pipeline.stages.MinAreaRect" name="result" enabled="true" threshold-min="1" threshold-max="255"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.ImageRecall" name="14" enabled="true" image-stage-name="4"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.DrawRotatedRects" name="15" enabled="true" rotated-rects-stage-name="result" thickness="2" draw-rect-center="true" rect-center-radius="50" show-orientation="false"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.ImageWriteDebug" name="16" enabled="true" prefix="bv_result" suffix=".png"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.SimpleBlobDetector" name="results" enabled="true" threshold-step="10.0" threshold-min="50.0" threshold-max="220.0" repeatability="2" dist-between-blobs="10.0" color="true" color-value="0.0" area="true" area-min="25.0" area-max="5000.0" circularity="false" circularity-min="0.800000011920929" circularity-max="-1.0" inertia="true" inertia-ratio-min="0.10000000149011612" inertia-ratio-max="-1.0" convexity="true" convexity-min="0.949999988079071" convexity-max="-1.0"/>
            </stages>
         </pipeline>
bv_result3008501156929233693.png
bv_source7026588789992267809.png

Marek T.

unread,
Dec 15, 2017, 4:15:12 PM12/15/17
to OpenPnP
Cri with templatematch and with hough circles I've the same accuracy 0.01-0.02mm no more, and it's around one pixel. Still trying get it bettet but first must improve the light to have it less reflexed edges in centre o camera FOV. Just have impression like templatematch would be easier to tune, maybe because of my limited acknowledge.
When I order panel 25x15cm with 6 boards with margins, Chinese produce it in grand panel containing 10 my panels..., know this from "my" factory. But clear about using pads of vias not their drills, of course it is ok.

Cri S

unread,
Dec 15, 2017, 5:13:28 PM12/15/17
to ope...@googlegroups.com
Here is the result with houghcircle.
You should really use the vias and not the milled hole.
The one at the left down of the image, that is cropped seems promising.
Maybe checking the or some tutorial for pipelines is helpful as the
one you supplied
had some very basic errors.

<cv-pipeline>
<stages>
<cv-stage
class="org.openpnp.vision.pipeline.stages.ImageCapture" name="0"
enabled="true" settle-first="true"/>
<cv-stage
class="org.openpnp.vision.pipeline.stages.ImageWriteDebug" name="1"
enabled="true" prefix="bv_source" suffix=".png"/>
<cv-stage
class="org.openpnp.vision.pipeline.stages.BlurGaussian" name="2"
enabled="true" kernel-size="3"/>
<cv-stage
class="org.openpnp.vision.pipeline.stages.ConvertColor" name="4"
enabled="true" conversion="Rgb2Gray"/>
<cv-stage
class="org.openpnp.vision.pipeline.stages.HistogramEqualize" name="8"
enabled="true"/>
<cv-stage class="org.openpnp.vision.pipeline.stages.MaskCircle"
name="3" enabled="true" diameter="250"/>
<cv-stage
class="org.openpnp.vision.pipeline.stages.DetectCirclesHough" name="7"
enabled="true" min-distance="888" min-diameter="100"
max-diameter="110" dp="1.0" param-1="80.0" param-2="10.0"/>
<cv-stage class="org.openpnp.vision.pipeline.stages.ImageRecall"
name="6" enabled="true" image-stage-name="0"/>
<cv-stage class="org.openpnp.vision.pipeline.stages.DrawCircles"
name="11" enabled="true" circles-stage-name="7" thickness="2">
<color r="0" g="255" b="0" a="255"/>
</cv-stage>
<cv-stage
class="org.openpnp.vision.pipeline.stages.ImageWriteDebug" name="16"
enabled="true" prefix="bv_result" suffix=".png"/>
<cv-stage
class="org.openpnp.vision.pipeline.stages.ConvertModelToKeyPoints"
name="results" enabled="true" model-stage-name="7"/>
</stages>
</cv-pipeline>
res.png

Cri S

unread,
Dec 15, 2017, 5:42:58 PM12/15/17
to ope...@googlegroups.com
@marek
Yes, hough circle need finer setup and gives superior results.
Templatematch is simper
to make.

Nothing hovewer limits you to cut out the hole including some
surrounding, maybe cleaning
that with photoshop and using that for templatematch. The only
requirements is that it needs
at the center of image, and with hough circle you can have subpixel
accuracy, without
the accuracy is how the template is centered to image and in the case
of autogenerated
template, how the template is similar to the image.

Cri S

unread,
Dec 15, 2017, 5:42:58 PM12/15/17
to ope...@googlegroups.com
@marek
Yes, hough circle need finer setup and gives superior results.
Templatematch is simper
to make.

Nothing hovewer limits you to cut out the hole including some
surrounding, maybe cleaning
that with photoshop and using that for templatematch. The only
requirements is that it needs
at the center of image, and with hough circle you can have subpixel
accuracy, without
the accuracy is how the template is centered to image and in the case
of autogenerated
template, how the template is similar to the image.

2017-12-15 23:13 GMT+01:00, Cri S <phon...@gmail.com>:

Marek T.

unread,
Dec 15, 2017, 6:31:57 PM12/15/17
to OpenPnP
I will come back to the pipeline tuning after that when feel that my hardware (lightening) is not limiting anything, now I'm still not glad with the image that I see.
[now more absorbed with moving from W7 to Debian :-) )

yiannis panais

unread,
Dec 17, 2017, 6:41:41 AM12/17/17
to OpenPnP
Hi Cri S
thanks for yout time!
i make the new settings wich is the follow:
 <fiducial-locator class="org.openpnp.machine.reference.vision.ReferenceFiducialLocator" enabled-averaging="false" repeat-fiducial-recognition="3">
         <cv-pipeline>
            <stages>
               <cv-stage class="org.openpnp.vision.pipeline.stages.ImageCapture" name="0" enabled="true" settle-first="true"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.ImageWriteDebug" name="1" enabled="true" prefix="bv_source" suffix=".png"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.BlurGaussian" name="2" enabled="true" kernel-size="3"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.ConvertColor" name="4" enabled="true" conversion="Rgb2Gray"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.HistogramEqualize" name="8" enabled="true"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.MaskCircle" name="3" enabled="true" diameter="250"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.DetectCirclesHough" name="7" enabled="true" min-distance="888" min-diameter="100" max-diameter="110"           dp="1.0" param-1="80.0" param-2="10.0"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.ImageRecall" name="6" enabled="true" image-stage-name="0"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.DrawCircles" name="11" enabled="true" circles-stage-name="7" thickness="2">
                  <color r="0" g="255" b="0" a="255"/>
                  <center-color r="102" g="0" b="102" a="255"/>
               </cv-stage>
               <cv-stage class="org.openpnp.vision.pipeline.stages.ImageWriteDebug" name="16" enabled="true" prefix="bv_result" suffix=".png"/>
               <cv-stage class="org.openpnp.vision.pipeline.stages.ConvertModelToKeyPoints" name="results" enabled="true" model-stage-name="7"/>
            </stages>
         </cv-pipeline>

and  take a error because i have adding the 'cv-pipeline' instant  'pipeline'
so i dont know where is the error so i send my XML file.
aslo i want to ask in Machine setup/vision/fiducal locator/Edit pipeline, open a windows 'Fiducial Locator Pipeline' also this windows open in Part/referenceFiducialLocator, wich this two can take different setups, must be the same? i mean the fiducial as part.
Thanks again Cri S for help and your time.
Στιγμιότυπο οθόνης (20).png
machine.xml

Cri S

unread,
Dec 17, 2017, 7:11:03 AM12/17/17
to ope...@googlegroups.com
The color inside opencv/openpnp is bgr and not rgb, so when converting to gray,
normally bgr2gray is used. It could be advantagous on certain setup to
swap blue and r,
don´t know if that is you case, this as side node.

You have probably added this pipeline to the machine.xml directly.
recover the old xml or if you cannot, just delete the overall section
of FiducialLocator .
What you should do is open the part editor and then select the
fiducial part of interest,
use the wizard (lower panel) and select the fiducial wizard.
Then pick the button "edit pipeline". There are two icons similar to a document.
One is paste, the other copy of the pipeline. If you hover longer on
the icon, the tooltip
appears telling you the meaning. Select you´r pipeline on text editor,
copy it and then
paste it on openpnp.
> --
> 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 post to this group, send email to ope...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/be3cd15a-fdf2-4b6a-8fd6-aeb93a264300%40googlegroups.com.

Cri S

unread,
Dec 17, 2017, 7:13:20 AM12/17/17
to ope...@googlegroups.com
ps, the xml to paste start and end with cv-pipeline . Eventually you
could copy the actual
pipeline and paste it on text editor in order to see how such a
pipeline definition looks,
in order to not include wrong settings.

yiannis panais

unread,
Dec 19, 2017, 7:47:30 AM12/19/17
to OpenPnP
Hi Cri S
The windows10 they dont have a clipboard, so i download one,(free clipboard viewer).
I go to fiducial locator pipeline and i add the filter as you said, after i use the button copy and after past button (create new pipeline from a definition on the clipboard), but nothing
change on Machine XML.
I look at clipboard and everything its look as you said (see attach picture ), so manual i make copy that i see on clipboard and after i paste it on Machine XML but the same error 
its appear.
what i do wrong? 
Thanks a lot for help!
Στιγμιότυπο οθόνης (26).png
Στιγμιότυπο οθόνης (27).png
Στιγμιότυπο οθόνης (28).png

Marek T.

unread,
Dec 19, 2017, 8:08:10 AM12/19/17
to OpenPnP
When you are in the opened pipeline and press "create new pipeline from a definition on the clipboard" a new data is not loaded onto the screen? Still remains the same as before pressing an icon?

yiannis panais

unread,
Dec 19, 2017, 8:55:25 AM12/19/17
to OpenPnP
Marek
In wich screen? 

yiannis panais

unread,
Dec 19, 2017, 9:14:00 AM12/19/17
to OpenPnP
Cri S
P.S
when i click button paste not any error happen, but not any change on Machine XML.
Thanks.

Cri S

unread,
Dec 19, 2017, 9:14:36 AM12/19/17
to ope...@googlegroups.com
You must edit fiducial pipeline inside the part table, not on the
machine configuration page.
Further the changes are written to machine.xml only at closing openPnP.

It is possible that you must press the reload button in order that the
new copied pipeline
get executed. For that, the nozzle need to be selected. If you have
selected a camera,
it probably don't work.

Just as tip.
use a text editor, on windows 10 press the windows key and the r key.
Enter notepad into the new appearing dialog and press execute or run button.

You could paste the stages into this program or copy it from this,
saving the files as
stages.txt for later recalling it, if you need
> https://groups.google.com/d/msgid/openpnp/6256ae99-9da8-406d-b0b4-65b9a59020f3%40googlegroups.com.

yiannis panais

unread,
Dec 19, 2017, 9:40:30 AM12/19/17
to OpenPnP
Cri S
i tray and from part too.
So i tell you step by step what i do:
open the openpnp--parts, i select from there my fiducial part clik on it, two option appear: reference bottom vision and reference fiducial locator, i choice the second,
after pipeline edit clik on it and fiducial locator pipeline its appear, with + green symbol i add the filter i want, then i clik first the symbol copy and and after paste.
none error i take, i close the openpnp and open it again, not change to Machine XML find.
is ythat step correct? or not understant you?

Cri S

unread,
Dec 19, 2017, 9:47:51 AM12/19/17
to ope...@googlegroups.com
In the email, select the pipeline i have send you. Then copy it using
either the mouse right key or ctrl-C key combination. Then inside the
pipeline editor press the "paste" button .

Thats it.

The copy button is when you want copy the pipeline, example for saving
it into text editor,
or sending it using email, just press the copy button and inside email
or text editor paste
the cliboard using ctrl-v or menu entry (no downloaded program from internet).

If you first press copy and then paste inside the pipeline , it does
nothing as the the buttons
have separate uses as explained above, pressing it in sequence is without use.
>> <javascript:>>:
>> > email to openpnp+u...@googlegroups.com <javascript:>.
>> > To post to this group, send email to ope...@googlegroups.com
>> <javascript:>.
>> > To view this discussion on the web visit
>> >
>> https://groups.google.com/d/msgid/openpnp/6256ae99-9da8-406d-b0b4-65b9a59020f3%40googlegroups.com.
>>
>>
>> > For more options, visit https://groups.google.com/d/optout.
>> >
>>
>
> --
> 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 post to this group, send email to ope...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/5c76270c-8239-44f6-8e99-67998509ba30%40googlegroups.com.

Marek T.

unread,
Dec 19, 2017, 11:38:14 AM12/19/17
to OpenPnP
you did copy pipeline from editor then paste the same to the editor, that's why nothing has changed.

do copy using ctrl+c being in email or notepad or other text source selected,
paste using "create new pipeline from a definition on the clipboard" being in pipeline editor window.

machine.xml changes when Openpnp is closing.

yiannis panais

unread,
Dec 19, 2017, 3:38:08 PM12/19/17
to OpenPnP
Cri S
Hi again and thanks a lot for your time and help.
I undersnt now how its work copy and paste in fiducial locator pipeline and i do the example, change false to truth and i see the change on machine xml,
but <pipeline> its not change to <cv-pipeline>
My step: i go to parts i choice fiducial i choice ReferenceFiducialLocator- pipeline edit, i add the filter i want and i press button copy, after i open txt editor and paste:
<cv-pipeline>
   <stages>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ImageCapture" name="0" enabled="true" settle-first="true"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ImageWriteDebug" name="1" enabled="true" prefix="debug" suffix=".png"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.BlurGaussian" name="2" enabled="true" kernel-size="3"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ConvertColor" name="3" enabled="true" conversion="Bgr2Gray"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.HistogramEqualize" name="4" enabled="true"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.MaskCircle" name="5" enabled="true" diameter="100"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.DetectCirclesHough" name="6" enabled="true" min-distance="10" min-diameter="10" max-diameter="100" dp="1.0" param-1="80.0" param-2="10.0"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ImageRecall" name="7" enabled="true"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.DrawCircles" name="8" enabled="true" thickness="1"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ImageWriteDebug" name="9" enabled="true" prefix="debug" suffix=".png"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ConvertModelToKeyPoints" name="10" enabled="true"/>
   </stages>
</cv-pipeline>
after copy this from txt editor, open the openpnp i go again back to Fiducial Locator Pipeline and press the paste button, close the openpnp and open again,
go to the machine xml but the <pipeline> its not convert to < cv-pipeline> as appear in txt editor, any change as example true to false they work.
what i do wrong?
can you drive me step by step as you do with copy and paste?
Thanks a lot!

yiannis panais

unread,
Dec 19, 2017, 3:58:50 PM12/19/17
to OpenPnP

P.S this is on machine xml, as you can see start and end with <pipeline> and not <cv-pipeline>

string>adafruit-FIDUCIAL_1MM-FIDUCIAL</string>
               <part-settings enabled="false">
                  <pipeline>
                     <stages>
                        <cv-stage class="org.openpnp.vision.pipeline.stages.ImageCapture" name="0" enabled="true" settle-first="true"/>
                        <cv-stage class="org.openpnp.vision.pipeline.stages.ImageWriteDebug" name="1" enabled="true" prefix="debug" suffix=".png"/>
                        <cv-stage class="org.openpnp.vision.pipeline.stages.BlurGaussian" name="2" enabled="true" kernel-size="3"/>
                        <cv-stage class="org.openpnp.vision.pipeline.stages.ConvertColor" name="3" enabled="true" conversion="Bgr2Gray"/>
                        <cv-stage class="org.openpnp.vision.pipeline.stages.HistogramEqualize" name="4" enabled="true"/>
                        <cv-stage class="org.openpnp.vision.pipeline.stages.MaskCircle" name="5" enabled="true" diameter="100"/>
                        <cv-stage class="org.openpnp.vision.pipeline.stages.DetectCirclesHough" name="6" enabled="true" min-distance="10" min-diameter="10" max-diameter="100" dp="1.0" param-1="80.0" param-2="10.0"/>
                        <cv-stage class="org.openpnp.vision.pipeline.stages.ImageRecall" name="7" enabled="true"/>
                        <cv-stage class="org.openpnp.vision.pipeline.stages.DrawCircles" name="8" enabled="true" thickness="1"/>
                        <cv-stage class="org.openpnp.vision.pipeline.stages.ImageWriteDebug" name="9" enabled="true" prefix="debug" suffix=".png"/>
                        <cv-stage class="org.openpnp.vision.pipeline.stages.ConvertModelToKeyPoints" name="10" enabled="true"/>
                     </stages>
                  </pipeline>
               </part-settings>

Cri S

unread,
Dec 19, 2017, 5:20:52 PM12/19/17
to ope...@googlegroups.com
In short, if you need to change machine.xml it is supposed you know
what you do at least in principle as doing it wrong could inhibit
starting openpnp.
This are two different class/config/things. As you have noted inside
machine.xml zou have
additional flags, as exmaple part-stettings enabled that is missing in
<cv-pipeline>
The default pipeline that you can edit on machine config tab allows
you to replace all
pipeline or from part pipeline there exist a button that allows to reset it.
I know that it have knows bugs and basically this buttons are to
avoid, at the same time
it have some uses.
If you change it inside machine.xml, then just replace the stages, je
<stages> ... </stages>
That works. Part.xml and machine.xml must be keep in sync .to some degree.

inside machine.xml you have
<fiducial-locator
class="org.openpnp.machine.reference.vision.ReferenceFiducialLocator"
.... >
where the first pipeline is the default pipeline and the other pipelines after
<part-settings-by-part-id class="java.util.HashMap">
are the pipelines for specific parts.

As especially because of the known "reset bug" it makes sense update machine.xml
in some case, generally it is more convenient to work inside the gui
and using a text file
where there are the various stages with some annotations and using
copy and paste.
Editing machine.xml for pipelines directly makes more sense for bottom
vision if you have
different pipelines for different packages and you need update some
pipelines because something have changed or improvered, otherwise it
makes little sense.
> https://groups.google.com/d/msgid/openpnp/593496db-b77e-4072-ba6d-be11563f1495%40googlegroups.com.

yiannis panais

unread,
Dec 20, 2017, 9:31:00 AM12/20/17
to OpenPnP
HI
Cri S
Thanks a lot for your time and for help!
Its work! (see file)
fantastic!
I would like to ask some things again, you tell its better to use vias as fiducial than holes, in my pcb that vias you see its 0.2mm hole and 0.6 mm diameter
its need to make any change to my fiducial pipeline? if yes, which one? ( i dont test with vias because not time).
what pipeline filter we must to use for streepfeeder? ( i use the white paper with 1.5mm holes)
what pipeline filter for bottom camera?
And my last question is when i load the board from eagle .brd(format) i see on part colon to appear also library and value, on Eagle have: Device-C_0603 (C_)
Package-C0603, Library-rc-master-smd, value-1mf/50v, so in openpnp part colon its appear: (rc-master-smd-C0603-1mf/50v) and not just the device(part)-C_0603 (C_).
Thanks a lot!
bv_result6849053827996580863.png
Στιγμιότυπο οθόνης (32).png
Στιγμιότυπο οθόνης (30).png

Cri S

unread,
Dec 20, 2017, 10:14:29 AM12/20/17
to ope...@googlegroups.com
You need to find vias that are isolated, where there is only a single
via in order it works.
Otherwise it works with help of mask circle , but pcb need to be
placed exact, instead
of approximate. Ie the via search are is reduced from usual 3mm to 1 or 1.5mm.
Hough circle have principally min, max and distance parameter.
In this stage this are camera pixel values. If you have 36 pixel per
millimeter, then the diameter of via is 21,6 pixel.
Probably min is to set to 19 and max to 23 and distance it the
distance to locate the
vias. When setting up the pipeline, you see the found results diameter
inside output and
depend on the result you can finetune it.
As example setting distance to 45 locate all holes, if setting
distance to 800 as
example it finds only the best fiducials, generally distance is set at
two or tree times
the max or average diameter, but depend on case.

The pipeline for strip feeder holes generally works as is is, if not
there is generally
a problem with lightning or camera setup or height mismatch between board and
strip feeders.

bottom vision pipeline depend a lot on lightning, without seeing a
image or more then one,
it is not possible to say something.

Sorry, i never have used brd import and always remove it because it is
a sort of evil.
Ask on the list separatliy for this maybe the orginal author responds
or someone that
use it often.

Cri.S
>> <javascript:>>:
> --
> 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 post to this group, send email to ope...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/428da08a-122f-4b48-9cdc-9f759d08b0f9%40googlegroups.com.

yiannis panais

unread,
Dec 21, 2017, 12:10:32 PM12/21/17
to OpenPnP
Hi
Cri S
I post you the pipeline for stripfeeder wich is the default settings just to check if have any mistake:
<cv-pipeline>
   <stages>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ImageCapture" name="original" enabled="true" settle-first="true"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.BlurMedian" name="cleanup-original" enabled="true" kernel-size="5"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ConvertColor" name="gray" enabled="true" conversion="Bgr2Gray"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.DetectEdgesCanny" name="find-edges" enabled="true" threshold-1="5.0" threshold-2="15.0"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.BlurGaussian" name="predetect-1" enabled="true" kernel-size="5"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.BlurMedian" name="predetect-2" enabled="false" kernel-size="7"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.DetectFixedCirclesHough" name="results" enabled="true" dp="1.0" param-1="25.0" param-2="20.0"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ImageRecall" name="recalled" enabled="true" image-stage-name="original"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.DrawCircles" name="display" enabled="true" circles-stage-name="results" thickness="1">
         <color r="255" g="0" b="0" a="255"/>
      </cv-stage>
   </stages>
</cv-pipeline> 

and also i post the pipiline for bottom camera which  is also the default filters,for a check:
<cv-pipeline>
   <stages>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ImageCapture" name="0" enabled="true" settle-first="true"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ImageWriteDebug" name="13" enabled="true" prefix="bv_source_" suffix=".png"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.BlurGaussian" name="10" enabled="true" kernel-size="100"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.MaskCircle" name="4" enabled="true" diameter="255"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ConvertColor" name="1" enabled="true" conversion="Hsv2BgrFull"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.MaskHsv" name="2" enabled="true" hue-min="50" hue-max="200" saturation-min="0" saturation-max="255" value-min="0" value-max="255"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ConvertColor" name="3" enabled="true" conversion="Hsv2BgrFull"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ConvertColor" name="6" enabled="true" conversion="Bgr2Gray"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.Threshold" name="12" enabled="true" threshold="200" auto="false" invert="false"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.FindContours" name="5" enabled="true" retrieval-mode="List" approximation-method="None"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.FilterContours" name="9" enabled="true" contours-stage-name="5" min-area="50.0" max-area="900000.0"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.MaskCircle" name="11" enabled="true" diameter="0"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.DrawContours" name="7" enabled="true" contours-stage-name="9" thickness="2" index="-1">
         <color r="255" g="255" b="255" a="255"/>
      </cv-stage>
      <cv-stage class="org.openpnp.vision.pipeline.stages.MinAreaRect" name="result" enabled="true" threshold-min="100" threshold-max="255"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ImageRecall" name="14" enabled="true" image-stage-name="0"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.DrawRotatedRects" name="8" enabled="true" rotated-rects-stage-name="result" thickness="2" draw-rect-center="false" rect-center-radius="20" show-orientation="false"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ImageWriteDebug" name="15" enabled="true" prefix="bv_result_" suffix=".png"/>
   </stages>
</cv-pipeline>
I post it because i dont test it yet that steps, autosetup feeder and bottom vision, so i would like your opinion for a nice start!

which format you use, for import a pcb?
 
Thanks a lot for your help and your time Cri S, you help me a lot!

Cri S

unread,
Dec 21, 2017, 12:31:45 PM12/21/17
to ope...@googlegroups.com
Without having several differnt images it is a guess that is probably more wrong as correct. If you have real issues, ask again.
Default pipelines works to some degree ,have omitted several things and doing some unneccasary other stages that are principally for understanding the image processing better. 

To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+unsubscribe@googlegroups.com.

To post to this group, send email to ope...@googlegroups.com.

yiannis panais

unread,
Dec 24, 2017, 5:03:34 AM12/24/17
to OpenPnP
Cri S
Thank you for your time!
I will I ask you again if I have problems, I will be back on my machine after Xmas.
I wish you a merry Xmas.
Thanks.

yiannis panais

unread,
Jan 17, 2018, 9:42:21 AM1/17/18
to OpenPnP
Hi Cri
This time i test my bottom vision.
I use bottom vision to place four resistor with the same rotation (180), as i notice
the openpnp recognize the offset but not take a part, resistors placed on board with out any correction, i make a small test, one of them i turn 90 on feeder then openpnp place that resistor as is, wrong.  

This is my pipeline.
<cv-pipeline>
   <stages>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ImageCapture" name="0" enabled="true" settle-first="true"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ImageWriteDebug" name="13" enabled="true" prefix="bv_source_" suffix=".png"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.BlurGaussian" name="10" enabled="true" kernel-size="100"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.MaskCircle" name="4" enabled="true" diameter="255"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ConvertColor" name="1" enabled="true" conversion="Hsv2BgrFull"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.MaskHsv" name="2" enabled="true" hue-min="50" hue-max="200" saturation-min="0" saturation-max="255" value-min="0" value-max="255"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ConvertColor" name="3" enabled="true" conversion="Hsv2BgrFull"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ConvertColor" name="6" enabled="true" conversion="Bgr2Gray"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.Threshold" name="12" enabled="true" threshold="200" auto="false" invert="false"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.FindContours" name="5" enabled="true" retrieval-mode="List" approximation-method="None"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.FilterContours" name="9" enabled="true" contours-stage-name="5" min-area="50.0" max-area="900000.0"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.MaskCircle" name="11" enabled="true" diameter="0"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.DrawContours" name="7" enabled="true" contours-stage-name="9" thickness="2" index="-1">
         <color r="255" g="255" b="255" a="255"/>
      </cv-stage>
      <cv-stage class="org.openpnp.vision.pipeline.stages.MinAreaRect" name="result" enabled="true" threshold-min="100" threshold-max="255"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ImageRecall" name="14" enabled="true" image-stage-name="0"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.DrawRotatedRects" name="8" enabled="true" rotated-rects-stage-name="result" thickness="2" draw-rect-center="true" rect-center-radius="20" show-orientation="true"/>
      <cv-stage class="org.openpnp.vision.pipeline.stages.ImageWriteDebug" name="15" enabled="true" prefix="bv_result_" suffix=".png"/>
   </stages>
</cv-pipeline>

and this is 8 image from 4 resistor placed
my camera is ELP 3Mp 8mm lens and i use a ring led for lights.
Thanks Cri
bv_result_7410032482615299076.png
bv_result_8108599547034439977.png
bv_result_8120562924769010580.png
bv_result_8644264086274958621.png
bv_source_1889714583692051001.png
bv_source_2570370974502328274.png
bv_source_3446068125496637620.png
bv_source_6634183188048284575.png

Cri S

unread,
Jan 17, 2018, 10:03:10 AM1/17/18
to ope...@googlegroups.com
As i don't have understand you'r problem, maybe others can, can you
describe it again
maybe simpler in order i can understand it or give more details.
> --
> 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 post to this group, send email to ope...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/f78287bd-d84b-4bf3-970f-960e36022ee8%40googlegroups.com.

Bernd Walter

unread,
Jan 17, 2018, 10:21:32 AM1/17/18
to OpenPnP


On Wednesday, January 17, 2018 at 3:42:21 PM UTC+1, yiannis panais wrote:
Hi Cri
This time i test my bottom vision.
I use bottom vision to place four resistor with the same rotation (180), as i notice
the openpnp recognize the offset but not take a part, resistors placed on board with out any correction, i make a small test, one of them i turn 90 on feeder then openpnp place that resistor as is, wrong.  

Yes, that is how it works, as far as I know.
OpenPnP has no idea about the shape of a part, it just tries to find it's outlines and puts a rectangular over it.
Then it calculates the center and angle of the rect.
If the part is off by more than 45 deg it will correct in the wrong direction.

Cri S

unread,
Jan 17, 2018, 11:04:38 AM1/17/18
to ope...@googlegroups.com
You'r lightning is worse, to mutch.It is not possible to filter out
the pins from body.Here it don|t matter, but for components, where the
pins are inside the body, as example
big inductors or condensators using this lightining you are not able
to filter out the pins from
body.,
> --
> 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 post to this group, send email to ope...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/2ad8e3c8-c038-43b6-818c-4e5d0d2596c1%40googlegroups.com.

yiannis panais

unread,
Jan 18, 2018, 11:04:33 AM1/18/18
to OpenPnP
Hi Cri
Sorry about my english.
I mean that, we use bottom vision to place  parts more accurate, that not happen to my case ( i dont see any change when i use bottom vision).
Anyway i will make change on lights as you said and on cvpipeline, and will see.
Thanks a lot!

Cri S

unread,
Jan 18, 2018, 1:43:15 PM1/18/18
to ope...@googlegroups.com
do youi have set the prerotate flag or not inside machine setups
bottomvision configuration ?
If not, enable it, maybe the runout of nozzle fool you.
Annother source of error is bad calibration of camera position or nozzle offset.
Nozzle offset must be calibrated using as example the fiducial, center
the fiducial with
camera (using circle fiducial mark + setting the size), reset the
calipers (clicking on it)
to zero and then center it with the nozzle at rotation 0. This is the
offset for the nozzle.
Then you should go on bottomcamera position (from camera setup page) and center
the nozzle at rotation 0.
Other errors could be really bad right angle that is not 90 degree,
opencv correction is
not complete and correct it only to some degree, wrong step size,
wrong camera calibration to mention some.



2018-01-18 17:04 GMT+01:00, yiannis panais <yianni...@gmail.com>:
> Hi Cri
> Sorry about my english.
> I mean that, we use bottom vision to place parts more accurate, that not
> happen to my case ( i dont see any change when i use bottom vision).
> Anyway i will make change on lights as you said and on cvpipeline, and will
>
> see.
> Thanks a lot!
>
> On Wednesday, January 17, 2018 at 6:04:38 PM UTC+2, Cri S wrote:
>>
>> You'r lightning is worse, to mutch.It is not possible to filter out
>> the pins from body.Here it don|t matter, but for components, where the
>> pins are inside the body, as example
>> big inductors or condensators using this lightining you are not able
>> to filter out the pins from
>> body.,
>>
>> 2018-01-17 16:21 GMT+01:00, Bernd Walter <be...@bwct.de <javascript:>>:
>> > email to openpnp+u...@googlegroups.com <javascript:>.
>> > To post to this group, send email to ope...@googlegroups.com
>> <javascript:>.
>> > To view this discussion on the web visit
>> >
>> https://groups.google.com/d/msgid/openpnp/2ad8e3c8-c038-43b6-818c-4e5d0d2596c1%40googlegroups.com.
>>
>>
>> > For more options, visit https://groups.google.com/d/optout.
>> >
>>
>
> --
> 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 post to this group, send email to ope...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/5f6d06d8-fb69-4da8-8d18-29f9857e4708%40googlegroups.com.

yiannis panais

unread,
Jan 19, 2018, 7:46:57 AM1/19/18
to OpenPnP
Cri
I have some changes on the light of bottom camera, also i do a re calibration of my Bottom camera (was not right )
also i check the calibration of my top camera and its ok, i will do the nozzle offset again,
i hope this sunday and i will late you know.
Thanks a lot!

yiannis panais

unread,
Jan 23, 2018, 1:39:58 PM1/23/18
to OpenPnP
Hi Cri S
After the change a mentioned, test alignment was not successes, after that i change the settle time of camera from 250ms to 500ms and it start to work but not properly.
angle position be correct, but not center it correct.
look the image with title.
Thanks a lot for help and your time. 
before alignement.png
After alignment.png
before test alignment.png
after test alignment.png
remove resistor after test alignment.png
bottom camera after homing.png
bottom camera after 7 times homming.png

Marek T.

unread,
Jan 23, 2018, 2:06:43 PM1/23/18
to OpenPnP
When you go through the pipeline edited can you see drawn outline around the part at all?
Is this really the pipeline that got from Cri? I'm not an expert of pipelines but it looks strange as for me.
I would suggest you to make reset to the default pipeline and play with thresholds only for the begining.

Cri S

unread,
Jan 23, 2018, 2:48:34 PM1/23/18
to ope...@googlegroups.com
Can you post the machine.XML and tell us what motion controller you have.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+unsubscribe@googlegroups.com.

To post to this group, send email to ope...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/2b315292-8b0b-4e66-9662-15277314a98a%40googlegroups.com.

yiannis panais

unread,
Jan 24, 2018, 10:41:41 AM1/24/18
to OpenPnP
Cri S
I use smoothie board the chinese version (clone), on X and Y axes i use servo.
I send 4 photos,  the  firsts is position of part as machine pick  and after alignment
and last two is new position change by my finger and  position after alignment.
Marek i use the default settings with some change.
thanks a lot for your time.
P.S
my lost post photo i use tip with big runout so i change. and send new one screenshots
position of part as pick from feeder.png
after test alignment (2).png
new position after change by my finger.png
position after test alignment (change by finger).png

yiannis panais

unread,
Jan 24, 2018, 10:51:58 AM1/24/18
to OpenPnP
my machine xml
machine.xml

Marek T.

unread,
Jan 24, 2018, 10:54:22 AM1/24/18
to OpenPnP
Your pictures shows rather normal behaviour, entry wrong position is corrected on each second pics properly.
So what is the problem, the one from few posts before: parts are placed without the correction on the board?
Machine_setup/Vision/Bottom_vision: "enabled" is checked?

Cri S

unread,
Jan 24, 2018, 11:28:00 AM1/24/18
to ope...@googlegroups.com
I have telled you that you should enable prerotate and telled you how
to enable it.
You don't have followed the sugestion as seeing from machine.xml file.

Second you must understand that if the nozzle is centered, and the
component is 1mm
off toward one direction, for compensating it, nozzle must go 1mm to
opposite direction resulting far off to be centered on the image.

Third, don't trust this adjustment wizards as it don't works 100% reliable.
Probably i know the source of this error, in summary it newer will
works 100% reliable
even if this error is corrected because machine need to be calibrated
on pcb and not
on uplooking camera, so it always will have some errors depending on the machine
more or less.

I don't know enought about Gcode driver, and don't know if the two
separate CDATA
sections fool the M400 code, that normally should be added using just
a newline, or i'm
wrong, but increasing 250ms to 500ms usually means that there is no M400 gcode.
You have M400, maybe @Vonnieda could clearify that question.
>>>> <https://groups.google.com/d/msgid/openpnp/2b315292-8b0b-4e66-9662-15277314a98a%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>
> --
> 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 post to this group, send email to ope...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/2c83458e-c7a1-4ca1-8f35-e75f97ec7c56%40googlegroups.com.

Marek T.

unread,
Jan 24, 2018, 11:57:00 AM1/24/18
to OpenPnP
Can you develop the thought of what you mean, how looks calibrationg on pcb?

yiannis panais

unread,
Jan 28, 2018, 1:37:07 PM1/28/18
to OpenPnP
Chris
sorry, i don't ignore your instructions, just i focus to others settings as you tell me
and i forgot that one.
And sorry for late reply i have  a cold.
I think i find the problem but not the solution.
When i do test alignment that is happen normally, but when i do, center after test, the nozzle is move in wrong direction and part never center it.
So i flip vertical the camera from settings and then i notice, part is center it but not alignement in right direction, so i change the position of camera 180 degrees but the result was the same.
I send photos with camera not flip and with flip, in not flip you will see after alignment,
the part to center it, its need nozzle to move down but its go up.
settle time its again in 250ms.
Thanks a lot for your time and help
P.S
Marek that question its for me?
test alignment(not camera flip vertical).png
center after test(not camera flip vertical).png
test alignment (camera flip vertical).png
center after test(camera flip vertical).png

Cri S

unread,
Jan 28, 2018, 1:58:54 PM1/28/18
to ope...@googlegroups.com
maybe @vonnieda have a wiki document or video showing how to do.
Basically, if you move the nozzle from uplooking camera center to
right, it must move
inside the camera view to the right, Same for moving up (X+)
direction, it must move up
in the image. This is the basic assumption and flip is required if it
moves differently.
Nozzle should move as same as indicated by controls, up for moving
nozzle up, .... .
> --
> 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 post to this group, send email to ope...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/046f99b9-83af-4ff8-b131-53877084b7f2%40googlegroups.com.

Jason von Nieda

unread,
Jan 28, 2018, 2:14:23 PM1/28/18
to ope...@googlegroups.com

Marek T.

unread,
Jan 28, 2018, 2:33:29 PM1/28/18
to OpenPnP
Question was to Cri but it's nothing important fit your case, forget it.
Message has been deleted

Marek T.

unread,
Jan 28, 2018, 3:17:50 PM1/28/18
to OpenPnP
Thx Cri, You still surprise me from time to time :-).
Message has been deleted

yiannis panais

unread,
Feb 1, 2018, 12:53:38 PM2/1/18
to OpenPnP
Hi Cri S and Jason
The problem was that the wrong rotation ( clockwise, counterclockwise ) of nozzle, i change it from smoothieboard settings and work!
Every day one step more! I will post soon photos
Thank you a lot both of you, for your time and help.
Message has been deleted

Panos

unread,
Apr 6, 2020, 5:04:20 PM4/6/20
to OpenPnP
Hi Yiannis,
are you staying in Greece?  I am from Athens here.
Can I found you in some web place to discuss some things about openpnp in our mother language?

Thank you, Panos.
Reply all
Reply to author
Forward
0 new messages