Делаем COM программатор для AVR микроконтроллеров.

Автор: | 03.03.2010

титл COM программатораЕще одним несложным, в плане изготовления, является COM программатор. При условии использования альтернативного режима COM порта Bitbang, отпадает необходимость в преобразовании интерфейса RS232 COM порта в SPI, необходимый для программирования. Остается только привести уровни сигналов COM порта (-12В, +12В) к необходимым (0, +5В). Это и делает
схема COM программатора для AVR микроконтроллеров:

Схема COM программатора для AVR

Данная схема программатора достаточно распространена и известна как программатор Громова. Название пошло от автора программы Algorithm Builder Геннадия Громова, который и предложил такую схему.

Чтобы собрать программатор Громова нам нужно следующее:

Детали для COM программатора для AVR

Диоды КД522, КД510, 1N4148 или им подобные. Резисторы можно использовать любые, какие найдете. В качестве шлейфа можно использовать IDE шлейф. При подключении шлейфа, для более устойчивой работы программатора, каждый «сигнальный» провод должен чередоваться с «земляным» проводом. Это позволит уменьшить уровень помех наводимых в линиях и за счет этого увеличить длину программирующего провода. Длина шлейфа должна быть в пределах 50 см. Еще нужен разъем для подключения к программируемому устройству.
Для внутрисхемного программирования Atmel рекомендует стандартные разъемы:


Если Вы планируете серьезно заняться микроконтроллерами, сделайте разъемы стандартными. Для разового программирования устройства я рекомендую использовать разъемы BLS «мамы» на программаторе (такими разъемами к материнской плате подключаются кнопки и светодиоды корпуса компа — именно их я и взял) и штырьки PLS «папы» на плате. Это позволяет максимально упростить разводку платы устройства, так как штырьки для программатора устанавливаются в непосредственной близости возле ножек микроконтроллера. Ножки MOSI, MISO, SCK у микроконтроллеров AVR всегда расположены вместе, поэтому для них можно применить строенный разъем. Отдельно делаем подключение для «земли»-GND и «сброса»-Reset.

Собрать COM программатор не составит труда:

Собираем COM программатор для AVR

Я сознательно не даю печатной платы под этот программатор, так как схема проста и возня с разводкой и травлением платы просто себя не оправдывает.

Для того чтобы наш COM программатор заработал нужна программа для программирования через COM порт, плата устройства к которой мы подключим программатор и тестовая прошивка для микроконтроллера.

Общие рекомендации:

— Так как режим Bitbang нестандартный для COM порта компьютера, то возможны сбои в работе (хотя у меня такого не было). Особенно это касается ноутбуков. Как вариант решения этой проблемы можно рекомендовать «поиграться» настройками COM порта (скорость, биты данных, варианты управления потоком, величины буфера …).
— Отдельный разъем для «земли» желательно подключить первым, чтобы уравнять потенциалы «земли» программируемого устройства и компьютера. Для тех, кто не знает, если у Вас компьютер включен в обычную розетку, без заземляющего контакта, то в виду особенности фильтра блока питания компьютера, на корпусе компьютера всегда присутствует потенциал в 110В.

Заключение:

— COM программатор Громова простой и надежный. Я не перестал пользоваться им даже собрав USB программатор (если какой либо микроконтроллер перестает программироваться USB программатором я обязательно перепроверю его на программаторе Громова).
— Так как программатор Громова собран на пассивных элементах он не требует для себя питания. Мало того, из-за паразитного питания, микроконтроллер можно запрограммировать вообще не подключая к нему источника питания! Хотя так программировать я не рекомендую, но сам факт интересен.
— Для пользователей Algorithm Builder есть приятный бонус! Этот программатор можно использовать для внутрисхемной отладки кристалла (программный JTAG).

Ссылки:
Сайт Геннадия Громова, автора Algorithm Builder


(Visited 93 159 times, 4 visits today)

Делаем COM программатор для AVR микроконтроллеров.: 288 комментариев

  1. Владимир-Малахов

    Можно им прошить мульт kb9012qf ? Подскажите какой к какому выводу подключать ? И какую прогу использовать

  2. admin Автор записи

    Вряд ли

  3. Ильгиз-Фасхутдинов

    Здравствуйте. Можно им программировать ATtiny85? А нет схемы на монтажной плате? Для меня так удобнее- монтажные платы есть. На одной уже собрана отладочная плата для ATtiny85. И об этом «Так как программатор Громова собран на пассивных элементах он не требует для себя питания. Мало того, из-за паразитного питания, микроконтроллер можно запрограммировать вообще не подключая к нему источника питания! Хотя так программировать я не рекомендую, но сам факт интересен.» подробнее. Подавать питание или нет? отдельно привести от USB?

  4. Ильгиз-Фасхутдинов

    Не получается че-то. Собрал все. Проверил несколько раз. Все по схеме. Запускаю унипроф. Пишет «Что-то не ладно с Lpt, код=2; проверьте наличие файла LPTWDMIO.SYS в каталоге uniprof!»

  5. kombats75

    товарищи, что-то вы меня совсем запутали со схемой. на самой первой картинке, там где типа схема, вроде все понятно, на 5м контакте GND, первый свободен. НО, если верить написаному на вскрытом у меня разьеме, то отсчет идет против часовой, и будет примерно так 5 4 3 2 1
    9 8 7 6 это все так со стороны пайки. а у вас на фотках, гда показана распайка, выходит три резюка припаяно на первый контакт. где правда?! или я совсем непонимаю 🙁

  6. kombats75

    да это я все пересмотрел. я к тому, что если верить написанным на «маме» цифрам, то на фото, где изображено как паять, типа в реальности, то там неверно. сюда немогу( либо не знаю как) прикрепить фото, ссылка на яндекс диск https://yadi.sk/i/uDN8pFt33Q6a6F, а должно я так понимаю быть примерно так, https://yadi.sk/i/KtKTnkZr3Q6aqz это схема уже со стороны пайки нарисована. или я не прав опять? поправьте. неохото напартачить.

  7. kombats75

    ааааааа, жесть. вот прогнал я. на маме же нада….. вот я дурень. а у меня папа. тфу. пойду искать маму.

  8. kombats75

    три раза пересобрал, все согласно схемы, ну не работает хоть убей. ошибиться не мог, где-где, а уж тут в «трех проводах» точно разберусь. скажите, на выходе программатора, относительно GND должно же быть какое-то напряжение, там в пределах 5в.? у меня нету ни на одной. может диоды шиворот на выворот. хотя в магазе вроде 1N4148 дали. катод на чорной полоске, так и запаял. уже не знаю, хоть головой о стену….

  9. GetChiper Автор записи

    Да, в процессе программирования на ногах должны присутствовать импульсы около 5 вольт.
    Может проблема с портом?
    Можно проверить, посмотрев что на линиях самого порта при программировании превосходит (тут уже должны быть уровни + — 12 вольт).

  10. kombats75

    нет, имел в виду когда програматор без МК подключен. Порты на двух компах, везде рабочие. завтра на 10 проводным шлейфом соединю, может помехи…

  11. kombats75

    тинька в гирлянде, по схеме Евгения, там нету ИК приемника, и 7 нога на GND это не может повлиять? особенно 7 нога.

  12. GetChiper Автор записи

    Нет 7-я нога никак не скажется на программировании. Главное чтобы МК был запитан от от отдельного источника питания 5 вольт (батареек например).

  13. kombats75

    забил пока на ком схему, собрал лпт, мучал-мучал, не подключается и все. (было это с БП, называется ИПС-1, стабилизированный, приобретенный в 90м через посылторг). а подцепил батарейки, тоже не подключился, но на кнопку прочитать, пошла полосочка внизу, и ниже выбора портов, считает какие-то циферки. но ооочень медленно. стоит тормоз, и задержку уже аж на 50 поставил. где-то читал, что типа вручную выбирают МК, я не нашел где это сделать. подскажите.

  14. GetChiper Автор записи

    Какая программа для программирования используется?
    МК новый? с заводскими фьюзами?

  15. kombats75

    программа uniprof. сегодня уже понипрог поставил, только толку никакого. МК новая. с магазина. даже купил сегодня новую, уже навесом подключил, ЧЕРЕЗ ЛПТ программатор. порты прописал как в описаловке. провод уже укоротил до примерно 30 см. чередованы 10 проводов через общий. где бл….дь можно накосячить????? ну тут вообще же только резюки. зла уже нету. еще и нога минуса отвалилась какого-то…. пробовал на двух компах. на одном вин 8.1, на втором ХП. куда мне его еще всунуть? разве что в мусорку и забыть все как страшный сон… 🙁

  16. kombats75

    Ё-маё….. полез в биос, поменял SPP на ECP+EPP, и все заработало. я в шоке. почему тогда дефолтно не стоят эти настройки? это для ЛПТ порта. может что и для сом порта там не так в биосе? ща подцеплю вторую тиньку, проверю. жесть, нада идти за пивом… для снятия стрессу…

  17. kombats75

    кстати, а почему после прочтения МК, у меня прочерки везде? так и должно быть? извиняюсь за тупые вопросы. первый же раз МК пользую.

  18. kombats75

    выпаял с с платы второй (вернее первый МК), подцепил на проводках, как и новый, со сломаной ногой 🙂 , юнипроф так и неувидел его, а понипрог читает со второго-третьего раза. беда. вот у меня наверно и через ком юнипрф ее не видел. ком провод у меня наверно был рабочий, проблема в контроллере. почему так? чо с ним делать то? понипрог фьюзы так и не прочитал, вообще. пробовать прошить, а как с фьюзами? если они вообще прошьются.

  19. GetChiper Автор записи

    Может действительно МК проблемный?
    Пару раз у меня было что новый МК не прошивался нормально (ну уже очень давно такой проблемы не было).

  20. kombats75

    А подскажите пожалуйста, если, ВДРУГ, этот глючный конторллер удастся прошить буз фьюзов, (мысль такая, на ЮСБ программатор) будет ли работать контроллер? и как? и более с ним ничего не намечается конструировать.

  21. GetChiper Автор записи

    Попробуйте. Может и получится.
    Как будет работать проблемный МК никто не скажет.

  22. kombats75

    Ну это то и ежу понятно. я же говорю, если вообще прошьет. и еще вопрос, почему не практикуется питание контроллера от ком порта компьютера? ну, полноценного стационара. я раньше, самодельным дата кабелем https://drive.google.com/open?id=1c1Ivq9VnrTDZV2CCoYEWzBLAaiceqQg7 прошивал телефоны Сименс, хватало питания. (извиняюсь за тупые вопросы. сейчас еще погуглю, может найду какие ответы, но и Вам буду благодарен за разьяснения). Спасибо заранее.

  23. GetChiper Автор записи

    С COM порта проблемно брать питание, так как в нем нет как таковых линий питания.
    Для ого чтобы получить 5 вольт с COM порта применяют различные нестандартные решения.
    Например берут сигнальную линию выставляют на ней нужный уровень и при помощи стабилизатора получают из 12 вольт — 5 вольт. У такого способа много недостатков, в числе которых и возможность спалить порт. Поэтому и не популярен такой способ питания.

  24. kombats75

    Про отсутствие питания на этих портах я вкурсе, просто интересовало, почему, хоть и «корявым» способом, но не питают МК. Вообщем, на нет и суда нет. посмотрел кое что в гугле, как питают, куча лишних деталюшек не фонтан. не сложно и со стороны запитать. СПАСИБО!!! Пока вопросов нет.

  25. Вася

    Хочу прозвонить Com Avr программатор Громова мультиметром, программатор спаял по этой схеме.
    Скажите пожалуйста какое сопротивление и на каких выводах есть, если, например минус мультиметра подключать со стороны разъема db9f, а плюс мультиметра подключать к разным выводам со стороны разъёма

  26. GetChiper Автор записи

    Кроме MISO (который бесконечность будет показывать ), все остальные будут звониться по 1кОм.

  27. Вася

    Ну прозвонил, воткнул, не работает. Слишком много если. Разъемы isp разваливаются, и работает ли com.
    Это как то не то.
    Надо чтобы сто процентов работало, и чтобы со смартфона через otg писать.

  28. Вася

    И самое главное ещё не сказал. То что электроникой заниматься через поисковик, это не реально. Нашел схему спаял, а она не работает. Как отличать? Где инструмент чтобы правду от лжи отличить? Перепаять все схемы в интернете?

  29. SVN

    Вася

    Если в электронике нет понимания, то есть два варианта:
    1 Скрупулёзно её изучать для понимания.
    2 Покупать готовые изделия.

  30. Вася

    Honor7A pro 100% поддерживает подключение через otg.
    UsbAsp проще вашего com программатора, только что его прошивать нужно, если паяешь.
    На уровне инженера жизни не хватит, чтобы проверить работоспособность всех схем, поэтому предложу определить один портал электриков, и дать рекламу, чтобы каждый ребёнок знал, что на авито обмен товарами, а на … единый портал электриков, где чипухи не гонят.

  31. GetChiper Автор записи

    Угу, ну тогда нужно еще определить единый автомобиль в мире на котором будут ездить все, единый телевизор и единый смарфон (Honor7A pro — судя по всему) . Это чтобы не мучаться выбором и не пробовать все подряд. )

    Ну а если серьезно, все программаторы, что Вы перечислили , служат совсем для разных целей.
    — COM программатор — это на случай если нужно что-то разово прошить или под рукой ничего нет на данный момент.
    — UsbAsp может стать основным программатором, если Вы решили этим заниматься и дальше.
    — ну а программировать через OTG (все равно нужен тот-же USB-программатор) — это вообще очень специфично и для случая когда прошивка создается прямо в смартфоне.

  32. Коля

    Здравствуйте! Сегодня собрал программатор и вот что получилось: — когда считываю данные с attiny2313-20pu то они каждый раз разные. Купленная attiny2313a-pu вообще не определяется программой. Что я делаю не так?

  33. GetChiper Автор записи

    Привет!
    Какой программой пытаетесь считать?

  34. ahmedyhaey2

    Привет, брат, тебе выгодно заряжать atmega8, но программа не имеет выбора и не отправляет avr usb

  35. GetChiper Автор записи

    Привет!
    Не понял.
    Machine translate?
    Maybe in English?

Добавить комментарий