-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
USB plug shifted and tolerances added to IDF
- Loading branch information
jans
committed
Dec 22, 2014
1 parent
5b82de4
commit b6e9c6c
Showing
18 changed files
with
7,697 additions
and
7,594 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
Create .ELECTRICAL sections for each type of part (following the datasheets found at BOM) | ||
It's prefered to have the point (0,0) at the center of the rectangular area of the component | ||
Use maximum height (including any tolerance) | ||
Also include the width of the pads (wherever applicable, see datasheets) | ||
|
||
Split USB plug in two parts. One placed on TOP and the other on the BOTTOM of the PCB. | ||
There will be a gap between the two of them at the same z-coord with the PCB. | ||
This is ok, but take care to substract this height from the two USB parts such that | ||
the final "emulated" USB component is exact both in total height and in z positioning. | ||
|
||
|
||
|
||
Smartcard slot shorted by the amount of it's pads length (the LED overlaps with them) | ||
|
||
Added PCB slots (1x1 mm) (.BOARD_OUTLINE section) | ||
|
||
Removed some drills. They were appearing as components at the casing-engineer tools | ||
|
||
Centering USB to PCB: | ||
First calculate the center of the pcb: (y1+y2)/2 and the set that to the USB placement | ||
|
||
Moving mounting placement of USB, following the datasheet suggestion | ||
|
||
Added tolerances to: | ||
PCB: The slots where moved away of pcb (following the width tolerance). No resizing of them | ||
USB: length with general tolerance | ||
LED: both dims with general tolerance | ||
Smartcard slot: both dims with general tolerance | ||
assuming that tolerances are halfed at each side | ||
Be carefull about the signs of the coords! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
Creating IDF libraries | ||
====================== | ||
|
||
Two files are needed to create an IDF library. An .emn and an .emp. | ||
|
||
* .emn: Holds information about the PCB board, the drilled holes and the placement of the parts. | ||
* .emp: Holds information about each class of a component that is used at .emn placement. | ||
|
||
To create a 3D model of the IDF library, you can open the .emn file using FreeCAD. Then you can save the 3D models as a .FCStd file. | ||
|
||
The procedure of creating and manipulating an IDF library is explained below (per project). | ||
|
||
|
||
Creating the .emp | ||
----------------- | ||
The .emp file consists of a header section at the beginning. This sections is followed by electrical sections. Each electrical section has the outline info as a series of points in a 2D plane, and a height value. The outline must be a closed curve, thus you need to place twice the point that you started, once at the beginning and once at the end of the section (returning to starting point). | ||
If it is a rectangular outline, use point (0,0) as the center of it. | ||
|
||
|
||
Creating the .emn | ||
----------------- | ||
The .emn file consists of a header section, a board section, a drilled_holes section and a placement section. The board section describes the boad outline and height. The placement section is a series of placement declarations, each one declaring the type of the component (from .emp file), a placeholder name, the positioning at the 3D plane, a rotation factor and the side of the board that is to be placed (top/bottom) | ||
|
||
|
||
Nitrokey Pro | ||
------------ | ||
For Nitrokey Pro, you have to open the .kicad_pcb file. There is a section that lists all the modules. Each module has the component type (BOM file), the placeholder name (emp placement). the positioning and rotation (emp placement). | ||
|
||
You have to manually create/edit the .emp file consulting the BOM and manuals. | ||
You have to manually create/edit the .emn file consulting the .kicad_pcb file for the placement coordinates. | ||
|
||
*Note 1: Depending on the orientation of each component at it's electrical section, you may need to use rotation to match the real design.* | ||
|
||
*Note 2: Depending on the side that the component is placed, you may have to calculate some offsets because the coords seems to be mirrored on the other side (and you have to mirror them again so that it aligns).* | ||
|
||
|
||
Nitrokey Storage | ||
---------------- | ||
For Nitrokey Storage, you have to use DesignSpark. First you export the pcb design as a set of .idl and .idf files [3](without the height adjusting, see next par.) . Rename .idl to .emp and .idf to .emn (they are essentially the same format). | ||
You will have to manually edit the .emp file to include all the electrical sections (consulting the BOM, manualls and naming of the components from the .emn file). The .emn file doen't need any changes. | ||
|
||
Notes (on Storage): | ||
1) Right now the height of the short capacitors and resistors is not accurate. An approximation is used instead (worst case found from the family of each component). | ||
2) For some components the length does not include the extra soldering area. | ||
3) Electrical sections for the R0603, C0603, C0603K and C1206 need to be rewritten with (0,0) as their center. Also their orientation at the placement section need to be changed appropriatelly. | ||
|
||
|
||
For both devices | ||
---------------- | ||
Create a second module to model USB. | ||
|
||
|
||
Useful Links | ||
------------ | ||
[1] https://www.simplifiedsolutionsinc.com/images/idf_v30_spec.pdf | ||
[2] https://sourceforge.net/projects/kicad-3d/ | ||
[3] http://www.rs-online.com/designspark/electronics/eng/tutorial/exporting-designs-from-designspark-pcb-to-mechanical-cad | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.