שְׁאֵלָה:
חדש בעיצוב PCB - מדוע אין רכיבים להצבה אוטומטית?
Adam
2015-04-26 02:34:30 UTC
view on stackexchange narkive permalink

לתוכנת עיצוב המעגלים שראיתי יש יכולת לנתב עקבות וכדומה באופן אוטומטי על גבי PCB.
אך מדוע אין לתוכנה זו אפשרות למקם רכיבים באופן אוטומטי על גבי PCB, כדי למזער את גודל הלוח הכולל?
האם זה פשוט מסובך מכדי להיות אוטומטי?

יוצרי רכב אמורים להיות מסוגלים להציב רכיבים בצורה אופטימלית על סמך אילוצים (כלומר "הכפתור חייב ללכת לכאן", "נורית הנורה יכולה להיות בכל מקום באזור זה").הם צריכים להיות מסוגלים גם לבחור את הסיכות האופטימליות לשימוש בחלקים שיש בהם הרבה סיכות שוות (כלומר "השתמש בכל סיכה io שיש לה PWM"). למרבה הצער, מעולם לא ראיתי אחד שעושה אחת מהפונקציות הללו.אולי ביום מן הימים.
אני חושב שלאלטיום יש מתקן אוטומטי, אך חלק מהרכיבים מיועדים להצבה במיקומים אסטרטגיים על הלוח ולתוכנה אין מושג מה אסטרטגי ולא.ואם אתה ממזער את שטח הלוח הכולל, אתה עלול למנוע אפשרות לנתב בצורה נקייה.מעולם לא השתמשתי במתקן אוטומטי ולעתים רחוקות אני משתמש באוטומטי, וכשאני מבצע אוטו-אוטו הוא עבור אותות נבחרים כמו קרקע.
מיקום (וכיוון, החלפת שערים, החלפת סיכות) הוא ממש ממש חשוב.זה הדבר החשוב ביותר לקבלת ניתוב טוב.אני חושב שמתקן אוטומטי חכם צריך להתחיל מהמיקום הסכמטי, אלא אם כן הסכמה היא אחת מאותן תועבות "תיבות מודרניות המוקפות ברשימות רשת".
בא מרקע שאינו עיצוב מעגלים, נראה לי שהחולדות צריכות להספיק בכדי לפרוס את כל הרכיבים בצורה מיטבית, אולי לאילוצים מסוימים.האם רוב המעגלים האמיתיים מתוכננים באופן ידני יותר מזה?
לטעינה יש הפסקה אוטומטית.אבל זה מחריד.
בקיצור, פריסת רכיבים בצורה אופטימלית - גם מבלי שכל השיקולים הנובעים מכך הם מעגל ממשי ולא אידיאלי - היא בעיה קשה מאוד ב- CS.למעשה, זהו מקרה של בעיית איש המכירות המטיילים, וככזה פתרון אופטימלי הוא בלתי אפשרי.
שרשורים קשורים: [כאן] (http://electronics.stackexchange.com/a/132338/7036) ו- [כאן] (http://electronics.stackexchange.com/a/73005/7036).שתיהן סקירות עיצוב של מחשבי PCB למתחילים שהועברו אוטומטית.
שאלה זו משאירה אותי תוהה * מדוע * אוטו-אוטו-פלאסרים האלה כל כך גרועים!מדוע אנשים לא משקיעים יותר מאמץ בכדי לגרום להם לעבוד?(אולי הם כן, וכל התכונות הללו מוסתרות בחבילות קנייניות ...?) לא יכול להיות כל כך קשה להוסיף קצת את תיבת הסימון "מכסה זה שייך לסיכות חשמל אלה" ...
@Gregd'Eon אני תוהה אותו דבר.אין ספק שעם יותר עבודה יכולים מיקומים אוטומטיים להבין את התפקידים של ניתוק כובעים, ולדמות רעשי מעגל וכו '
@Adam כן, אני מניח שזו עוד שאלה שלעולם לא נענה עליה.מדוע כל תוכנות העיצוב של PCB מוצצות כל כך רע שהן טובות רק מעט יותר מעיפרון + נייר?
@Navin, אם אתה מאמין בכך, הייתי רוצה לדעת כמה עיצובים מורכבים הצבת עם CAD וכמה עם עיפרון ונייר?
כפילות אפשרית של [תוכנה לתרגום תיאור קוד לתכנון PCB?] (http://electronics.stackexchange.com/questions/70818/software-to-translate-code-description-to-pcb-design)
@NickJohnson: לא ניתן לביצוע, באופן מעשי.בעוד שחישוב התוצאה האופטימלית באמת הוא יקר חישובית, ישנם אלגוריתמים שיכולים להשיג תוצאות "מספיק טובות" בפרק זמן סביר מאוד.ההגעה ל -95% -98% מהפתרון האופטימלי תקטין אותו ברוב התרחישים.שנית, תלוי בכמה רכיבים, השגת הפיתרון האופטימלי עשויה להיות אפשרית אם אתה מוכן לתת למחשב לפעול לזמן מה.
@whatsisname כן, אתה יכול לקבל קירובים טובים של ה- TSP הבסיסי.זה הרבה יותר קשה לעשות עם מגבלות התכנון של מעגל בפועל.
@NickJohnson: חלק זה נכון, כן, מכיוון שיש מידע רב וחשוב שלא מצוין לתוכנה במפרט.
@NickJohnson תגובה בלבד: אי שם בטווח של לפני 10 עד 30 שנה (נותן לך קצת היקף) אני זוכר שקראתי דו"ח לפיו ה- TSP נפתר - מה שמשמעותו של "נפתר" בהקשר זה.אני מניח ש"נפתר "פירושו שנטען אלגוריתם או שיטה שהניבו תוצאות אופטימליות למכלול אילוצים.|אחרי זה הם ללא ספק עברו לבעיית גוף ה- N :-).
כבר לפני זמן רב בחבילות PCD היה מקום אוטומטי ראשוני שלא ניסה להציב רכיבים בצורה אופטימלית, אך מה שהיה שימושי לעצירת כל מה שמסתיים בערמה גדולה מלכתחילה.בימים ההם של DOS Protel כתבתי תוכנית שעיבדה את קובץ הפלט הסכמטי המבוסס על טקסט בכדי למקם מחדש ולשנות את גודל המזהים של רכיבים על גבי מסך המשי כך שהם למשל יונחו בתוך טביעת הרגל של הרכיב ולא כיסו חורים.השתמשתי בזה בעיקר לשני רכיבים ציריים מובילים דרך חור כגון נגדים.הרחבת זה עם סט כללים להעברת רכיבים נבחרים למתאימים ....
.... מיקומים יחסית יהיו רק עניין של לעשות את זה.להגדיר מה זה "זה" יהיה החלק הקשה.אני לא יודע אם תוכנה מודרנית יותר מעניקה לך את מידת הגישה לניהול ותיאורי רכיבים וניהולם שעשתה תוכנת DOS המבוססת על טקסט (די בשוגג).
שֵׁשׁ תשובות:
Whiskeyjack
2015-04-26 03:41:14 UTC
view on stackexchange narkive permalink

לאחרונה תכננתי כמה מעגלי PCB והייתי מציע לך לא להשתמש במיקום אוטומטי או בנתב אוטומטי עבור המוצר הסופי שלך. (ל- Proteus יש מיקום אוטומטי.)

קודם כל - התוכנה שלך היא חכמה כמו תולעת אדמה בכל מה שקשור למיקום אוטומטי או ניתוב אוטומטי. במילים אחרות, זה מטומטם כמו תפוח אדמה.

ניתוב אוטומטי לא יידע איזה מיקום יביא לך דפוס עקבות טוב יותר שיאפשר לך לא רק ליצור עיצוב יעיל אלא גם למזער רעש במעגל. . באופן דומה ניתוב אוטומטי אינו יודע כי העברת רכיב מעט שמאלה או ימינה תאפשר לך לנתב מסלול בצורה טובה יותר. כלים אלה פשוט יתנו לך עיצוב הנכון בהתאם למעגל. אבל כשמדובר בביצועים בעולם האמיתי, הדברים שונים.
לדוגמא:

  • קבלים לניתוק צימוד צריכים להיות קרובים פיזית לממשק. בשטח הפחות סגור.
  • מישור הקרקע צריך להיות מוצק ככל האפשר.
  • אסור שאותות מפריעים יהיו קרובים למתנד הגביש שלך.

התוכנה שלך לא תכבד את המושגים האלה מכיוון שאלה לא מוזכרים בסכמה שלך. אתה תדע רק מתי ייצור לך את ה- PCB וזה לא עובד כמצופה כל הזמן. אני לא אומר שזה לא יעבוד. זה עשוי לעבוד, 90% מהפעמים, אבל אתה צריך לקחת בחשבון גם את אותם 10%.

ההצעות שלי הן שאתה צריך ללמוד כמה מושגים בעיצוב PCB ולנסות להציב ולנתב לבד. אתה תמיד יכול לפרסם את פריסת הסכמה והלוח שלך בפורומים ומומחים יתנו לך את דעתם / הצעותיהם.

+1 לתולעת האדמה ותפוח האדמה.בכל פעם שהשתמשתי במיקום אוטומטי ובמכשיר אוטומטי, עשיתי את החלקים הקריטיים והשארתי את זה קצת קל, אבל אפילו זה היה יותר מדי לשאול: 60% מהלוח הונח ונותב לאחר המעבר הסופי.עדיף לעשות הכל בעצמנו, למעט אולי עיצובי דרישות ענקיים עם הרבה מקום פנוי.
@Mister - כן אתה צודק.אפילו אני משתמש בנתב אוטומטי מדי פעם כדי לקבל מושג לניתוב ואני מסיים את החלקים הקריטיים.עם זאת אני משתמש בימינו בימינו ואין בו מיקום אוטומטי.
הקלדה בתגובה שלי לעיל: "לעיצובים ענקיים של דרישות LOW *".ברור שתדר דיגיטלי בתדירות גבוהה לא יתפקד היטב עם הפעלה אוטומטית ומיקום אוטומטי ...
אני לא רואה שום סיבה תיאורטית שבגללה נתב אוטומטי לא יכול היה לקחת בחשבון את כל האילוצים והנוהגים המוזכרים לעיל בעת הצבה אוטומטית של חלקים.למעשה, נתב אוטומטי אידיאלי אמור להיות מסוגל למצוא את המיקום האופטימלי העומד ביעדים אלה טוב מכפי שאדם יכול.זו בעיה קשה להיות בטוח, אבל לא בלתי אפשרי והייתי מהמר שבקרוב נתחיל לראות נתבים אוטומטיים מבוססי ענן עם מיקומים אוטומטיים שיכולים לנצח אפילו את בני האדם הטובים ביותר.
@bigjosh - ההערה שלך הגיונית מאוד.לניתוב ולמיקום נכון יש כמה קווים מנחים שאם הם מתפרקים לוגיקה פשוטה, עליהם לאפשר למחשבים לבצע ביצועים גבוהים יותר מבני אדם.כל מה שיישאר הוא אולי טריליוני חישובים - בדיקת אלפי לוחות מנוהלים לחלוטין וחישוב הפיתרון האופטימלי.עם מערכות מבוססות ענן, זה לא אמור להיות קשה מדי.נקווה שפרויקט קוד פתוח יתחיל בקרוב כדי להפוך את זה למציאות.זה יכול להיות טוב יותר מבני אדם באופן שבני אדם לא באמת הולכים לחזרות מרובות ברגע שמצאו פיתרון עובד - לפחות אני לא.
ביצוע מיקום וניתוב על גבי PCB שכבה אחת יכול לבזבז הרבה זמן אם אתה מבצע זאת באופן ידני.אני רוצה שהאפליקציה תגיד לי איך להציב את הרכיבים בכדי להשיג כמה שפחות "חוטי אוויר" בפרויקטים של DIY.כמובן שזה אמור לאפשר לי להוסיף אילוצים, כגון תיקון המיקום של רכיבים מסוימים.
@dan - אני מניח שכולנו רוצים את התכונה הזו.אולם נכון להיום אין חבילת CAD המספקת פתרון אמין עבור אותו דבר.כמו שאמר ביג'וש, תיאורטית זה אפשרי אבל נכון לעכשיו, עדיף לך לבצע את ההשמה בעצמך.
@Whiskeyjack למספר תוכניות יש מיקום אוטומטי וניתוב אוטומטי.אם זה מספיק טוב, כולם יכולים להחליט, אני מניח.אני באופן אישי מציב את הרכיבים "החשובים" באופן ידני ונותן לתוכנית למקם את השאר (+ ניתוב אוטומטי).
Some Hardware Guy
2015-04-26 04:01:02 UTC
view on stackexchange narkive permalink

לנתב שלי יש מיקום ותמיכה ב"חדרים ". בואו תוכלו לצייר אזורים ולהקצות חלקים ל"חדרים "מהסכמה. המיקום האוטומטי יקבץ אותם יחד בחדר אליו נקבע החלק. די בטוח שיש לו תמיכה במחבר הזה צריך לעבור גם למיקום זה. יש גם כלי שיכול לבצע מיקום ניתוק צימוד אוטומטי ובחירת חלקים / אופטימיזציה על בסיס תוצאות סימולציה. זה אמנם לא זול :) אבל כן עובד.

המיקום האוטומטי יכול לחסוך לך מעט זמן על ידי הצבת הכל ככה ביחד. אבל אני עדיין מעדיף לחקור את הסכימה על פני הפריסה במצב מקום.

בדיוק כמו הנתב האוטומטי אתה מוציא את מה שאתה מכניס מבחינת אילוצים וכמה טוב אתה יכול להשתמש בו. אם אתה פשוט מנסה להשתמש בנתב האוטומטי שלך מבלי להגביל אותו כראוי הוא פשוט עובר לכל מקום. כאשר אנו מוגדרים כראוי אנו משתמשים בו לניתוב נכון של חלקי DDR באורך גדול. על לוחות גדולים וצפופים הרבה יותר זה כמעט הכרח, ובוודאי דרישה לחנות שירותי פריסה שזקוקה למהירות. עם זאת, דברים אלה עשויים שלא להיות שווים עבור מישהו שעושה רק כמה לוחות קטנים בשנה.

מה חבילת ה- CAD שלך?
הגרסה המתקדמת של אלגרו, הניתוק הוא מסגריטי שנמצאת כעת בבעלות קצב.אני אוהבת גם רפידות.הנתב האוטומטי מבוסס הנתיב החדש שאמור להיראות כמו ניתוב ידני נראה מעניין.
היה לי תחושה שזה יכול להיות קיידנס.השתמשתי בו למבוא לתכנון IC, זו אכן חבילה מצוינת ואני מאמין שהמכשיר אוטומטי והמפיץ האוטומטי שלה עשוי להיות יעיל רק אם המגבלות מנוסחות כהלכה (מה שמגיע לניסיון / אימון).
יפה אמרת.הצבת חלקים וניתוב הם לא בלתי אפשריים, זה פשוט הרבה יותר מטושטש מללכוד סכמטי.קודם כל, דיאגרמת המעגל קצרה מהכניסה המלאה לחלקים אוטומטיים.חבילות PCB רגילות מיועדות לחיווט ולא למיקום אוטומטי.
Connor Wolf
2015-04-26 11:09:42 UTC
view on stackexchange narkive permalink

דבר אחד שאתה לא שוקל הוא ש סכמטי אינו מכיל מספיק מידע כדי לפרוס לוח כראוי .

בעיקרון, פריסת ה- PCB דורשת התחשבות ולינה עבור כמה עשרות דרישות פריסה לחלק , שאף אחת מהן אינה מקודדת בתרשים. קחו בחשבון רק את הקבלים העוקפים. כדי שתהיה מערכת אוטומטית למקם כראוי את הקבל העוקף עבור כל רכיב, תצטרך שיהיו לך כמה הוראות נוספות על הסכימה שמכתיבות למפעיל אוטומטי שהעקבות בין שני הצמתים חייבת להיות מתחת לאורך מסוים.
ככל הנראה, אז תצטרך הנחיות נוספות כדי לקודד את ה עדיפות של מזעור האורך ברשתות שונות, משהו שיכתיב זוגות דיפרנציאליים / עכבה מבוקרת, עקבות שמירה (אם יש צורך) וכו '...
בעיקרון, ישנם הרבה משתנים נוספים המניעים את המיקום שבדרך כלל אינם מקודדים כלל במסמכים סכמטיים / עכברים.

יתר על כן, גם אם אתה מניח שיש לך את כל מגבלות העיצוב לעיל, הגודל העצום שטח הבעיה לפריסה משותפת הוא עצום. זה המקביל לניסיון לפתור משוואה עם אלפי תשומות, כאשר לכל קלט יש השפעה שונה ולא ליניארית על כל האחרים. למעשה, הבעיה בלתי ניתנת לביצוע מבחינה כוחנית. לפיכך כל פתרון חייב לכלול מנגנון היוריסטי כלשהו, ​​שיש בו מורכבויות משלו.


באופן מציאותי, הסיבה העיקרית לכך שאין לפחות טובים יותר autorouters היא שיש פשוט אין שוק. שוק ה- EDA הוא קטן יחסית בהשוואה לשווקי תוכנה רבים אחרים בנישה, המיועדים למטרה מיוחדת, ואפילו המכשיר הראשי הטוב ביותר אי פעם אפילו לא יתקרב לפריסה אמיתית של אדם ממשי.

כשעומדים במערך משעמם במיוחד, בדרך כלל יש לי כמה פנטזיות לנסות לעצב את ה- Autorout שלי בעצמי, על ידי לעשות משהו עם שדות וקטוריים וחישול מדומה, אבל אפילו זה רק יתקרב לאופטימום מקומי, אלא בכלל. פריסה אופטימלית.

Bob Kerns
2015-04-26 23:28:55 UTC
view on stackexchange narkive permalink

עוד בשנים 1974-1975 עבדתי במחלקת אוטומציה לעיצוב בהוניוול. הבעיה לא השתנתה מאז:

  1. לא ניתן לבצע אופטימיזציה מבחינה חישובית. כמו רוב בעיות האופטימיזציה הגלובליות, זה NP-Complete, כלומר מורכבות החישוב גדלה במהירות להחריד. מכיוון שאתה לא יכול לחכות טריליון שנים (או גרוע מכך), אנו יכולים לראות את הפתרון האופטימלי כבלתי אפשרי למצוא.
  2. לתוכנית לא ברור בדיוק מה ברצונך לייעל. קיבוץ לוגי על פי המודל שלך של ארגון המעגלים? אורך עקבות? אזור לוח? צימוד טפילי? עיכוב התפשטות? פיזור תרמי (טמפ 'מקסימלית)? דימום תרמי ממקטעים בעלי הספק גבוה יותר לרכיבים רגישים לטמפרטורה? פליטת RF? רַעַשׁ? מאפיינים מכניים (למשל, הצבת רכיבים מאסיביים יותר ליד התומכים המכאניים? מאפייני שירות, כמו לא לשים מחברים על הלוח קרוב יותר ממה שאצבעות אנושיות יכולות לנהל? אילוצים חיצוניים, כמו מיקומי מחברים, או התאמה לשטח הפנוי (ללא התנגשות עם קיימים, אוהדים וכו ').

ישנן גישות מבוססות AI להתמודדות עם בעיות כאלה. עם זאת, בשלב מסוים, קל יותר למעצב פשוט לנסות דברים ולקבל משוב מהתוכנה לגבי קריטריוני העיצוב שהוא מעוניין בהם. לספר לתוכנות AI כל מה שאתה יודע יכול להיות משימה אינסופית, חסרת תודה. בסופו של דבר, התוכנה צריכה לספק לך, המעצב, ומכלול הפשרות שלך. הדרך הטובה ביותר לעבוד זה היא אם כן לראות זאת כשיתוף פעולה בין מעצב לתוכנה, כאשר המעצב מקבל את ההחלטות הסופיות. התוכנה יכולה לספק מידע על המאפיינים ויכולה להציע דרכים לשיפור מאפיין של עניין, והל נחקר את ההשלכות של שינוי.

אבל אני צופה שלעולם, לעולם, לא נראה פריסה אוטומטית לחלוטין - כל עוד יש לנו בני אדם שמסתכלים על התוצאה ואכפת להם.

כל כך הרבה לסינגולריות ...
@PeterMortensen דעות אנושיות לא יהיו חשובות לאחר הסינגולריות.
אני חושב שנקודה 2 היא באמת החלק הרלוונטי היחיד בתשובה.ישנם אלגוריתמים רבים שיכולים לפתור במהירות רבה בעיות שלמות NP, עם גדלי בעיות משמעותיים, במידה "מספיק טובה" עם עלות זמן מקובלת מאוד, מספיק טוב לעיתים קרובות בתוך 2-3% מהאופטימלי.
זו נקודה טובה לגבי "מספיק טוב"! למרות שתהיה מדויקת טכנית לחלוטין, עלינו להכשיר את המילה "לפתור" (כפי שעשית). העלות במעבד ובאחסון הייתה אז בעיה ענקית.אך למרות שגדלי הבעיות גדלו, יכולת החישוב שלנו גדלה עוד יותר.
Matt Young
2015-04-26 02:54:26 UTC
view on stackexchange narkive permalink

לתוכנה שלי יש מיקום. רצתי את זה פעם אחת רק כדי לראות מה יקרה. הוא הלך ושואג דרך הלוח, והכניס את כל הרכיבים עליו. כשהסתכלתי על זה, חלקים היו בכל מקום. ה- IC היה בפינה אחת וכובע הניתוק שלו נמצא בשנייה. הדרך הקריטית זיג-זיג הלוך ושוב על פני הלוח.

הנקודה שלי כאן היא מיקום זה החלק הכי קשה בפריסה כדי להשיג נכון. ראשית יש אילוצים מכניים. מעצב ה- ME / התעשייה מעוניין שהמחבר / מתג / סיר / נורית / כל רכיב ממשק חיצוני אחר יירד מהלוח בנקודה מסוימת. רכיבים מסוימים עשויים להיות גבוהים מכדי להיות באזורים מסוימים בתוך המתחם. יתכנו חלקים במעגל שצריכים לשמור על פינוי מסוים לבידוד.

תוכנה יכולה להיות מוגדרת כך שתתמודד עם חלק מהגורמים הללו, אך היא לעולם לא תעשה עבודה טובה כל כך, או שתוכל לראות חזותית בעיות כמו שאדם יכול. בעולם מושלם, אם תקבל נכון את המיקום, תעשה ניתוב כוח, קרקע ונתיב קריטי, מעבר מהיר של המפעיל אוטומטי אמור להיות מסוגל לסיים את הפריסה.

אני אוהב את התשובה הזו, אם כי עדיין נראה במידה מסוימת שהתוכנה אינה תלויה במשימה שהיא צריכה להיות.
@Adam ככל שתקבל יותר ניסיון, תבין טוב יותר.תהליך ההשמה מורכב להפליא, וקן חולדות מספר רק חלק מהסיפור.קח כובעי ניתוק למשל, כיצד אמור המיקום לדעת היכן לשים אותם?ככל שזה נוגע, ניתן למקם את הכובעים הללו יחד במקום שרירותי כלשהו.
אילוצי מרחק נראים כאפשרות אפשרית לכך.
מה שם התוכנה שלך?
ThreePhaseEel
2015-04-26 06:16:42 UTC
view on stackexchange narkive permalink

השתמשתי בעבר במוצבים אוטומטיים, והם אכן מטומטמים כמו ערמת סלעים. הדבר היחיד שאליו אתה יכול להשתמש בהם בשפיות הוא להתיר ערימה של עקבות שכולן יובאו ללוח שלך באותו מקום עליו; כל דבר אחר הוא פשוט יותר מדי לשאול.



שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 3.0 עליו הוא מופץ.
Loading...