Еще одним несложным, в плане изготовления, является 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
Наклей цветные ценнички, как в магазине, и подпиши маркером «r-232 to uart», «Программатор» — точно не перепутаешь. Для выводов — цветные термоусадки-трубочки на концах (вот только расписание этих выводов нужно держать где-то записанным).
А вообще вопрос интересный. Кто как метит свои девайсы?
@RushHour
А как он должен определятся? Если это программатор COM порта, то попробуй в свойствах уменьшить скорость порта. Не 9600, а 1200.
Если это USB, то сори, с таким не работал)
У меня нет диодов который на схеме, у меня есть другие импульсные диоды 1n4007 можно ли их использовать?
Конечно. Любые импульсные диоды подойдут.
с ПониПрог будет работать?
Не уверен — нужно попробовать.
все равно делать собирался , заодно и попробую:)
А с какими программами он работает (кроме юнипроф)?
Еще Algorithm Builder. Насчет дудки не знаю, как-то не задавался целью узнать.
Скажите а земляные провода подсоединить на GND или оставить так висеть?
Соединяйте все земляные провода и на GND.
Решил написать про свои успехи в программировании микроконтроллеров.
Выбрал atmega8-16PU. Программатор спаял по схеме(Громова) как на сайте.
Так как у меня ноутбук, то пришлось приобрести переходник (адаптер) USB-RS232(com-порт). Переходник Viewcon USB 1.1 to COM RS-232 (VE066)
Резисторы выбрал 330 Ом (три левых ) и 1 кОм (четыре правых на схеме) в связи с тем что на виходе из com порта у меня всего 6.5 В.
Правда сопротивление диодов у меня было 800 Ом, а я читал что надо 100-200 Ом.
Питание для контроллера взял от USB (там 5.05В)
Сначала решил не подключать диоды потому и в программе Uniprof контроллер не определился. Потом подключил диоды и все заработало. Правда иногда проскакивала ошибка записи.
При определении контроллера нужно было самому выбрать тип контроллера, но в режиме «тормоз» программа сама его выявила.
Также, прошивал через avrdude в Linux. Прошивалось в несколько раз бистрее чем uniprof и (что хорошо) ни разу не било ошибки записи.
А этот программатор будет на CodeVisionAVR читаться
У мя немного другая реализация.
Мне показался данный вариант преобразования уровней не надёжным. Идея такая:
преобразователь уровней lt1131cn (можно какую нить MAX205-MAX207 задействовать но была под рукой LT или 2 MAX232)
буфер 74hc244
Получилось так-же железобетонно как и stk200 но с COM шнурком.
Всем добрый день! Скажите пожалуйста. С помощью этого программатора можно прошить микросхему bios c маркировкой MX25L8005?
нет
нет
Здраствуйте. Подскажите что делать? Собрал программатор, макетку (http://myrobot.ru/wiki/index.php?n=Experiences.SelfmadeDemoBoard) впихнул туда ATMega16 (новую) Uniprof в лоб не видит МК. Что это может быть? Есть подозрение что это из-за того что пользуюсь переходником USB — COM
Этот программатор не очень любит переходники — лучше попробуйте гдет-то на COM порте.
Правильно мыслишь. Через адаптер битбанг не работает, для этого программатора нужен нативный (реальный) компорт.
Если у тебя на компе нет реальных LPT или COM, нужно шаманить USB-программатор. Например, на Тини2313. Или, если и ее прошивать негде, то на FT232. Смотри здесь, например — http://easyelectronics.ru/skorostnoj-avr-usb-programmator-na-ft232rl-bez-vspomogatelnogo-kontrollera.html
@ewgeny
Увы вариант с FT232 не подходит(хотя и очень заманчиво) — я не смогу её впаять. СОМ порт есть на старом компе но это не надежно — комп еле живой. Если прошьётся буду ваять USB с тинькой, причем срочно, не поможете ссылочкой? (желательно не на SMD компонентах)
http://www.getchip.net/posts/056-usb-programmator-legko-usbtiny/
всё даже рядом чем ты думаешь. а запрогить можно и к друзьям сходить с бутылкой пива. у тебя ноутбук или стационарный. если стационар какакя мамка. интересует фирма
там правда на смд, но сделать в TH в принцепе просто.
У меня стационар, мамка ASUS P6T Deluxe V2. Компу полгода ни COM ни LPT естественно нет.
ну у мя тоже асус правда постарше но не на много. ты посмотри на матери должен быть разъём 9пин прямоугольный типа ISP . там рядом должно быть написано сом1 у мя на панели тоже нет, а на матери есть. я просто выввел его на панель и всё. если не понятно где искать могу фотку кинуть почту дай. и ещё посмотри здесь: мой компьютер/свойства/вкладка оборудование/диспетчер устройств/вкладка поты ком и лпт. что там написано или там пусто.
Хорошо посмотрю, но фотка не помешает (ghost495@mail.ru) а в диспетчере вкладки порт COM и LPT вообще нету. Но адаптер подключался как СОМ3, по идее должны быть еще СОМ1 и СОМ2 (поправьте если не прав) так что надежда есть. И еще небольшой нюанс: а меня 7 винда.
Насчет переходника под 3 портом эт нормально. У меня юарт шнурок под 6ым висит. Завтра будут фоты. Скайп есть? Чтоб здесь не офтопить.
Скайп ghost495
После работы зайду.
Извени всё некогда было завтра всё будет
Добрый день, уважаемые. Делаю программатор для ATMEGA16A-PU. Развел на плате под DIP40, воткнул COM, питание USB — в юнипроф не определяется. Не посмотрите, мож чего подключил лишнее/не подключил нужное?
Вид «сквозь плату» (дорожки внизу, атмега сверху) — http://img13.imageshost.ru/img/2011/08/25/image_4e558b6803352.jpg
Здравствуйте, а при помощи этого программатора и программы юнипроф можно программировать контролер AT89S8252?????
Нет
Собрал данный девайс пару нидель назад на кусочке макетной платы, заработал сразу. Решил собрать еще один но на этот раз плату сделал сам двухстороннюю и засунул между ножек разема db9 и фиг вам в упор невидит мк, подключаю к мк первый програматор все работае, со вторым нет. Диоды 4148 резисторы смд 1к 1206 думаю что причина в паразитной емкости между сторонами платы, проводники какраз друг над друга с промежутком 1,5мм из тексталита. плата размером 15ммx15мм в корпусе от разема db9, шлейф ~10см распиновка,разводка,дитали в порядке.
хотя в шлейфе провода на меншем растоянии друг от друга. ХЗ
Скорей всего где-то «сопля» межу дорожками или может плата грязная. Пепропай, трещина в дорожке — нужно проверить еще раз.
Чуваки! Хотел посоветовать вам усовершенствовать и обезопасить данный программатор. В резисторных делителях на передающих линиях от СОМ порта (это RESET, SCK и MOSI) увеличить верхнее сопротивление в делителе с 1 кОм на 1,4 кОм. Так напряжение +12В будет делиться ровно до +5В. И еще поставить стабилитроны между указанными сигнальными проводами (RESET, SCK и MOSI) и общим проводом. Думаю подойдут стабилитроны BZX55C5V6, на напряжение стабилизации 5,6В в корпусе DO-35 или DO-41. Они будут ограничивать напряжение. Удачи!
А еще лучше замутить две микросхемы MAX232A и вот еще Анатолий советует буфер 74HC244 поставить. Получится в натуре железобетонно! Питание микрух от отладочной платы. Ну или как вариант от одной из линий СОМ порта, там где постоянно держится +15В (ну вообще реально +12В) через диод подключить 78L05.
Программатор позиционируется как простой. Если навешать на него столько всего он простым уже не будет. Кроме того этот программатор довольно долго существует именно в таком виде — если-бы он работал плохо его-бы не использовали.
Но если есть желание делать и понимание того, что делаешь — любые изменения только к лучшему.
Да всему виной был микро капля припоя между дорожками, удалил ее и все заработало :)) А еще собрал новый прогер авр 910 и та же проблема проверял разводку, перепробавал все проги, даже грешил на китайский кварц, а в итоге mosi коротил с led, а sck c gnd, да еще к томуже spi выводы на програмируемом сдвинул на пин вниз.Исправил и заработало :)))) Но всеравно буду использовать com прогер он железобетонен , а 910 из 10 раз 1 сбоит.
Скажите пожалуйста, на рисунке №3 это диоды КД522А?
Можно ли взять КД243Е?
И еще что за диод такой как нарисунке только одно белое кольцо?
Диоды можно брать любые импульсные.
Насчет белого кольца не знаю. Ставьте, если заработают — значит подходят 🙂
@GetChiper
А кварц внешный надо? К каким ножкам нужно подключать минус атмегы8а? там есть два!
Спасибо.
По умолчанию (заводские настройки) микроконтроллер работает от внутреннего задающего генератора — кварц не нужен.
Минусы обычно соединяют вместе.
Все спаял как по схеме, питания на мк пустил, запустил прогу — мк не откликается? Вчем еще может быть проблема?
а диоды правельно воткнул ? да пади исче тот с белой полосой впендурил !?
нет не с белой. одна толстая и 2 тонки чорных полосы. вроде правильно!
Фореве. На другом ПК заработало!
На первом(домашнем) порт на мамке не подключен к внешнему миру. Сам подключал через спец удленитель (20см) на заднюю панель. В системе определен как СОМ1. В чем может быть проблема что он не работает?
Если ком небыл подключен к материнке то есть большая вироятность что он отключен в биосе
А в диспетчере устройств COM порт есть?