Еще одним несложным, в плане изготовления, является COM программатор. При условии использования альтернативного режима COM порта Bitbang, отпадает необходимость в преобразовании интерфейса RS232 COM порта в SPI, необходимый для программирования. Остается только привести уровни сигналов COM порта (-12В, +12В) к необходимым (0, +5В). Это и делает
схема COM программатора для AVR микроконтроллеров:
Данная схема программатора достаточно распространена и известна как программатор Громова. Название пошло от автора программы Algorithm Builder Геннадия Громова, который и предложил такую схему.
Чтобы собрать программатор Громова нам нужно следующее:
Диоды КД522, КД510, 1N4148 или им подобные. Резисторы можно использовать любые, какие найдете. В качестве шлейфа можно использовать IDE шлейф. При подключении шлейфа, для более устойчивой работы программатора, каждый «сигнальный» провод должен чередоваться с «земляным» проводом. Это позволит уменьшить уровень помех наводимых в линиях и за счет этого увеличить длину программирующего провода. Длина шлейфа должна быть в пределах 50 см. Еще нужен разъем для подключения к программируемому устройству.
Для внутрисхемного программирования Atmel рекомендует стандартные разъемы:
Если Вы планируете серьезно заняться микроконтроллерами, сделайте разъемы стандартными. Для разового программирования устройства я рекомендую использовать разъемы BLS «мамы» на программаторе (такими разъемами к материнской плате подключаются кнопки и светодиоды корпуса компа — именно их я и взял) и штырьки PLS «папы» на плате. Это позволяет максимально упростить разводку платы устройства, так как штырьки для программатора устанавливаются в непосредственной близости возле ножек микроконтроллера. Ножки MOSI, MISO, SCK у микроконтроллеров AVR всегда расположены вместе, поэтому для них можно применить строенный разъем. Отдельно делаем подключение для «земли»-GND и «сброса»-Reset.
Собрать COM программатор не составит труда:
Я сознательно не даю печатной платы под этот программатор, так как схема проста и возня с разводкой и травлением платы просто себя не оправдывает.
Для того чтобы наш COM программатор заработал нужна программа для программирования через COM порт, плата устройства к которой мы подключим программатор и тестовая прошивка для микроконтроллера.
Общие рекомендации:
— Так как режим Bitbang нестандартный для COM порта компьютера, то возможны сбои в работе (хотя у меня такого не было). Особенно это касается ноутбуков. Как вариант решения этой проблемы можно рекомендовать «поиграться» настройками COM порта (скорость, биты данных, варианты управления потоком, величины буфера …).
— Отдельный разъем для «земли» желательно подключить первым, чтобы уравнять потенциалы «земли» программируемого устройства и компьютера. Для тех, кто не знает, если у Вас компьютер включен в обычную розетку, без заземляющего контакта, то в виду особенности фильтра блока питания компьютера, на корпусе компьютера всегда присутствует потенциал в 110В.
Заключение:
— COM программатор Громова простой и надежный. Я не перестал пользоваться им даже собрав USB программатор (если какой либо микроконтроллер перестает программироваться USB программатором я обязательно перепроверю его на программаторе Громова).
— Так как программатор Громова собран на пассивных элементах он не требует для себя питания. Мало того, из-за паразитного питания, микроконтроллер можно запрограммировать вообще не подключая к нему источника питания! Хотя так программировать я не рекомендую, но сам факт интересен.
— Для пользователей Algorithm Builder есть приятный бонус! Этот программатор можно использовать для внутрисхемной отладки кристалла (программный JTAG).
Ссылки:
Сайт Геннадия Громова, автора Algorithm Builder
Попробуй, нормальное питание на МК подать, например через LM7805. Насколько помню, usb у ноутов слабые очень.
ком программатор не работает питание взял от usb ноута к которому подключен ком программатор при нажатии читать долго считывает и не показывает ничего, а в ячейках данных появляются только нолики и все
спасибо)))
Да, любые импульсные подойдут.
Добрый день а можна ли заменить диоды кд522 на FR207, FR307
Сделал печатную плату для данного программатора, кому надо, могу дать
Заработало! Просто провода плохо были подключены от программатора к МК.
@GetChiper
Из UniProf. Лини программатора?
Из какой программы пытались найти МК? Линии прозванивали, КЗ искали?
Собрал программатор. Но МК не определился, как можно проверить слабое звено: программатор или мк виноват?
Спасибо огромное, думаю должно получиццо.
Оболочка к дудке может быть любая — это сути не меняет. Главное настроить дудку под этот программатор. Во здесь прописано как это делать
http://www.forum.getchip.net/viewtopic.php?f=14&t=304
А ежели оболочку к дудке юзать, то какую оболочку и как выбирать этот пограматор, как он называется официально? Спасибо за ответ заранее, я нуб в микроконтроллерах, и нет времени и желания самостоятельно перелопачивать кучу инфы по этому поводу заради прошивки трех микрух.
Этот шнурок можно прикрутить к AVRDUDE, а это поддержка огромного количества контроллеров.
Вопросик маленький. Прошьет ли сей чудный девайс AT90PWM3B? И ежели да, то какой софтиной юзаццо? Я не шил никада АВР, тока пики один разок, примерно таким же аццким девайсом, успешно.
Да, правильно.
@GetChiper
Если брать VCC +5 от USB или батарейки то минус падать на GND, а плюс на VCC?
@GetChiper
Большое спасибо, буду учиться . 🙂
Уровни сигнала к необходимым 5 вольтам и приводит схема этого программатора.
А питание микроконтроллера (эти самые VCC +5V) при программировании нужно подавать внешнее (хоть от батарейки)или взять с USB (но нежелательно, во-первых, могут быть ВЧ помехи, во-вторых, можно случайно пальнуть USB).
по схеме нат такого провада 🙁
Прошу прощения, меня зовут Владислав. Я новичок в электронных делах, и мне не понять как это сделать «Остается только привести уровни сигналов COM порта (-12В, +12В) к необходимым (0, +5В).» для AVR ISP-6 нужен VCC +5V и где его взять от COM порта. Заранее спасибо.
Гдето ошибка. Очень простая конструкция — работать должна безотказно. Контроллер рабочий?
не работает, хоть убей.. пробовал на двух компах- одно и то же «МК не откликнулся».
Минимальный вариант — макетная плата
http://www.getchip.net/posts/prostaya-otladochnaya-plata-dlya-ustrojjstv-avr-atmega4888168-s-chasovym-kvarcem/
Дорогой GetChiper скажите пожалуста какой схема отлпдочной платы подходит для ATmega8A-PU ATmega8-16PU
Спасибо!!!
минусом на тот самый GND
я так понял нужно на vcc подключить +5v плюсом а минусом куда?
спасибо теперь понятно! просто на рисунке 6 там вроде спаены две связки по три провода…или мне так кажется?
В самом начале статьи схемка-же есть. Согласно ее и нужно соединять.
По поводу чередования имеется в виду что сигнал GND — земля ведется несколькими проводниками которые чередуются с остальными : вот так, например GND-MOSI_GND_MISO_GND_SCK_GND_RESET_GND
помогите мне дураку пожалуйста…
Взял такиеже цвета проводов как и на рисунке
Всем привет! У меня тут ситуация такая, собираю COM программатор точно по данной схеме и по данным рисункам, но не могу разобрать куда какие провода припаивать и какие провода с какими соединять…Согласно схеме припаиваем шлейф чередуя СИГНАЛЬНЫЕ и ЗЕМЛЯНЫЕ провода — это я не понял ))) извините заранее…)
СПАСИБО
http://www.getchip.net/posts/prostaya-otladochnaya-plata-dlya-ustrojjstv-avr-atmega4888168-s-chasovym-kvarcem/
ATmega88 и ATmega8 совместимы по ножкам. Вместо часового кварца можно поставить обычный.
все собрал, но как подключить к 28 ножкам 5 проводов
вроде все просто нет проблем, но на фото невидно куда и припаивать 10 жильный шлейф и потом на какие припаивать разъемы BLS, а потом как подключать 5 «мам» к микроконтролеру ATmega 8-16PU.
начинающий чайник
Запросто.
А можно германиевые диоды вместо кремниевых?
@Artur
Попробуй нажать F2 и увеличивать задержку. Если не поможет то галку «Тормоз» ставь. На тормозе должно нормально ездить
Да читается. Только при каждом чтении разные хекс числа. Может это помехи? Я укоротил кабель от программатора до прошиваемого МК и заэкранировал кабель от ком порта тот же результат. От питания может помехи идти? БП самодельный стабилизированный.
А мега все еще читается?
Собрал программатор один раз мегу 8 прошил,потом пробую тиньку2313 при чтении в окне программ новый МК показывает как бутто что то есть при следующим чтении цифры меняются. При программировании выдает ошибку ” Ошибка записи ,@=0001, надо С0, есть 40. Повтор?” Что может быть?
Все, заменил три резика и оно заработало! правда только в тормозе и с задержкой в 11 мс. Без тормоза тупо не видит, с меньшей задержкой ошибки проскакивают.
Развею некоторые сомнения по поводу USB-COM переходника, у меня вот это все именно на нем работает. Использую orient uss-111, который на базе чипа Prolific PL-2303. Единственное, что озадачило, это то, что вместо 12 вольт он дает 8 вольт. Администраторы, думаю информацию по переходникам нужно закрепить где нибудь в конце статьи как примечание, а то я если честно, не ожидал что оно заработает, а так примечание будет давать надежду.
Спасибо за статью =)
Резисторы, те что стоят сразу после диодов (подключены к катодам) нужно заменить на 300 Ом
поправки:
С нормальным комом (12 вольт) работает, потому что после преобразования получается 3.8 вольта, а это допустимо (напомню, мк определяет сигналы от 3.3 до 5.5 вольт). А вот мой ком (который 8 вольт)(щас почему то вообще 6 показал), после преобразования показывает 2.7, а это не в ходит в допустимый диапазон. я считаю проблема именно в этом.
добавление:
диоды 1n4148, падение напряжения на нем 0.8 вольт
@GetChiper
можете схему нарисовать какие именно нужно поменять?
С нормальным комом (12 вольт) работает, потому что после преобразования получается 3.6 вольта, а это допустимо (напомню, мк определяет сигналы от 3.3 до 5.5 вольт). А вот мой ком (который 8 вольт), после преобразования показывает 2.3 (или 2.8, не помню, помню только что целых 2 было), а это не в ходит в допустимый диапазон. я считаю проблема именно в этом.
Пара резисторов — это просто делитель напряжения (с учетом того, что на диоде падение напряжения в 1 вольт).
Поставьте с диодами резисторы в 300 Ом (вместо 1кОм).
Хотя, я уверен, что программатор будет работать и без изменения номиналов резисторов.
Этот программатор рассчитан на то что ком выдает положенные ему 12в, а если он выдает 8в? какие резики тогда ставить?
Короче, извиняюсь, работает!
1) Вы хоть напишите, что диоды нерусские, а то я по неопытности, думая что это из серии КД522, доверчиво сделал всё как на картинке, оказывается наоборот надо было.
2) Микруха несколько раз при неумелом подключении раскалялась и воняла горелым пластиком, но ничего же работает ведь!
3) И ток у меня потребляет 17 мА и всё работает, так что думайте
4) Если поставили галочку COM — снимите её, а то не определяет
Спасибо за статью, желаю удачи, тем у кого пока не получилось, проверьте схему ещё раз, может вы поневнимательности где-то ошиблись …