Почему моя пользовательская плата на базе Arduino-Micro не получает питание через USB?

ОБНОВЛЕНИЕ: кажется, я в основном решил проблемы с питанием, но теперь есть проблемы с USB-подключением, описанные в ИЗМЕНЕНИИ 3 внизу.

Я разработал и напечатал печатную плату для моего проекта MIDI-контроллера со встроенным модифицированным микроконтроллером Arduino Micro. Я заменил USB Micro на порт типа USB-C (используя только протокол 2.0), но когда я подключил его, , после программирования загрузчика на ATMEGA32U4 через «Arduino as ISP» с Uno в качестве ISP для ICSP моей платы, кажется, что моя плата не получает питание от шины USB (индикатор питания не загорается и не распознается как USB-устройство), но она получает питание через шину USB. ICSP и я получили сообщение об успешном завершении программирования с помощью Uno.

Я перепробовал много USB-кабелей, в том числе кабели USB-C, которые, как я знаю, совместимы с 2.0, и кабели USB Micro (которые были протестированы с обычными Arduino Micro) с адаптерами micro-to-C, но все равно ничего не получалось. Моя печатная плата имеет полную идентичность с моим файлом SCH, и я тестировал ее на нескольких из этих плат, которые я распечатал, поэтому я почти уверен, что, должно быть, я что-то напутал в схеме или в выборе компонентов (не все точные компоненты из файла). официальная схема Arduino Micro была доступна на JLCPCB, где я распечатал свою, поэтому я сделал некоторые замены).

Кто-нибудь может помочь мне понять, в чем может быть проблема?

EDIT 1: Итак, я обнаружил, что питание поступает через USB, его показания 5 В на контактах USB, 5 В с обеих сторон предохранителя F1 и контакта VUSB T1 FDN340P/PMV48XP, но 0 В на оба контакта VIN и +5V одного и того же T1, так что, похоже, это проблемный компонент? Я использую PMV48XP в этом положении, не уверен, что я как-то напортачил? Я немного не в себе, я думаю

Я загрузил схему и список компонентов ниже: Отредактированная микросхема Arduino

Компоненты:

| Обозначение | Значение | Компонент |
|:------------------------------------------------ --------|:---------------------------------------|:-------------- -------------|
| C_ARD_1, C_ARD_2, C_ARD_6, C_ARD_9, C_ARD_10, C_ARD_11 | 100н | CL05B104KO5NNNC |
| C_ARD_3, C_ARD_14 | 22у | РВТ22УФ16В67РВ0017 |
| C_ARD_4, C_ARD_5, C_ARD_7 | 1 мкФ | CL05A105KA5NQNC |
| C_ARD_12, C_ARD_13 | 22пФ | 0402CG220J500NT |
| D_ARD_2 | CD1206-S01575 | CDSU4148-HF |
| F1 | MF-MSMF050-2 500 мА | MF-MSMF050-2 |
| J3 | USB_C_Receptacle_USB2.0 | Х-ТИП-С-16П |
| Л1 | зеленый | 19-217/GHC-YR1S2/3T |
| L2 | MH2029-300Y | БЛМ21ПГ300СН1Д |
| ON1 | синий | 19-217/BHC-ZL1M2RY/3T |
| Р_АРД_1, Р_АРД_2, Р_АРД_4, Р_АРД_9 | 10К | 0402WGF1002TCE |
| Р_АРД_5, Р_АРД_6, Р_АРД_7, Р_АРД_8 | 1К | 0402WGF1001TCE |
| Р_АРД_10, Р_АРД_11 | 5,1к | 0402WGF5101TCE |
| РП3 | 22Р | 4D03WGJ0220T5E |
| RX1, TX1 | желтый | 19-213/Y2C-CQ2R2L/3T(CY) |
| Т1 | FDN340P/PMV48XP | PMV48XP |
| Т2 | PMV48XP | PMV48XP |
| У1 | ATMEGA32U4-XUMU | АТМЕГА32У4-МУ |
| У2 | NCP1117-5 | NCP1117ST50T3G |
| U4 | LP2985-33DBVR | LP2985-33DBVR |
| Y3 | 16МГц КХ-7 | 3225-16.00-10-10-10/А |
| Z1, Z2 | CG0603MLC-05E | EZJZ0V500AA |

EDIT 2: кажется, я нашел проблему. Похоже, что-то напутали, когда я выбирал посадочные места MOSFET-транзисторов T1 и T2. Вот скриншот из таблицы данных PMV48XP, показывающий информацию о закреплении: Информация о закреплении PMV48XP а теперь вот скриншот соответствующей части моего файла платы: Итак, согласно моей схеме (опять же, основанной на официальном Arduino Micro SCH, поэтому я предполагаю, что она верна?) T1 Gate должен быть VIN, T1 Source должен быть + 5V, T1 Drain должен быть VUSB. На моей печатной плате T1 Gate на самом деле VUSB, T1 Source на +5V, T1 Drain на самом деле VIN. Таким образом, похоже, что контакты Gate и Drain поменялись местами между моим SCH и моей печатной платой. Та же история с Т2. Может ли кто-нибудь с большим знанием подтвердить правильность соединений, указанных на схеме? И объясняет ли это проблемы, которые я описал?

EDIT 3: Я отпаял T1 и T2, которые действительно были неправильно подключены. Я замкнул контакты между VUSB и +5V на посадочном месте T1, и плата получает питание, как положено.

Теперь у меня возникла новая проблема, которая заключается в том, что после того, как я запрограммировал плату через ICSP (используя Arduino в качестве метода ISP, записав на нее загрузчик Arduino Micro), когда я подключаю плату к компьютеру (опять же, тестирование с различные кабели и порты), мой компьютер не распознает его как USB-устройство. Я не уверен, связана ли эта проблема с моей предыдущей проблемой (и, может быть, мне следует сделать новый пост, если нет?) или я сейчас ошибаюсь.

, 👍1

Обсуждение

Вы тестировали с таблицей USB-A на USB-C?, @timemage

@timemage Я пробовал несколько кабелей USB-A на USB-C и пару разных кабелей USC-C на USB-C (а также оба адаптера на микро-на микро-C), @Stuart

@jsotola Отличный момент, не знаю, почему я не попытался его измерить. Я обновил свой пост с более подробной информацией, но я повторю это здесь: я обнаружил, что питание поступает через USB, оно показывает 5 В на контактах USB, 5 В с обеих сторон предохранителя F1 и контакт VUSB T1 FDN340P/PMV48XP, но 0 В на контактах VIN и +5 В одного и того же T1, так что, похоже, это проблемный компонент? Я использую PMV48XP в этом положении, не уверен, что я как-то напортачил? Я немного не в себе, я думаю, @Stuart

Посмотрите, попадают ли 5 В на контакт 2 разъема J4. Если это так, у вас, вероятно, просто проблемы с прохождением оксида или флюса или чего-то еще непосредственно на выводе T1., @timemage

@timemage Итак, я не получаю 5 В на контакте 2 J4 или где-либо еще + 5 В, отмеченном на SCH, но я думаю, что нашел проблему. Я добавил более подробную информацию в нижней части моего исходного поста, но я каким-то образом перепутал контакты стока и затвора для каждого из моих транзисторов T1 и T2 между моей схемой и моим файлом платы, поэтому я считаю, что это вызывает мои проблемы, если я я правильно читаю свои собственные файлы SCH и PCB, @Stuart

Следы T1 и T2 неверны, как вы сказали. Если вы не собираетесь использовать Vin для питания устройства и собираетесь использовать только USB-кабель, вы можете отпаять T1 и T2. На посадочном месте T1 соедините контакты с маркировкой VUSB и +5V. Во время программирования через разъем ICSP убедитесь, что USB-кабель отключен. Все это как альтернатива более существенной переработке платы., @6v6gt

@ 6v6gt Ценю подтверждение и предложение. Я попробовал, и теперь он, кажется, получает питание от USB! Однако я, должно быть, что-то еще напутал или пропустил какой-то шаг, так как мой компьютер не распознает его как USB-устройство даже после того, как я запрограммировал его через ICSP., @Stuart


1 ответ


Лучший ответ:

1

Я думаю, вам нужно немного понимать, как работают T1 и T2, чтобы устранять неполадки. Назначение T1 - когда питание подается через VBUS, а когда Vin не представлен (т.е. при 0В), VUSB подается напрямую как 5В (минуя регулятор NCP1117). Однако, когда вы подаете питание через Vin, и оно по крайней мере выше 5 В (вероятно, 7 В), он выключит T1 и отключит питание VUSB, а T2 включен, Vin применяется в качестве входа для NCP1117.

Итак, имея это в виду, если вы подключаете свою плату через VBUS, но не можете получить 5 В, то у вас либо неисправность T1, либо вы неправильно подключили сток и исток T1. Однако, если вы питаете свою плату через Vin и не получаете 5 В, возможно, ваш Vin недостаточно высок, чтобы включить T2, или вы неправильно подключили T2.

,

Спасибо, я ценю информацию, поскольку я явно не очень хорошо осведомлен здесь. Похоже, что я неправильно подключил затвор и сток на T1 и T2, отпаял их и закоротил VUSB и +5V, чтобы напрямую использовать VUSB. В будущем я надеюсь пересмотреть свою плату, чтобы исправить ошибку без необходимости закорачивать какие-либо соединения, и, поскольку я планирую всегда питать плату через USB, похоже, что лучший подход — упростить конструкцию и удалить ненужные компоненты, если Я правильно понимаю? Могу ли я просто удалить T1, T2 и регулятор NCP1117 и использовать VUSB как + 5V?, @Stuart

Если вы не разбиваете пин Vin, чтобы пользователь мог подключиться через Vin, тогда да, вы можете удалить T1, T2, R_ARD_9 и NCP1117 и питать плату напрямую через USB., @hcheung