Косенко Данила Юрьевич (kosenko_danila) wrote,
Косенко Данила Юрьевич
kosenko_danila

Category:

Дай дураку микроконтроллер

Итак, спустя почти год, я решил по старой памяти собрать простую схему на макетной плате, чтобы прошить микроконтроллер при помощи платы Ардуино Нано. Всё, как в видео в этой статье
https://kosenko-danila.livejournal.com/215756.html
Ничего сложного.
Пины МК (в данном случае atmega8) считаются от "ключа", выемки на торце (в случае DIP-корпуса). Ключ вверху, слева идут сверху вниз пины, они же конакты, они же ноги, от 1 до 14. Справа, снизу вверх идут ноги от 15 до 28. Если в глазах не двоится, ноги перечитать не трудно.
Вставляем МК и ардуинку в макетную плату, соединяем ноги проводами. Если на МК надо ноги считать, то на ардуино все ноги подписаны и пронумерованы сверху.
Питалово: 7 и 20 контакты МК ("плюс") - на 5V ардуинки, 8 и 22 пины - на GND (он же "земля", "минус").
Первый пин МК, традиционно - RESET. Его, по документации, мы соединяем проводком с 10 пином ардуинки.
Затем берём три проводка и соединяем
13 пин МК - с 19 пином ардуины
12 пин МК - с 18 пином ардуины
11 пин МК - с 17 пином ардуины
Фсё!
Ардуинку мы уже прошили, как программатор скетчем "ArduinoISP", вот её и ставим в настройках программы Ardiuno IDE как программатор.
Выбираем в настройках ardiuno IDE плату atmega8, открываем в примерах, например, наипростейший blink (заставляет мигать светодиод с частотой 1 секунду). Выбираем Файл - "Записать с помощью программатора".

Нифига. В консоли arduino IDE вылезает ошибка "avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x15".
Но я же год назад её решал. Вот, даже пост есть https://kosenko-danila.livejournal.com/215866.html

-----самая важная цитата оттуда------
Необходимо установить конденсатор на 10 микрофарад между GND и Reset на ардуино, минусом на землю, чтобы избежать перезагрузки нашего ардуино во время заливки скетча в микроконтроллер.
---------------------

Конденсатор я-то поставил, но ошибка не исчезла. Помучился несколько вечеров, плюнул. А потом попробовал ещё раз. Привычно ткнул кондюк, увидел ошибку. Залез в собственный пост. Перечитал ещё раз.

Маленькое отступление.
Зачем вообще нужен конденсатор в том месте? Да потому что RESET у ардуины "висит в воздухе". То есть, ни к чему не подключён. И этот контакт ловит все "наводки" (все радиостанции, все радиосигналы и просто электромагнитное поле Земли), как маленькая антенна. А когда на этом контакте (он же RESET) появляется напряжение, ардуинка считает, что пришла команда на перезагрузку. Вот и происходит сплошная перезагрузка от электромагнитных возмущений.

Так, а конденсатор для чего? А тут уже вступает в дело всем известная вещь. Токов существует два: постоянный и переменный. Это знают все. А ещё есть токи высокой частоты и низкой частоты. Так вот, "наводки" относятся к токам высокой частоты. А конденсатор, такая вещь, что пропускает через себя именно такие токи. И, как только в контакте появляются наводки, они тут же уходят через конденсатор на "землю". Напрямую цеплять контакт на "землю" нельзя, будет короткое замыкание. К счастью, постоянный ток, который и вызывает КЗ, через конденсатор не проходит.

Вернусь к вышеупомянутой плате. "Сыщик повнимательнее присмотрелся"(с). Короче, я внимательнее присмотрелся. И выяснил, что замкнул конденсатором не RESET и GND, а 5V и GND. Грубо говоря, это тоже самое, что подключить конденсатор к плюсу и минусу источника питания. Короче, закоротить "батарейку". К счастью, как я уже выше написал, КЗ так вызвать не получится. Разве что зарядить конденсатор.

Дальше - лирика. Переставил контакты конденсатора к нужным ногам и всё нормально прошилось. Вставил другой МК, тоже atmega8, тоже нормально прошился. И blink сработал, подключил через резистор светодиод - мигает.

Да, а дурак-то почему?
Когда прошился и второй микроконтроллер, было уже поздновато, я начал разбирать схему. И, выдёргивая МК из макетки, погнул две ноги вверх. Автоматически попытался разогнуть и отломал. По счастью, отломились 14 и 15 ноги, две нижние, справа и слева. Значит, RESET, который на 1 пине, не потерян. Попробую приспособить этот МК под что-нибудь нетребовательное.


Вывод: читайте, ну, хотя бы собственные статьи. Желательно, внимательно. И старайтесь с умом применять силу в отношении тонких и хрупких вещей.
Tags: ардуино, микроконтроллеры, самоделки, юмор
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 6 comments