Мой ардуино сломался?
Я подключил свой Arduino Uno к внешнему источнику питания, но не заметил, что напряжение питания составляет 30 В. Я увидел, что деталь на картинке дымится, и немедленно выдернул кабель из Arduino. Теперь, каждый раз, когда я подключаю его к какому-либо источнику питания, загораются его «ON» и «L» («TX» и «RX» не горят), ATmega нагревается и не может получать скетчи с моего ПК. Он просто пишет
Проблема с загрузкой на доску.
Моя доска полностью мертва или я могу ее как-то спасти?
@Tom, 👍2
2 ответа
Лучший ответ:
Если '328P перегреется, он мертв. Но его можно заменить, вы даже можете купить его с уже загруженным загрузчиком.
Обведенная вами часть — это конденсатор емкостью 100 нФ, стоимостью 10 центов.
Если ПК не распознает его при подключении USB, то Atmega16U2, который обеспечивает интерфейс USB, неисправен. Это очень маленькая деталь для поверхностного монтажа, которую вы не сможете заменить без станции пайки горячим воздухом, и тогда вам понадобится программатор, чтобы перезагрузить ее программой интерфейса USB.
А если вы убили два регулятора, их тоже нужно заменить.
Купите другую доску, будьте внимательнее в следующий раз. Я бы взял 7,5 В или 9 В wallwart для питания. Я думаю, что вы можете купить wallwart и загрузочный '328P на www.dipmicro.com, www.sparkfruit.com, www.adafruit.com и т. д.
Вы можете попробовать заменить SMD-деталь, возможно, конденсатор (я могу ошибаться), если вы можете определить, какая это деталь, по схеме (или любой маркировке на плате). Однако вы могли повредить что-то еще. Вы узнаете об этом только тогда, когда замените дымящуюся деталь.
Возможно, вам повезло, и повреждена только эта часть.
Похоже, что ATmega вставлен в гнездо, поэтому вы можете попробовать вынуть его и вставить в другую неповрежденную плату, чтобы проверить, работает ли он по-прежнему.
Похоже, что дымящаяся часть находится рядом с регулятором, IC2
(я не уверен в этом на 100%), но это имело бы смысл, поскольку именно проблема с электропитанием изначально и стала причиной дымления. Возможно, повреждена только часть платы, отвечающая за питание (D1
, PC1
, PC2
, C2
, IC1
или IC2
— два больших черно-белых конденсатора с надписью 47 25V
на вашей фотографии — это PC1
и PC2
), и вы можете медленно разобраться с этим, проверяя и заменяя последовательные детали (опять же с использованием схемы).
Я бы не выбрасывал плату, у меня есть несколько частично поврежденных плат, которые работают только наполовину, но та часть, которая все еще работает, вероятно, подойдет для какого-то проекта в будущем... или, может быть, нет, в зависимости от повреждений.
По фотографии трудно сказать, что детали можно проверить с помощью мультиметра.
Учитывая, что светодиод питания и светодиод L
все еще работают, есть некоторая надежда. Попробуйте использовать вход USB для питания и посмотрите, поможет ли это, поскольку схема отличается от схемы разъема питания (без регулятора). См. VIN
и PWRIN
в сравнении с USBVCC
на схеме.
Вот схема разъема питания:
Вот USB-вход:
Однако, если, как вы говорите, ПК не может увидеть Arduino и связаться с ним, это затруднит его программирование.
Если у вас есть другая плата UNO со съемной микросхемой ATmega, запрограммируйте Blink.ino
на ATmega и поместите его в поврежденную плату, чтобы посмотреть, мигает ли светодиод L
. Если да, то, по крайней мере, часть платы все еще работает.
Однако, подводя итог, можно сказать, что ваш Arduino, скорее всего, не будет столь полезен, как до подачи повышенного напряжения, если только вам обоим не повезет и вы не замените несколько SMD-деталей.
С положительной стороны, воспринимайте это как опыт обучения тому, как отслеживать и устранять неисправности на печатной плате — очень полезный навык.
- Как лучше всего держать Arduino в водонепроницаемой распределительной коробке и предотвратить перегрев?
- Как использовать SPI на Arduino?
- Как решить проблему «avrdude: stk500_recv(): programmer is not responding»?
- Как создать несколько запущенных потоков?
- Как подключиться к Arduino с помощью WiFi?
- avrdude ser_open() can't set com-state
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?