В одной из своих «поделок» пришлось повозиться с увеличением срока автономной работы. Как бы я ни оптимизировал потребление питания, время «жизни» аккумулятора не дотягивал до необходимого. Даже в спящем режиме, миниатюрная arduino pro mini потребляет 10 мА. Поэтому я решил использовать atmega328 без лишних обвесов, которые присутствуют на плате и не нужны в моем проекте. Эти ухищрения принесли свои плоды – потребление тока упало до 10 мА в рабочем состоянии и 0.13 мА в спящем режиме. Все хорошо, но появилась новая задача – прошить микроконтроллер.
Подключение atmega328 к ttl конвертеру ftdi232
Для прошивки atmega328 идеально подходит usb to ttl конвертор ftdi232. Поскольку он имеет разъем DTR для соединения с reset микроконтроллера, не придется добавлять кнопок, которые обычно приходится нажимать во время загрузки прошивки. Конвертер будет полезен и при прошивке arduino pro mini, которую тоже не всегда удобно прошивать – приходится во время загрузки нажимать кнопку перезагрузки на плате arduino.
Схема подключения очень простая, кроме atmega328, понадобится только кварц на 16 мегагерц, три керамических конденсатора: два на 22 пф(соединяют кварц с минусом) и один на 0.1 мкФ (соединяет reset микроконтроллера с DTR ttl-конвертера). И для проверки работоспособности подключим светодиод через резистором на 300 Ом, которым будем «моргать». Ниже находится схема подключения:
Пример загрузки скетча через ttl конвертер ftdi232
Для проверки работоспособности схемы можно залить простой скетч из готовых примеров arduino ide, например, blink. Прошивка осуществляется, как и с обычной arduino: в платах нужно выбрать «arduino uno», а в портах – соответствующий com-порт, к которому подключен ttl-конвертер.
void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(2000); digitalWrite(13, LOW); delay(1000); }
Послесловие
В статье описывается пример работы с atmega328, в которую уже прошит bootloader. Но часто микроконтроллеры продаются совсем пустые, в таких случаях необходимо сначала прошить атмегу загрузчиком. Залить bootloader в МК можно с помощью arduino, которая настроена и прошита как программатор ISP. Если дойдут руки и будет свободное время, то напишу подробную статью на эту тему.
Спасибо за статью интересно.
Мне нравится такой подход, вижу цель не вижу препятствия. Нужно — оптимизировал потребление питания, захотел — прошил микроконтроллер. Так прогресс и движется, на идейном и творческом энтузиазме.
А я покритикую… Статья интересная, но не о чем… Нет?
Тогда подскажите следующее: «Какой программатор выбрать в среде Arduino IDE при использовании такого «переходника?» Замечание по поводу «Прошить с помощью программатора» мы упускаем..
Согласен, все звучит как ух смотрите, все просто: оппа… и вуаля . Конкретики никакой. На замечания по статье молчание. Таких статей как грязи в инете.
Зачем писал статью, тренировался чтоли?
«Критики» вы все не правы! Всё коротко и очень понятно — намного лучше, чем в других статьях: много и не о чём, да ещё с ошибками (не только грамматическими) — просмотрел и забыл.
Автору за схему, идею и краткость изложения +5
А может цель стать была только показать в принципе что это возможно?