1
Show Posts
This section allows you to view all Show Posts made by this member. Note that you can only see Show Posts made in areas you currently have access to.
Messages - jamz
2
Tools of the trade / Re: Eagle export script for TM220A pick and place machine
I am not sure how to do that. Will removing the value of rotation in the csv disable the rotation?
(note that the value 90 is the rotation in this example csv format)
Code: [Select]
%,Head,Stack,X,Y,R,H,skip,Ref,Comment,into this? notice the missing '90'?
1,1,1,27.94,32.25,90,0.5,0,,,
Code: [Select]
%,Head,Stack,X,Y,R,H,skip,Ref,Comment,
1,1,1,27.94,32.25,,0.5,0,,,
If that is the case we can then add an option to disable rotation for the tray (that's feeder 0 or stack 0).
Jamz
3
Tools of the trade / Re: Eagle export script for TM220A pick and place machine
Are you planning to develop an option to use the two heads of the machine for same pieces at same time ? :) Would be so awesome ![/quote]
Yes, It could be done. We can add an option to disable the head selector in the ULP and add a simple code that:
Load the part in head1, check the next part if its the same as in head1 and if so, load it in head2.
I think I can add the '0" to make use of it. Its a nice idea. I'll put it in my next update.
Thanks!
4
Tools of the trade / Re: Eagle export script for TM220A pick and place machine
[quote author="teletypeguy"]
- shortening the reference-designator list to (eg) C1-C30 helps this board, but in a real board the numbers won't be contiguous, and will still stretch the window. HOWEVER, I'm just wondering to myself why we would even need ref-des in this ulp? This is not a BOM. We only care about the part value, so we can assign a reel to it. OK, a ref-des or two might be handy for completeness, but you could truncate the string at perhaps a dozen characters, maybe stick "..." at the end if it is longer, and call it good.
[/quote]
You are right, this is not a BOM. There are some good and detailed ULPs already in cadsoftusa website.
Yes it will still stretch the window for too many parts list. But this ULP was made based on the limitations of these machines. I am sure there is still a workaround to handle such thing, but we are not yet into it.
[quote author="teletypeguy"]
- One thing that would be handy, is a "build-quantity" box where we enter in perhaps 25 boards, and there is a TOTAL quantity for each part -- we could ensure that our reels had enough parts for the run. BTW, what does the machine do if a reel is too short? Just keep going I presume?
[/quote]
the parts list tab has a quantity count, and for now you have to manually take note it. I am not sure if the machine has a sensor to alert the user. It does not have a vision either.
[quote author="teletypeguy"]
1) Reel Configuration tab:
- what is offset-x/y? Not mentioned in descriptions below the box.
- maybe add column for reel-size, just for documentation use (tray, 8mm, 12, 16)?
- print button?
- still would like to get to 28 reels and call this a TM220/240 ulp :)
[/quote]
offsetx, offsetY are the mm adjustments needed to accurately place the parts in the board. http://http://dangerousprototypes.com/docs/TM220A_Pick_and_Place_resources#Placement_file_format is documenting some common parts offset.
You can open the ULP in notepad and replace line 16 with these: int MAXREEL=28;
but the screen could be off again. I'll just open up another tab for the additional reel in the next release.
[quote author="teletypeguy"]
2) Parts list tab:
- thru-hole header listed as ??? layer (you could just suppress ??? layers)
- bottom 0805 jumpers now correctly listed as bottom layer
- bottom hdmi jack incorrectly listed as ??? layer -- could this be due to thru-hole gnd pins?
- top/bot/silk symbols and fiducials incorrectly listed as top layer (not really a big deal)
(could perhaps suppress any parts whose ref-des begins with U$...)
[/quote]
the "???" are layers that that are not 1 (top) or 16 (Bottom). these should includes vias, pads, route etc. previously "Mirror' tag was use to identify top and bottom layers, but now it depends on "smd.layer".
hiding those parts that can be ignored is a good idea, but there are too many user defined parts to know it all.
[quote author="teletypeguy"]
3) PCB Top Layer 0 tab:
- the reel-assignment drop-down should be wide enough to read the name (shorten the height col)
- what is height col anyway? Not the same as height in reel-config tab.
- is two-head placement supported? How does it determine which two parts to get?
- shows the three top/bot/silk symbols (again, no big deal, just trying to help you tidy up)
4) PCB Top Layer 1 tab:
- top layer 0 and 1?
- this one has only one thing: the fiducials.
[/quote]
Height in the reel tab is the one that overwrites the height in the pcb top and bottom tabs when you hit the "accept: button. Rather than setting each parts with its own height in the top and bottom pcb you can just hit the accept button in the reel config tab. Individually setting each height is just an option, and if we find out that we do not need it then we can remove it. In the early development of the ULP, I look at the csv sample and think its cool to set the rotation, height, rate etc. but as we progress, we learn and we know those are not needed.
You can set which head to use: head 1 or head 2. Maybe for some improvement in the future , we can perform some calculations to select heads automatically and maximize it for some speed.
[quote author="teletypeguy"]
- does the bottom csv flip the board over in the x-axis with corresponding centroids?
[/quote]
I am not sure. Nobody is telling me yet.
[quote author="teletypeguy"]
6) PCB X Layer tab:
- has the parts identified as ??? layer -- could just be suppressed, or left for completeness.
- should show the symbols and fiducials as well
[/quote]
PCB X is where those "???" layer can be seen. If there are parts here that need to be seen in Top or Bottom, you can adjust it in your eagle file.
[quote author="teletypeguy"]
Thanks much for all your work on this! Gotta get a machine to test it on now!
[/quote]
thanks too, your input is very valuable.
Jamz
5
Tools of the trade / Re: Eagle export script for TM220A pick and place machine
Thank you for your time to test the ULP. I have attached the latest one based on your suggestions and feedback.
I have made modification in this ULP and it will now show the top and bottom layers accordingly. In the previous ULP, The Bottom layer will only show if "mirror" was used.
[quote author="teletypeguy"]
- (gray box on CSV tab looks clickable but does not open browser page for me)
[/quote]
I also tested this ulp in the old version of eagle (4.16r2) (light -so the board is limited to 100x80mm routing area ) and the display looks different from what I've been testing.
the clickable picture does not show in older version of eagle. But the ULP was able to function properly.
[quote author="teletypeguy"]
Nuther test with placement file from Screaming Circuits:
- from BOARD, run: placement-ScreamingCircuits-Centroid-csv.ulp
- generates xxx.csv file
>>> this one also does NOT find the bottom parts (says they are on top)
Nuther test with placement file from Advanced Assembly:
- from BOARD, run: placement-Adv-Assy-XYRS-IPL.ulp
- generates xxx.mnt file
>>> this one DOES find the bottom parts!
>>> maybe ulp code in this will let you fix bottom parts in DP-PnP?
[/quote]
Yes- Based on the code differences of the two, I have implemented the one that will show top and bottom based on your board.
However, layers that are neither Top layer (layer 1) or Bottom layer( 16) will show "???" (in parts list tab) now.
Here are other improvements:
The parts aligned correctly now.
Tabs - Additional tabs will show if the list is more than 24 - Can be modified by editing the "LinesPerTab=24"; in the ULP (Line 15)
[quote author="teletypeguy"]
>>> notice the SCROLL bars in the window! (caps don't wrap, but it's better)
>>> maybe ulp code in this will let you add scroll bars to DP-PnP?
[/quote]
Scrollbars not available when using ULP's dialogboxes other than the dlgListview. Only dlglistview shows the scrollbars as demonstrated in the parts list tab. This is a limitation of the ulp as being just a subset of a C program language.
[quote author="Handi"]
The display resolution is quite a problem because buttons are impossible to reach so I had to use a monitor in portrait mode ...
[/quote]
I hope this version solve the problem :)
[quote author="teletypeguy"]
- when I go to the Parts tab, I see that one part, quantity 45 caps, fills most of the screen width with reference-designators,
hence the wide window (wrapping after every ten ref-des or so would prevent this)
[/quote]
- instead of showing c1,c2,c3...c30 it will now show c1-c30 this is to prevent stretching the view too much. c1-c30 like format shows if same parts is more than 3.
-Removed and clean up some codes.
-added Offset x and Offset Y setting in the reel configuration
-remove 'rate' from the top and bottom tabs. Its irrelevant to set the 'rate' in the top and bottom tabs since its already in the reel configuration tab,and 'rate' cannot be set individually per part.
-new 'pcb top' or 'pcb bottom' tab will appear if grouped parts is more than 24.
[quote author="teletypeguy"]
Would really be nice to have a way to load one or more user-defined stacks. Would also be great to allow for the 28-reel bigger unit. But I'm not complaining :)
[/quote]
-added ability to save and load user stack.
It will always load the last stack configuration file that was also created the last time you generate a csv file.
Again, thank you for your feedback. And let me know anything with this latest ULP.
Jamz
6
Tools of the trade / Re: Eagle export script for TM220A pick and place machine
Thank you for giving me long feedback. Just what I need to further improve the ULP. :-)
The ULP was developed and tested with Eagle free version of 5.11 and 6.4.x in mind.
You need to be connected to the internet to see the image. It is hyperlinked to a page with titled " WORKSHOP VIDEO #56: TM220A table top pick and place overview"(Link may change in the future- may link to documentation in the wiki).
The predefined Eagle Layers #1 is Top and #16 is bottom. In the ULP if the parts does not belong to Top layer, then it will show as part of bottom layer . - Just to get all parts listed.
But I see your point here: We should only list parts that belongs to top and bottom layers and nothing in between (pads, logos, routes, names etc) then we can ignore the other layers.
the tabs (PCB Top and PCB_Bottom) layout will be the same (and will have similar problem) . They do not line up well on monitors below 1920x1080. I am still trying some algorithm to compute the pixels difference. I'm still testing it on smaller monitor.
In the Reel-Config tab- Its still the same problem with screen resolution.
Loading user stack would be nice. Currently, it retains the last stack it used based on (boardname) so that users don't have to start all over again.
In your test-2. Its not yet able to accommodate larger board and lots of parts. The ULP has a limitation as of 6.4.x (No scroll bar for dlgHBoxLayout and dlgVBoxLayout ). I hope that would change in the future.
I'll try to have some work-around in the next release, and will try to test several DP's project. Your feedback is what I need to further improve the interface.
just modifying a line of code:
Code: [Select]
int MAXREEL=16;
can (in theory) will allow more than 16 reels. But the scroll bar limitation of the ulp will still be a problem. If anybody can feed in some workaround for this, it will be of great help.
I am using eagle 5.11 and 6.4.x lite (free editions) on win7 machine.
And for your other questions, you can watch the workshop videos:
http://http://dangerousprototypes.com/2013/02/21/workshop-video-56-tm220a-table-top-pick-and-place-overview/
http://http://dangerousprototypes.com/2013/02/28/workshop-video-57-tm220a-pick-and-place-loading-reels-and-stack-setup/ or somebody in the forum might have a better answer.
The next release will have some fixes based on this info. Thanks a lot, Gil!
Jamz
7
Tools of the trade / Re: Eagle export script for TM220A pick and place machine
[attachment=1]
I updated the ULP and added some features, and used Xinort's code on rotation.
This ULP now has the option to Load the default DP's standard stack or Rename the Reel at your own.
You have to hit the accept button in the reel configuration tab to accept the values and show in the other tab. If there is already some reel assignments in the PCB Top and PCB Bottom tab, the Reel name, height and feedrate will be updated too.
Any changes in the reel configuration tab will overwrite the values set in the other tabs if there are already some values in it.
Rotation Correction is an offset to add if the placement is off, might be used for some User created libraries.
Please delete the PNP settings file first to start from scratch.
I am getting display alignment problem in 1600x900 monitor. But looks good in 1920x1080. And I do not see screenwidth and screenheight info in the ULP's documentation.
Do let me know what you think.
[edit] - file reuploaded to fix off screen screen display in 5.11 but looks fine in 6.4.x.
Thanks
8
Tools of the trade / Re: Eagle export script for TM220A pick and place machine
Ian has noted that the VR in his buspirate was picked n placed in the opposite orientation, so I just figure it out to start from the opposite side.
anyway, here's the latest update of the ULP:
[attachment=1]
code changed so that the reels are selected in the dropdown instead of the parts.
The text alignment is now ok.. (I think- I used 2 pcs and they are not the same, maybe due to monitor resolution).
the last settting is always loaded upon running
the picture display is linked to workshop video # 56, clicking it will open a browser. (may link to documentation in the future)
The tab paged may be off the screen if there are too many unique parts. I think its the current limitation in the Eagle's ULP programming.
9
Tools of the trade / Re: Eagle export script for TM220A pick and place machine
Corrected stack offset, default is 0 instead of blank, this caused an error and won't feed on the machine.
Height starts from 0, not 1.
the combobox dropdown does not align the display as expected. And this may change in the next version where the dropdown selection is the Reel # 0-15 instead of the parts list.
The picture does not show in eagle 6.4.0 lite, but it does in eagle 5.11.
10
Tools of the trade / Re: Eagle export script for TM220A pick and place machine
[attachment=1]
11
Tools of the trade / Re: Eagle export script for TM220A pick and place machine
Here's the ULP for testing. The header and display formatting is still not good. Its looks harder to fix.
The ULP saves your inputs as boardname.Pnp.
It also creates top and bottom csv file.
The combobox dropdown does not check whether you have assign the parts into several reels.
Code was based on Xinort's (thanks!)
Let me know if it works, especially the rotation and placement, which may be off. In this case try to adjust the parts offset manually.
Thanks!
jamz
12
USB Infrared Toy / Re: Problem of IR TOY Recorder/Player utility
thanks!
13
USB Infrared Toy / Re: Problem of IR TOY Recorder/Player utility
I am sorry for the problem in irtoy rec & play. The irtoy rec & play can quit it if encountered any fo the following:
1. wrong com port. not all pc will give you the same com port everytime you unplug it and plug on a different port. The port at at your pc at home might be different from the port use in your work pc.
2. the command parameters can also be a reason.
to record you can simple use irtoy.exe -d com7 -r -f test
and to play you can use irtoy.exe -d com7 -p -f test
or record then play: irtoy.exe -d com7 -r -p -f test
3. it also quit if it cannot communicate properly with the host (due to low usb voltage, garbage etc)
And also the screen should display something. Can you post a screen shot?
make sure you have the latest irtoy rec & play firmware and software. its currently on v21.
http://code.google.com/p/dangerous-prot ... ge.v21.zip
14
USB Infrared Toy / Re: Multiplatform Rec & Play app (Windows, Linux, MAC OS)
The MAC OS needs the IOS SDK in order for codeblocks for MAC to compile the source. The IDE might not be stable for this platform but the resulting binary for itroy works without problem. Check the dev directory for the USB IRTOY device. Might appear as devtty.usbmodem00000001 but it needs no driver.
for linux (debian), makes sure to driver is loaded. You might need to run the sequence of commands prior to running the irtoy:
1. check for vendor and product ID:
lsusb
2. load the driver:
sudo modprobe usbserial vendor=0x04d8 product=0xfd08
3. check if you will be using ttyACMx or ttyUSB:
dmesg
The screen output for these two platform is not nicely formatted. But the windows version is good.
The checking for even number of byte values was commented out because it exits prematurely on win64.
the TXT and OLS output were not yet touched.
And thanks to MickM for the fedora binary, TitanMKD for the suggested patch and test. and all the people that made the IRTOY works better.
15
USB Infrared Toy / Re: Multiplatform Rec & Play app (Windows, Linux, MAC OS)
You can also try to replay the generated bin file and see if it works.