Перейти к содержимому

МК + USB: выпуск, сборка и запуск

Время: ~60 мин

Цели урока

  • подготовить полный комплект для изготовления и, при желании, сборки на заводе
  • собрать плату с TQFP-32 и USB-C и проверить пайку
  • запустить плату по шагам — от питания до загрузки прошивки из Arduino IDE

Финал второго проекта. Порядок выпуска ты уже знаешь по уроку 11.1.3, поэтому здесь — что отличается для платы с микроконтроллером и как её «оживить».

Комплект — тот же, что для платы питания: Gerber, сверловка, чертёж (модуль 10). Плюс две вещи:

  • BOM с MPN для каждой позиции (урок 10.4). У CH340C, кварца и разъёма USB-C укажи точный код заказа: это детали, которые легко перепутать с «почти такими же».
  • Pick&Place (урок 10.5) — если заказываешь сборку на заводе.

Перед заказом проверь Gerber в просмотрщике (урок 10.8), особенно:

  • окна маски между выводами TQFP-32 и USB-C: если производитель не может сделать перемычки маски такой ширины, он уберёт их, и риск перемычек припоя вырастет;
  • прорези под лапки разъёма USB-C на слое сверловки (а не только на контуре);
  • подписи гребёнок читаются и не залезают на площадки.

Если собираешь сам, порядок такой:

  1. USB-C первым, пока вокруг нет других деталей: паяльная паста и термовоздух или паяльник с тонким жалом и флюсом. Сразу проверь под лупой, нет ли перемычек между контактами, и прозвони VBUS–GND и D+–D− на замыкание.
  2. TQFP-32: зафиксируй за два противоположных угловых вывода, проверь, что все выводы легли на площадки, затем пропаяй стороны «волной» с флюсом. Излишки припоя снимай оплёткой.
  3. SOP-16, SOT23-6, кварц, потом пассивные компоненты 0805.
  4. Гребёнки, ISP, кнопка — последними.
  5. Отмой флюс и осмотри все паяные соединения под увеличением. Критерии хорошей пайки — IPC-A-610.

Не подключай новую плату сразу к компьютеру: короткое замыкание на VBUS может повредить USB-порт. Иди по шагам и не переходи к следующему, пока не прошёл предыдущий.

1Осмотрперемычки,полярность2Прозвонкапитание↔ GND3Питаниес ограничениемтока4Напряженияв контрольныхточках5USBCOM-портCH3406ISPфьюзы +загрузчик7Blinkпо USB,автосброс
Рис. 11.13. Порядок первого включения. Каждый шаг проверяет одно предположение. Если шаг не прошёл — дальше не идём: следующий шаг может сжечь плату или замаскировать причину ошибки.
Шаг Что делаем Ожидаемый результат
1 Прозвонка +5V–GND без питания нет короткого замыкания
2 +5 В от лабораторного блока на вывод 5V гребёнки, ограничение 100 мА ток единицы–десятки мА, горит HL1
3 Напряжения: VCC микроконтроллера (4, 6), AVCC (18), VCC CH340C (16) около 5 В на всех
4 Подключить USB к компьютеру (USB-хаб с защитой — ещё лучше) система находит устройство «USB-SERIAL CH340» и создаёт COM-порт
5 Записать загрузчик через ISP см. шаг 4
6 Загрузить «Blink» по USB HL2 мигает раз в секунду

С завода ATmega328P работает от внутреннего RC-генератора с делителем на 8 (по даташиту), то есть примерно на 1 МГц, и загрузчика у него нет. Чтобы плата работала как Arduino Uno, нужно один раз:

  1. Перепрограммировать фьюзы на внешний кварц 16 МГц.
  2. Записать загрузчик (Optiboot), который потом принимает прошивки по UART.

Проще всего сделать это из Arduino IDE. Подключи программатор ISP (например, USBasp или вторую Arduino с прошивкой «ArduinoISP») к разъёму XP3, выбери плату Arduino Uno, программатор и выполни команду записи загрузчика (в русском интерфейсе — Инструменты » Записать загрузчик). IDE сама выставит фьюзы для 16 МГц и запишет загрузчик.

После записи загрузчика отключи программатор, подключи плату по USB, выбери её COM-порт и загрузи пример Blink. Загрузка должна пройти без нажатия кнопки сброса — значит, автосброс через DTR работает.

Как и в проекте 11.1: протокол испытаний по всем пунктам ТЗ (урок 11.2.1), список найденных ошибок и улучшений, фиксация версии проекта. Типичные пункты в список v1.1 после первой сборки: подписи шелкографии, неудобное расположение кнопки, дополнительная контрольная точка.

🧯 Типичные ошибки

Компьютер не видит устройство вообще

Почему Нет питания CH340C, перемычка или непропай на контактах USB-C, перепутаны D+/D−, не подключён конденсатор V3.

Как исправить Проверь 5 В на выводе 16 CH340C, прозвони D+ и D− от разъёма до выводов 5 и 6, осмотри разъём под лупой.

ISP-программатор пишет «device signature = 0x000000»

Почему Микроконтроллер не отвечает: нет питания, непропай TQFP, ошибка в распиновке ISP или слишком высокая скорость программирования для заводской частоты 1 МГц.

Как исправить Проверь питание и распиновку ISP, снизь скорость программатора (у USBasp — перемычка медленного режима), осмотри пайку TQFP.

Blink загружается только с нажатием кнопки сброса

Почему Не работает автосброс: нет C4, DTR перепутан с RTS или стоит конденсатор RESET → GND.

Как исправить Проверь цепь DTR# → C4 (100 нФ) → RESET и убери конденсатор RESET → GND, если он есть.

Проверь себя

  1. 1. На какой частоте работает новый ATmega328P «с завода»?
  2. 2. Зачем разъём ISP, если есть USB?
  3. 3. С чего начинать запуск новой платы?

Практическое задание~60 мин

  1. Подготовь комплект файлов для заказа с монтажом: Gerber, сверловка, BOM с MPN, Pick&Place. Проверь по чек-листу.
  2. Распиши план запуска (таблица шага 3) для своей платы: какие выводы и контрольные точки мерить, какие значения ждёшь.
  3. Когда платы придут — пройди запуск по шагам и заполни протокол.