Як ви нападаєте на нову дошку?


24

Ви повертаєте друковану плату від виробника. Це новий дизайн, у вас, звичайно, викладені всі основні частини, але ви знаєте, що тут будуть проблеми. Є дуже багато речей, які можуть спричинити проблеми, наприклад:

  • Помилки в схемі
  • Помилки в макеті, не знайдені ERC / DRC
  • Неправильно розміщені деталі під час пайки
  • Шорти та інше під час пайки
  • будь-яке поєднання перерахованого

Останнім часом у мене було дві відносно складні дошки, на яких мені довелося знезаразити цілі дошки після складання, щоб знайти помилку. Я знайшов помилки, але дошки були брухтом.

Я намагався почати з чистого мінімуму деталей і деталей, які неможливо паяти рукою (я використовую пасту, трафарет і тостер). Зазвичай це MCU, роз'єм JTAG і кілька конденсаторів. Потім я поступово заселяю інші райони, перевіряючи їх на проблеми.

Цей підхід працює, але насправді повільний. Я також повинен коментувати / коментувати будь-який код, який передбачає наявність певного обладнання.

Хтось має поради / пропозиції щодо того, як підійти до нещодавно розроблених друкованих плат?

EDIT: Я головним чином замислююся над тими проблемами, які залишають вашу борту мертвою, як, наприклад, приховані шорти електроживлення або що-небудь, що цеглу MCU.


2
може бути хорошою ідеєю заповнити джерело живлення та розподілення, включаючи об'ємні та байпасні кришки, а потім застосувати вхідну потужність до плати. якщо у вас є танталова шапочка ззаду, ви дізнаєтесь поспіхом. потім перевірте, що MCU (та ін.) має правильні напруги живлення у правіх штифтах, перш ніж переходити до заповнення цих пристроїв.
JustJeff

1
В якості побічного коментаря, я думаю, що це хороша практика зберігати свій код "модульним", як ви робили (видалення функцій для відсутніх периферійних пристроїв). Я завжди пишу свій код таким чином, що він буде функціонувати в режимі "демонстрації", який ігнорує відсутні периферійні пристрої, але все одно працює через логіку програми, поки я не переконаюся, що периферійні пристрої відлаштовані правильно. Тоді ваша програма принаймні запускається, щоб ви могли сказати, чи вона запрограмована.
AngryEE

2
Коли ви застосовуєте вхідну потужність, почніть з низької межі струму.
starblue

1
Має бути вікі спільноти.
Брайан Карлтон

1
@Morten - Ах, має сенс. Ви маєте рацію, шапки навряд чи спричинить проблеми.
Кевін Вермер

Відповіді:


10

Я вирішив, що заздалегідь дошка - це марна трата часу, якщо немає аспектів виконання частини, які потрібно оцінювати самостійно.

Я навіть думаю, що складання дошки в шматках - це марна трата часу. Початковий апаратний налагодження займає лише день-два. Будь-які тонкі проблеми не з’являться до тих пір, поки інтеграція програмного забезпечення все одно не з’явиться. Я вважаю за краще налагоджувати одну схему (повну), ніж кілька спеціальних скорочень схеми.

Просто будуй річ! Зберіть всю дошку та ввімкніть її. Подивіться на напругу живлення. Скільки мА вона малює? Яка частина горить гарячою? Яка частина тепла? Потім спробуйте записати мікропрограму на будь-який мікроконтролер на платі. Потім починайте писати прошивки. Дістаньте годинник і перемкніть шпильку. Підключіть послідовне (або будь-яке інше) спілкування. Тепер напишіть програми тестів для кожної периферії. Потім побудуйте виробничий тестовий пристрій і починайте писати «справжню» прошивку.


Редагувати:

На знаходження застряглих рейок

Якщо решітка подачі застрягла в землі (вимірює 0 Ом омметром), включіть її на жим лавки. Встановіть напругу в нормі, а межу струму - кілька сотень мА. Роздрукуйте конструкцію друкованої плати на папері та знайдіть DMM, який вимірює мікровольта. Виміряйте мікровольти, починаючи з клем живлення, і запишіть падіння напруги на роздруківці друкованої плати. Дивлячись на мікровольтові відмінності, ви можете простежити, куди саме йде струм, не депопулюючи або рубаючи друковану плату. Ця методика є кращою, ніж використання омметра, тому що ви можете перекачувати багато струму по ланцюгу, більше ніж будь-який звичайний омметр.

Подібна техніка працює для пошуку коротких слідів на дошці, що заселяється. Запустіть плату і використовуйте область, щоб знайти "цифрові" сліди, які знаходяться в діапазоні напруги.


Я використовував той самий підхід. Зазвичай це спрацьовує, але пару разів повертався, щоб мене кусати досить сильно. Останній раз це було, здавалося б, невинне гніздо під з'єднувачем, яке було проклеєне під час виготовлення та коротке заземлення та потужність літаків. Я повністю винен, але це була невтішна і важко знайти помилка.
ранок

1
Для використання підходу "Просто будуй річ", я думаю, що мені потрібно замовити більше, ніж одну плату.
ранок

Я бачив щупи "давника", що використовуються для подібної мети - до нуля на короткому. На жаль, я не можу знайти посилання на продукт.
Toybuilder


20

Я роблю це, спочатку заповнюючи дошку з мінімальним мінімумом, спочатку працююча подача, потім MCU, потім додаються різні підсистеми по одній, і тестую їх, перш ніж продовжувати, записуючи тестове програмне забезпечення за необхідності. Я не вважаю процес зовсім повільним.

У мене протестовані дошки будь-якої складності. Це коштує додатково, але воно того варте.


3
знадобиться лише одна значна помилка, знайдена таким чином, щоб зробити це набагато набагато швидше
Кортук

11

Я маю лише невеликі схеми. Тоді я паю малі схеми на протоплати. Якщо ви працюєте з мікросхемами SMD, це допоможе отримати адаптери SMD-> Thru-hole.

Це в основному дає вам "будівельні блоки". Потім я паю ці блоки блоків на комплект розробників або на стару друковану плату з MCU, яку я намагаюся використовувати. Це виглядає вибагливо: чотири-п’ять різних невеликих друкованих плат, що звисають з більших, але це працює.

Як тільки у мене будівельні блоки працюють на платформі розробників, я переходжу на друковану плату. Якщо схематичні зміни взагалі змінюються під час виготовлення друкованої плати, я повертаюсь назад і перероблю будівельні блоки та ще раз перевіряю їх на платі розробників.


Зі сторони, замість коментування коду, слід вивчити використання директив #define та #ifdef препроцесора. Це значно спрощує додавання та видалення функціональних блоків коду в MCU.


Звучить так, як я це роблю, як мені здається, це дуже приємний спосіб розвивати дизайн. Це також дає можливість повторно використовувати деталі пізніше.
Trygve Laugstøl

9

Для дощок будь-якої складності розробити план тестування так само важливо, як і розробляти саму дошку. Навіть на самому початку проектування дошки, це гарна ідея знати, що ви протестуєте, хоча впровадження ще не існує; "дизайн для тесту", як кажуть. Обов’язково піднесіть ключові сигнали до тестових майданчиків. Спробуйте розділити конструкцію так, щоб окремі підсистеми могли виховуватися незалежно або якомога більше незалежно.


Хм, чудова пропозиція! Я чомусь раніше не думав над "дизайном для тесту" в цьому контексті.
ранок

2
ви можете підняти його на наступний рівень, спроектувавши здатність до самотестування. це додає складності вашій дошці, але це може полегшити перевірку вашого дизайну і навіть надає можливість включити самовипробування при включенні у свій польовий продукт.
JustJeff

8

Я припускаю, що одне з ключових питань: що таке контрольний список перед польотом, перш ніж випускати дошку для виробництва. Мій список перед польотом:

  1. Схематичний огляд дизайну
    1. Чисті назви та офлайн-порти
    2. Підключені шнури живлення
  2. Схематична ДРК
  3. Скраб для ніг
    1. Повний номер виробника
    2. Номер деталі відповідає сліду на друкованій платі та схематично розбиває
    3. Номер штифтового відбитка "правильний вгору" і правильний
    4. Розміри стопи двічі перевіряються на розміри отворів, зазор, запаси тощо.
    5. Сполучні з'єднувачі орієнтовані правильно; шпильки 1-до-1, 2-до-2 тощо.
  4. Розміри друкованої плати та отвори
  5. PCB DRC
  6. Fab Drawings має всі шари та виклики викликів.

Ця спільнота відповідей wiki'd.


5

Що сказали інші хлопці, це все дійсно, але я хотів би додати свої 2 копійки вартістю.

Абсолютна найкраща річ - це не робити помилок в першу чергу. Здається, це дурно згадувати, але занадто часто це не помічається. Зробіть схематичну перевірку та дизайн плати. Нехай кілька людей дивляться на ваш дизайн - навіть інженерів-початківців. Використовуйте перевірки правил дизайну у вашому програмному забезпеченні. Використовуйте будь-який доступний ресурс, щоб переконатися, що ваш дизайн хороший. Майте належну інженерну практику, щоб покращити шанси зловити помилку.

За останні 20 років і, спроектувавши десятки і десятки друкованих плат (деякі з 14 шарами і 2000 компонентами), у мене були лише ДВІ друкованих плат, які були непридатними для першого раунду прототипів. Звичайно, у мене були помилки, але лише дві дошки були «замуровані».

У кожному випадку прототипи були повністю заповнені, перш ніж я коли-небудь почав їх налагоджувати. Я б вийшов з силових рейок, щоб переконатися, що немає шортів. Потім зробіть візуальний огляд за допомогою мікроскопа. Потім увімкніть його. Після цього я розпочну з методичного сеансу тесту та налагодження - працюю над невеликими ділянками схеми за той час, поки все не перевіряється і працює. У більшості випадків я б вніс декілька змін і перейшов до обсягу виробництва з наступною ревізією друкованої плати.

Нічого цього не було б можливим без великих зусиль, щоб зменшити помилки на передній частині.


Деякі виробники (наприклад, 4pcb) навіть пропонують безкоштовні тести DFM на своїх гербер. Ці безкоштовні тести - чудове доповнення до ДРК ваших інструментів друкованих плат.
ajs410

4

Що стосується абсолютно свіжого дизайну, я, як правило, підходжу з підходом «поділити-перемогти».

Я намагаюся ізолювати основні архітектурні блоки та живити кожну секцію незалежно, використовуючи комутатори / джерела постійного струму / потенціометри тощо, щоб імітувати залежності, необхідні для запуску схеми.

Такий підхід, як правило, не важкий, коли ви маєте справу з джерелами живлення - для перетворення на більшість перетворювачів потрібен лише вхід і, можливо, кілька логічних сигналів (і, сподіваємось, ні) випускати чарівний дим відмови).

Дошки, які є другим / третім віджиманням (очищення), зазвичай не потребують такої ретельності. Я можу тільки ізолювати частини схеми, які були змінені, перевірити їх самостійно і зберегти тестування решти схеми на включення все включеного живлення.

Не забувайте про свої особисті засоби захисту. Мені дуже незручно живити що-небудь із відкритими компонентами без захисних окулярів (а іноді і вушних пробок ...)


1
+1 для захисту очей / вух! Я одного разу почув вибухаючий ЦАП з усієї лабораторії - хлопець, що працював над ним, мав тимчасову сліпу пляму у своєму зорі близько 5 хвилин!
Toybuilder

3

Ну, один з перших кроків, щоб запобігти виникненню коротких мереж в першу чергу - це добре використовувати перевірку правил дизайну у вашому програмному забезпеченні. Обидва на схематичному рівні, щоб переконатися, що мережі не випадково пов'язані між собою, коли їх не повинно бути; і на рівні друкованої плати, щоб забезпечити достатній зазор між сітками.

Якщо є якісь елементи дизайну, які є неперевіреними, а не вирішують цілком новий дизайн на одній дошці, я намагаюся створити тестові докази перевірки концепції та надійності на дешевих протоблоках (як, наприклад, послуга BareBonesPCB Advanced Circuit - два шарів, без паяльної маски, близько 80 доларів за 24 години повороту).

Навіть коли я роблю повну дошку, на дошках першого покоління мені подобається розміщувати безліч заголовків. У деяких випадках ви можете зафіксувати дві однакові друковані плати, одну із "стабільною" частиною, при цьому шпильки заголовків виходять до верху; та інший з "тестувальною" частиною, із нижньою гніздою вхідного штифта. Якщо все перевіряється нормально, ви можете закінчити заповнення обох дощок. Або ви можете накручувати нові версії схеми "тестування", які можна поміняти на місце.


заголовки чудові, особливо якщо вам потрібно пізніше переробити або додати функції, або вам потрібні імпровізовані виводи налагодження. Мені також подобається ідея робити BareBones для невеликих протоколів ... можливо, це зробити я сам
ajs410,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.