ReferenceStripFeeder - Helsparrow/OpenpnpDocs_KR GitHub Wiki

์„ค์น˜

ํ…Œ์ดํ”„ ์ŠคํŠธ๋ฆฝ ๋ฐฉํ–ฅ

ReferenceStripFeeder์— ์ฐธ์กฐ ๊ตฌ๋ฉ๊ณผ ๋‘ ๋ฒˆ์งธ ๊ตฌ๋ฉ์„ ์ˆ˜๋™์œผ๋กœ ๋˜๋Š” ์ž๋™ ์„ค์ •์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์ •ํ•  ๋•Œ SMT ํ…Œ์ดํ”„์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ‘œ์ค€์— ๋”ฐ๋ผ ์ฐธ์กฐ ๊ตฌ๋ฉ๊ณผ ๋‘ ๋ฒˆ์งธ ๊ตฌ๋ฉ ๋˜๋Š” ๋ถ€ํ’ˆ์„ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด๊ฒƒ์€ ์ฐธ์กฐ ๊ตฌ๋ฉ์ด ์ด๋™ ๋ฐฉํ–ฅ์˜ ์ฒซ ๋ฒˆ์งธ ๋ถ€ํ’ˆ์—์„œ 2mm ๋–จ์–ด์ง„ ์ฒซ ๋ฒˆ์งธ ๊ตฌ๋ฉ์ด์–ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

Reference Strip Feeder์˜ ๊ฒฝ์šฐ '์ด๋™ ๋ฐฉํ–ฅ'๊ณผ '๊ณต๊ธ‰ ๋ฐฉํ–ฅ'์ด ํ˜ผ๋™๋ฉ๋‹ˆ๋‹ค. ์•„๋ฌด ๊ฒƒ๋„ ๊ณต๊ธ‰๋˜์ง€ ์•Š๊ณ  ํ…Œ์ดํ”„๊ฐ€ ์œ„์น˜์— ๊ณ ์ •๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ถ€ํ’ˆ ์™ผ์ชฝ์— ๊ตฌ๋ฉ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ํ…Œ์ดํ”„๋ฅผ ์ˆ˜์ง์œผ๋กœ ๋ฐฐ์น˜ํ•˜๋ฉด ์ด๋™ ๋ฐฉํ–ฅ์ด ์œ„์—์„œ ์•„๋ž˜๋กœ, ๋ถ์ชฝ์—์„œ ๋‚จ์ชฝ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ถ€ํ’ˆ์˜ ์˜ค๋ฅธ์ชฝ์— ๊ตฌ๋ฉ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ด๋™ ๋ฐฉํ–ฅ์€ ์•„๋ž˜์—์„œ ์œ„๋กœ, ๋‚จ์ชฝ์—์„œ ๋ถ์ชฝ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ถ€ํ’ˆ ํ•˜๋‹จ์— ๊ตฌ๋ฉ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ํ…Œ์ดํ”„๋ฅผ ์ˆ˜ํ‰์œผ๋กœ ๋ฐฐ์น˜ํ•˜๋ฉด ์ด๋™ ๋ฐฉํ–ฅ์ด ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ, ์„œ์ชฝ์—์„œ ๋™์ชฝ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ถ€ํ’ˆ ์ƒ๋‹จ์— ๊ตฌ๋ฉ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ด๋™ ๋ฐฉํ–ฅ์€ ์˜ค๋ฅธ์ชฝ์—์„œ ์™ผ์ชฝ, ๋™์ชฝ์—์„œ ์„œ์ชฝ์ž…๋‹ˆ๋‹ค. ํ…Œ์ดํ”„๋Š” ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๋ฐฉํ–ฅ์— ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ํ…Œ์ดํ”„๋ฅผ ๋”ฐ๋ผ ์ด๋™ํ•˜๋Š” ๋ฐฉํ–ฅ์€ ํ•ญ์ƒ ์ด ๊ทœ์น™์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ์ด๋ฏธ์ง€๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค:

strip feeder orientation

CvPipeline

CvPipeline์„ ์‚ฌ์šฉ์ž ์ง€์ •ํ•˜์—ฌ ์นด๋ฉ”๋ผ ์ด๋ฏธ์ง€๋ฅผ ์ •๋ฆฌํ•˜์—ฌ ์ธ์‹์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”ผ๋“œ ๊ตฌ์„ฑ์—์„œ ํŒŒ์ดํ”„๋ผ์ธ ํŽธ์ง‘์„ ํด๋ฆญํ•˜์—ฌ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ…Œ์ดํ”„์˜ feeding circle์„ ๊ฐ์ง€ํ•˜๊ธฐ ์œ„ํ•ด DetectFixedCirclesHough๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค - ๊ทธ๋Ÿฌ๋‚˜ ์˜ฌ๋ฐ”๋ฅธ ์›์„ ์ฐพ์ง€ ๋ชปํ•˜๋ฉด ์นด๋ฉ”๋ผ์˜ ํ”ฝ์…€๋‹น ๋‹จ์œ„๊ฐ€ ์ž˜๋ชป ์„ค์ •๋˜์–ด ์žˆ๊ฑฐ๋‚˜ ๋จผ์ € ์นด๋ฉ”๋ผ ์ด๋ฏธ์ง€๋ฅผ ์ถ”๊ฐ€๋กœ ์ •๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ”ผ๋” ์„ค์ • ๋งˆ๋ฒ•์‚ฌ์—์„œ ์ŠคํŠธ๋ฆฝ ํ”ผ๋” ๊ตฌ๋ฉ ๋””๋ฒ„๊ทธ ์ƒ‰์ƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ๋นจ๊ฐ„์ƒ‰์€ ๋ฐœ๊ฒฌ๋œ ๊ตฌ๋ฉ์ž…๋‹ˆ๋‹ค.
  • ์ฃผํ™ฉ์ƒ‰์€ ๊ฑฐ๋ฆฌ ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ–ˆ์ง€๋งŒ ๋ผ์ธ ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ•œ ๊ตฌ๋ฉ์ž…๋‹ˆ๋‹ค. **
  • ํŒŒ๋ž€์ƒ‰์€ ๋ผ์ธ ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ–ˆ์ง€๋งŒ ๋ถˆํ•„์š”ํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜๋Š” ๊ตฌ๋ฉ์ž…๋‹ˆ๋‹ค. **
  • ๋…น์ƒ‰์€ ๋ชจ๋“  ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ–ˆ์œผ๋ฉฐ ์–‘ํ˜ธํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.

** - ์„ค์น˜ ๋งˆ๋ฒ•์‚ฌ๊ฐ€ ์‹œ์ž‘๋  ๋•Œ Alt/Option์„ ๋ˆ„๋ฅด๊ณ  ์žˆ์„ ๋•Œ๋งŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

Z ๋ฐ ํ”ฝ์—… ๋†’์ด

์ŠคํŠธ๋ฆฝ ํ”ผ๋”์—์„œ ๋ถ€ํ’ˆ์„ ๋“ค์–ด์˜ฌ๋ฆด ๋•Œ, OpenPnP๋Š” ๋…ธ์ฆ์„ ์ฒซ ๋ฒˆ์งธ ๊ธฐ์ค€ ํ™€์— ์ง€์ •๋œ Z ๊ฐ’์œผ๋กœ ๋‚ด๋ฆฝ๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ๊ธฐ์ค€ ํ™€์˜ Z ๊ฐ’์€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

ํ…Œ์ดํ”„ ํšŒ์ „

์˜ฌ๋ฐ”๋ฅธ ๊ฐ๋„๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๋ถ€ํ’ˆ์„ ํ”ฝ์—…ํ•˜๋ ค๋ฉด "Rotation in Tape"์—์„œ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Rotation in Tape ์„ค์ •์€ ํ”ผ๋”/ํ…Œ์ดํ”„์˜ ๋ฐฉํ–ฅ์— ๊ด€๊ณ„์—†์ด ํ…Œ์ดํ”„์˜ ๋ฐฉํ–ฅ์— ๋”ฐ๋ผ ํ•ด์„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ง„ํ–‰ํ•˜์„ธ์š”:

  1. E-CAD *๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‚ด๋ถ€์— ๊ทธ๋ ค์ง„ ๋ถ€ํ’ˆ ํŒจํ‚ค์ง€/ํ’‹ํ”„๋ฆฐํŠธ์˜ neutral ์ˆ˜์ง ๋ฐฉํ–ฅ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  2. โš  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์žˆ๋Š”์ง€ ๋‹ค์‹œ ํ•œ๋ฒˆ ํ™•์ธํ•˜๊ณ  ํ”„๋กœ์ ํŠธ PCB์˜ ๋ถ€ํ’ˆ์„ ๋ณด์ง€ ๋งˆ์„ธ์š”. PCB ํŽธ์ง‘๊ธฐ์ƒ์˜ ๋ถ€ํ’ˆ์€ neutral์ด ์•„๋‹™๋‹ˆ๋‹ค!

  3. ํ•€ 1, ๊ทน์„ฑ, ์–‘๊ทน ๋“ฑ์˜ ๋ฐฉํ–ฅ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ถ€ํ’ˆ์˜ 0ยฐ์ž…๋‹ˆ๋‹ค.

    library part

  4. ์Šคํ”„๋กœํ‚ท ๊ตฌ๋ฉ์ด ์œ„๋ฅผ ๋ณด๋„๋ก ํ…Œ์ดํ”„๋ฅผ ๋ด…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ 0ยฐ ํ…Œ์ดํ”„ ๋ฐฉํ–ฅ์ž…๋‹ˆ๋‹ค(EIA-481 ์‚ฐ์—… ํ‘œ์ค€).

  5. ํ…Œ์ดํ”„ ํฌ์ผ“ ๋‚ด๋ถ€์—์„œ ๋ถ€ํ’ˆ์ด ์–ด๋–ป๊ฒŒ ํšŒ์ „ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค, (1)์˜ ์ˆ˜์ง ๋ฐฉํ–ฅ์—์„œ ์ƒ๋Œ€์ ์ž…๋‹ˆ๋‹ค. ์–‘์˜ ํšŒ์ „์€ ์‹œ๊ณ„ ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์œผ๋กœ, ์Œ์˜ ํšŒ์ „์€ ์‹œ๊ณ„ ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์œผ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Rotation in Tape ์ž…๋‹ˆ๋‹ค.

    Rotation in Tape

  6. ์ด ์˜ˆ์—์„œ๋Š” (1)์˜ ์ˆ˜์ง ๋ฐฉํ–ฅ์—์„œ ์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ 90ยฐ ํšŒ์ „ํ•˜๋ฏ€๋กœ ์˜ฌ๋ฐ”๋ฅธ Rotation in Tape์€ -90ยฐ์ž…๋‹ˆ๋‹ค.

  7. โš  OpenPnP ๋ฒ„์ „์ด 2022-06-10๋ณด๋‹ค ์˜ค๋ž˜๋œ ๊ฒฝ์šฐ(๋„์›€๋ง/์ •๋ณด ํ™•์ธ), ์ด ์ˆœํ™˜์˜ ์˜๋ฏธ๋Š” ์•„์ง EIA-481 ์‚ฐ์—… ํ‘œ์ค€์„ ์ค€์ˆ˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์ด ์žˆ๋Š” ๊ฒฝ์šฐ Rotation in Tape์— 90ยฐ๋ฅผ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค! ๋˜ํ•œ **Rotation in Tape*๋Š” ๋‚˜์ค‘์— ์ƒˆ๋กœ์šด OpenPnP ๋ฒ„์ „์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ๋•Œ ์ž๋™์œผ๋กœ ์กฐ์ •๋ฉ๋‹ˆ๋‹ค.

๋น„๋””์˜ค ํŠœํ† ๋ฆฌ์–ผ

๋ฌธ์ œ ํ•ด๊ฒฐ

"Unable to locate reference hole. End of strip?"

ํ•ด๋‹น ์˜ค๋ฅ˜๋Š” ๋ณดํ†ต ์ŠคํŠธ๋ฆฝ ํ”ผ๋” ๋น„์ „ ์‹œ์Šคํ…œ์ด ๋‹ค์Œ ํ…Œ์ดํ”„ ๊ตฌ๋ฉ์„ ์ฐพ์ง€ ๋ชปํ•  ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ์˜ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์›์ธ์€ ์นด๋ฉ”๋ผ์˜ ํ”ฝ์…€๋‹น ๋‹จ์œ„ ์„ค์ •์ด ์ž˜๋ชป๋˜๊ณ  ์กฐ๋ช…์ด ์ข‹์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

ํ”ฝ์…€๋‹น ๋‹จ์œ„ ์„ค์ •์„ ์„ค์ • ๋ฐ ํ™•์ธํ•˜๊ณ  ์นด๋ฉ”๋ผ์˜ ๋น›์ด ์ถฉ๋ถ„ํ•œ์ง€ ํ™•์ธํ•˜๋ ค๋ฉด https://github.com/Helsparrow/OpenpnpDocs_KR/wiki/%EC%84%A4%EC%B9%98-%EB%B0%8F-%EA%B5%90%EC%A0%95_%EC%9D%BC%EB%B0%98-%EC%B9%B4%EB%A9%94%EB%9D%BC-%EC%84%A4%EC%B9%98#%ED%94%BD%EC%85%80%EB%8B%B9-%EB%8B%A8%EC%9C%84%EC%84%A4%EC%A0%95์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. ํ…Œ์ดํ”„ ์ž์ฒด์™€ ๊ตฌ๋ฉ ์‚ฌ์ด์—๋Š” ๊ฐ•ํ•œ ๋Œ€๋น„๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํŠน์ • ์นด๋ฉ”๋ผ ๋ฐ ์กฐ๋ช… ์„ค์ •๊ณผ ๊ด€๋ จ๋œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋„๋ก ํ”ผ๋” CvPipeline์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ผ๋ฐ˜์ ์œผ๋กœ ์ข‹์€ ํ•˜๋“œ์›จ์–ด ์„ค์ •์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๋‹ค.

ํ”ฝ์…€๋‹น ๋‹จ์œ„ ์„ค์ •์ด ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์ธํ•˜๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์€ ์นด๋ฉ”๋ผ ํ™”๋ฉด์„ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋‹จ์ถ”๋กœ ํด๋ฆญํ•˜๊ณ  ๋‹ค์Œ ์˜ต์…˜์„ ์ผœ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค:

  • Reticle -> Fiducial
  • Reticle -> Options -> Units -> Millimeters
  • Reticle -> Options -> Shape -> Circle
  • Reticle -> Options -> Size -> 1.5

์ด๋Ÿฌํ•œ ์„ค์ •์„ ์‚ฌ์šฉํ•˜๋ฉด ์นด๋ฉ”๋ผ ๋ณด๊ธฐ์— ์ž‘์€ ์›์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ 1.5mm ์›์ž…๋‹ˆ๋‹ค. ์ด ์›์„ ํ…Œ์ดํ”„ ๊ตฌ๋ฉ๊ณผ ํ•จ๊ป˜ ์ •๋ ฌํ•˜๋ฉด ํฌ๊ธฐ๊ฐ€ ์ •ํ™•ํžˆ ๋™์ผํ•˜๊ฒŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ํ”ฝ์…€๋‹น ๋‹จ์œ„ ์„ค์ •์„ ์กฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.