Page 6 of 16

Re: LitePlacer-rmod Updates

Posted: Thu Jul 23, 2015 6:30 pm
by thereza
Covert wrote:I had a good go of the software yesterday and today. I attempted to load a panel of 16 boards. It went smooth for the the 0603 resistor in clear tape. I was impressed with the machine. It's just worked. Then the black tape parts arrived and that was the end. The Machine sometimes would find the part via image and sometimes would not. It would fail on just using the hole.

Whats the best settings for ComponentPicture ?

There needs to be a delay in before calibrating the needle at the camera. Mine always get the first offset wrong or completely misses it on the start of a job.

When it starts to miss parts the program seems to hang for a long time. evenly it frees up with the TinyG disconnected and the console full of PickUpPart,GotoNextPart, Part 2 .., CNC_XYZA... repeating. It would be nice if it exited nicely so the problem with the part could be corrected and then resume the process.

I would love to assist in the code. Is it on SVN/Git ?
For the black tape you could try putting a strip of white paper under the holes and creating a filter that picks up the white/back holes for a hole-based calibration.

Did you specify a brightness/exposure for the needle calibration? not sure what you mean by custompicture settings. And the svn url is https://subversion.assembla.com/svn/lit ... rmod/trunk

Re: LitePlacer-rmod Updates

Posted: Thu Jul 23, 2015 10:32 pm
by thereza
I'm thinking of implementing a feature to measure component values before placing them for resistors and caps. I'm doing a number of board iterations where I would like to know exact values that are going into the analog circuits. Also, I need a set of 4 matched resistors. The matched resistor arrays are $$$ so I'm thinking of just measuring and binning some components based on measured values and to use matched components.

I've got one of these that has a USB output - https://www.youtube.com/watch?v=Q3frnrPJcGc

Was thinking of cutting a slit on a copper clad board and getting the needle to place the components down so that each side makes contact with one side of the copper and feeding that to meter. Then have the CAD application pull in the values from the serial interface to the meter. (I could use GPIB with my hp multimeter but it's across the room). Wondering if anyone else sees value in this type feature.

Re: LitePlacer-rmod Updates

Posted: Fri Jul 24, 2015 10:31 am
by Covert
I got the SVN working in Visual Studio 2015. Having trouble setting up with Aforge.NET. Added the Aforge DLL's into the project reference. Not sure what else to do. Will try again tonight.

When I add a exposure filter I get All white or all black image. What values does the exposure filter need ? (I'll have less questions when I get the source running)

Visual studio 2015 does not seem to support the installer used. I wont be able to help with the naming there. More than happy to do tool tips and so on around the place. Just want to first get the machine running well so it will at least build my boards then I have more time to play with the source.

Re: LitePlacer-rmod Updates

Posted: Sat Jul 25, 2015 1:11 am
by Covert
I just noticed the current camera settings string in the camera view screen that tells the user the Exposure/Brightness Current value and range. I should be able to get the machine to be more reliable knowing these settings and adding filters for them. Fingers crossed :)

Re: LitePlacer-rmod Updates

Posted: Sun Jul 26, 2015 3:24 am
by Covert
I got the source running in Visual Studio. Reza have you compiled your own Aforge.Video.DirectShow DLL ?

I also could not compile still I changed occurrences of CameraControlFlags.Exposure to CameraControlProperty.Exposure in VideoCapture.cs. Are you sure you are pushing your newest changes to SVN ?

Re: LitePlacer-rmod Updates

Posted: Sun Jul 26, 2015 8:33 am
by mawa
Rezas SVN solution contains an Aforge Directshow project.
Although the VS dependencies between that project and the liteplacer project are set I had to build this project manually. (Don't forget a Clean before issuing a rebuild)
Then the liteplacer project could be built without errors.

Re: LitePlacer-rmod Updates

Posted: Tue Jul 28, 2015 12:04 am
by thereza
i just checked and the dependancies look correct - not sure why it's not automatically building it. Can someone else see why it's not working out of the box (compiling from svn)?

The reason for the directshow stuff is to add the ability to control the brightness and to deal with some race conditions in the code (to fix bugs).

Would love someone to start documenting this stuff, perhaps in a wiki? Here's a free wiki that can be used : http://lightplacerrmod.wikia.com/wiki/L ... Rmod_Wikia

Re: LitePlacer-rmod Updates

Posted: Wed Jul 29, 2015 6:05 pm
by Knas
Could someone do a quick rundown on the proper procedure of adding tapes? I'm having no luck so far, it seems i cannot set the orientation correctly?

Update:
I keep getting unhandled null pointer exceptions every time i try to measure the number of components on a tape, it does measure all the holes correctly but after that when it's trying to go to the first component it fails in MainForm.FindPositionAndMoveToClosest, i get the same error in another function when i try to reconnect the cameras - it seems it won't always find them so i have to restart the software a few times before it works..

Any help greatly appreciated!

-Karl

Re: LitePlacer-rmod Updates

Posted: Thu Jul 30, 2015 3:08 am
by Covert
Knas wrote:Could someone do a quick rundown on the proper procedure of adding tapes? I'm having no luck so far, it seems i cannot set the orientation correctly?

Update:
I keep getting unhandled null pointer exceptions every time i try to measure the number of components on a tape, it does measure all the holes correctly but after that when it's trying to go to the first component it fails in MainForm.FindPositionAndMoveToClosest, i get the same error in another function when i try to reconnect the cameras - it seems it won't always find them so i have to restart the software a few times before it works..

Any help greatly appreciated!

-Karl
Sounds like a camera filter error. I found the Camera Exposure and Brightness settings would change from time to time. I had to lock them down. Also my white tape has a blue strip of paper under the holes to help with contrast. These are my filters. I find the mid point of the Threshold and leave it there.

I'm only using tape along the X axis. I included one generic line from my tape file.

Also I reset the "HolePitch" that auto calibration works out back to standard. I believe the manufacture of the tape and the X/Y axis is more accurate than the down camera. Over a long time (32 parts) the error increasing to missing holes. This can be fixed by using the last good hole(s) are future reference. Then you can even have curved tape...

I think the filters will get you running. Get back if it doesn't. Its a great machine when it works but it's got a few teething issues.

Black tape
Zoom,2,83,94,90,True
CameraExposure,-6,0,0,0,True
VideoBrightness,180,0,0,0,True
Threshold,245,0,0,0,True

Paper
Zoom,3,0,0,0,True
Invert,0,0,0,0,True
CameraExposure,-9,0,0,0,True
VideoBrightness,120,0,0,0,True
Threshold,130,0,0,0,True

Code: Select all

  <TapeObj>
    <FirstHole>
      <X>42.62518201757738</X>
      <Y>62.897732690622263</Y>
      <A>0</A>
    </FirstHole>
    <IsFullyCalibrated>true</IsFullyCalibrated>
    <a>0.0069562006481429569</a>
    <AvailableParts />
    <TapeType>Paper</TapeType>
    <PartType>T0603</PartType>
    <ID>180R</ID>
    <HoleDiameter>1.5</HoleDiameter>
    <HolePitch>4</HolePitch>
    <PartPitch>4</PartPitch>
    <HoleToPartSpacingX>-2</HoleToPartSpacingX>
    <HoleToPartSpacyingY>0</HoleToPartSpacyingY>
    <PickupZ>18.892</PickupZ>
    <PlaceZ>17.119</PlaceZ>
    <TapeWidth>8</TapeWidth>
    <CurrentPart>32</CurrentPart>
    <Slope>0.00063556974737375023</Slope>
    <OriginalTapeOrientation>90deg</OriginalTapeOrientation>
    <OriginalPartOrientation>0deg</OriginalPartOrientation>
  </TapeObj>

Re: LitePlacer-rmod Updates

Posted: Thu Jul 30, 2015 3:12 am
by Covert
I had trouble with little parts on black tape like SOD323 and SOT23. I found the needle would push the component into the tape so hard it would stick to the double sided tape. I changed the PickupZ on the fly in the Tape table and found 1.3mm less was about perfect.

I checked the code and I see it adds 0.5mm.

MainForm.cs

Code: Select all

double Z = tape.PickupZ + 0.5 - 1.3; //not sure why the .5 is there - increased pressure? //covert back off by 1.3. seems to push parts into tape too hard.
quick bug fix to keep me running. I think this settings needs to be accessible in calibrations ?