Самый простой вариант программатора для AVR это пять проводков, припаиваемых к порту контроллера и втыкаемых в LPT порт. Не спорю, можно и так. Но я все же не рекомендую этот способ. Даже схему подключения давать не буду — если надо будет сам найдешь. Так как данный метод не очень стабилен, возможны сбои при прошивке, длина проводков ограничена двадцатью сантиметрами (если больше, то будет глючить), поэтому придется шариться в комповой заднице. Да и LPT порт спалить проще простого. В общем не рулез.
Шарясь по инету, я нашел отличный программатор, работающий через RS232 он же COM порт. А также удобную программу для прошивки контроллера от Николаева. Схему программатора придумал Громов, создатель Algorithm Builder.
![]() |
Саму программу UniProf можно скачать у меня, но лучше взять с . Возможно там будет версия посвежее.
Так же, тебе потребуется чертеж печатной платы в формате Layout, для изготовления печатной платы данного программатора.
![]() |
Это формат программы Sprint Layout которую можно . Пустячок, а приятно. Впрочем, ее можно и на картонке спаять, слишком уж простая схема. Также есть альтернативная разводка платы которую прислал Shama, она на выводных резисторах
Для сборки программатора потребуется:
- Три диода, любых из маломощных. Например 1N4148.
- Семь резисторов на 1кОм. У меня резисторы типоразмера 1206
- Если будешь делать по моей печатной плате, то можешь еще купить 3 резистора на 0 ом — перемычки, они же пофигисторы.
Печатная плата либо рисуется маркером, либо, как у меня, делается методом лазерного утюга.
![]() |
Спаянную платку я запихал в корпусок, а провод подключил к компьютеру. Длина провода у меня составила метра полтора-два, а от программатора до контроллера стараюсь провод делать покороче.
![]() |
Разьем DB9, что на фотке, я поставил для удобства. У меня туда подключаются разные прошивающие шнуры либо вот такой вот адаптер:
![]() |
Программатор запаян, контроллер к нему подключен. Пора убедиться в том, что все сделано верно.
Запускай UniProf.exe и выбирай номер СОМ порта к которому у тебя подключен программатор. Сразу же должен определиться тип контроллера и высветиться над левым окном кода.
Не получилось? Тут три варианта:
- Программатор спаян криво.
- Дохлый контроллер.
- Неправильно припаял проводки к микроконтроллеру.
Еще раз все досконально проверяешь и пробуешь снова. Должно получиться.
Дальше, если до этого ты никогда не работал с контроллерами, тебе возможно потребуется тестовая программа. Она не будет делать ничего полезного, зато позволит тебе точно быть уверенным, что все что ты сделал до этого ты сделал правильно.
Скачиваешь Atmel AVR Studio — это официальная среда для разработки программ под микроконтроллеры AVR. Студия поддерживает все микроконтроллеры семейства Atmel AVR. Найти ее последнюю версию можно на сайте
Далее создавай новый проект, в качестве языка программирования выбирай Assembler и укажи папку и имя где будет располагаться твой проект. В качестве отладчика бери AVR SIMULATOR и укажи с каким именно контроллером ты будешь работать. После чего забивай в текстстовое окно простейшую программу.
Вот ее примерный текст:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | .INCLUDE "m16def.inc" ; это подключается список макроопределений ; без него компилятор не будет знать под какой ; именно процессор мы собираем программу ; если у тебя другой контроллер, то подставь ; соответствующий инклюдник. Они находятся в ; папке AVR Studio по адресу ; "AVR Tools\AvrAssembler\Appnotes\" .MACRO outi LDI R16,@1 OUT @0,R16 .ENDMACRO ; задаем весьма удобный макрос, позволяющий ; записать произвольное заданное число в любой ; регистров за одну строку кода. .CSEG .ORG 0x0000 RJMP RESET .ORG 0x0030 ; Директива начала кода с адреса 0х0030 ; адрес взят с большим запасом, потому как ; у разных AVR разных размеров таблица ; прерываний. Так что уж чтобы наверняка! RESET: ; стартовая метка OUTI DDRA,0xFF OUTI DDRB,0xFF OUTI DDRC,0xFF OUTI DDRD,0xFF ; Конфигурируем направления портов на выход ; Если данный контроллер не имет, например, порта ; С, то эту строчку надо закомментировать. OUTI PORTA,0xAA OUTI PORTB,0xAA OUTI PORTC,0xAA OUTI PORTD,0xAA ; Выдаем на выходы 10101010, чтобы получить ; четкую картину того, что на портах произошли ; изменения. После выполнения программы ; на выходах микроконтроллера в шахматном порядке ; будут либо напряжение питания, либо земля. Что ; легко проверяется либо вольтметром, либо простейшим ; пробником на светодиоде. RJMP RESET ; Зацикливаем программу. |
А лучше не копипасти, а сразу скачай файл проекта.
Далее жми на кнопку компиляции (или F7) и лезь в папку своего проекта. Там тебя уже должен поджидать ****.hex файл с прошивкой.
Запускай UniProf.exe, жми на кнопочку с открытой папкой и надписью HEX. Выбирай свой свежескомпиленный проект и жми ок.
Вторым окном UniProf попросит тебя ввести данные EEPROM, у нас EEPROM не используется, поэтому нажимай отмену.
Все, теперь можно прошивать. Жми на красную стрелку с надписью Prog и жди. По окончании можешь нажать чтение и поглядеть что записалось в твой контроллер — должно показать то же самое, что и было уже загружено в окно.
Теперь тебе остается подать питание на свой микроконтроллер и посмотреть что появилось на портах. Увидел «гребенку» из высоких и низких уровней напряжения? Отлично! Ты прошил свой первый в жизни контроллер! Теперь ты можешь с головой занырнуть в изучение микроконтроллеров AVR.
Если не заработало, то вот возможные грабли и пути решения.
- Современные компьютеры, с гигагерцовыми процессорами, новомодными Вистами и Семерками очень плохо дружат с этим программатором. Мало того, что у вас может банально не обнаружиться COM порта, а если и будет так еще не факт что все заработает как надо. Рекомендую собрать себе для радиотехнических опытов из подручного хлама что то вроде PIII 800/Windows’98. Бесплатно нарыть такое чудо проблем не составит и сжечь не жалко, если что не так
- Данная схема не работает через переходники USB-COM или работает, но ОЧЕНЬ медленно. Скажем прошивка одного микроконтроллера может длиться часа полтора.
- Питание, на первый раз, лучше всего брать с блока компа. Меньше вероятность что либо сжечь или ошибиться
- Проверяте схему по 3-4 раза! Т.к., судя по комментам, большая часть проблем из-за кривого монтажа.
- Перед запуском программы в МК НУЖНО ОТКЛЮЧИТЬ ПРОГРАММАТОР и подать на вход RESET +5 вольт через резистор в 1..10кОм. С подключенным программатором ничего работать не будет, т.к. он прижимает RESET и не дает кристаллу стартовать.
- Если UniProf не определяет МК, возможно у вас слишком быстрый компьютер. Для компенсации этого «недостатка» нужно включить галочку «Тормоз» Она показывается если отключить снятием галки EEPROM панель отображения данных EEPROM.
- Если галка Тормоз не помогла, то пробуйте на другом компе. Т.к. тут СОМ порт обрабатывается в нештатном режиме, а значит не факт, что ваш СОМ порт поймет все правильно.
- На худой конец, если ничего не помогает, попробуйте программатор из 5 проводков или другую прошивающую программу, например avrdude. Провода делайте как можно короче! 10-15 сантиметров это МАКСИМУМ!
- Читайте комменты к записи. Там многие косяки уже были разобраны. Возможно и ваш окажется среди них.
Дополнение от Outsider:
1. Если сзади у компа нет разъема COM-порта, то это не на 100% означает, что такого порта нет на материнской плате в принципе. Пока еще на матерях встречаются разъемчики с 9 штырьками в два ряда — подробнее нужно смотреть документацию к материнской плате. Я на своей ASUS P5K SE нашел и успешно заюзал.
2. Да, +5 и GND это не земля и контакт из COM-порта, а именно внешнее питание. Проще всего его добыть в компе — +5 есть в красном проводе на любом из разъемов, питающих жесткие диски. А GND — на корпусе самого компа. Или на черном проводе того же разъема.
3. Если с UniProf что-то не срастается, то можно попробовать avrdude. Чтобы это сделать, нужно прописать в avrdude.conf следующее:
programmer
id = «nikolaew»;
desc = «serial port banging, reset=dtr sck=rts mosi=txd miso=cts»;
type = serbb;
reset = 4;
sck = 7;
mosi = 3;
miso = 8;
;
А затем запустить avrdude со следующими параметрами:
avrdude -n -c nikolaew -P com1 -p m16
где «com1″ нужно заменить на твой порт (если, конечно, используется другой), а «m16″ на нужный тип микроконтроллера. Список поддерживаемых программой контроллеров можно найти здесь:
Если все в порядке, то программа скажет:
avrdude: AVR device initialized and ready to accept instructions
Дополнение от Riko
Эксприменатально было выяснено, что для правильной работы этого программатора напряжение питания МК должно быть не ниже 5 вольт (но не выше 5.5!!!). То есть если МК подключен к трем пальчиковым батарейкам, то вы обламываетесь, так как там 4.5 вольта! Запитывайте от компа!!!
Дополнение от SLY_DEr
Не работало. Сменил резисторы с 3к (не было на 1к) на 460ом’ные — заработало, но с ошибками.
Решил чисто ради спортивного интереса снизить скорость ком-порта в диспечере устроиств и о, чудо, все заработало как надо. Скорость порта снизил с 9600к до 4800к и плюс убавил буфер приема и передачи (там же) до значений 4 и 6 соответственно.
Если что непонятно, то не стесняйся спрашивать у меня в комментах.
З.Ы.
Если не получается ну никак, то может быть ваша материнска плата не поддерживает столь нестандартное обращение с COM портом и стоит попробовать другие программаторы? Например, STK200 или FTBB. Они хоть и сложней, но зато работают более корректно, без извратов.













Слушай, есть вопрос. Я ток начал разбираться с МК, хочу собрать такую штуку (вариант с COM портом), но ни как не пойму, отдельно питания что ли на МК не надо в нем подавать? Собираешь как на схеме и можно пользоваться?
В принципе да. Подаешь питание от компа (те самые + 5 вольт и GND) и все.
Если прошиваешь внутрисхемно, то питание можешь подавать от родного источника, только обьедини GND компа и GND твоей схемы. НО! Я обычно прошиваю не 5ю проводами ,а 6ю. Т.е. в момент прошивки вся моя схема кормится от компового блока питания (т.е. от программатора). Мне так удобней, но это не аксиома.
DI HALT, подскажи: а как откуда именно брать питание из компа? Как его удобнее вывести? Чтобы и провода не висели, и не мешали. Получается, что крышка корпуса должна быть открыта?
Эммм… А есть люди кто эксплуатирует комп с закрытой крышкой? Хм, не встречал.
Можешь выломать сзади одну заглушку и вытащить из нее один из питателей от БП.
Как вариант, можешь взять с USB но тут есть риск спалить порт на маме. Разумеется кривыми руками, т.к. USB питание отдает нормальнь
У меня комп закрыт :) но это к делу отношения не имеет.
Я вот что хотел спросить…
У меня есть 300 ваттный БП от компа, я так понимаю, что для того, чтобы использовать его для питания схем, его надо нехило нагрузить… ибо на +5V там ток 20A. просто я попробовал… секунд через 15 МК был как кипятильник, хорошо что не сгорел :)
Или я не прав?
ты где то ОЧЕНЬ сильно не прав. Если БП дает 5 вольт, то он может давать хоть 800А, для МК это не имеет значения, он возьмет свои 2мА или сколько у него там и на этом успокоится.
Если у тебя МК раскалился, значит ты перепутал питание или подключил что то не туда.
МК при этом работал. а перепутать 2 провода весьма сложно. Надо будет поискать БП от модема длинковского, компактнее всё-же будет. И перечитать курс электротехники. :)
Значит на выводы ты ему слишком большую нагрузку подал. Не может он греться от того, что у БП сильно большой ток
Зато коротить комповый БП — очень на любителя. И мощща приличная, так что стремновато, и комп вырубается, что очень непритно. А в лабораторной практике КЗ не то чтобы совсем уж не случается.
Я после покупки нового компа решил держать его закрытым :) очень уж тут пыльно
В открытом виде он меньше пылится. По крайней мере у меня :). ПЫль там не складируется, а выдувается.
У меня закрытый — в приличном корпусе, который жалко открывать из эстетических соображений. Пылится мало, благо пылефильтры перед всасывающими вентиляторами — must have. И охлаждение лучше когда потоки воздуха идут в правильные направления. Что позволяет снижать обороты вентиляторов и не наслаждаться их воем, который при открытии компа еще сильнее слышно. Из минусов такого решения — случайное КЗ и все, вас грубо выбивает из вашей среды разработки суровым poweroff-ом. В лучщем случае. Или что-то по мелочи выгорает, максимальный ток у компового БП весьма недурной. На спецэффекты его хватает. Кстати, если уж хочется питаться от БП компа — у правильных мамок (с ESATA, например, у гигабайтовских) часто бывают планки с выходами питания для HDD, обычный молекс. Что позволяет удобно и эстетично получить мощные +5 и +12 вольт за пределами компа.
Если на компе есть разъем миди (15 пин мама) — его крайние дырочки это и есть 5в. Остается подобрать штырек под него.
Совет — после штырька поставьте предохранитель. А то БП компа — 10А туда-сюда не замечает, а для пожара вполне достаточно. Я так раз коротнул. Провод — МГТФ, изоляция не горит. Загорелся сам МИДИ-разъем. Горящий комп — это круто.
По поводу питания. Тут мне сказали, что если шить по схеме Громова унипрофом, то при снижении питания ниже 5 вольт МК не определяется. Вот с чем это может быть связано? Уровень не дотягивает чтоль :/
> denilson марта 16, 2009 at 9:58 а как откуда именно брать питание из компа? Как его удобнее вывести?
Я читал на страничке avr123.nm.ru/07.htm что +5 вольт можно зять на 1 выводе гейм порта ПК. А на странице avr123.nm.ru/z4.htm расписан COM-порт и там схемы оптоизолированых интерфейсов питаются от выводов COM порта.
Вот тольк спамить тут не надо, ок?
Такой вопрос — во время включения компа все шнурки уже должны быть подсоединены или питание на программатор подавать только перед самой прошивкой?
И еще — кто-то пробовал прошивать этим программатором с помощью программы PonyProg?
Я обычно питалово подаю уже перед прошивкой. Но питаю все от компового БП, так что оно уже есть.
PonyProg вроде бы умеет, но я не уверен.
Не пойму — тут может быть, по идее, только одно из двух, либо ты подаешь питание на микроконтроллер(через программатор) только ДО самой прошивки, либо 5V уже подключено к микроконтроллеру изначально при включении компьютера…
Ну у меня от программатора идет шнурок 6ти контактный. В нем питание, земля и четыре шьющих сигнала (RESET,MISO, MOSI, SCK)
я его втыкаю в плату с контроллером который хочу прошить и он же дает питание на плату.
Спасибо за ответ, но ты можешь просто ответить на вопрос — питание подключено к микроконтроллеру уже при включении компа?
Да, само собой. Комп у меня вообще не выключается неделями :)
Тут внизу один человек(Dobby) говорил что именно для использования с PonyProg это программатор нужно как-то изменить — транзистор какой-то куда-то добавить, или так заработает — не в курсе?
Там транзистор на инверсию ресета идет, но емнип в пони проге можно инверсию сделать в настройках.
Спасибо, когда буду шить, спрошу где эту инверсию выставлять, если не против…
Я собрал ваш программатор, ещё на печатке сделал некоторые доработки, одна из них это стабилизатор питания на плате, у меня вопрос нужно ли мне подключать через кварц от 1- 8 МГц ATmega8-16PU??? Стабилизатор собрал по этой схеме http://www.myrobot.ru/articles/images/mc/supply_03.gif , или мне можно на прямую подцеплять по вашей схеме? Помогите мне пожалуйста разобраться с питанием, делаю первый, раз поэтому есть сложности….
А где вы видите кварц на плате моего программатора?
В этом шнурке заложена одна неприятная особенность, а именно он не во всех случаях определяет процессор. Например взять схему из учебника радиокота. Там резет притянут к плюсу и программатор не работает :( Но это еще ничего, после того как я разобрался и убрал это притягивание случилась другая засада — при стандартном подключении ЖК 1602 к МК он тоже отказывается работать! Помогает только отключение трех проводков от схемы и тогда шнурку ничего не мешает…
Вот как бы приделать на 74244 или им подобным буфер, как в шнурках на LPT?
ATmega8-16PU подойдет для первого знакомства? У нас он в розницу 63р(~$2.5).
А где можно найти расшифровку, что обозначают буковки в названии? P- я так понял это DIP корпус? есть еще AU,AI,JI. С L и без после имени. Больше всего боюсь купить однократно программируемую, или такое для ATmega невозможно? Эх еще бы такую же инфу по AT89 и PIC.
L после Меги означает, что чип позволяет низковольтное питание (от 1.3 вольта и выше)
число после тире это максимальная частота в мегагерцах.
первая буква — тип корпуса. P это PDIP он же DIP. C ногами. Все которые А, S и так далее это разного рода поверхностного монтажа.
Последняя буква это приемка. Промышленная, военная, коммерческая. От приемки зависит допустимый температурный диапазон (коммерческая от 0 до 50С, военная и промышленные от -20 до +50 вроде бы), процент брака в партии и, конечно же, цена. Военные и промышленные дороже, иногда во много раз.
63рубля за атмегу 16 это нормальная цена. У нас порой и за 120 продают ее.
Вполне подойдет. ОДнократно программируемых среди avr, насколько я знаю, нет. Да и если есть хрен ты их просто так в розницу купишь — слишком специфичный товар.
Вопрос. Как у Вас поместиося программатор (размер 43 на 23) в корпус RS232? И зачем ZIF панель на 20 ног, если в дальнейшем (раздел робототехника) используется МК с количеством ног более 20 штук. А? :)
Еще вопрос по сопротивлениям — Вы их из материнской платы выпаяли?
Гы. На самом деле программатор у меня сныкан в коробочку 5х4, а не в корпус разьмема. На коробочке стоит обычный DB9 разьем для того чтобы можно было присоединять разные насадки. А зафотать и выложить эту коробочку я в запаре забыл :)
Одна из этих насадок это как раз вот этот переходник с ZIF панелькой, которую я юзаю для массовой зашивки ATTiny2313 в своей домашней мелкосерийке.
Резисторы я купил в радио магазине по 30копеек штука.
Добавлю и свои 5 копеек опыта.
Правда, работал больше с PIC, поэтому использовал обычно программу ICProg, она прекрасно шьет также много Атмелов. Но вот недавно потребовалось прошить Мегу32, (для цифрового осциллографа), по привычке сунулся, а он ее не поддерживает (по крайней мере, в списке нет). В архиве у меня десятки всяких программаторов, решил попробовать UniProf от Николаева. Прицепил по привычке 5 проводков на LPT, сигнальные, естественно, через резисторы ом по 200, на всякий случай. Запустил UniProf, подал питание 5v. Микросхема cразу опозналась. Читаю — читается. Стираю -стирается. Пишу — пишется. Делаю сверку — сверяется. Ставлю в плату — на экране ЖК только рекламная заставка. Прочитал внимательнее статью про осцилл, — оказывается, ему зачем — то нужно отключить JTAG, включенный на заводе у микросхемы
по умолчанию. Сую в программатор, смотрю — точно, флажок JTAG стоит. Скинул, записал конфиг заново, сую в плату — все работает. И вообще, оболочка UniProf довольно удобная, много чего в ней есть, так что РЕКОМЕНДУЮ! На всякий случай: система у меня XP Pro русская, (с корпоративной лицензией, с работы спер). Проц E6850.
Блин, по ходу спалил свой 1 мк (((
Собирал все по принципиальной схеме на картонке.Первый раз держал паялник в руке,
не считая баловства по детству.Вроде все сделал по схеме, диоды не пожог — потом их проверил мултиметром.Единственнон — на принципиальной схеме нет питания, и я
все спаял без него.Мк естественно не увидился.Подумал немного и решил запитать его
от аккумуляторов. Взял 3 пальчиковых по 1.2в и подсоединил их к ножкам vcc и gnd
мк. Но он все равно не увидился. Позже я видимо коротнул его, так как контакт
начал сильно греться. Я все делал не отсоединяя программатор от компа и не отключая его, может из-за этого что-то не так?
Питание лучше бы взял от компа. Вывел 5 вольт с его БП и не мучался с батарейками. Я когда прошиваю, то кормлю схему от БП компа. Так надежней.
Все работает!!!
Я нашел причину! Когда смотрел даташит — то контакты пометил зеркально, т.к.
мк вставлен в картонку с программатором , и паял я естественно с другой стороны ,
а ключ пометил (или как он там называется?) сверху, и не подумал, что
ножки таким образом расположены зеркально ^^ .А до этого, что я только не делал!
И прозвонил все провода от платы к штекеру, проверил все диоды и даже сопротивление резисторов — полный ппц! А теперь все ок — мк определился как
(8k, 512) mega8 . Открываю шампанское — ибо первый девайс сделанный собственноручно, и самое главное — РАБОЧИЙ! Я в экстазе!!!
Спасибо огромное Cluster и особенно Di-halt за ответы на вопросы за проект и интересные статьи. Продолжай в том же духе!
Проблемка: у меня все время в UniProf какие-то помехи. Микросхемы через раз определяются, если определяются, то читается с них постоянно разные данные. В чем проблема?
Длина проводов от программатора до компа и от программатора до AVR какая?
Либо контакт плохой, либо питание.
Спаял! Работает=)))Прошивал ATmega8-16PU
Вообщем переделал я плату, вместил к программатору ещё панельку, аккуратно соеденил с Com замыкать точно нигде уже не может! и вах такая же фигня (( Работает только в режиме «Тормоз!» причем без всяких проблемм. Прошиваю ATtiny2313
может кварц нужно поставить???
Кварц тут не поможет ИМХО. Режим Тормоз позволяет прошивать МК на скоростных процессорах. Я точно не помню, но вроде бы унипроф завязан на тактовую частоту проца, почитай у автора что он пишет на этот счет.
Спасибо за советы! с землёй все заработало, по поводу скорости на ПК (AMD Athlon(tm) 64 X2 Dual Core Processor 3800+, 2 Ghz) прошивает нормально только в режиме тормоз!, на ноуте P3 433 Mhz нормально прошивает и без этого режима.
Посмотрел даташит на Attiny2313 и не видел у него ноги для подключения линии SCK программатора. К какому выводу у этого контроллера цеплять сию линию?
PB7
такой вопрос: как питать контроллер от ком порта программатора?
к какой ноге разъема подключить vcc?
От ком порта никак. я с БП +5 вольт беру обычно.
есть проблема
спаял com программатор
поначалу мк не определялсо выяснил что перепутал
питание и диоды не так впаял (хотя делал по маркировке)
теперь определяется нормально (mega8)
но прошить не могу тк в мк есть данные
стирание не срабатывает нормально
частично очищает но есть области забитые 7f7f7f7f7f7f7f7f7f
кстати читал что программа исп частоту проца
но она определяет ее каждый раз по-разному может в этом дело?
режим тормоз тоже не спасает..
может попробовать другую прогу? если да то посоветуйте простую
Можешь рискнуть заюзать Pony Prog тока будь очень внимателен с фьюз битами. И под нее надо сварганить программатор аля 5 проводков. Вроде бы она не поддерживате программатор Громова.
Также можешь попробовать avrdude тока с ключами разберись. Ну или оболочку графическую нарой к нему.
еще вопросы:
1 каков шанс что я запорол мк неправильными подключениями питания?
есть 2 мк оба определяются нормально как mega8 512 8k
2 длина шлейфов комп-программатор 5-7 см
программатор -мк 20-25 см
не много?
3 лпт 5 проводов тоже мк определяет
пытаюсь стирать вроде все ок
но видимо очистки все же не происходит
потому и грешу на прогу
2 программатора определяющие но не могущие записать мк
имху перебор
1) вероятность есть, но тогда он ваще не должен определятся.
длинна вроде бы нормальная. У меня и на больших длинах работало. Скорей тут проблема в тактовой частоте компа. У меня то 1300+ всего.
2) Длина нормальаная
3) попробуй на другом мк побаловаться.
может кому будет полезно
дело в проге
на другом пк заработало
конфиг моего пк п4 1800 ообычный
рабочий п4 1800 двухядерный
на рабочем тоже есть ошибки в отдельных ячейках
но в режиме тормоз все идеально
Не получается прошить контроллер. Ругается «ош записи», далее адресс, байт который пытаемся записать и байт который там сейчас. Контроллер при запуске программы не идентифицируется, но даётся ручной выбор. Я выбрал tiny26, который у меня собственно и подключен. Нажимаю Read — читает, правда вся память забита нулями, не знаю правильно ли это. А вот когда пытаюсь что то в память записать, он выдаёт ошибку, которую я привёл в начале комментария. Кто-нибудь с этим сталкивался?
Странно, что не идентифицируется.. У меня не идентифицировался, каогда я в программаторе диоды не той стороной припаял. :)
Режим «Тормоз» пробовал? Возможно у тебя слишком быстрый компьютер :) (этот режим появляется если отключить отображение панели EEPROM)
При чтении нулевого контроллера должны быть прочерки, а не нули. Перед записью, чтобы не было ошибок рекомендую стереть контроллер.
«Тормоз» пробовал, всё то же самое, только медленно :)
Когда читал контроллер, там всё таки были нули, уж не знаю почему. Завтра попробую стереть всё перед записью, вдруг и правда поможет…
В общем проблема оказалась в «плохом» питании. Я питался от старого блока питания с регулируемым напряжением. Судя по всему выдаваемый им ток был недостаточно выпрямлен. Во всяком случае, когда я запитался от компьютерного блока питания, всё сразу заработало. Правда читается раз через раз, иногда вместо прочерков читает в некоторых участках 7f7f. Запись тоже заработала, правда только в режиме «тормоз».
Салют люди добрые. Я новичок тут. Можно спросить, для программирования меги8 что делать с пинами 20 и 22? подключать с VCC и GND соответственно с пинами 7 и 8?
И ещё , GND с программатора нужно подключить к (-) батарее(питания)?
Извините за кривой русский, язык не родной. :)
Здравствуйте, я полный новичок :). Хочу узнать как можно проверить правильность сборки данного программатора? какие то значения напряжении …. как знать что собрал нормально или это порт у меня кривой и пытаюсь зря? Комп пентиум 3 650 Мгц, 2000-го года, XP PRO. Взял специально для КОМ.
Здравствуйте, я полный новичок :). Хочу узнать как можно проверить правильность сборки данного программатора? какие то значения напряжении …. как знать что собрал нормально или это порт у меня кривой и пытаюсь зря? Комп пентиум 3 650 Мгц, 2000-го года, XP PRO. Взял специально для КОМ
Собрал программатор по схеме, но контроллеры (пробовал mega 16 и 32) никак не определяются, ни на ноуте, ни на стационарном компе… Спаял всё на макетке, контроллер прямо на плате через панельку вставлен. Питание пробовал от стабилизированного источника с точной регулировкой и от 3х батареек на 1.5 вольт. Длина шнура до компа примерно 1 метр. За неимением com-порта пользуюсь переходнимов usb->com. В чём может быть проблема, в диодах? Подходят только те, которые тут в комментариях упоминались? Или в питании? Всё-таки лучше взять его с usb?
1) питание лучше брать от компового БП, тогда точно не будет косяков с разными уровнями.
2) с USB — COM оно либо не работает ваще, либо работает ОООЧЕНЬ медленно (прошивка одной микрухи минут по 50). Т.к. данная схема юзает режим bitbang, а не нативный RS232.
Приобрёл себе USB-шнур, чтобы взять питание с него. Возник ещё вопрос — подойдёт ли в качестве ком-порта pci-контроллер с com-портом? Пока что поеду его покупать, очень уж программатор собрать хочется рабочий:)
С ПСИ платой должно работать. Но я не проверял. Питание проще всего взять с колодки блока питания. Черный и красный провода.
Установил себе pci-com, взял питание с usb — МК откликнулся и определился! Прошил тестовую программу, потом считал содержимое контроллера — всё один в один:) Я счастлив, спасибо большое автору ресурса!)
PS. Диоды брал Д220Б, всё норм
ну и диоды ты нашел. это такие большие, железные, на 220 вольт? ))
Помогите, совсем запутался. Нужно прошить AT90S2313. Программатор COM собрал на картонке. МК вставил в панельку. Подал питание. В uniprof МК не определяется. Ошибок в схеме вроде бы нет. Проверял. Подскажите, так я и не понял. Кварц нужно прицепить или можно и без него(именно для AT90S2313)? Если да то какой лучше? Может еще где собака порылась?!
Уже сам разобрался. Нужен кварц конечно. Я и сначала так думал. Но описание программатора с панелькой сбило с толку. Короче, прицепил 1,4 Мгц(какой под рукой был). Заработало. Определяется 2313 правильно. Посмотрим как будет с записью.
Вот, есть интересная схема программатора, на сайте уверяют, что он безотказный и безопасный для порта:
Думаю поробовать его изготовить.
Схема — боян. Это STK200 официальный программатор от Atmel :) Можешь паять смело, проверенная и гарантированно надежная. Но требует микросхемку.
Я так понял, что только у меня возникла такая ошибка. hex-файл :) не создается :(
Сделал все как написано АВрСтудия выбрал Симулятор, указал контролер Тини 2313. Вставил то код, что в статье. нажал Ф7. И тишина. ни ошибок ни предупреждений. Только внизу написано «Building…»(или что-то похожее). В папке не появляется КЕКС. АВР студия 4b10. Че делать????
Странно. Должен появиться. Вот такое:
AVRASM: AVR macro assembler 2.1.17 (build 435 Apr 10 2008 09:27:55)
Copyright (C) 1995-2008 ATMEL Corporation
D:\Coding\AVR\Vesi\Vesi.asm(1): Including file ‘D:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\m8def.inc’
D:\Coding\AVR\Vesi\Vesi.asm(2): Including file ‘D:\Coding\AVR\Vesi\define.asm’
D:\Coding\AVR\Vesi\Vesi.asm(3): Including file ‘D:\Coding\AVR\Vesi\macro.asm’
D:\Coding\AVR\Vesi\Vesi.asm(4): Including file ‘D:\Coding\AVR\Vesi\vectors.asm’
D:\Coding\AVR\Vesi\Vesi.asm(12): Including file ‘D:\Coding\AVR\Vesi\init.asm’
D:\Coding\AVR\Vesi\Vesi.asm(408): No EEPROM data, deleting D:\Coding\AVR\Vesi\Vesi.eep
ATmega8 memory use summary [bytes]:
Segment Begin End Code Data Used Size Use%
—————————————————————
[.cseg] 0×000000 0×000282 642 0 642 8192 7.8%
[.dseg] 0×000060 0×000060 0 0 0 1024 0.0%
[.eseg] 0×000000 0×000000 0 0 0 512 0.0%
Assembly complete, 0 errors. 0 warnings
компилятор выдал?
НЕТ :(
только «Build….»
и больше ничего
Вообщем, господа-специалисть я сравнил два проекта: один сделанный мной; другой сделанный Ди Халтом для одного журнала.
Повторюсь, «загвозка» была в том, что при нажатии Ф7 внизу АВРСтудио (вкладка Output)кроме написи «Building project…» ни хр..а не проявлялась. и хек-файл не создавался.
так вот при стравнеии 2 файлов различий не было. кроме одной детали. В проекте созданным мной в левой панели (Workspace) бал вложенный список, а в проекти Ди только название файла. В моем проекте Workspace содержал
— test
— Assembler
— test.asm
структура такая
Я так понял мне надо добится, чтоб мой проект не имел такой структуры. Как сделать?
В доказательство своих выводо я удалил из проекта Ди его программу и вставил ту тестовую (см статью). И… все заработало. :)))))
Гхм. А как ты умудрился вложенный список то создать?
Я как обычно делаю:
Создаю визардом студийным проект, при этом студия сама создает папку в нужном месте. В ней, прям в корне, все барахло и лежит. Чо надо прям туда и добавляю. Может тебе просто пути полные надо прописать? Жопой чую тут дело в путях :)
Да хрен знает, делаю также. Визардом создаю проект, галки все стоять (создать папку, создать файл инициализации). Да сам не знаю что делать?? А где путь эти прописать?
Файл инициализации не создавай. Пусть тебе пустую папку сгенерит.
Я уже все комбинации перепробовали этих галочек. В пустую. Уже последнюю версию скачал. опять пустое. Создал проект Визардом. Никакой код не писал. нажал Ф7.А в ответ «Системе не удается найти указанный путь.»
Что-бы это значило?? Может во время установки не надо ставить USB драйвера. (он мне предлагал поставить. я когда отказался от их установки, после он даже запускатья отказался).
:(
ну, может поможете с этим, кто нибудь.
Я тут сделал снимки экрана. Что там не так? если что могу добавить что попросите. Может кто свои снимки покажет.
Извините за такое (лоховство). но я вообще не понимаю что делать?
Значит никто помочь не смог :((((. А тут нашел программу Algoritm Builder. Буду её осваивать сам. Тестовый пример попробовал (моргание лампочек) — все работает. Теперь наши дороги (в смысле программирования) наверно разайдутся.
Сорри. Не заметил твой последний коммент со скриншотами.
Поглядел — я делаю также. Решил повторить. Скопировал текст прям из статьи — опа Missing File… чо за нах.. он же гарантированно рабочий… Тут гляжу, блядь, в директиве Include какие то кавычки вроде те, но не такие. Кривые они какие то… Сраная типографика! Видать где то их при размещении статьи подменило. Стер кавычки эти нахуй, поставил вручную заново — все стало находиться и компилиться.
А, все равно, не идет. таже ошибка ходь какие кавычки. Я уже на другом компе пробовал. один результат — «‘Ёб⥬Ґ Ґ г¤ Ґвбп ©вЁ гЄ § л© Їгвм.» В переводе на наш “Системе не удается найти указанный путь.”
Может выложишь файл с исходником и пректом. Я бы попробовал его у себя запустить.
http://easyelectronics.ru/files/AVR/TestNULL.rar
Попробуй.
Все, разобрался. Дело было в путях. ВНИМАНИЕ!!!
При установке АВР СТУДИИ нужно каталог для установки выбирать (или создовать), чтобы путь до АВРСтудии был на ЛАТИНСКОМ шрифте. Т.е. привожу пример
Я ставил в директорию D:\\Программы\AVRStudio — не работал (компиляция не идет)
Когда поставил D:\\AVRStudio — все пошло на УРА.
Предложение к ДИ. удалить мои посты (как флуд), кроме последнего.
Как пользоваться UniProf’ом?
Мне нужно файл .hex прошить во FLASH, а .bin в EEPROM.
Окно слева PROGRAM это FLASH?
То есть нужно что бы .hex был слева, а .bin справа?
После того как я залил прошивку, мне нужно подать на reset +5 вольт и так оставить? Припаять что ли?
Когда в унипрофе тыкаешь на кнопку загрузка HEX то нужно выбрать вначале Flash, сразу же за ним выскочит окно выбора файла EEPROM если у тебя данных еепрома нет, то там жмешь канцл.
Ресет лучше сразу же, через резистор в 10к завести на питание. А программатор подключать на RESET непосредственно к ноге мк. До резистора.
Вот я впервые собрал программатор, и у меня есть парочка вопросов. Можно ли при неправильной спайке программатора, повредить комп, и где бы узнать, как подключаться к СОМ-порту.
1. Можно
2. Берёшь и подключаешься… На задней панели системника девятиштырьковый разъём.
Спалить можно, но дальше интерфейса ком порта вряд ли уйдет. Ну не будет у тебя ком порта :))))
Кстати, если на жопе компа не будет ком порта, то возможно ты сможешь найти его на мамке — там он в виде штырьков.
А если в виде штыриков, то как к нему коннектится?
На pinouts.ru была разводка этого коннектора.
ну что такое СОМ порт я знаю, но вот для чего каждый из разьемов предназначен я хз, как понять например где DB9/4 а где DB9/8 например?
А ты возьми и разгляди колодку разьема внимательно. ТАм каждый вывод пронумерован. Так вот. DB9 это тип колодки (комовская, 9ти пиновая) а через слеш идет номер контакта в колодке.
Небольшое отступление в сторону тех, кто пытыется прошивать АВР-ки CVAVR-ом…
В Унипрофе фузы такие же как в даташите, в ЦВАВРе — ИНВЕРСНЫЕ!! так же как в авердуде!! не повторите моих ошибок ;)) ….чо обидно , даже не предупредили чо так там есть, благо кварци под рукой были, успел вылечить пару мег )))
Примерно 25 см, питание беру с отдельного блока питания (от компа)
от программатора до МК должно быть не более 10см. Ну еще СОМ порт может гнать. Он тут не совсем корректно юзается, не все матери это понимают адекватно.
Эмм… а кто-нибудь подскажет существует ли аналог UniProf под линух? а то из под вайн com-порт не видно :(
AVRDude
Где то в комментах проскакивало как его настроить на этот тип программатора
Длину проводков уменьшил до 8см, но всё-равно таже фигня
Какой софт юзаешь? Если унипроф — попробуй галочку «Тормоз» может у тебя комп слишком быстрый. Питание возьми от бп компа (не отдельного)
У меня был прикол с этим программатором я использовал 10 контактный разьем как у AVR так был прикол втом что я использовал толстые жилы шлейфа и после обжимки соседние контакты замкнуло был полный бред контроллере Николаев может это подтвердить
Может и утебя тоже
Данный программатор использовал как на 3Ггц процессоре так и на 800Мгц работает нормально без включения тормаза
Есть с этим программатором один прикол при работе с ХР
Нужно расшарить общий доступ к портам иначи будет полный бред с кантроллером
Для разрешения общего доступа к портам нужно испорзовать соответсвующую программу.
Может у тебя тоже самое «неразрешон прямой доступ к портам»
С ХП проблему расшареных портов не замечал. Хотя пробоавл на разных компах.
если стоит чистая виндаХР на всякие зборки то порты закрыты если сборки какие либо то там уже порты расшарены
У любой системы на ядре WINDOWS NT (WIN 2000 и более поздние) прямой доступ к портам запрещен. С портами напрямую могут работать только драйвера, работающие в нулевом кольце защиты. (Все прикладные программы работают только в третьем). Для многих популярных программаторов (IC prog, PONY prog), такие драйвера уже имеются. Если такого драйвера нет, — никакое расшаривание проблему не решает.
Ну незнаю незнаю я открыл общий доступ к портам через прогу и все работает аж летает
Как уже писал в Windows 2000 и XP по умолчанию порты всегда закрыты их надо открывать для общего доступа.
Прога пытается посылать данные напрямую в порт а винда по умолчанию это запрещает.
она дает вазможность работать только через драйвер.
Поэтому чтобы данная прога работала нужно ставеть утилиту для открытия портов
Она есть на сайте разработчика данной программы.
Там все подробно расписано.
Лично я использую программатор STK200/300 Но начинал с описаного здесь программатора
Здесть есть утилита для разблокировки порта
Народ ПАМАГИТЕ!!! Я уже третий программатор собрал и ни один не работает, Гормова был превым на COM порте, он к сожалению я кажется выжег порт когда подключил питание к прорамматору в первый раз, потом забросил его подальше в угол. Собрал еще 2 на LPT на основе 74HC244, думал будет лучше, НО в PonyProg выдает ошибку по лчереди либо -11(проверить подключение и порт) дибо -14(оборудование занято), Хотя светодиоды на программаторе иногда мигают, вот решл достать программатор громова переправил питание, сделал новую плату, сделал переходник COM-LPT проверил, ВСЕ ПРАВИЛЬНО, НО UNIPROF говорит что МК не откликнулся, ПОдал питание, все то же «МК не откликнуля», и при считываниии с МК в двух окошках одни «——», но помнится однажды подключил тот LPT программатор, нажал считать, в окошках были одни «FF FF FF FF» (МК НОВЫЙ). Так что же это значит? как проверить работоспособность LPT? И что эти ошибки значат а точнее как их исправить.
И что значит это МК не откликнулся? Что вообще должно писаться в UNIPROF когда все в порядке?
Бэз паники. LPT спалить легко, проверить можно принтером который к нему подключается.
Чистый контроллер читается как — - — - во всех ячейках. Если FF то что то неправильно. Про пони прог я тебе не скажу, лошадь я в принципе не люблю.
У УНипрофа могут быть проблемы с новыми компами. Помогает обычно галочка тормоз. Также у ХП часто бывают закрыты порты. Об этом говорили в комментах, так что надо надыбать тебе программку которая дает доступ к COM и LPT портам напрямую. В комментах где то было недавно.
А это точно с пустого и нового МК считывается — — — во всех ячейках, а то мне один человек сказал что FF FF FF должно быть во всех ячейках.
Ну даже если должно считываться — — — то оно у меня пишет когда не то что МК к порту не подключен, но даже и сам программатор не подключен. Разве это правильно. А что должен писать Uniprof если программатор правильно подключен, и может как нибуть можно придумать планку-тестер (ну со светодиодами например) чтобы проверить работоспособность самого программатора?
И какие его настройки LPT в биусе чтобы программатор заработал, может у меня там крыса зарыта. Вот что у меня стоит сейчас:
Parallel port
Interrupt: IRQ 7
Mode: Bi-directional
В попытке найти крысу решил перечитать все комменты, возникли новые вопросы:
Так какой в конце концов провод должен быть, я МК прям на плате программирю, а вот провод до самого программатора выглядит так: сначала подразумевалась работа с com поэтому сантиметров 18 провод с com разьемом, но com порт приказал долго жить, а перепаивать программатор неохота было, да и вдруг найду рабочий com, подумал я, и спаял переходник com-lpt длинной сантиметров 10. А вот сейчас подумал, общая длинна провода получилась сантиметров 30 плюс два штекера com и lpt посередине, может тут крыса зарыта и это мешает работе? Или длинна провода до программатора не имеет значения?
Да и по поводу reset, получается после прошивки для работы МК нужно подать питание не только на выводы земли и +5v, а еще через резистор подать эти же 5v на reset?
У кома сигнал более сильный чем у LPT, поэтому ком порт допускает от компа до программатора длинный провод. От программатора до МК провод должен быть коротким всегда. С LPT от программатора до компа должен быть как можно более короткий провод. Не более 10-15см.
Когда унипроф работает правильно, то при старте, если подключен программатор и МК (или когда меняешь порты, справа, внизу, то при выборе правильного порта (там где висит МК с программатором) надо областью кода зажигается модель МК — унипроф умеет сам поределять чо к нему подключено.
Да, желательно еще и +5 через резюк подать на ресет, иначе будет работать нестабильно, может вообще не заработает.
Уменя была подобная праблема мне Николаев высылал утилиту для проверки ком программатора обратитесь к нему если он будет доступен то даст.
СОМ порт спалить очень проблемотичнотам везде 12 вольт а на контроллере в программаторе 5 вольт
Быстрее спалиш ЛПТ чем ком
Я на данном этапе использую программатор STC200+300 и пролграмму ShipBlaster AVR
Он работает уже коректно в ХР так как имеет дрова
По поводу утилиты надо скачать архив и использовать UserPort
У ShipBlaster AVR я ненашол автоопределения чипа там его помоему нету
А николаев это кто. А у тя ее не осталось? Может сбросишь?
Николаев это тот кто написал данную программу через каторую работает программатор.
По поводу утилиты она у меня осталась.
Но недам по двум пречинам.
1 Незнаю как делать влажения в сообщения.
2 Нужно уважать право интелектуальной собственности.Веть программа не моя.
Поэтому сходи на выше указаный сайт напиши по почте человеку и он тебе я думаю ее вышлет. Покрайней мере я поступил так.
Высылает бесплатно но а ему будет всетаки приятно.
Насчет диодов подходят любые высокочастотные, они там стоят для того чтобы пропустить только положительное напряжение.
У Ком порта высокий уровень это +12вольт а низкий это -12вольт намже нужен только плюс.
Иногда путают MISO и MOSI и будет тоже самое как у тебя.
В моем слугае была проблема соединительно кабеля между программатором и контроллером.
Ну вот, тут оказывается про мой программатор речь идет…
Вставлю свои пять копеек.
1)После зашивки программы разъем программатора можно не снимать, чтобы программу запустить. Включите режим отладки (лупа). Пусть собсно отладки и не будет, для этого надо в программу модуль небольшой вставить, но RESET будет снят.
2)Программу для проверки — найду. Да и не делаю я из нее секрета, выкладывайте если у кого под рукой.
3) на ноутбуках для COM порта надо немного схему изменить — делитель не 1к:1к делать, а где-то 300 ом: 1к, так как на ноутбуках напряжение как правило гораздо ниже 12в. А вот стабилитрон ставить пробовал — плохо. Шумит он, что ли…
4) Еще один глюк на ноутбуках возможен. Для формирования времянок программа определяет тактовую процессора… А на ноутбуках процессоры как кошки, чуть затишье — и спать. В результате таковая неверна — и проблемы. Я пока делаю в этом случае так — запускаю что-то крупное и тут же, пока она натужно грузится, запускаю uniprof
Товарищи, коллеги (я не побоюсь этого слова) помогите разобратся в ошибке. проблема — прошивка не хочет прошиватся в МК.Все сделал по инструкции.
1-Подключил МК (он определился правильно)
2-Выбрал хен-файл (подготовленный для данного МК)
3-Нажал кнопку Prog
Началась запись и на середине выплыла ошибка. «Ош записи,@=0040, надо FF, есть 00. Повтор?» (и Варианты Да нет Отмена) Ни одна из кнопок не помогает, только Отмена.
А на 40 «ячейке» у меня стоит байты CFEF. Правильно ли что они стоят?
Для справки — При нажати кнопки «?» (проверка на чистоту МК) говорит, что Program — есть запись, ERPOM — есть запись
Для наглядности выложил картики с ходом процесса (как я это делаю). может поможет.
Нажми Erase на фоне белого листа, это значит очистить, а то уменя похожие ошибки выдавало когда пытался записать поверх предыдущей программы.
Да, для успешной записи поверх другой проги нужно два факта:
1) Мк должен быть определен заново (переключи порт на другой какой нибудь, а потом верни обратно) чтобы МК определился заново. Либо прогу перезагрузи.
2) Нажми Erase.
Убедись что МК пуст, считай все, должны быть прочерки везде
Заливай!
Поподробнее раскажите о том как очистить — у меня не очищает. Я подключил МК, запустил Юнипроф, Нашал Erase. Нажал «Да, уверен» и тут же прога ответита «Готово, сер». Но результата нет — старая прошивка осталась в МК. Пробовал после этого нажать Prog(когда были чистые листы), но прога ругнулась и ничего не сделала.
УНипроф говорит готово сэр в любом случае. Видимо у тебя проблема с программатором, раз команда очистки не доходит до проца.
Чтобы «определить заново» — точнее, ввести МК в режим программирования — можно просто кликнуть по синему тексту с тактовой частотой компа. После того как выключалось питание или МК запускался в работу — это делать обязательно.
НАРОД, я задолбался бегать и собирать программаторы всех мастей и разновидностей, решил преступить запретный порог «вот схема 5 проводков, НО ТАК НЕ ДЕЛАТЬ» и сделал, настроил LPT PINS и…..ЗАРАБОТАЛО, пишет без проблем, длинна провода минимальна, 4 см из них 3.5 это корпус разьема от провода принтера. Но кто поможет все-таки с программатором громова, мож LPT PINS для него не настроены, может кто напишет какие пины на какой вывод MOSI MISO RESSET … мне кажется тут проблема, не писать же мне левыми пятью проводками, хотя…
Пять проводков это реальным метод. Но неудобный и рискованый. Рано или поздно им убиваешь LPT порт. По неосторожности неправильным подключением или статикой.
Хехе. Приятно, что Вы быстро откликнулись. Микроконтроллер не определяется. Пишет МК не откликнулся, проверьте порт и подключение. Воткнут в СОМ1 (нормальный не виртуальный порт).
Такое может быть в случае
1) неисправен МК
2) ошибка в схеме программатора или подключения
3) нет питания на МК
4) нет тактовой на МК
5) у вас ноутбук — схему надо чуток изменить, верхние резисторы делителя уменьшить до 300 ом примерно
Итак отвечаю:
1) У меня два новеньких МК. Маловероятно.
2) может быть. Не знаю.
3) Питание есть. 5В. Подскажите важные контрольные точки, где нужно замерить и что там должно быть.
4) Имеете ввиду на ХТAL1 нужно подать сигнал (_П_)? Так в варианте 7 резюков этот сигнал не используется… по схеме. Что-то нужно доработать?
5) То есть реюки с линии RESET уменьшить, так?
1) но вы же в них пыталичь писать что-то в различных комбинациях?
2) схема вроде не сложная. Для проверки в конце программа отладочная… Писана не для этого, но оценить уровни и правильность пайки поможет
3) Vcc,AVcc = 5v, не забыть что GND два пина!
4) Если МК «с завода» то ничего не надо — по дефолту он включен на встроенный генератор. Но — см. п. 1. Если в фузы записали что-то, то возможно МК настроен на кварц или вообще внешнюю.
5) выходы COM порта — это +-10в. диоды обрезают минус, два резистора 1к:1к образуют делитель на 2. Но в ноутах вместо +-10 обычно +-6-7в. Всего в шнурке три таких делителя. Объяснять как работает не буду — думаю, раз вы в МК полезли, такое знать должны
Так. Спасибо. В мк ни чего не удалось писать, так как ни одна прога девайсы не видит. Подключу Vcc и AVcc, GND и AGND. Посмотрим что будет. А также заменю все резюки на 300 ом. Кстати, диоды в прямом направлении имеют 550 ом. Не много? Или заменить их? (марку этих не знаю, выпаял из платы какой-то).
Обана. А что, сейчас Vcc-AVcc не подключены? Вы же говорили что питание есть!
И не надо заменять ВСЕ резисторы на 300 ом. Надо заменить ВЕРХНИЕ в делителе, да и то только тогда когда работаете с ноутбуком! На обычном компе такой шнурок спалит ваш МК нафиг, потому что превышение сигнала на пине МК по отношению к питанию разрешается только на 0.5в
AVcc и AGND не были подключены. Так что на счёт диодов?
Итак. Соединил AVcc-Vcc и GND-AGND. Стал замерять напряжение между GND и RESET на мк.
1. Запущен uniprof и настроен на СОМ1. Есть питание на МК 5В.
напряжение GND-RESET = 2,91В.
2. Uniprof не настроен на СОМ1. Есть питание на МК 5В.
напряжение GND-RESET = 0,96В.
3. Uniprof настроен на СОМ1. Нет питания на МК.
напряжение GND-RESET = 2,50В.
4. Uniprof не настроен на СОМ1. Нет питания на МК.
напряжение GND-RESET = 0,00В.
Вот. Что ещё сделать?
Всё равно ведь не определяется МК…
Ага. Достал 1N4005 диоду. Попробую их. И ещё вопрос: напряжение на RESET нужно как мерить? RESET-VCC или RESET-GND?
Поставил диоды 1N4005. Заменил верхние резисторы на 300 Ом. Но МК всё равно не определяется. Что делать? (Может кто есть в Челябинске с этого форума?)
Все напряжения измеряются относительно GND
В случае когда запущен uniprof — на Reset должет быть лог.0, то есть напряжение ниже 1в. Если нажать на кнопку «лупа» — это пуск МК в работу — на Reset должна быть лог.1, или выше 2.5в.
В вашем случае почему-то все наоборот да и напряжения странные какие-то… Где-то в схеме наверное ошибка. Возьмите с моего сайта программу — в разделе downloads внизу — уж Reset там можно переключать прямо с компа, MOSI — переключается по стробу.
Стучитьесь ко мне в аську, 341742314, попробуем разобраться…
кстати, насчет проверки сигнала на контакта Reset, Mosi и Miso, SCK. В Хелпе к Юнипрофу написано что можно задать на эти линии на любой пин Lpt. Кнопка называется LPT pins. Хорошо бы еще такое сделать для КОМ порта. Вот этим инстументом можно было бы проверить каждую линию( Reset, Mosi, Miso и SCK). Но почему-то такой кнопки для ком-порта фактически нет.
Это, я так сказал, к слову. А вопрос у меня другой. Замерял напряжения на каждой линии и обнаружил что Mosi 0.0-0.1 В. НА обеих ком-портах. Из-за этого прошивка не заливается. На другом компе все работает, а на моем нет. В чем дело? как обойти неработающий пин Ком-порта?
На моем ноутбучном СОМ-порте напряжение было 7.63В, поставил верхние резисторы на 510 Ом, 0.25Вт, нижние оставил по 1 кОм, заработало только так. Напряжение питания 5.23В, на ногах МК 3.63В. Длина проводов программатор-мк ~13-15см.
До этого ставил верхние резисторы 270 Ом — работать не хотело (напр. на ногах было 5.85-5.9В при питании 5.22В).
Диоды 1N4148.
Uniprof работает в обычном режиме. Машина Пентиум-4 2ГГц, ВинХР версия 2002, СП-3.
В общем прошил я свой первый МК! Причины, из-за которых не получалось прошить:
1) Напряжение в ком-порте ноутбука 5В. Из-за этого пришлось убрать три резистора (по одному с каждого делителя)по схеме слева.
2) Соединил ножки МК (Vcc и AVcc); (GND и AGND).
3) Тщательно припоял каждый контакт панельки к плате.
А мучился почти неделю.
3) Тщательно припоял каждый контакт панельки к плате.
Вот.Вот. ДиХалт обращал на жто внимание. Дефект в монтаже. Чаще всего по этой причине и не прошивает. Я субя тоже находил много косяков… Я вот уже полгода мучаюсь с программатором — а проблема была в хреновом ком-порте на родной машине.
А что за AVcc и AGND? Где их искать в случае ATTiny2313?
Это аналоговая земля АЦП. У Тини2313 нет АЦП,а значит нет и аналоговой земли.
Я уже в общем разобрался в чем была засада и чего МК не определялся. Оказалось, что в учебной схеме с сайта радиокота RESET притянут к плюсовому проводу через резистор в 300 ом. Ну и ес-но что программатор, схема из этой странички, ничего не мог сделать… Ну я пооткусывал все лишние резисторы — еще один на 2к подтягивал к «+» MOSI и через 2к SCK на землю.
Зы: все работает и без этих резисторов.
Резистор лучше поставить, но не меньше чем 10к иначе есть риск хаотичных сбросов.
Di Halt, салют! Очередное тебе спасибо за сайт и толковое изложение! всегда тянуло к электронике, но начать было сложно, а с avr все вроде относительно просто и заманчиво, будем разбираться) стоят копейки, прикупил парочку tiny и mega для экспериментов.
Собрал приведенный программатор. С платой пока заморачиваться не стал (хотя бутыль хлорного железа и пачку текстолита надыбал, будем осваивать лазерный утюг =) ). Все спаяно навесным монтажом, помещено в корпус от розетки RJ-45, дабы исключить замыкание элементов залил клеем из клеевого пистолета. В качестве колодки для avr используется просто макетка, проводки от программатора тупо втыкаются возле соответствующих выводов по датащиту. Длина провода от COM-порта до программатора порядка 1,5 м.
Изначально были проблемы, при чтении пустого avr проскакивали непонятные значения, причем при каждом чтении в разных местах. Вылечилось галочкой «Тормоз» в uniprof!! Изначально тоже грешил на длину провода! Сейчас все шьется на ура.
Спасибо большое автору за подробные разъяснения и ликбез для начинающих =) Решил собрать свой первый программатор (заодно и первую плату)). Довольно долго подбирался к этому, ибо толком не было ни инструментов, ни компонентов. В итоге все же собрал все воедино, попробовал запустить — контроллер не детектится (ATmega16). У меня есть сомнения насчет правильности подключения входов. В ДШ написано, что кроме VCC, AVCC тоже должен запитываться, даже если АЦП не юзается. А вот нужно ли подключать вторую землю — GND, я не понял. Поначалу решил что это для удобства подключения, раскидано на две стороны, теперь сомневаюсь. Мультиметром зырил на контактах панельки — 5в напруга в норме, по остальным толком не знаю что должно быть. буду начинать с наиболее очевидного, ибо все раздирать не хочется сразу :)) Тем более в процессе сборки старался по возможности проверять все.
Я вот только зашил свою первую Atmega8 (и уже собрал на пластиковой макетке девайс, работает блин!! светодиодами перемигивается) При программировании подключал только 5 проводков , как предусмотрено в программаторе, AVCC не юзал. Землю тоже одну, про вторую второпях забыл =) Все прошло на ура! Питание кстати беру прям с компа с БП +5В.
А первоначальные эксперименты так наверно лучше с ATtiny прводить (что я и делал). Там ножек поменьше, меньше вероятность попутать, да и стоит 40 р. )
Я тоже питалово с компа взял, сделал переходник даже. Хотел все чтоб модульно было и легко отсоединялось, потом забил)) Сделал правда отдельную панельку, как у Di Halt на рисунке выше, только на 40 контактов(заманался немного с ЛУТ, ибо дорожки 0.35 сделал, а процесс еще не был отработан)).
Еще раз прозвонил все — оказывается диод отвалился в результате кривопайки) Контроллер определился, но потом почему-то при повторном выборе порта стал выводить invalid inter value или предлагает выбрать из списка контроллеров. Хз, мб провода длинноваты. Сами провода до панельки в норме, а вот соединительные длинные. Не знаю насколько это критично..
Тини (2313) я тоже собирался взять, стоит она у нас (СПб) уже от 80! С ней конечно попроще, да и в книгах по МК примеры на ней. Но я как-то уже взялся возиться с мегой, панелька готовая под dip40 тоже душу греет :)
P.s. Тока щас обратил внимание, что ты тоже из СПб =) А где ты тиньки по 40р нашел? :P
В Промэлектронике посмотри. Там МК всегда дешевые были. У нас их филиал есть.
Да, цены классные, кстати, спасибо. Правда с розницей посылают по ссылке в магаз. Вспомнил, что мы туда ездили с друганом, но он был закрыт. Надо будет добраться все же.
Мега 16 за 90р. в розницу весьма здорово!
В Микронике. Хороший магазин, находится на м. Новочеркасской. ATtiny26 уже стоит полтинник ((
Я в микронике мегу16 как раз и затарил. Только она была 105р в прайсе, а когда привезли уже до 145 подорожала =( Потом просек что все МК подорожали неплохо..
Мне у нас в Радиомаркете предложили tiny13 за 105р. (mega8 там около 130р.) Я тихо охренел и ушел. Вот только проблема в том, что это один из немногоих магазинов города, где реально есть МК. В остальных или нет, или кончились и когда привезут — неизвестно.
Все, разобрался вроде и запрограммил МК =)
Правда вышло несколько косяков. Определятся на 100% в автомате только в режиме «тормоз» (Athlon XP ~2000MHz). На первой прошивке все куда-то повисло, решил стереть все и прочесть для проверки. При чтении в нетормозном режиме вылазить такая ботва:
В тормознутом режиме все ок:
Правда в EEPROM какая-то фигня повисла.
В итоге прошил прогу, сбросил reset, начал тыкать мультиметром. На некоторых портах 0,5,0.. В, все ок! Но на портах D, например, было 0,5,5,0.
Потом решил попробовать прочесть содержимое прошивки МК еще раз (ресет вернул, прогу перезапустил). Вылезли опять эти кракозябры:
Черт знает что :) В целом я конечно рад, но не на 100%. Хочется разобраться в этих непонятках, дабы не блуждать впотьмах.
p.s. Прочел еще раз прошиву, все ок, в EEPROM 8A в одном окне, как и выше. Мистерия какая-то. Видать придется бубен приобрести при случае :)
1) А ты точно пины по порядку мультиметром тыкал? А то нумерация выводов из МК такая, словно их наркоман разводил.
2) Если унипроф тупит и работает только в режиме тормоз, значит надежды на него нет — он слишком медленный для этого компа. Попробуй аврдуд. Как настраивать под дудку в посте есть, в дополнениях.
1) Да я там приклеил бумажечку с обозначением пинов, чтоб все чинно было)) Еще раз проверю и попробую затереть по новой и перешить. А в EEPROM тоже окно по дефолту должно быть чистое?
2) Ага, спасибо, попробую. Хотя опять же, uniprof все же шьет, попробую провода укоротить, посадить вторую землю, пошаманю, может все ок на самом деле =) Думаю надо дальше двигаться, может на юсб программатор сделать и попробовать на основном компе (эти хады уже в новые материнки ни com ни lpt не пихают..)
У меня Athlon XP ~1400MHz, тоже работает только с тормозом. Надо будет на Линукс-машине 667MHz попробовать :D
хмм… у меня Core Duo 1800. Без тормоза также были те самые 7F, но только не так часто, в единичных местах. С тормозом все ок, ни разу не вылезло. Вечером ради интереса проверю на других разных машинках
Ди !!! тут по множеству запросов и жестких тупняков по поводу того, что программатор собран ПРАВИЛЬНО и МК запитана от батареек а НИЧЕГО НЕ РАБОТАЕТ, ПОЧЕМУУУУ!!??
на это счёт есть ответ который ,я так думаю, надо дописать к дополнениям в пост…
ПИтание АВР при прошивке должно составлять НЕ НИЖЕ 5 вольт !!! будет хотя бы 4.8 и получите «ункнов девайс»….. это проверено и не раз :)…
Да???? Хм…
я просто жестоко тупил пару месяцев на счет батарейного питания при прошивке…. 3 пальчиковых батарейки при всём желании не дают нужных 5 вольт… а вот с БП компа — пожалуйста! Всё пашет, и вот я начал проводить эксперименты…. снижал питание от 5.25 воьта (напруга в USB) до 4.6 вольта (примерное напряжение от 3 АА батарей), при 4.9 начинало прыгать опознование МК в Унипрофе…. но в ЦВАВРе было всё ОК! но при снижении до 4.6 уже не определялась ни одна МК :( не на одном проггере.
Думал это тока у меня…. но не тут то было…. несколько раз, разные люди тоже подгорели на сей же колбасе …при подключении к питанию компа ,они получали таки щастье :)
Вона как. Никогда с этим не сталкивался, т.к. у меня от Николаевского программатора сразу же и питался девайс (хуле, там сильные 5 вольт сразу из БП :) ). А вот усбасп спокойно шил даже когда напряжение питания было 3 вольта.
А вот подключать запитанный от 5 вольт МАХ232 к МК работающем на 3.3 вольта нельзя — убиваются выводы :(
так ты шил усбаспом L-ки на 3х вольтах? мне посто не пришлось как-то сильно работать с низковольтными контроллёрами…. не могу привести статистику на них..
Не Льки, обычные, но на 3х вольтах. Да, баспом без проблем.
Возможно надо просто уменьшить номинал резистора, который соединяет 8 и MOSI? Тогда AVR на выход будет давать напряжение повыше. (Мне помогло вообще выпаивание этого резистора, когда я работал с кабелем 2м :-])
Это выход из МК в ком, так что уменив резистор ты ничего не теряешь, но вот если COM порт возьмет и вкатит на этот пин лог1, то МК у тебя сгорит
Так с резистором разве не точно так же сгорит?
Ток будет ограничен, по крайней мере есть шанс, что защитные диоды сдюжат.
У меня такая проблема: спаял программатор, вставил МК (мега 8), питание от БП компа, запустил прогу Uniprof, выбрал порт и контроллер сразу определился, НО он некорректно считывал и записывал данные. После следующего включения программматор не смог автоматически определить тип контроллера, а ещё после следующего вообще не обнаружил.
Скажите что это может быть? Возможно ли такое, что при непрасильной записи нечайно записался бит защиты?
З.Ы. Стоял режим «Тормоз», Частота проца 3 ГГц.
1. Смотри длину проводков от программатора к МК… (должны быть не более 10 … 15 см, иначе помехи задолбят)
2. Ищи непропай. Возможен «плавающий» контакт. Когда вроде первый раз работает, второй раз через раз, а третий — нифига :)
а питание надо подключать к МК на ножку Acc , а минус на GND… рекомендуется соединять все ножки питания и земель!
Вопрос, адресуемый скорее всего Николаеву (хорошо, что здесь он появился).
Как правилно настроить Юнипроф на ЛПТ-разьем?
Когда нажимашь кнопку LPTpins появляется меню с выбом для каждой линии определенного пина(номер пина в скобках). Нумерация в Юнипрофе идет до 17 пина, а в схеме Громова есть пин № 20 (для DB-25F). Как, в таком случае настраивать Юнипроф? Или легкче всего, вместо 20 пина подлючить к 17 (например)?
И еще для чего нужны кнопки в меню настройки пинов типа «TEST Reset». И как с помощью них можно проверять настройку LPT разьема?
Если не трудно, ответьте пожалуста. Я сам хотел с этим разобратся на недели, но под рукой появился халявный инет — решил задать вопрос.
Ой. По моему, вы чего-то напутали. На схеме с 7 резисторами и 3 диодами приведены два разъема для COM порта! (и на мой взгляд зря — 25 пин COM порт сейчас нигде уже не встретишь). К LPT эта схема никакого отношения не имеет!
DB-25F — F — значит Female, то есть мама. Имеется в виду разъем на шнурке, а не на компе! На компе — COM — папы, а LPT — мама.
Ну-у-у, ясно. Значить такой программатор на LPT не перевести? Значить буду брать 5 проводов и подключать к МК.
Для LPT и COM разные схемы. LPT — TTL совместим, и какое-либо преобразование уровней не требуется. Это плюс. Минус — то что LPT очень нежен, спалить его проще простого. Крайне рекомендую в этом случае МК запитывать от компа. Зачастую для того чтобы спалить — достаточно подключить (или отключить) разъем LPT при включенном питании, если питание от другого БП.
Большое спасибо _riko_ за ответ. Не было контакта, поменял разьем и всё ОК.
Но теперь другое, при прошивке пишется «Ош. Записи, @=0000, надо 4В, есть 01″, а считывает всегда одинаково.
Длина проводов от ПК до МК 3см, это вместе с диодами и резистами.
Скажие, пжлст, это из-за компа (3ГГц)? Другого компа нет, попробовать не могу.
Может быть. Попробуй настроить на это AVRDude у UniProf могут быть проблемы с высокими частотами. Или активируй галочку «Тормоз» она прячется под окном с ЕЕПРОМ. Отключи окно ЕЕПРОМ и увидишь.
Возможно и так, но попробуй еще раз проверить ДОСКОНАЛЬНО контакты от программатора к МК… Говорю так, потому что тоже сталкивался с такой проблемой из-за неконтакта провода… Тупил неделю… Частота моего проца 3.3 ГГц
Ди Халт правильно пишет в посте «проверяйте схему по 10 !!! раз» и это не голословно ! Убедился на себе ;)
Здравствуйте. Столкнулся с аналогичной проблемой: ошибка записи. Для начала: питание брал от комповского бп, затем от собранного дсдс (с 1.2 вольта до 5). Подключался к обоим ком портам. Контроллер определяется. При попытке что то залить в обычном режиме почти сразу пишет об ошибке, в режиме тормоз доходит где то до половины и пишет: ошибка записи по адресу…., есть …, надо…. Это означает что контроллер не пустой?? Хотя сначала я его полностью стираю. КОнтакты проверял, уже перепаивал полностью, тестором прозванивал все.Может кто чем помочь?
Товарищи tomba, student такая проблема не связана с программатором или прошивающей программой. Я сталкивался с ней и частично решил. На моем компе (домашнем) возникала такая же ошибка (смотри предедущие посты). Я проверял программатор, перепаевал его (в более спокойном и внимательном «режиме»). Пробовал Дуду. Бесполезно. Соль оказалась в самом КОМПЕ. На других компе (544 ГГц и 2,8 ГГц) микроконтролер шьется на раз. А на моем домашнем компе с ошибками. НА мой взгляд Ваша проблема либо в сгоревшем COM-порте (берите другой или LPT или другой комп), либо порты у вас закрыты(нужна прога для открытия).
Для выбора решения проверти свои порты на прожиг (подключите принтер, сканер), если все работает, то ищите программу. Вот по последней хз. Здесь кто-то хотел выложить прогу для открытия портов, даже ссылка была (см. посты), но там небыло проги (называлась она CheckLPT.exe, кажется). Вобщем я тоже в поиске решения этой проблемы.
Да кстати с LPT-портом тоже все не просто. если припоять контакты к LPT как на схеме, то у Вас ничего не получится (проверено). Там линия Reset на 20 ногу заводится, а унипроф не может на нее настроится (смотри посты выше).
Если будут результаты, любые, пишете — обсудим
я попробую на компах в универе, но я не понимаю одного: если у меня контроллер дошился до середины, причем здесь закрытые порты?? результаты опытов отпишу позже, все может быть…
вообщем товарисчи, я тоже прошил свой первый контроллер….проблема с компом…в универе на 1000 мегагерцах в режиме тормоз (ну на всякий случай) была зашита прошивка для юсб программатора…счастья просто..много))))
Кстати по поводу утилиты для открытия портов она если сходить на
http://users.iptelecom.net.ua/~gumeniuk/ там она есть Исткать надо уметь
Скачай архив с дровами под ХР в архиве есть папочка UsePORT. Это и есть искомая утилита.
Без этой утилиты на XPsp3 работать программатор небудет так как они ужесточили политику работы с портами.
В ранних версиях ХР работает данный софт с правами админестрирования правда невсегда но это уже особенность дров для материнок, но после установки данноуй утилиты все наченает работать как часики. Проверял на разных компах и неоднократно. С Вистой этот софт вообще не работает не под каким предлогом.
Вообщем, не смог я свой компьютер заставить работать с программаторм. Программку эту, что выше писали, скачал, добавил диапозон адреса ком-порта 03Е8-03FF (его кстати можно увидеть во вкладке «Ресурсы», когда нажмете в диспетчере оборудования на Ком-порт1). При ситрании стало одну строчку прочерками делать. Этого недостаточно.
Прозьба к student-у. Может проверишь на своем домашнем работу программатора с помощью той программы.
Цитата fantomlds марта 21, 2009 at 5:16.
Кстати по поводу утилиты для открытия портов, она если сходить на
там есть.
Скачай архив с дровами под ХР, в архиве есть папочка UserPORT. Это и есть искомая утилита.
Мужики, спасите советом! Программатор работает у меня ровно 1,5 — 2 дня, потом ломается. Меняю DB-9F и прогр. как новенький. Что это может быть?
Контакты хреновые, что тут еще может быть.
И как с этим бороться? Купить какой-нить дорогой разьем с хорошими контактами, или напрямую припаять)))?
А не пробовал разьем после пайки помыть смывкой .
Такое иногда бывает после пайки актирными флюсами разьем окислфется.
И еше надо поставить на разьем корпус и хорошенько прикругивать к компу.
Я думаю после этого все пройдет.
А поять намертво нестоит невкоем случае ком порт испортиш да и только.
Доброго времени суток! У меня просьба: накидаите кто то «точную» схему программатора для прошывки ATTINY2313))), а то я вже вторую неделю «парюсь» — комп не находит МК!! Плату сделал вроде акуратно))) По етому думаю, что причина скрываетса именно в неправильной подключке МК… А нужно ли для етого МК подключать кварц? Еще, выше говорилось, что «НУЖНО ОТКЛЮЧИТЬ ПРОГРАММАТОР и подать на вход RESET +5″… тоесть, нужно сначало подать питание на Vcc и GND в программаторе, после етого через резистор подать те же +5 на RESET… потом подключитса к COM порту.. или как?
Если не сложно, то розпишите по пунктам — что и куда подключать…. а то я что только не пробывал… вроде сделал как на схеме, но ОНО не работает)) (а еще лучше, если бы было видеоописание етого процеса…. )
Очень буду благодарен за помощ!!)
Куда уж точнее?
Для прошивки:
1) Кварц не нужен
2) Подключить к МК 6 проводов от программатора
+5 к Vcc
MOSI
MISO
CSCK
RESET
GND
ПРошить программму
Для запуска:
1) Кварц не нужен.
2) Отключить программатор. Подключить RESET к +Vcc через резистор.
3) Подать на Vcc +5 на GND 0
МК должен начать работать по программе.
По поводу ОНО не работает. И «Вроде» сделал по схеме. Сколько раз проверял схему, сборку и качество контакта? Если меньше 10 раз, то вопрос не принимается :). Должно быть не «Вроде» а именно так.
Ну блин почему все путаются в десятке деталей.
если тут не могут отладить такую схему то что будет дальше.
У меня все заработало с первого тыка.
Надо собирать не спеша и все будет работать сразу
Было дело, собрал программатор avreal. Но ничего не находилось, не писалось, а считывались стабильно 0xFF. Какой вывод? Правильно, закороченный на Vcc MOSI(или, при программировании, MISO?). Виной тому оказался плохо смытый флюс.
Мораль — прозвони схему, прежде чем включать.
А не паяй чем попало. А уж если спаял — не поленись промыть. Вроде мелочь, а устраняет кучу проблем (если не сразу, то в будущем). Паяют всякой гадостью, а потом удивляются…
Приветсвую!
Такая проблема…
Спаял на картонке программатор Громова. Воткнул Атмегу8 (пользованную другом, т.е. на ней уже чё-то было). Она тут же определилась. В Uniprofe нажимаю ERASE, галочка на ВСЁ стоит, процесс происходит оч.быстро(мне кажется, что и не происходит). После чтения Атмеги8 там в некоторых блоках адресов вместо прочерков стоят 7F7F.
Запись не происходит. Выдаётся “ошибка записи, @=0000,надо 13, есть 00…”
Может я что-то неправильно делаю? Это мой первый МК. Вожусь с ним неделю.
И ещё один можеть быть глупый вопрос. А питание куда подавать? В моей схеме, куда хочу воткнуть МК, + подаётся на 7(Vcc), 20(AREF) и 21(AVcc), — на 8 и 22(GND)/ А на программаторе куда?
Я никак не могу понять, что там нужно с резистором и RESETом делать? Нет схемы программатора со всеми приблудами, проводами, контактами, деталями?
Заранее благодарен.
«процесс» и должен проходить быстро.
Если МК определился при первом включении — похоже, схема верна
На программатор питание не нужно. Но МК должен быть запитан. Если не подать питание, то он зачастую определиться может, по паразитному питанию. Но писать/стирать ессно не получится.
От чего вы питаете МК? «делать с резистором и RESET» — поясните, что вы имели в виду.
Провод не сильно длинный? На RESET нет ли RC цепочки на землю?
Мк питаю от БП с ЕНкой. 5В ровно.
Про резистор и RESET: начитался предыдущих вопросов. Там что-то говорилось о запитывании RESETа через резистор 1..10 кОм.
От СОМ порта провод до программатора 70 см. Длинный, чтоб на столе лежало… Или зря?
Собрано всё по схеме с 3 диодами и 7 резисторами. Так что RC не наблюдаю…
Ну вроде все правильно. Разве что попробуйте убрать подтяжку RESETа, при программировании это все же может помешать — особенно если 1к. А при работе эта подтяжка нужна только если в условиях сильных помех
70 см — должно быть нормально
Да, еще иногда забывают о том, что нельзя отключать питание МК после того как он определился — он выйдет из режима программирования. Возобновить — проще всего кликнуть по синей надписи с тактовой компа.
питание только на Vcc(7) и GND(8) достаточно подавать(при прошивке). процесс очистки происходит на самом деле мгновенно. 7F7F…может остаётся из-за помех…попробуй стереть , потом если что то останется, ещё стереть…
ты программатор на com прицепил или на lpt? если lpt, то провода коротенькие должны быть..10-15см
Я прочитал где-то здесь, что — питания нужно подавать на оба GND.
От СОМ порта провод до программатора 70 см. Собрано всё во схеме с 3 диодами и 7 резисторами.
Нет, не нужно. было сказано что можно, но не обязательно. от прогрямматора к контроллеру идут провода на miso,mosi,sck,reset,gnd. и плюс ещё надо запитать мк. просто на vcc u gnd +-5В подать и всё. обвес для самого мк не нужен никакой
Спасибо, за советы. Всё сделал. Но не заработало всё равно!!!
Но хэппи енд всё-таки был. Не знаю почему, может танцы с бубном помогли. Короче после двух дней мытарств всё получилось. Делал так: поставил задержку программирования на 40, включил тормоз, начал стирать. Стёрлось не всё. Переопределил МК. Стёр.. и .т.д. раз семь. А потом всё прошилось!
А часом никто не пробовал подключать этот программатор через переходник USB-COM собранный на FT232BM ? Мне как-то приходилось пользоваться таким переходником, достойная вещь. Может именно через него не будет ужасно тормозить? И кстати, с чем связаны тормоза при использовании переходника?
Дело не в том на каком чипе переходник. Лично пытался сделать именно на FT232BM в режиме параллельного вывода. Если надо просто писать туда или читать оттуда — со свистом. А вот если надо записать а потом прочитать — миллисекунды. И ничего тут не поделаешь.
Т.е. задержка связана именно с тем что COM порт эмулируется програмно?
Если так, то дело может быть в корявости драйвера…
Просто отрыл у себя FT232BM, хотел попробовать на нем программатор сделать. Все так радужно казалось, и 5 вольт тебе под рукой, и уровни сигналов преобразовывать не нужно…
Я не копал глубоко — просто до USB в рутине не доходят руки, хотя и чувствую, что пора давно. Но пока есть ноут с COM портом, жареный петух спит.
Там вроде есть такое понятие «пакет» — то есть пачка данных. В одну сторону. В пакете может быть и один байт, и мегабайт. Но между пакетами — миллисекунды. Это определено протоколом самого USB.
Если вы качаете по RS232 файл — это все в одну сторону, и скорость будет большая. Если же — байт передать — байт принять — то увы. А SPI по другому проэмулировать никак нельзя.
Слышал что есть двойной FT2232 — но в руки он мне не попадался. Пощупать не мог. У того вроде есть штатный драйвер эмуляции SPI,I2c и так далее. Видимо, раз девайса два, то один валит данные в одну сторону, другой — в другую.
Ну если руки дойдут, попробую на этом FT2232 программатор сделать
Я вот спаял программатор, 7 раз проверил и отрезал… сгорел чипсет на материнке. Спаяно все аккуратно, проверенно, я уверен в правильности спайки. Почему так случилось? Возможно ли запрограммировать микроконтроллер atmega 8-16 программатором, предложенным выше он, вроде как, не позволит сгореть LPT ? В новую плату после такого происшествия боюсь воткнуть программатор. Спасибо заранее за ответ
Подключал к COM порту или к LPT?
Это STK200 хороший программатор, можешь собирать его смело. Его поддерживают очень многие программы, например Avrdude или PonyProg. На счет Uniprof не уверен, но думаю тоже может.
Использовал COM-порт. Единственное, материнки ASUS для моего компа плохие по качеству (уже менял), возможно, еще и эо привело к поломке.
Доброго времени суток, уважаемый DI HALT!!!
Помогите советом, аки быть!?
В общем в двух словах, впервые взялся за AVRы, (судьба свела ) ), взялся программировать кристал AT90CAN128 стоящий в отладочной плате от Olimexа, с помощью Olimex девайсины AVR-JTAG-USB, но проблемка сначало была маленькая ( AVR AT90 не преходил в режим отладки в AVR Studio 4.16) так вот, в процессе ковыряния я по шаловливости своих ручек, сбросил фьюз JTAGEN и прошил МК. ((( теперь пытаюсь по ISP интерфейсу востановить и пробится к фьюзам. Спаял программатор на COM-порт 3D+7К но что то как то на клеится UniProf не видит МК, на плате стоит стабилизатор на МК Vcc 5 В, внешний кварц выдает ~ 14 МГц (синусойда) Сигналы MOSI(PE0)(2), MISO(PE1)(3), Reset (20) , GND и SCK(PB1) (11) вроде подаю правильно. На что ещё следует обратить внимание !? Схему прозвонил несколько раз. Провод от программатора около 10 см. Точно уверен что Бит-Фьюз SPIEN я не трогал, он так и остался выставлен «0″ — поменял только JTAGEN на «1″ очень хотелось бы верить что я кристалл повесил не намертво (((.
С уваением, Alextitan.
А унипроф ваще знает этот МК? Довольно непопсовый девайс я те скажу :) Спроси у Николаева, может просто этот МК он в поддержку забыл добавить. Да, еще проверь по даташиту бит SPIEN по дефолту в 0 стоит? А то кто их знает эти CAN версии. Может они изначально под JTAG заточены.
Протрахался неделю, перепробывал все, выполнил все рекомендации из поста и коментов. Не шьется AT90S2313 :( Вот никак прямо. В связи с этим вопрос: чтоб прошить такой девайс кварц обязательно подтыкать? А то мож убрать его, а то я не совсем уверен в номиналах кондеров, которые у меня нашлись. МК живой на 99% ибо выдран из рабочего ранее устройства, но не юзаемого за ненадобностью.
Кстати, интересная фигня наблюдается: унипроф автоматом МК не определяет, но если выбрать вручную, то прошивку он считывает, но каждый раз разные значения. Почему такое может быть?
Кварц обязателен. Ну, или внешняя тактовая. Без тактовой — МК мертв. Емкости — 22 пф, реально от 10 до 50 пФ работать будет. Ну, а если поставить 22 нФ — то, ессно, нет.
А в даташит поглядеть? АТ90S2313 НЕ ИМЕЕТ внутреннего тактового генератора, поэтому ему ОБЯЗАТЕЛЬНО нужен внешний кварц ли тактовый генератор.
Ну окай, кварц то у меня стоит. Еще что может быть?
Добавлю свои пять копеек, может поможет спасёт кому время :-]
Спаял программатор для COM-порта, микроконтроллер — ATmega8535.
В UniProg вообще не определялся, avrdude только в одном из пяти случаев, и то при получении signature приходили совсем левые значения.
Я решил, что проблема в слишком длинном кабеле (у меня был 1.8м), и поэтому у выходных драйверов ATmega просто не хватает можности. Взял и просто выпаял резистор, который соединяет MISO и pin 8.
Всё зарабатало!
PS. — Я взял паяльник в руки в первый раз, поэтому, возможно, моё решение достаточно опасное :-]] Может можно было просто уменьшить номинал резистора, а не убирать его вообще, но в наличии не было ничего, меньше чем 1К.
PPS. Мне вот интересно, а можно в этом программаторе вместо резисторных делителей использовать MAX232, как и для обмена данными?
Привет.
Собрал такой программатор для прогшивания ATMega48 для USPAsp’а.
При подключении МК определяется правильно. Прошиваю так:
1. Включил питание на МК (от БП компа)
2. Запустил Uniproof
3. Нажал Erase (кстати, как-то очень быстро он стирает его, но при нажатии на Read читаются все —, что как я понял правильно — МК пустой)
4. Жму на HEX, выбираю прошивку для ATMega48, а на выборе EEPROM жму отмену
5. Жму на Prog, жду пока прошьется (без ошибок прошивается только с галкой Тормоз)
6. Нажимаю на Test — результат «идентичны»
7. Захожу в Fuse и выставляю все как на скриншоте из архива usbasp.rar, жму на Write под каждым блоком. Никаких ошибок нет, но при нажатии на Read под каждым блоком — состояние запомитает (т.е. вроде как записыватся в МК) только первый блок Lock&Fuses.
Не знаю повлияет ли это на работу самого USBAsp (еще не до конца собрал, нету стабилитронов, поэтому проверить пока не могу)
И вообще это нормальная ситуация или где-то косяк?
P.S. Операционная система Windows XP 64bit и при запуске Uniproof он ругается на отсутствие файлика LPTWDMIO.SYS. Сам файл естественно присутствует в папке с программой.
Lock биты можешь вообще не прошивать, они просто закрывают кристал от посторонних глаз.
С виду все нормально. КРоме одного — фузы должны быть теми какие ты выставил.
ПРоверять еще как можно — заливаешь прошивку. Потом сразу же делаешь Read и смотришь она это или нет.
Так я ж и говорю, что они не прошиваются :( или UniProf не правильно читает их с МК :(
Все, проблема решилась сама собой после очередной перезагрузки. В чем причина была не знаю, но теперь у мну есть рабочий USB Asp. А этот до лучших времен (или наоборот :) на полочку!
Здравствуйте, подскажите плз,я приобрел мегу 8 сделал программатор по схеме, проблема в том, что не знаю к каким ножкам на контроллере надо подключать:RESET,MOSI,SCK,GND,MISO,вроде эти пять проводков?Но к каким ножкам???И еще хочу узнать что такое GND и с чем это есть, просто лазил по инету и не увидел ни одного программатора кроме этого с GND…) http://robozone.su/2008/03/21/page,1,1,prostojj-programmator-dlja-parallelnogo.html . Здесь как я понял есть RESET,MOSI,SCK,MISO а где этот пятый контакт?Led на схеме это светодиод,2 питание для светодиода, а пятый провод куда пихать хз),4,6,8,10 как я понял земля…
Какая ножка на МК за что отвечает смотреть надо в datasheet’е (для ATMega8: http://atmel.com/dyn/resources/prod_documents/doc2486.pdf)
GND — это общепринятое сокращение от ground — земля.
ГГ,=((,посмотрел даташит меги8…Так и не понял куда подавать -5 вольт,забирать +5в…Еще там 2 GND, объясните please непрошареному человеку).Точнее я знаю что -5в. надо подавать на землю,но на какую из двух?
На обе GND
Соедини вместе GND все какие найдешь это минус и соедини вместе Vcc и AVCc это плюс 5вольт.
У меня несколько вопросов к автору UniProF. Последняя версия от 20 янв 2006, можно ли внести в программу некоторые дополнения, которые бы достаточно сильно упростили многократное перепрограммироване МК? (например автоматическая установка границы прожига при загрузке прошивки, это значительно бы ускорило процесс для меги16 и выше)
И на чем написан UniProF? (я сильно подозреваю, что это Дельфи или Билдер)
>> Чтобы “определить заново” — точнее, ввести МК в режим программирования — можно
>> просто кликнуть по синему тексту с тактовой частотой компа.
У меня тактовая частота выводится КРАСНЫМ, а вот синим выводится тип МК. Но куда бы не кликал, все равно заново не определяется. Помогает только смена порта туда-обратно или перезапуск программы…
Здравствуйте! собрал программатор по схеме проверял схему 20 раз всё в порядке.Проверял шнур от программатора до ком порта всё ок,длина шнура 50см,даже проверил уровни программой Николаева spimaster, но мк не определяется, мк новые 2шт, комп четырёхядерный Asus P5KC,частота каждого проца 2,5Ггц,может дело в компе?
Запросто. Ваще самый верный способ намутить древнюю банку, какой нибудь пентиум 3 800МГц, воткнуть туда Винду98 и развлекаться с ней. Ну или попробуй режим «тормоз», поиграйся с параметрами задержки. Может тебе повезет.
Режим тормоз пробывал не помогает,а на счёт древнего компа это идея они сейчас копейки стоят.Спасибо
Меня интересует вопрос когда унипроф запускаешь системная частота какого цвета должна быть у меня красного
Какого цвета должна быть не знаю, но у меня тоже красного. Всё работает отлично (правда через раз :)
Дамы и Господа!
Кто пользуется Uniprof’ом, попробуйте сперва очистить МК, а потом прошейте без режима «тормоз». Напишите что получилось.
(Особенно касается тех, у кого частота проца на компе около 3 ГГц).
А ничего не получилось. Очистить-то он очистил, а прошивает с ошибками. И ни разу не получилось так, что бы проверка показала бы «идентично»
Купи себе за бесценок (или из хлама собери) прошивающий комп, что нибудь на базе третьего пня с полным набором портов и шей через него :)
Эм… у меня все нормально шьется с «тормозом». Это я по просьбе tomba выполнил инструкции =)
P.S. Да и я уже собрал себе USBAsp =)
У меня прост без «тормоза» лучше шьется чем с ним. Решил проверить мож ещё у кого так будет.
прошивал две тини2313 без тормоза, все отлично
народ есле не трудно обьясните , этот программер подойдет для прошитее http://www.joysticks.ru/joysticks/samodel/24.shtml или http://www.joysticks.ru/joysticks/samodel/25.shtml,и как программер правельно настроить для этих процессов.
Подойдет, конечно.
Подключи программатор к соответствующим выводам МК (имеется в виду: MOSI, MISO, SCL, RESET, GND). Подай питание 5 вольт на МК, и всё, прошивай.
а чем прошивать джостики uniprof или PonyProg 2000 , и можно прошивать мк отдельно или обязательно в схеме.
А чем хочешь, тем и прошивай. Хотя в твоем случае всё же лучше PonyProg, чтоб с FUSE битами не заморачиваться и делать как в статье. И можно отдельно прошивать МК.
я не очень дружу с FUSE битами, больше с пяльником ,если не трудно ыстави правельно биты для джостика http://www.joysticks.ru/joysticks/samodel/24.shtml, не хотель чтобы мк заблокировался,у нас в городе с ними тяжко только на заказ и то через 1-2.
В самом проекте про фузы ни слова. Но раз используется внешний кварц, то очевидно что надо выставить CKSEL=1111 для классической нотации. Или CKSEL=0000 если шить через PonyProg
а если я просто прошью отдельно,а потом поставлю в схему , то нужно биты воставлять?
Нет, прошей отдельно, биты сразу же выстави. А потом можешь вставлять в схему рабочую.
PonyProg как настроить CKSEL=1111 биты в этой программке, желательно в картинках и поэтапно, ну обяснить как пользоваться правельно, я только начинаю осваивать.
Позырь соседнюю тему про USB программатор. Вот там указано как выставить фуз биты на UniProf’e — пони прог юзать не советую — лучший способ заблокировать МК по неопытности.
вотеще вопрос а если мк не определенно фузы не выставить нельзя?
А что ты будешь выставлять если программатор не знает что к нему подцеплено? У всех МК фузы все разные, состояние их по дефолту тоже у всех разное. Так что вначале ты их должен считать, потом изменить только нужные тебе и потом прошить. Ну и прошивку накататить предварительно
http://eldigi.ru/site/comp/6.php как сделать чтобы прошить через UniProf .
Кого прошить? Контроллер?
1) подключить контроллер к программатору, любому.
2) Запустить UniProf, убедится что контроллер определился правильно
3) Прошить прошивкой!
Не ты меня, не так понял, архив который там предоставляет, нет файлов которые можно прошить через UniProf.Вот посмотри http://eldigi.ru/site/comp/download/VGA_PAL_src.zip
Там исходник прошивки. Ее надо пропустить через компилятор сначала. Используется WinAVR. После компиляции у тебя будет hex или bin файл. Вот его уже можно прошить
я только не пойму скачал прогу WinAVR сделай по инструкции ,появились другие, но нужных нет hex или bin.
Значит что то сделал не так. Либо в исходнике были ошибки и копиляция не завершилась успешно.
если не трудно проверь, если получиться выложи прошивку.
Возник такой вопрос…. Если у нас у компа везде одна земля, в том числе и во всех разъемах, то зачем нам объединять землю из COM порта и землю, которую мы надыбаем от блока питания? (как сделано на плате) Или я что-то неправильно понимаю? Спасибо =)
Если питаешь от компа, то необязательно соединять земли. Я так и делаю.
Собрал программатор, работает(Ура). Но в готовом ус-ве МК сильно греется(просто зверски).С чем это может быть связано? Пробовал питание и 5 В, и 3 В
Все, разобрался. Виной всему невнимательность. Перепутал VCC и GND.
PS. Классный ресурс
вот если я поставлю atmega8-16 ai smd там такие же биты выставлять как для атмеги8-16pi. И не че не будет если я резисторы взял такого наминало только 0,5вт
И дайте пожалуста ссылку на рассскайку ножек для атмеги8-16ai, нашел только atmega8(L)
На номинал мощности пофиг, только громоздко будет.
Фуз биты такие же, распайка ножек на все виды корпусов указана в любом даташите на мегу8.
Подскажите пожалуйста.
Собрал этот программатор, вроде все правильно, купил МК Attiny2313, подключаю к компу с помощью COM-удлинителя (около 2 м), питанине подаю от БП для внешнего сидюка (он 5В 2А дает) и МК не определяется в Uniprof. Удлинитель проверил — целый, может сильно длинный? МК совсем не греется.
Подай питание с компа. Надежней будет.
Привет уважаемый хозяин сайта и огромное уважение за все, что ты делаешь!
Читал около месяца, вчера наконец-то вырвался за детальками, затарился «стартовым комплектом» (Чип und Дип нифига не рулит, выводные резюки 0.25 Вт по 10(sic!)рублей, Мега 8535 — 250 р.) и сегодня спаял программатор… Как и предполагал, с первого раза не получилось — контроллер не определился… перепроверил схему и так и сяк, и решил подойти научно:-) Ибо под столом стоИт недавно приобретенный всего за 400 р. С1-72:-)
Сначала, как выяснилось благодяря сначала осциллу(при попытке подключения ни одна нога не дергалась ни на милливольт) а потом HyperTerminal, какая-то ж… держит Com1… ну да это нынче распространенная троянская болезнь, по долгу службы приходится частенько на нее заморачиваться, но сейчас лечить было лень, поэтому тупо перетыкаемся на Com2, который как показывает тот же Hyperterm «до пятницы совершенно свободен»…
Итого имеем — на ноге Reset при попытке подключения импульс +5В, потом 0. На ногах MOSI & SCK(в процессе исканий мнемонически прозвал её Suck:-) в «спокойном» состоянии низкий уровень, при попытке приконнектиться — высокий(+5В, держится такое состояние пока не перекинешь UniProf на другой порт, после падает опять в низкий уровень). Vcc и AVcc и обе земли подключены и прозвонены — все на месте, подключено от БП компа. И только MISO молчит как партизан(мерял как ДО так и ПОСЛЕ ограничивающего резюка)… Как я понимаю поэтому и не определяется и вообще ниче не происходит…
Итого: как мне чудится, вышеприведенные измерения позволяют сделать вывод, что схема спаяна правильно(поправьте, пожалуйста, если ошибаюсь), посему вариантов кроме дохлого МК или убитого фьюза spien(МК новый, куплен вчера в чипдипе) у меня не осталось:-( при поптытках отладить схему на неработающем первом компорту перепаивал задом наперед диоды(могло это убить МК???). Паял МК аккуратно, не более полусекунды на ногу, охлаждал пинцетом сразу…. Единственый червячок: может быть падение Vcc из-за того, что провода питания не припаяны-прикручены к разъему компа, а просто туда вставлены?(давно бы померял точную напругу, да вот незадача — осцил есть, а мультиметр далеко:-). Больше идей нема… Воодущевляет и защищает от «разочаровывающей неудачи» только то, что многие здесь присутствующие бились с программаторм неделями и месяцами:-)
PS^ Автору огромное спасибо за РУССКИЙ ЯЗЫК! Как ценитель оного литературного и не очень:-), могу сказать — ОТЛИЧНЫЙ СТИЛЬ изложения. Будете у нас на колыме, с удовольствием бы девиртуализировался:-)))
Вначале проверь питание. Оно должно быть четко 5 вольт. И взято с компа.
Далее проверь RESET. При определении МК там должен быть 0, и потом 0 — бо режим программирования, но если нажать на лупу в UniProf то должно быть +5 (режим отладки, МК запускается)
Что еще. На Mosi MISO и CSK должны быть импульсы когда идет любое обращение к МК. В спокойном состоянии там я не помню какой уровень, но статика.
Диоды ты зря перепаивал, на ножку подалось отрицательное напряжение. Убило/не убило это фиг знает, Мои МК и не такое переживали без последствий. Мог ноги пожечь у МК. Еще этот программатор бывает не работает изза высокой тактовой частоты компа. Выше 2ггц уже проблемы могут быть.
Комп 3й пень 866 Мгц, посему вряд ли…. Завтра буду проверять питалово тестером. mosi-miso-csk — на мой ламерский взгляд будут импульсы когда МК и программатор работает штатно — т.е. получает запрос по mosi-отвечает по miso. А если по miso не отвечает — то прога программатора не дождавшись ответа отсавляет mosi и csk задранными. Короче либо ковыряться в протоколе, либо забить и купить новый заведомо негорелый МК:-) А тем временем поупражняться с операционниками и всякими RCL-цепями, благо в убитом комповом БП куча интересных деталюшек(кстати, неплохо бы об этом упомянуть в блоге, для начинающих, типа меня, и тренировка в демонтаже, и экономия кучи бабла).
эээ…. а 115 килоОм в прямом направлении для диода — это не дофига??? это вообще диод?:-)))) выглядит так же, как на плате DI HALT’а, разве что еще чуток поменьше, стеклянный корпус, черная полосочка со стороны катода, выпаяно из блока питания
Скорей всего это дохлый диод.
РАБОТАЕТ!!!:-)))
Радость ну просто детская, честное слово, хочется обнять весь мир-))))))
Итого, перепаял диоды, выпаянные из БП компа на купленные в чипдипе по списку для начинающих DI HALT’а 1N5817, устранил образовавшийся после этого непропай, и… как по волшебству увидел на ЮниПрофе волшебную синюю надпись [8K, 512] mega8535. Есть повод немножко погордиться собой и начать погружение в асм:-)))
Привет. Только-только заинтересовался электроникой, так что не ругайте)
Во всех примерах я видел что в схемах используется кварцевый резонатор. Я так понял, чтобы прошить МК, он не нужен? Просто подать 5 вольт от компа и всё? И дальше, чтобы увидеть нули и единицы на ножках, тоже кварц не нужен? Подавать 5В и дело с концом?
Ну не во всех, я так его почти никогда не юзаю :)
Да, он нужен только тогда, когда ты хочешь запустить МК на какой то определенной частоте. Если тебя устраивает примерно 8Мгц то можно забить на кварц. Для первых опытов кварц тебе не нужен. Главное Fuse биты пока не трогай :)
Спасибо) Значит, вроде спаял всё правильно, МК определился. Скачал проект, скомпилил, залил в МК. После этого отключаю программатор от ком порта, начинаю мерять напряжение на ножках(правильно ли меряю — втыкаю тестер в GND и порт какой-нибудь?) — показывает какую-то фигню, почти на всех ножках 0,05В. С чем может быть связано?
На почти всех или на всех? МОжет там и в самом деле нули :) Какой МК? Какой код?
AtTiny2131, код для теста взял по ссылке выше отсюда же, из статьи.
Похоже что таки на всех портах нули почему-то. Я правильно меряю хоть?)
Замеряешь правильно. Нулей там быть не должно. Reset к +5 подтянул?
Нет. А подтянуть это как? (: Оно работает только если на Reset 5 вольт подано?
UPD: похоже моя проблема уже обсуждалась в начале комментов, прошу прощения, не посмотрел.
на Tiny незнаю наверно как на меге через резюк 10ком,хотя я прошил подключил и работает! без reseta!!!
Да через резюк на 10к на +5. Вообще она работает без такой подтяжки, т.к. есть подтяжка внутренняя, но она слабая и может колебаться от внешних наводок. Да! Совсем забыл. Отключи программатор от кристалла во время работы.
Привет всем! а по программе какие уровни должны быть на выводах?
По моей тестовой то для Tiny2313 должен быть 010101010101 по всем портам.
ОН пишет почти на всех почти это как?
кстати ДИ СПАСИБО за совет использовать старые пеньки, я вспомнил что у товарища есть такой взял прошил сделал USBasp и сейчас прошиваю на своём четырёхядерном на раз,кстати со стабилитронами отказывается определятся,а без них как часики!
Кстате не кто не знает что за ерунда? На дудке прошил контроллер мега8 ,всё работала, потом в там же в дудке через USBasp стёр её и мега перестала определятся, причём вообще нигде?ДИ может ты знаешь чё за х…?
А может ты фузы прописал? Если их изначально не загрузить и четко не указать, то записав туда лабуду ты мог лихо заблокировать кристалл.
Я фузы нетрогал! и чё теперь делать с этим мк?а при стирании тоже можно заблокировать?
Вот вопрос что если на резет подать +5v без резистора, то мк не что не будет? и сколько времени держать на резете? Какое питание брать с другого источника для питание резета, или можнос того что и мк,при этом не отключаем мк? Расскажи по подробней про пункт:
4) Перед запуском программы в МК НУЖНО ОТКЛЮЧИТЬ ПРОГРАММАТОР и подать на вход RESET +5 вольт через резистор в 1..10кОм. С подключенным программатором ничего работать не будет, т.к. он прижимает RESET и не дает кристаллу стартовать.
МК то ничего от этого не будет, но лучше не надо. Ведь кроме там же еще COM порт и ему придется бодаться с этими жесткими +5 вольт.
Держать на ресете +5 вольт столько сколько этот МК работает. Короче говоря всегда.
Дело в том, что вывод с ком порт который идет на ресет выдает туда 0. Ноль подается на ресет для сброса и/или входа в режим программирования. ПОэтому если ты не отключишь программатор то МК у тебя не заведется, т.к. программатор будет удерживать его в сброшенном состоянии, не давая стартовать.
Как я понял подаем питание на RESET,но не падавая питание на ножку vcc(7). После этого как питание есть мы включаем программер в соm порт, настраиваем программу и программируем. Исправь если что то не так, или расскажи как осужествить первое включение.
Блин, чем ты читаешь?
Подаем питание на Vcc и GND. Как положено.
RESET подключен к Vcc через резистор в 10к
Программатор включен в COM порт.
Подключаем программатор к MISO,MOSI,SCK,RESET,GND
Шьем.
Отключаем программатор.
Программа начинает работать, сразу как был отключен программатор.
вот так бы сразу написал коротко и ясно.
спасибо за консультацию.
А к ножки(20) AVCC тож питание подавать +5 v
вот только с этой ножкой проблеммы подскажите.
и AGND тоже нужно соединять с GND.
Да тоже
Да
Уважаемый, DI HALT!
Спасибо за такой интересный и полезный сайт :)
несколько дней не мог оторваться.
Появился интерес собрать небольшой com-программатор.
нашел схему — http://msevm.com/main/prog/com/index.htm
выходит, чтобы собрать программатор, нужно программировать МК.
Вопрос такой….
в схема используется микросхема AT90S2313, т.к. ее уже не выпускают, купил ATtiny2313.
По документации отличие МК в наличии внутренего кварца у ATtiny.
При прошивки незабыть указать фузы.
и так к сути вопроса….
1. в схема программатора имеется кварц на 11Мгц. нужен ли он при использовании МК ATtinny?
2. как лучше прошить Attiny для будущего программатора? подойдут 5 проводков от LPT ?
3. при дальнейшем использовании программатора, есть ли смысл сделать площадки для большинства МК? как это лучше всего реализовать? =)
4. дайте какие-нибудь рекомендации =) СПАСИБО
Страничка не открывается, но я догадываюсь что там за программатор.
1. Кварц нужен, т.к. Внутренний генератор Tiny может выдать не более 8мгц. А прога расчитана на 11МГц
2. Подойдут, но лучше осторожней. Я бы на COM порт сделал. Меньше риска что нибудь пожечь.
3. Нет, в 90% случаев все шьется прям в устройстве через 10 (или 6) штырьковый ISP разьем.
4. Проверяй все трижды.
Читал, но видимо плохо читал, не нашел… Какая может быть максимальная длина проводов комп-программатор и программатор-плата с контроллером?
COM программатор около метра можно. Программатор — МК не более 15см
А прошивать этим программатором можно сколько угодно раз? И чем плох этот программатор ввиду простой схемы? что может вылететь и т.д…
Всем доброго дня. На http://avr.nikolaew.org выложена чуток усовершенствованная версия программатора uniprof — возможность «инверсии» COM шнурка на случай применения буфера на выходе, возможность копировать с клипборд кусок данных с отладчика
Уважаемый DiHalt!
Прошу заценить небольшой отчётец по созданию программатора =)
http://dsiss.livejournal.com/57435.html
Заменять диоды светодиодами не надо!
Однако работает :)
Товарищи!
Собрал свой программатор на com порте. Не всё сразу получилось гладко. Сначала впаял не те диоды. Кстати, типы правильных диодов указаны в справке к программе uniprof: 1N4148, кд522 и кд510.
Сначала стал подключать программатор к старой машине: pentium166MMX. Запустил uniprof ничего не определилось как я его не мучал. Забил на это дело.
На втором шаге своего сражения подключил программатор к новому (относительно) компу. Проц двухядерный на борту debian lenny. И на удивление моё всё сразу заработало. Использовал программу avrdude. КОнтроллер определился (attiny2313).
Но опять возникли проблемы. Без проблем читаются все области данных: флэш, еепром, фьюз биты. Хотя, нет, есть проблемы не всегда считывается одно и тоже. Например, записав в еепром первые два байта как 1 и 2 сначала у меня считывался 1, потом 2, потом всё сразу. Такое впечатление что когда осуществляешь постоянный доступ к устройству всё читается нормально, а когда долго его не используешь, оно ещё должно «разработаться».
Записываются фьюзы и еепром тоже нормально, а вот при записи флзш выводятся ошибки.
(всё делал и в терминалном режиме и записывал из файла).
Что делать — ума не приложу. Подскажите, пожалуйста.
Проводки укороти и сделай без лапши длинной. Максимально компактно все.
По поводу проводков. Длина их у меня составляет максимум 7 сантиметров. Хотя. ААА. До ресета сантиметров 20. блин.
Мож ещё какие варианты неработы будут?
Плохое питание, недоконтакт, слишком быстрый проц, да много разных вариантов. Попробуй поиграться с настройками унипрофа (там в хелпе есть описание скрытых параметров)
А вот любопытно, кто нибудь пробовал, работает ли с uniprof буржуйский com программатор dasa3?
спаял, все проверил, питание от компа взял, провода короткие, а Юнипроф не определяет! В чем может быть проблема?
уже разобрался!
так в чём была проблема?
В чем угодно. В монтаже, в частоте твоего компа, в свойствах твоего ком порта.
В этом шнурке заложена одна неприятная особенность, а именно он не во всех случаях определяет процессор. Например взять схему из учебника радиокота. Там резет притянут к плюсу и программатор не работает :( Но это еще ничего, после того как я разобрался и убрал это притягивание случилась другая засада — при стандартном подключении ЖК 1602 к МК он тоже отказывается работать! Помогает только отключение трех проводков от схемы и тогда шнурку ничего не мешает…
Товарищи, а никто не подскажет, где на Asus P5K можно найти эти девять злосчастных штырьков? А то вроде как по спецификациям на сайте они есть, а где — непонятно. А коробку с инструкцией и прочей макулатурой найти не могу.
Отвечу на свой вопрос сам же.
Мануал пользователя на английском, http://dlcdnet.asus.com/pub/ASUS/mb/socket775/P5K/e3270_p5k.zip, страница 38.
Неудивительно, что я его там не заметил
Черт, ошибка. Страница 34 на самом деле
А ATmega16 можно таким программатором прошивать? Или там будут другие пины?
Нет то же самое. Без проблем.
Извените за мою тупость, но въхать не получается, на схеме видна распайка ком->AVR, а куда собственно сам контролер подсоединять? на картинке видно какойто зажим сине-зеленый. тоесть туда вставляется АВР и шется?
но мне не понятно как она сама шется?? ведь для контролера необходимо лагика? раньше ведь схемы чтобы прошить надо было логиксхему для прошивки?
У контроллера есть ноги
Mosi
Miso
SCK
RESET
Vcc
GND
Вот к ним и подсоединяешь эту схему? соответственно. А саму схему в COM порт. Собственно все. Логик схема тут уже не нужна, хвала разработчикам AVR.
изучаю ваши уроки по АВР, и пока (тоже) не понял одного, когда МК запрограмировали, необходимо сделать развязку (конечную управляющую схему) в которой будет АВР и прочая гарнитура, которой он будет управлять. тоесть ему нужны питалово и команды. естественно.
А есть у вас такие уроки? тоесть как сделать коробочную версию )
Слазь сюда:
http://easyelectronics.ru/kontroller-shassi.html
Там есть схема силовой части робота. Вот там конкретно микроконтроллер в живом изделии с обвязом.
Ясно. Спасибо за ответы.
Привет всем! А можно к этому программатору не внешнее питание подводить, а взять с шестого контакта СОМ-порта (+12В). Ну и на микруху 7805. На выходе 5В
Выход COM порта не силовой, а если твоя целевая плата потребляет больше чем он может дать? Пожгешь порт. Лучше уж тогда с USB взять плюс.
Понятно, спасибо. Тогда уж точно, лучше внешнее питание взять…
Ком порт не сожгет, там встроенны ограничительные резисторы 1-3 килоома помоему, нормально выдает даже короткое замыкание. Самый большой ток можно снять не с 78L05 а стабилитроном на 5В, падения напряжения никакого нет, ток 5-10 мА, будет работать даже на ноутбуках где на выходе СОМ порта не 12 а 5в, так как на стабилитроне ничего не теряется. Стабилитрон с ком порта на землю, а ограничение тока делает сам СОМ порт. Вместо стабилитрона можно зеленый или синий светодиод, на них где-то так и падает, индикация яркая и стабилизация напряжения :)
добрый день DI, такой вопрос:
попытался изменить fuse Atmega8515 для работы с кварцем 2.4576 мГц,
сначала считал конфигурацию с МК, по умолчанию CKSEL3-0 — 0001
по даташиту для диапазона 0.9-3.0 мГц CKSEL3-1 — 101? сответственно поставил галочку напротив CKSEL3 и CKSEL1? остальные биты нетрогал.После нажал ‘writeэ и отключил МК, при повторном включении МК не определился. Что я сделал нетак?
В какой проге ты пытался это сделать?
В UniProf для кварца надо выставить CKSEL=1111
В uniprof.
В uniprof SKSEL=1111 для любого кварца?
Судя по даташиту да.
1110 или 1111
работает практически на всех кварцах, хотя по даташиту в зависимости от частотты надо разные ставить. Проверял на частотах от 16 до 1.8 МГц, все работает
Картинку с фузами для мега8 и мега8535 можно глянуть на http://forum.nikolaew.org
>>> это официальная среда для разработки программ под микроконтроллеры AVR. Студия поддерживает все микроконтроллеры семейства Atmel AVR. Найти ее последнюю версию можно на сайте Atmel.com
Скачал последнюю версию, вроде проблема с длинными путями на кирилице, указываю для хранения проектов не c:\document..\мои документы\avr как по умолчанию (глючит), а c:\avr туда же папки с библиотеками, тогда все нормально.
Не знаю как там с длинными путями, но с кирилицей часто лажает. Причем там лажает не сама студия, а консольный компилятор который эта студия вызывает.
история значт такая:
собрал демоплату по образу и подобию http://easyelectronics.ru/demoplata.html этого чуда.
внимательно прочитал сию статью, и зашил через STK200 програмку описанную тут.
STK200 собран вот по такому образу http://www.lancos.com/e2p/betterSTK200.gif
но косяк в том что UniProf мой прогер не увидел, как я не бился… а вот PonyProg без проблем все распознал и зашил и даже прочитал после этого.
Так вот проблема, демоплата не запускает программу. как будто ее там и нет…
варианты:
1.неправильно выставлены FUSE (ибо я их не трогал совсем, т.к. нешарю в них еще)
2.накосячил в демоплате (хотя я трижды все перепроверил, и зашивал другую прогу, которая заведомо живая, но эффект тот же)
Помогите разобраться, я в ступоре.
1. Исключается если ты их не трогал.
2.
а) Питание подходит? На Vcc и на Avcc? Земля везде есть?
б) RESET к +5 подтянут? Напряжение на RESET +5 вольт?
Если да, то все должно быть ок.
Либо твоя Лошадь совсем не едет, но упорно делает вид :)
ХМ…
А) подходит точно. проверил.
Б) подтянут, но помоему там меньше 5в… надо уточнить.
еще поясню: плата питается от отдельного импульсного БП. это о чем то скажет?
в дополнение: тут http://www.dnsword.tu1.ru/plugins/autogallery/autogallery.php?show=elektronic лежат фотки демоплаты и ее ПЦБ.
мало ли, можт чем поможет.
Зависит от качества БП. Осцила нет, чтобы питание позырить? МОжет у тебя там пульсации или шумы какие. ПОпробуй:
А) Запитать от 3х батареек
Б) запитать от 5 вольт компового БП.
запитал от компового БП. на внешнем было 5.2в на комповом 5.0в
никаких изменению :(
програмка uniprof20jan6 выдает сообщение об ошибке
http://i033.radikal.ru/0908/04/c4828c830c31.jpg
при попытке записи, может потому что программатор не определяется? проверил на 2х компах, под xp и windows98, читает нормально.
Вобщем разломал я программатор uniprof на СОМ порт, взял старый кабель от LPT порта, отрезал себе метр, и подключил напрямую к ATMEGA8-16PI, работает изумительно. Залил программу из примера учебного, хоть скомпилирована для
.INCLUDE «tn2313def.inc»
работает тоже, на порте D сигналы через один.
Еще прикол, на AtMega8 сигналы SCK, MISO, MOSI находятся на порту B, куда программа автора выводит 0-1-0-1-0. У меня это при включенном LPT программаторе привело к нагреву микроконтроллера. LPT на эти же ножки тоже похоже что-то выводит одновременно. К счастью LPT и AtMega живы здоровы :)
Кто-нибудь пробовал подключать программатор через преобразователь USB-LPT?
Продается везде помоему, в никсе 10$
http://www.nix.ru/autocatalog/adapters_switches/STLab_U191_LPT_USB_AM_76006.html
Помоему LPT удобнее, это готовый программатор не требующий внешних деталей. Адаптер сразу можно прикрепить на плату, длина проводников будет 5см, длинный шнур к компу USB. Теоретически хорошо, на практике надо проверить как будут работать драйвера того адаптера с программой.
Не знаю как этот переходник, а тот, с которым я имел дело — не годился, так как в системе появлялся не LPT порт, а какой-то «windows printer».
Глянул даже даташит на этот кабель, но, увы, про LPT там ничего нет. Поэтому возможно — купите — и положите в ящик… У меня такой лежит уже года три :)
модифицировал программу, просто вставил задержку из примера к функции INC описанную в хелпе AVR Studio, хотелось помигать светодиодом, тыкать мультиметром в ножки контроллера надоело, вот что получилось.
========================
.INCLUDE «m8def.inc»
; это подключается список макроопределений
.MACRO outi
LDI R16,@1
OUT @0,R16
.ENDMACRO
; задаем весьма удобный макрос, позволяющий
.ORG 0×0030
; Директива начала кода с адреса 0х0030
RESET:
OUTI DDRD,0xFF
; Конфигурируем направления портов на выход
OUTI PORTD,0xAA
TEST:
OUT PORTD,R16
inc r16
clr r22
loop: inc r22
nop
nop
nop
nop
nop
nop
nop
nop
cpi r22,$FF
brne loop
nop
RJMP TEST
RJMP RESET
========================
Заодно перепробовал все виды генераторов, кварц внешний на 6 Мгц, со включенным и выключенным CKOPT, по ошибке внешний RC резонатор включил, конденсатор встроенный, работает с R=160к, частота на глаз 0.1 мгц, и 0.3К, частота 10-15 мгц, но глючит уже.
Большие непонятки с фьзами в Uniprog, автор пишет в хелпе
«Помните, что включенный FUSE — это FUSE без галочки!»
но реально включенный FUSE с галочкой!
Включил внутренний RC генератор 8 мгц, работает! (CKSEL3..0=0100 из описания)
http://s54.radikal.ru/i146/0908/4a/0eabaf2bfcd8.gif
Включил кварц 6 мгц, работает! (CKSEL3..0=0111 из описания)
http://s46.radikal.ru/i112/0908/09/9dbf635f092c.gif
Включил внешний RC генератор (причем кварц не отпавивал), работает!
http://s54.radikal.ru/i144/0908/9b/77f6027b5f7f.gif
Сответственно галочка стоит, подразумеваем 1? В хелпе uniprof написанно с точностью до наоборот, я в шоке. Посмотрите кто в курсе что это такое то? :-)
В унипрофе галочка = 1 по даташиту.
Т.е. по даташиту на внешний кварц CKSEL=1111
в унипрофе это CKSEL= V V V V
Но по тому же даташиту считаем что 0 это включено, т.е. активно.
Смотрим на SPIEN=0 значит Spi Enable т.е. опция включена. Если бы было Spien=1 то это значит, что SPI выключен. Функция не активна.
Вот что случилось у меня:
1. сначала впаял не тот Сом порт — неработает )
2. не так вставил МК в панель )) — неработает
3. соединил вместе vcc-avcc и две земли.- неработает
4. всё прозвонил, проверил схему и так раз 10 уже точно. — неработет
пробывал различными программаторами не выходит.
вот щас вспомнил что резисторов на 1ком небыло впаял на 1.2 (1К2 зеленые, старые, но рабочие)
может проблема в этом?
вот если резисторы не причем, тогда спалил МК, тк отчетливо помню как он упал на корпус и проскачила искра между ног )) на панели МК
Резисторы тут делителями. Если все по 1.2 то должно быть ОК.
Скорей всего ты просто убил контроллер. Возможно неправильным включением из пункта 2.
У меня тоже ничего не работало пока не подключил по простому к LPT порту 5ю проводками. Главное из программы в режиме отладки не выводить информацию в LPT порт подключенный, контроллер грееться начинает. При программировании, проверке нормально, программа «программатор» не дает запускаться микроконтроллеру, держит на входе reset 0v.
Сгоревний контроллер в LPT кстати не стал бы подключать, а то насоветую тут, что и LPT сгорит :)))
Здравствуйте!
Только начал разбираться с МК, решил собрать программатор Громова. Но после просмотра схемы AtMega8 в даташите появилось несколько вопросов. К какому выводу тянуть провод GND (8 или 22)? На схеме они оба GND=( И куда цеплять +5в, на VCC или на AVCC?
И ещё 1 проблема у меня возникла из-за моей невнимательности при приобретении комплектующих=( Подскажите пожалуйста, можно ли заменить килоомные резисторы 2.4 килоомными (хотя бы в делителях напряжения) и обычные диоды заменить светодиодами L-53GD? (обычные зелёные диоды)… В следующие раз возможность купить что либо появится нескоро=(
GND надо подключить оба.
VCC и AVCC тоже. AVCC это вход напряжения на питание АЦП его часто заводят через дроссель, чтобы не было помех на АЦП, поэтому то оно и отдельной ногой заведено. Если нет дроселя то подай +5 и на AVCC тоже.
Резисторы заменить можно, главное чтобы они у тебя все были на 2.4к.
Со светодиодами может и заработает, но далеко не факт. Но рабочий пример со светодиодами я видел.
Зачем вообще покупать резисторы да кондеры? Можно, просто, сходить в любой магазин где чинят компьютеры или телевизоры, показать схему своего девайса, вежливо попросив вам не только детали дадут, еще и объяснят че куда паять… Ну, конечно МК-ры не ждите, придеться покупать…
Затем, что проще купить штук 100 разных номиналов и больше никуда не ходить.
Ага, спасибо большое!=) Если заработает — отпишусь=)
единствтенное, по питанию появляется уж совсем дурацкий вопрос: получается, что красный провод от компового БП придётся развести на 2, чтобы дать +5в на оба входа питания?
Ога и черный тоже
Ещё раз огромное спасибо;)
Если честно, я не понял где сама схема программатора. Кто может покажите. И ещё есть вопрос, есть ли разводка, чтоб сразу ЛУТ юзать?
В статье есть и схема и файл с разводкой для ЛУТа
Неужели она такая маленькая… И куда девать остальные выводы, с правыми понятно — на микрушку. А левые на порт? Тогда не понятно, к какой ноге цеплять… И как это так он работает на одних только стабах или диодах (диоды вроде там). Не судите пожалуйста за такие вопросы, я просто новичок в этом деле, но хотелось бы научиться =)
Маленькая???? По моему здоровая слишком :)
Левые на порт. Все выводы пронумерованы.
А чего бы ему и не работать? Всю логику делает софтина на компе, диоды только напряжение приводят к нужному уровню.
Или проще уже собрать сразу на USB? Мне он вообще нужен чтоб прошить микрушку для девайса TV_B_GONE.НАверняка слышали о таком и собирали. =)
А можно ли использовать диод выпаяный с мамки, маркировка: одна широкая полоска на катоде.
Если ты уверен что это точно диод, то да :)
А если это вдруг стаб? Страшно, да? =) Я мультиметром мерил (катод-черн. анод-красный щуп) показыват 670 (в режиме проводимости(нарисован диод как на принципиалке его рисуют)). Что это значит вообще? =)
Это его падение напряжения — 680мВ вполне себе обычный диод :)
Ну значит можно его юзать, да? =) Я решил сделать полностью всё поверхностным монтажём. =)
Ага
Спасыбо! =) Ещё у меня вопрос такой, ты делал такую штукенцию? =)
http://radiokot.ru/circuit/digital/game/06/
Нет не делал.
Жаль, а то я там не много в схеме не могу разобраться… Ладно, ещё раз спасибо! =)
Блин, у меня нет UniProf.exe
Че делать?
зайти на http://avr.nikolaew.org
А вот интересно можно программить другими прогами через него? Например avrdude от WinAVR или avrprog из AVRStudio. Тут ведь как я понимаю просто надо дергать выводами ком порта — протокола особо никакого нету? Может кто пробовал или есть какие мысли — пишите — пока я еще ничего не спалил ))
Елки палки. Незаметил Дополнение от Outsider. Там все есть. Большое спасибо — будем пробовать ))))
убейте меня пожалуйста, чтоб я с ним больше не мучался
а диоды КД522 подходят?
а как МК проверить?
а ком порт как проверить?
диоды как я понял подходят, осталось непонятное чувство, что может я их не в туда припаял, хотя уже два раза их перепаивал
а диоды 1N4007 подойдут?
А почему бы и нет?
хмм.. проблема с программатором разрешилась: у меня был переходник с материнского COM’а на DB9 + COM-удлиннитель (~1м.) — МК не определялся. убрал удлиннитель — все заработало.
Ура!!! Заработал!
«Ошибаться тут негде, поэтому должно работать у всех, вне зависимости от фазы Луны и погоды на Марсе. Для начинающего 100% гарантия удачного старта это очень важно, чтобы не растерять боевой дух на неудачи.»
Как не странно но у меня получилось совсем не так, хоть вроде и не полный чайник :)
Вобщем, как это было у меня. Может кому поможет.
Спаял схемку на макетке. Схему спаял на основе 3кОм резисторов (1кОм не было под рукой), а контроллер припаял прям на макетке (всеравно учусь и перепаивать буду еще не раз). Вобщем как водится с первого раза схема не запустилась. Подумал что 3к дофига будет заменил их на 470 омные. Контролер сразу же определился программатором. Обрадовался я, но видать рано. При попытке прочитать — получил ячейки заполненые прочерками и среди них несколько ячеек заполненых какой-то мутью (количество ячеек изменялось с 2 до 6). Ну думаю, я не такой как все :) прежде чем что-то делать читаю форум, и конечно же знаю что нужно активировать опцию «тормоз» и будет мне счастье. Но на мое удивление в режиме «тормоз» вообще считывает какую-то ересь. Версию с кривым мотнажем почти сразу откинул, как не как с паяльником дружу не первый день. Схему перепроверил вроде все коректно. Думал может высокий уровень с микрухи не понятен для ком-порта (питаюсь от розьема USB). Померял — 4.95В, по протоколу Ком должен хавать до 3В. Короче поигрался я дня два-три, а потом решил чисто ради спортивного интереса снизить скорость ком-порта в диспечере устроиств и о, чудо, все заработало как надо. Скорость порта снизил с 9600к до 4800к и плюс убавил буфер приема и передачи (там же) до значений 4 и 6 соответственно.
Не знаю как работает режим «тормоз» но физическое уменьшение скорости порта у меня работает гораздо лучше.
Надеюсь кому-нибудь помог.
И еще, спасибо за класный ресурс и детальное толкование электроники таким чайникам как я :)
Спасибо за граблю, сейчас добавлю в статью
А есть ли печатные печатки для S.L. на универсальные переходники, типа http://easyelectronics.ru/img/AVRProgrammator/avr_prog_adapter.jpg ? А то везде только программаторы, но не переходники к ним.
Люди! Сорри за оффтоп, хочу спросить- существуют ли какие- либо отличия между AVRISP и HVPROG, кроме того, что первый придавливает ресет к земле, а второй задирает его до 12 вольт?
ну… скажем так: первый действует умом, второй силой. :)
Спаял, подключил, но пока не удалось заставить заработать.
Стандартные грабли проверил — монтаж, подключение, длина проводов в норме.
Питаюсь от кроны через кренку, пытаюсь прошиться дудкой под линуксом, т.к. COM есть только в старом компе, стоящем в другой комнате.
Дудка чипа не видит даже при снижении скорости до 2400.
Запустил бесконечный цикл опроса, стал тыкать диодом в ноги микрухи. Сигнал виден на ногах SCK, MOSI и MISO. REST тоже подрыгивается, но с ним есть странность — при отсутствии попыток включить дудку на нем +5V. Не могу понять, отчего это, он же на землю через резистор посажен?
Может кто-нибудь выложить картинку с осциллограммами с ног этого девайса в работе?
Решил рискнуть параллельным портом. Оно работает!
Первый кристалл залочил из-за инверсных фьюзов у дудки (может, стоит явно написать что для USBASP опции дудки должны быть -U lfuse:w:0xe1:m -U hfuse:w:0xd9:m ?)
Со вторым кристаллом все ок, залил прошивку, поставил фьюзы, и… прграмматор перестал его видеть :) Видимо, из-за SCKSEL=000 :) Доделываю USBASP, там испытаю.
Огромное спасибо DI HALT за позитивный экспириенс :)
Подскажите пожалуйста можно ли при подключенном к PC программатору и поданом питании на контролер отключать разъем между программатором и контролерром (reset mosi miso and etc).
Вопрос возник так как каждый раз выключать PC что бы отъсоединить программатор от контролера занимает много времени
Я откдючал и без каких либо эксцесов
Если опосаешся то можно доработать схемку и подключать эту радость через буферную микросхему питание на которую подовать с кантроллера.
Если это COM программатор то без проблем, Если простейший LPT аля пять проводоков — то не стоит.
В любом случае, сначала разьединяешь плюс питания, потом вынимаешь сигнальные линии, а потом только отсоединяешь землю.
спасибо за ответ
у меня COM программатор
У меня Atmega8 нестабильно определяет,то как 8515 то в ручную приходиться,но иногда правильно..Это не главная проблема,главное что при прошивании сразу выдает ошибку записи,типа надо FF,есть 00,питание от компьютера…Уж не знаю как быть
Вы собрали и отладили много конструкций скажите пожалуйста какой разьем лучше использовать
Некоторые программаторы используют 5pin разьем, некоторые 6 или 10
Подскажите пожалуйста какой разьем лучше использовать 5-6-10 что бы было максимально универсально и на всех платах разьем был одинаковый.
У нас не продают 6 пиновый двухрядный разьем мама (то что втыкаеться) как вы считаете его можно чем либо заменить, или что лучше ставить
однорядный разъем
соединять отдельными проводочками
использовать 10pin разьем не полностью
Я везде ставлю 10штырьковый. 6ти компактней и экономичней, но его проще воткнуть неправильно.
В принципе, можешь разработать свой собственный стандарт и придерживаться его.
На одном компе толком не работает, при чтении дампа лезет какой-то мусор, да и сам МК определяется через раз. На втором всё замечательно.
На первом компе стоит freebsd, пытаюсь шить через avrdude, com-порт только в виде штырьков на маме (пришлось еще и переходник на DB-9 делать).
На втором детище некрософта и uniprof, встроенный com-порт есть.
А по многим причинам хотелось бы шить с первого. Как же быть?
Мухахаха не юзать левые оси, а доверять стандартным промышленным решениям :)
Спаяй усб программатор. Скорей всего фряха не дает полного доступа к порту.
Так точно — фряха не даёт, линукс даёт. Из-за этого ещё LIRC под фряхой не работает…
А разрешить как нибудь можно? Или это особенность фряховского драйвера?
Могу ошибаться, но вроде это ограничение на уровне ядра.
Неправда ваша, тогда бы она вообще МК не видела) А так выдает дампы с помехой и определяет нестабильно.
А LIRC под фряхой таки работает ;)
Сегодня на вендовой машинке прошился еле-еле: в режиме «тормоз» и не с первого раза.
Что посоветуете паять, usbasp или avr-910?
А плату что с ЗИФ панелькой не выложите?
Что то я вообще уже ничего не понимаю… Я в мк совсем начинающий,хотя пару раз до сего заливал в мк самодельные проши по «lpt- 5 проводков»,все было нормально… решил попробовать эту схему,собрал (на макетке)…
ну да вы наверное догадались-не работает…
смотрю напруги на com: +/- 6.6 вольт без нагрузки… (ноут hp8710p)читал конечно что на ноутах может быть существенно меньше напруга на com, но что так… ну да не суть…
поиграл с «коэффициэнтом деления»-повтыкал разные резисторы, все бестолку…ну и идеального совпадения уровней добиться сложно-резюков ассортимент не велик..
однако смог таки подобрать так что было ровно 0.7Vcc -предельное значение-»работало» оно при этом мягко говоря неустойчиво,определялось через раз,сохраненные с мк в .hex прошивки отличались буквально в каждом 100м байте…
поставил заместо преобразователя уровней оптопару (на reset,mosi,sck), соответственно выход «запитан» от тех же +5 что и мк… проверил осцилографом-уровни стали четко 0/+5 фронт конечно не идеальный,но терпимо,особенно в тормозном режиме…но все равно не работает…
И тут я заметил очень странную вещь-напряжение на miso (сигнал ж на нем формирует мк,отправляя данные в комп) не более 1 вольта(что с нагрузкой что без),кривулька выглядит как шустрый «заряд» до вольта и затем экспоненциальная «разрядка» в ноль…с периодом порядка периода sck и проч…Причем сигнал не строго периодический…
после некоторого колупания,я,что мне показалось резонным,решил что мк сдох-я взял другой(совершенно новый,следовательно с высокой вероятностью рабочий)..сразу подключил к miso только осцилограф…и увидел совершенно аналогичную картинку… еще раз проверил сигналы на sck,mosi — очень похожи на правду,жаль осцилограф не цифровой-что там есть не разобрать,но на осмысленные похожи…на reset чистый 0…
Засада…попытался гуглить-безрезультатно,в чем засада-совершенно уже не понимаю…Может ли существенно влиять относительная медленность спадания фронта сигнала,скважность в «тормозе» при этом практически идеальная…
надо завтра еще раз попытаться тупо через lpt, может просто спалил…хотя когда я мог успеть спалить второй-убейте не понимаю…
Может есть у кого какие мысли?
Хмм…. MISO это Master Input Slave Output
Да, формируется мастером он в режиме прошивки. А если его отцепить вообще? И попробовать ему SCK подергать?
З.Ы.
Как показала многочисленная практика этот программатор работает дааалеко не на всех компах. На всех старых (до 2006) да, без проблем. На новых начинаются эффекты.
гм…если присоединить только SCK будет почти тот же сигнал…если вынуть еще и reset и подтянуть его к +5 — то же самое…
если подтянуть MISO к +5 высокоомным резюком-то ток им кушаемый всего 10мка (при том что на нем уже ровно +5,а сигнал был 0-1В)….
гм…надо сейчас еще раз попробовать с LPT..но что то мне подсказывает что мк таки протух…и когда успел…
внимательно проверил питание,чистые +5 никаких шумов больше 0.005 вольта…даже пересмотрел «Подключение микроконтроллера. Ликбез.» все вроде норм…мистика…
А насчет кривизны современных COM портов-жаль нет у меня старого компа с COM…да и в чем,собственно,она заключается? что там такого можно испортить?особенно в режиме тормоза…уровни? уровни я поправил… неправильные «периоды» сигналов? ну дык на то есть SCK,вроде должно что ни попадя проглатывать…проскролив даташит никаких драконовских требований на эту тему я не нашел…
Мдя…а чип то жив…и читается и пишется по LPT…И пишется все правильно…
Единственное-оптопара довольно сильно портит фронт…С LPT же он идеален…
Чего то я не понимаю зачем тогда этот SCK нужен если не для того чтоб можно было забить на синхронность,скважность,равенство промежутков и кривые фронты…
А у меня все с точностью до наоборот. При программировании абсолютно нового AtTiny2313 в SMD исполнении (проверял 2-е штуки) сигнал на miso 5v с «просадкой» до ~4v и одним из фронтов в виде экспоненты (смотрел осциллографом). Соответственно чип не определяется. При программировании того же (AtTiny2313) в DIP исполнении — все ОК.
Хочу сделать COM адаптер, попробовать с ним.
Кстати, насколько чувствительны AtTiny2313 к статическому напряжению, т.е. можно ли их пробить/сжечь при пайке маломощным (20 Wt, 220 V), но незаземленным паяльником, т.к. в DIPe сначала собрал схему, а потом вставил и запрограммировал чип, а в SOIC собирал (паял) все с подключенным чипом?
Есть подозрение, что дело (по крайней мере-в моем случае)именно в длинне фронтов… Максимально допустимая длительность фронта не так уж велика и не растет с «удлиннением» бита… В даташите должны быть SPI timings, если осцил есть- святое дело проверить.
возможно,если они близки к предельно допустимым,хватит и каких-то несущественных различий в схемах чтоб «уже не работало».
Про статику не могу сказать ничего,кроме того,что над DIP мегами как я не глумился-не сдохли…
А если я его питать буду 4.5в на 1.4А с ним ничего не случится? =)
Поставил резюк, нормально прошил атмегу8 для юсбАВР. Но не работает на основном компе, на другом, слабее, работает отлично. Хотел перепрошить на более новую версию, а он пишет что мк не отвечает. Фьюзы выставил как на картинках, как перепрошить снова, или уже никак? Через юнипроф.
Ээээ… я так и не понял кто заработал и в каких условиях?
Я про юсбавр. http://easyelectronics.ru/usb-programmator-avr-usbasp.html#more-28 Для него атмегу 8ю прошивал громовым.
Разобрался. Проблема в пятнице, думается уже хуже. =) Но с прошивкой постарее (та, что в архиве) не заработал на новом компе, на 3м пеньке отлично работает, попробую поновее перепрошить.
Всем привет! Возможно я не сюда попал, тогда обьясните куда мне сходить и почитать буквари про это дело. Возможно мне это понадобится раз в жизни. Итак к делу.Нужно прошить atmega128 файл .bin 128 кб Вот скрины то, что я делал:
http://savepic.ru/871677.jpg прога запущена скорсть на порте выставил мин. режим тормоз.
http://savepic.ru/857341.jpg указал путь к файлу в «открытой папке» проги
http://savepic.ru/909564.jpg нажимаю записать в МК идет прогрессбар
далее нажимаю прочесть прочесть и сравнить МК и буфер соответственно:
http://savepic.ru/872700.jpg
http://savepic.ru/860412.jpg
Что дальше? Мне кажется, что что то должно быть записано в ячейках? Или я не прав?
Делал все через ком порт
ЛПТ не пробовал.
И вообще объясните знающие люди, признак работающего микроконтр-а, например как мне увидеть синусоиду на задающем кварце? Осцилографом с1-83 прикасаюсь к выводам кварца, по отношению к земле, но там прямая линия, возможно из за пропускной частоты осцила, там до 5 мгц в моем???
Но сигнализирующие светодиоды девайса (это JAF бокс, если надо дам ссылку на схему, хотя вот она: http://www.topnokia.ru/forum/ipb.html?act=Attach&type=post&id=74662)
Вообщем решил заменить атмегу т.к. вся схема вроде работает, но телефоны не видит.
Я одного понять не могу. Когда выбираешь файл с прошивкой, то в буфферном окне должны быть не прочерки, а каша из хексов — тело прошивки. А у тебя там — и что ты шьешь в кристалл непонятно.
Немного не дописал светодиоды нагруженны по схеме, загораются как надо, но софт отказывается видеть тела, хотя сам бокс опеделяетсяв компе нормально. Но это так по ходу спрашиваю. может кто че ответит. Понимаю тема другая.
Да и еще МК прошивал без кварца, как я понял из коментов DI HALT он не нужен при прошивке.!
Кварц не нужен новому МК, но если мк уже в девайсе то возможно и потребуется. Кто знает как его сконфигурировали до этого.
Да новый само собой только взял. В девайсе который стоит, вообще никак не опознается. Насчет прошивы я и сам не знаю что шью, на форуме сказали, это то что надо, ссылку могу дать, только что это даст? Там вообще разговор про понипрог, при этом промелькнуло про выставление фузов вот так: http://www.mobile-files.ru/forum/attachment.php?attachmentid=35284&d=1153495196
Но здесь я ваще пас. Если что подскажете, буду признателен безмерно…
Меня не пускают туда.
DI HALT ну вот здесь пишут: Вот «фул» ( флеш+епром ) слитый с Атмеги . Заливать Пони-прогом , файл загружать в прогу кнопкой Open Device file ну и соответственно зашивать — Write Device .
Куда тыкать проводки в Атмегу — тут
Всё вроде выложено на форуме и вопросов вроде быть не должно .
После записи этого хекса — сделать » UPDATE P-KEY » , чтобы обнулить счётчики в проге .
Сам файл(фул) тут:http://webfile.ru/3972888
Еще, но это более старое здесь можно посмотреть: http://topnokia.ru/forum/topic39498.html
Заранее благодарен за ответ.
Как мне это все слепить? Да и еще картинка с фузами тут, но это как я понял, с понипрогом связано: http://savepic.ru/875528.jpg
Просто я уже под ваш унипроф заточил все, неохота перепаивать на понирог.Контроллер болтается на проводульках второй день.
Ааа вот оно что. У тебя файл поди в формате пони прога. Его ты через унипроф так просто не зальешь. Но выход есть
Знач так. Запускай пони прог. Открывай там этот фул. Чтобы он в буффере пони появился. Дальше там же в понипроге сохраняй этот фул по двум частям. Как flash и как eeprom в виде двух файлов hex формата. Вот их и надо залить в твою мегу128 через унипроф.
Впрочем, это на будущее, чтобы знал. Я уже за тебя все сделал:
Бери два файла:
http://easyelectronics.ru/files/Misc/flash.hex
http://easyelectronics.ru/files/Misc/eeprom.hex
и подгружай их в uniprof. Вначале флеш, потом еепром. Ну он там тебе подскажет что в каком порядке. Заливай их в кристалл.
Потом переходи в раздел фузов. Тут внимание. Берешь скриншот понипрога и ДЕЛАЕШЬ ВСЕ НАОБОРОТ!!! Если в понипроговском скриншоте галочка стоит, то в унипрофе галочки в этом месте быть НЕ ДОЛЖНО!!! У них нотация диаметрально противоположная!!!
Зашиваешь фузы. После этого должно все заработать как надо.
DI HALT только смог прочитать, у нас 3ночи завтра отпишусь как и что, еще раз благодарю. У меня сын вообще программер, но тут такое дело его еще два месяца не будет и связи как таковой нет, чот бы помог, я хочу его на ваш сайтик натолкнуть, что бы за контроллеры взялся посерьезнее. Но а так как то, захотелось сделать сигнализацию с использованием jsm канала, так вот я ему это дело закинул, что бы сименс 65 это делал, ну он мне зараз на си это дело накалякал на меге8, в протеусе все делалось как надо, там на ати командах все в основном крутилось. Но молодежи железки сейчас как то не очень интересны,больше как то софт. Извините отвлекся.
DI HALT добрался только сегодня до компа выходные :)))
Сейчас все подключил гляньте пожалуйства я правильно сделал?
Микросхема всего одна и если сделаю что то не так, то новый чип будет добираться до меня очень долго, здесь на месте нет.
http://savepic.ru/885795.jpg
Жду что скажете все подпаяно, не хочется накосорезить в этом месте.
Да там вопросики стоят на 7-8 и 27-32 там что ставить или пустыми оставить?
И еще выставил фузы потом нажимаю Write ? Далее записать в МК ?
Вообщем буду ждать что скажете. Спасибо.
Нажми вначале везде READ пусть считает те что есть. Потом выставви как со скриншота PonyProg но наоборот, как я тебе и говорил выше.
Тогда в тех где неизвестные биты будет что нибудь да стоять. Но на деле они особо не на что не влияют
Крайне левая колонка — биты защиты, чтобы прошивку не могли считать враги. КРайне правая конфигурация МК, ты их уже выставил. А те что без имени возможно не используются, просто в программе не отключены.
После прошивки этих фузов ты потеряешь доступ к режиму прошивания (т.к. выключишь SPIEN), Поэтому СНАЧАЛА ЗАШЕЙ КОД прошивки и ЕЕПРОМ, а потом только фузы. (нажать Write во всех блоках)
После прошивки этих фузов ты потеряешь доступ к режиму прошивания (т.к. выключишь SPIEN), Поэтому СНАЧАЛА ЗАШЕЙ КОД прошивки и ЕЕПРОМ, а потом только фузы. (нажать Write во всех блоках)
Стоп себе говорю! А эти фузы обязательное условие??? Можно без них обойтись? Например какая то неудача, и мне нужно будет опять все стереть и перезаписать? Вот здесь обязательно нужен ваш ответ!
И второе значит так: я сначало загружаю в буфер флеш и эпром, ФУЗЫ НЕ ТРОГАЮ ТАК !!? Делаю прошивку. А потом когда прошивка закончится как?: перегружаю прогу(меняю порты например) и перехожу на вкладку фузы, выставляю их как на моей картинке! и нажимаю «записать в МК» ? Правильные действия?
SPIEN можешь вначале попробовать не менять — оставить по дефолту. Вроде бы он отвечает только за режим программирования, а на работу SPI как периферии вообще не влияет.
Другие фузы надо выставить, они определяет работу кристалла (в первую очередь тактование, JTAG и куча других фишек)
Но если ты выставишь биты CKSEL то прошить вот так на проводах уже не сможешь — потребуется внешний кварц. А не выставив эти биты у тебя работать устройство не будет, т.к. не запустится на нужной частоте.
Когда прошивка нормально зашьется и проверка покажет что все ок и зашилось без ошибок. (можешь для надежности сделать процедуру сравнения содержимого буффера и памяти, есть там такая кнопочка) вот тогда можешь и зашивать фузы. Перегружать прогу не надо.
DI HALT Ну пипец какой то, наконец то с твоей и божьей помощью вроде сделал! Пока читал твои статьи и коменты про осцилографы интересно конечно! (даже успел в Китай позвонить поспрашал как там цены) оно как то незаметно сделалось (незаметно так, раз на восьмой :)))) Детали опускаю… Ну вот оно вроде правильно?
http://savepic.ru/867378.jpg
Фузы правда еще не выставил, сейчас сделаю перед сном грядущим.
Слушай а я сейчас во вкладку фьюзы зайду считаю их(я уже это делал) далее выставлю, во всех столбиках Write делаю и больше ничего? Или еще нужно после выставления нажать «Запмсать в МК» или достаточно «Write» ? Возможно я дождусь твоего ответа, ничего же я думаю страшного если отсоеденю програматор? А завтра доделаю.
В любом случае тысяча благодаростей!!! Жму руку за помощь!
В любом случае тысяча благодарностей!!!
Пля написал в спешке как попало:))) Повторения в словах.
Да просто жми Write везде и все. Причем желательно в последнюю очередь жать Write в колонке где биты CKSEL, на всякий пожарный.
Вот жизня в выходной до компа доберешься на полусогнутых и то вечером.
DI HALT сделал все как ты сказал, в результате получил такое:http://savepic.ru/863004.jpg получилось первая колонка вроде правильно, а почему в других не так? Галки выставлял вот так, ну собственно я уже выкладывал раньше: http://savepic.ru/885795.jpg Хотел уже перекинуть с девайса атмегу на новую прошитую, а тут такая засада??? Сделал бы это раньше, но когда собрался выпаивать 128 мегу вспомнил, что на китайце 2в 1 термофен не работает, давай разбирать, а там оказывается термопара расплавилась, пришлось осваивать сварку тугоплавких проводов, да потом еще оказалось что вход lm358(сдвоен. операционник) умер, вообщем пока туда сюда сделал…
Да и еще что значит не смогу прошить ее потом только с внешним кварцем? Что нужно просто кварц с кондюками подпаять??
И последенее хотел малехо рессурсу помочь, но не увидел ничего доступного PP? карты… клики сверху конечно нажимаю это понятно, а вот так что бы баксик закинуть не нашел. Вообщем если этого нет, то дополнительно чиркану в личку завтра по этому вопросу, что бы форум не захломлять.
Знач так. Давай подумаем. У тебя после того как ты все сделал мега определяется программатором?
Если да, то значит фузы не прошились. Чешем репу. ЧТо то пошло не так, но если мега определяется и отвечает значит все пока ок.
Повтори все шаги сначала:
Стери память.
Залей епром.
Залей флеш.
ПРоверь чтобы все было ок.
Зайди в фузы. Считай все фузы. А дальше… жми write в в колонках в таком порядке:
FuseEXT
FuseHigh (помнишь я тебе про бит SPIEN говорил? вот перечитай и подумай стоит там галочку оставлять? Я бы не стал)
FuseLow
Lock — можешь не жать. Это биты защиты и на работу не влияют.
«Да и еще что значит не смогу прошить ее потом только с внешним кварцем? Что нужно просто кварц с кондюками подпаять??»
У тебя же мега щас висит на 6ти проводках? ТАк? Изначально все авр работают на внутреннем генераторе. Когда ты выставляешь биты CKSEL=1111 то ты переключаешь мегу на внешний кварц. Скорей всего в схеме куда ты потом эту мегу впаяешь кварц уже стоит и она нормально запустится. Но вот сейчас, на проводках, кварца у тебя нет и как только ты протыкаешь фуз биты на эту комбинацию мега перестанет отзываться на программатор — она просто без кварца не запустится. Но! Ты можешь подпаять кварц на входы xtal и два конденсатора на 22пф и мега запустится как ни в чем ни бывало.
Бит SPIEN же вырубает возможность шить ее вот таким вот простым способом. Установил его в галочку — опа и все, ищи JTAG или параллельный программатор. Но вроде как нельзя его через ISP скинуть, впрочем я не уверен. Так что от греха подальше я бы галочку в унипрофе с SPIEN снял. Несмотря на то, что в твоем скриншоте оно стоит.
Хочешь помочь? Тыкни в пивную кружку справа от текста, там собстно все :)
DI HALT Дак я и SPIEN не проставлял(пустым оставил), все сделал как ты мне сказал, все эти галочки лишние появились сами как то, я и не понял почему. Резет прижатый не может на это повлиять? Вот моя последовательность, сначало прошил, потом отключил программатор(времени больше не было тогда), потом(сегодня) подключил мегу, определилась, прочитал фузы, было так: http://savepic.ru/856850.jpg дальше вытавил фузы(за исключением SPIEN и тех пустых, где я вопросы проставил)нажал врайт, в последовательности слева направо(FUSE LOV в последнюю очередь!!! все по инструкции :)))
И потом опять их прочитал и выложил, то что ты видишь.
Ну сегодня уже не успею, завтра утром буду свободен и сделаю, пожалуйства как будешь завтра возле компа обрати внимание, на новый результат. Может повлиять отсутствии питания на aVCC? Хотя я с самого начала все делал без него.Это же питание АЦП вроде. Такто чип полностью определяется.
ps Насчет помощи :) Да дело в том, что я из Казахстана и там в копилке в методах оплаты всякая хрень палки и кредиток нет, в вэбмани я зареген, но никогда ей не пользовлся и не знаю даже как ее пополнять.Перевод там мороки много, да и международные платежи дороговаты. Идеальное средство что то типа PayPaL но я нигде этого не увидел. Вообщемя по этому поводу завтра тебе подскажу как можно добавить, если его нет у тебя.(Понимаю что Россия)
Опа… Так, во первых AVcc и все GND и Vcc надо запитать! Без этого у тебя МК не пойми как работает. От АВЦЦ работает не только АЦП, но и половина порта.
Пайпал не работает с Россией. Суки. Точнее работает, но только на отдачу. На прием никак :(
Еще такой вопрос. А ты к каким выводам подключил программатор? Я тут вспомнил, что мега128 шьетя не через классические Miso Mosi SCK ,
а через
PDI (вместо Mosi)
PDO (вместо Miso)
SCK
Блин я 4 ноги отломал от него дернули как то неосторожно, ну три подпаял, а aVCC думаю потом уже в схеме, там жутко тяжело подпаяться. ну ладно завтра попробую сделать.
Насчет Пэйпал я в курсе, у меня самого в полном распоряжении американский акк, кроме моего снговского. Ну я тебе завтра отпишусь подробнее, как можно добавить.
Куда писать кстати?
пиши на dihalt@dihalt.ru
Да с ногами все правильно, я в курсе этой фишки, так бы он вообще не отреагировал.
Дааа… что то в этот раз не получается: http://savepic.ru/867186.jpg
долблюсь пока
Такая ошибка вылазит когда ты пытаешься записать уже прошитый МК , предварительно не стерев старую программу.
Может попробовать опять без AVCC прошить, потом присоединить AVCC и фузы записать?
AREF в воздухе висит! собсно он и не был подключен с самого начала
Вообщем прошил наконец, сравнил все индетично(буфер и запись) фузы выставил, справа налево врайт и та же херня: http://savepic.ru/863004.jpg т.е. они упорно не ставятся как надо. DI HALT что посоветуешь, в сад контроллер или еще ему повыкручивать что нибудь?
Хм… Впервые такое вижу, чтобы кристалл правильно встал, но не шились фузы. А ты перед записью фузов и всего прочего стирал кристалл?
Ну конечно стирал, если мне дали инструкцию стирать предварительно, то я уже это сделаю, строго по графику, причем не один раз. Ну тест показывает, контроллер чист!
Сейчас машину поставлю, и опять попробую. Дело в том что я хотел в режиме «тормоз, это дело попробовать, но прога виснет и потом «не отправлять отчет». Я вообще не пойму как все тут на тормозе делают? Потом эпром пропадает, а когда оно появляется? После загрузки флеша?
Короче там еще галка должна стоять про границы прожига, «всё»? У меня стоит. Сейчас пацану своему позвонил, он то же «папка ты чета неправильно там делаешь». Че я тут неправильно делаю, все вроде по инструкции? Там еще такая беда, что нужно порты менять перед каким то действием, а то прога как то старую инфу показывает.
В смысле епром пропадает? Куда пропадает?
У меня тоже «Все» стояло всегда.
Короче дело к ночи :))) Стер все, проверил — чист, прочитал — прочерки, запись- ошибка, и так пять раз подряд, скорость порта менял бесполезно, хотел уже плюнуть, но дай думаю кондер напаяю пикофарадник по питанию. Ну нашел в коробке первый попавшийся 180 пф, зашилось с первого раза. Далее тест — все идентично, прочитал ну там инфа вся, я так думаю как положено. Далее проставляю галки в фузах, а нет сначало прочитал фузы — все по дефолту, далее запись в последовательности справа налево, крайнюю левую оставляю по дефолту, и соответственно врайт на ней не нажимаю SPIEN соответственно то же галку не ставлю. Вообщем после проделанного прочитал фузы, все проставилось так как я сделал. Закрываю прогу, запускаю снова, чип не откликается :(((((( Жду дальнейших указаний :))))
Во первых подозреваю, что теперь для отклика нужен внешний кварц, второе DI HALT как я написал выше, левую колонку вообще не трогал и оставил все по дефолту!!!
Надеюсь я все правильно сделал? Так хочется услышать, что я взломал этот кристал :)))))))
Да и еще я там выше про пропадание епрома чушь написал, забудьте. Но в режиме тормоз чип не откликался никакими судьбами.??? И прога Николаева висла.
Ну то что кристалл перестал откликаться после перезагрузки проги это нормально — ты его на кварц настроил и без кварца оно щас не пикнет. В принципе теперь да, все верно. Можешь попробовать впаять :)
Ну тыды будем считать, что мы совместными усилиями победили :))) Интересно то, что только сейчас заметил что не подцеплял VCC на вывод первый(PEN), хотя опять посмотрел, он в оригинальной схеме идет напрямую в VCC и видимо выполняет все таки другую фунццию, не являясь специфичным(штатным) питанием чипа.
Вообще страненько, я что то делаю не так, дело в том что заглядывал в почту, там не вижу ответа с сайта, что мне ответили, сейчас заглянул ответ на сайте есть? Если бы не посмотрел, то так бы и думал что не ответили.
Сейчас перд экзекуцией атмеги, решил немного помучать девайс на котором хочу произвести замену чипа(думаю может все же не он виноват) .
Смотрю осцилографом на задающем кварце FT245 там синусоида, на атмега128 чистая линия, с небольшим (0.7V)положительным смещением, и на выходах/входах Tx Rx при ковырянии с софтом лишь мизерное подергивание на аналоговом с1-83 наблюдаю. Мне кажется что там все же должно быть нечто большее по амплитуде и продолжительности? А вот на PA0 -PA7(они сообщаются с FT245) вижу какие то реальные пакеты передаются, с нормальной амплитудой и по времени, несколько секунд.
Ну само собой питание и землю проверил все чисто, не просажено. Как бы понять на 99% что виновата атмега или нет?
Вопросы конечно малость не в тему задаю… кварц другой навешал та же картина. Генерация атмеги должна же быть видна хоть как то? Сейчас замкнул кварц такое впечатление, что все без разницы, тот же алгоритм работы? Светодиоды как загорались, так и загораются в том же порядке.
генератор у меги хилый, он срывается от малейшего чиха. Хотя бы от прикосновения осцила.
Да уж я тут уже порядком надоел. Вот и сейчас сижу и тупо смотрю куда двигаться дальше. DI HALT ну вообщем я прикрутил ту прошитую мегу на этот: http://www.topnokia.ru/forum/ipb.html?act=Attach&type=post&id=74662 девайс. Когда проверял ту старую которая стояла там, то заметил одну, на мой взгляд нелепую вещь, когда подается питание на устройство, даже не обязательно USB втыкать, то на втором выводе RXD0_PE0 высокий уровень(1,4 V) при том. что этот вывод подключен к выходу 3(2Y0) буфера lVC244. Когда вывод отсоединил(буфера), то на второй ноге атмеги стали нормальные 4,8V т.е. я так понял выход атмеги подключен на выход буфера, но это как я понимаю ненормально. Выход буфера где штатно должно быть в этот момент ноль садит выход атмеги. Там кстати замерил цешкой на землю 75 мА ток.Светодиод само собой горит. Вообщем предисловие кончилось.
Теперь так: новая атмега, которую мы вместе прошивали(утрированно конечно) вообще никак не дышит, на всех ее выводах ноль напруги, кроме естественно выводов питания и 0,7V на выводах кварца (23, 24)Такое впечатление, что не подключен кварц, это просто я раньше опыты проводил со старой так было. Я даже не пойму что дальше делать, старую впаивать, но она тоже не работает как положено? С этой долбиться до конца. Пайка однозначно аккуратна, это я все просмотрел и промерял контакты везде надежные.
Резет ничего не дает. как будто нет старта. Блин я не знаю алгоритм работы, так бы конечно легче было, я так понимаю что атмега должна общаться с ft245 по паралельному порту? Но начало может быть такое, что нигде не присутсвует напряжение? Прошивка вроде прошла хорошо, может те фузы что, тогда я не выставил, не могут повлиять? Сейчас уже вообще ничего не пойму, смотрю затуманеным взглядом.
RxD это вход. Так что он и должен быть подключен к выходу буффера.
Напряжение на RESET какое? ДОлжна быть +5 иначе мега не запустится.
Я понимаю что это вход (я оговорился), мне непонятно было на атмеге, которую заменил, то что это вход, на нем торчит высокий уровень, который не может «погасить» буфер, при этом присутствует около 1,4V. На входе то буфера нет положительного смещения, значит на выходе ноль, но этого нуля не хватает что бы загасить полностью уровень 5v на входе rx, на который подтянут высокий уровень 5V. Я отсоединяю выход буфера и напряжение становится закрнные 5V. Но неужели там подтянут такой токовый элемент, который не можкт загасить выход буфера? Немножко сумбурно, но я надеюсь ты понял. Думал может выход буфера не в порядке, подсоединил другой свободный выход буфера 2Y3 все равно 1,4V сидит. Тогда я подсоединяю цешку в режиме тока, и при отсоединенном выходе буфера замыкаю вход rx меги на землю, естественно тот светодиод, который сидит там гаснет, а через цешку вижу ток 75 мА. Может быть на входе такой ток и зачем он нужен там? У меня так по ламерски сразу предположение, что это уже не входом попахивает, а как то на выход смахивает? Причем вся эта линейка PE0-PE7 точно так же себя ведет.
А насчет резета, конечно там 5V они же туда жестко подаются через 10ком, это самое первое, что я померил питание и резет. А на первой меге когда замыкаешь резет на землю, светодиоды гаснут, т.е. на rx и tx становилось ноль, как отпускаешь опять высокий уровень. Я помотрел сегодня алгоритм работы этого устройства, при включении tx и rx там должны быть нули, а у меня получается наоборот. А на этой вообще ничего не горит, и я не вижу никаких сигналов спо паралельному порту между ft245 и атмегой. Те. я когда ее впаял и не загорелись RX TX я подумал вот оно, а потом оказывается она вообще молчит(это на мой взгляд). Попытался прочитать даташит на ft245? Пытаюсь прочитать даташит на ft245, но чета пока глухо для меня. Я вообще не пойму что начинает первое работать, как то должно же это все проявить признаки жизни. Пайку восемь раз просмотрелЮ все вроде норма,каждый контакт звонил. У видеть бы хотя бы каким то простым способом, что атмега в работе, но как это сделать?
А на других выводах вообще движухи нет? Осциллом смотрел?
Может ревизия платы другая и входы и выходы не совпадают. Например прошивка для другой подверсии.
Да нет никакой движухи, такое впечатление, что чип не дышит. Осцилом цеплялся. На PC0-PC7 вообще какие то неопределенные уровни от 0,6 до 2,6 вольта.Сегодня утром включил его тут вообще муть какая то, на 2 -3 выводе TX RX светодиоды горят, я замерил там 0,6 вольта, потом сами собой пропали??? Светодиоды погасли.
Короче своей жизнью живет кристал. :))))
Что дальше хрен его знает? Ревизия платы та же, там есть некоторые отличия, но они не касаются основного алгоритма работы.
Сразу не стал отписываться, думаю проверю еще раз, может сам чего накосорезил.
А по асе можно связываться? Номер 200605975 твой? По возможности конечно.
Номер мой, но меня там не бывает. Асько стало сьедать слишком много времени и я ее прикрыл.
В схеме запаяный кристал откликакется, на унипроф. Фузы читает.Вроде живой, только вот почему не работает? Может быть из за тех фузов что не выставил? Или может еще какая беда с инверсией связана. всякие бредовые мысли приходят. SCK как то на работу влияет?
Здраствуйте. Собрал — не определяется. Есть ли какой способ проверить мультиметром МК — не спалил ли я его, и какие то стандартные параметры программатора (в разных узлах схемы) по каким можна было бы определить что я не правильно спаял?
Да, забыл сказать, в качестве проводников к COM порту использую обрезки из витой пары длинной около 40 см. Может проблема в них? (В качестве питания использую 1 и 4 ноги USB — мерял на входе 5В. МК — ATMega16 16PU. Сначала только к VCC и GND подключил землю и питание но потом увидел ошибку и подключил к AVCC и GND(второй) )
Укоротил длинну провода к ~15 см, пробовал менять скорость на портах (через деспетчер устройств до 4800) – не помогает. На сколько ножек МК(ATMega16 16PU) нужно подать землю (я ставил на 2) и питание (я стаил на 2)? Где же я ошибся…..
Возможно у тебя компорт с кривыми уровнями и тогда этот программатор у тебя работать не будет.
Я больше склоняюсь к мысли что я где то накосячил (паяльник не брал в руки 5 лет — последний раз еще в школе ;-) ).
Я тут перемерял все резисторы и один вместо 1кОм, показывает ~1.7кОм (может из-за того что я его перегрел), это может повлиять на работу? (Остальные впределах нормы +-5%)
А AREF нужно подключать к земле?
niello ты главное не температурь. Внимательно посмотри что напаял, резюки делай примерно одинаковые в районе тех которые указанны на схеме (1 ком), бери вовнимание, что в самом ком порту есть ограничительные сопроты и если ты на входе поставишь большое сопротивление, а которое у тебя на землю маленькое то положительный потенциал может оказаться слишком малым. Там на лупу нажмешь и на резете смотри сколько вольт выходит на самом контроллере. Ну и желательно другие выходы осцилографом в идеале глянуть какой размах.
На VCC и землю имхо можно по одному проводу закинуть, там они в чипе закороченны (ну по крайней мере в меге128 так, я мерял. Я правда не понял у тебя новая микруха или в схеме? Удачи!
Спасибо за совет. На днях попробую перепаять с нуля. МК — новый, специально покупал (хочу научится программировать на МК наочно).
Дааа что то в этот раз не получается: http://savepic.ru/867186.jpg
долблюсь пока
DI HALT дорогой ауууу! Понимаю выходные.
А сорри не заметил читаю!!!
Еще вопрос. Но тут очень важна последовательность.
Программатор Громова (дальше ПГ), его ISP-шлейф фтыкаю в PinBoard. Питание: БП компа-ПГ-по шлейфу ISP на отладочную плату… Светодиод первичного питания горит…
Запускаю Унипроф, определяется. Заливаю прошивку. Теперь самое интересное.
Закрываю Унипроф, на всякий случай нажимаю на отладочной плате Reset. ВОТ! С этого момента отладочная плата ПОЛНОСТЬЮ фунциклирует? У меня почему-то вывод 9 (reset) прижат к земле :(
Т.е. резюме вопроса: в какой последовательности надо отключать унипроф, питание и проч. А может еще и комп надо отключать? Вот гемора-то с антидребезгом тогда получится…
ЗЫ. Щас подумал — а может надо сам ПГ отключить от компа, но питание на него (в моем случае на отладочную плату) оставить?
Всё, разобрался!!! Действительно Унипроф прижимал reset к земле! Прочитал в комментах выше, что от этого можно достаточно просто избавиться — просто нажать лупу.
Но вопрос свой оставляю в силе — можно ли выдергивать ISP-шлейф из отладочной платы при отключенном питании ПГ, но при ВКЛЮЧЕННОМ компе?
Спасибо
Можно дергать ISP громовского программатора из отладочной платы. Без проблем.
Ну а потом подрубайся к бутлоадеру и ISP программатор тебе будет не нужен.
Увы, до бутлоадера я еще пока «не дорос»… Точнее, буду как здесь говорят «вкуривать» на неделе. А то невеста не отпускала ни на минуту, всё гульки, да свидания… Теперь она упилила на недельку… Изменю-ка я ей слегка с мегой :) Думаю, поймет.
Да и теперешняя ситуация для меня — огромнейший прогресс. Ибо раньше я только мог прошивать МК на работе по ЛПТ. Почему мой домашний ЛПТ порт не работает — до сих пор загадкой остается для меня?!??! Теперь, с ПГ (и с PinBoard) уже (за последние 15 минут) вычислил минимально необходимую задержку для кнопки. Я рад, одним словом. Жаль только, что наши немцам проиграли…
Да че не дорос. У Тебя какой проц? Мега16? Заливай туда мою прошивку, да выставляй фузы. На загрузку с бута. Не бойся, это не страшные фузы, ими не залочить. Главное остальные не забыть считать :)
Да, 16-ая мега. Залить-то залью — не сложно. Но теорию все равно вкурить надо. О привязалось-то слово…
По большому-то счету, все мои конструкции любительские, и речи о том, что «они будут где-то зарыты под землей и проч» не идет. И поэтому пока я к буту отношусь просто как к интересной фишке, которую желательно бы знать. Но зная, что нельзя объять необъятное, думаю, что бут пока подождет, ибо меня больще заинтриговала RTOS. Вот примерно так…
Всё, уже мозг не работает — пора спать
Через бут шить быстрей раза в четыре. Да и просто освоишь новый прикол. Полезно :) Тем более ты все равно всю память не уроешь. Кстати, часть3 получил? Там ос расписана
Еще бы не полезно! Получил… Начал было читать, вижу — ничего не понимаю. Полез в обучение. Распечатал 3 статьи про РТОС. Вот, сейчас на досуге почитываю…
Кстати, хотел спросить вот что. Откуда такие названия в директивах include — в частности меня заинтересовало слово kernel… WTH? — хочу у тебя спросить. Сколько ни гадал откуда такая аббревиатура — не пойму… И такой прием с раздельными файлами инициализации, объявлением векторов — есть прикольная штука. При больших количествах прерываний и размерах программ — вообще руль!
кернел = ядро по аглицки
По поводу ОС ты вначале загони это в отладчик, прогони, посмотри как оно выполняется. Будет куда понятней. Только в отладчике отключи (закомменть в коде) все что касается дисплея т.к. там идет ожидание подтверждения от дисплея, а в симуляции его нету тут то прога и встанет колом.
«По поводу ОС ты вначале загони это в отладчик» — именно так и поступлю…
Собрал программатор, вроде работает :)
СОМ-удлиннитель на полтора метра не пробивает, пришлось делать свой на 0.5 метра. Может быть из-за резисторов 1.7к вместо 1к…
вопрос: при прошивке через uniprof выдаёт «Ош записи, @=0062, надо 0А, есть 02. Повтор?» — это че за фигня? причём не смотря на это мк вроде как успешно прошивается и работает как надо.
Это значит что у тебя где то записалось не то. Можешь словить хитрый глюк в работе дейвайса причем не факт что сразу.
P.S. Если перед прошивой нажать Erase — то никаких ошибок нет.
А ну да, так и должно быть. Вначале МК Надо стереть.
а, ок. я не знал. спасибо.
вопрос об общих «правилах» ISP-программирования:
на 2313 к порту B подключено 7-сегментное цифровое табло, но PB5,6,7 являются еще и MOSI, MISO, SCK. в результате при подключенном табло прошить ничего нельзя, а при отключенном — можно (я предусмотрительно воткнул dip-панельку, а уже в неё — табло). табло с общим катодом, на который постоянно подан плюс, а нолики на PBx зажигают сегменты.
в какой-то статье здесь я видел, что эти выводы PB5,6,7 подключают через резисторы 10к. Но такое подключение вряд ли сделает их полезными, разве что для сажания на эти выводы кнопок…
получается, что PB5,6,7 в полной мере использовать не получится, если мне нужна возможность ISP-программирования? или есть какие-то хитрости? кроме джамперов «прошивать/работать»
Совсем не обязательно. Я одно время шил мегу8 со светодиодами на этих линиях (ультраярких, с 300 омами у каждого), светомузыка при прошивании и всё.
У тебя какой программатор? Я шил стк200 (на лпт- порт, с буферной микросхемой, кстати рекомендую- надежен как кирпич).
Светодиоды не помеха. Но вот программатор Громова их не пересилит. Нужен усбасп или СТК200 с сильными выходами. И еще, ставить его надо между выводом МК и ограничительным резистором диода. Тогда диод будет мигать аки светомузыка, а проц нормальное прошьется.
>> Но вот программатор Громова их не пересилит
Понятно. что ж, на первое время буду туда кнопки поключать, пока usbasp не сделаю… спасибо.
Уважаемый гуру , маг и волшкбник DI HALT! разясните момент. я читал предыдущую статью порты , значит должен был понять , но не понял эти строчки :
OUTI DDRA,0xFF
OUTI DDRB,0xFF
;OUTI DDRC,0xFF
OUTI DDRD,0xFF
; Конфигурируем направления портов на выход
; Если данный контроллер не имет, например, порта
; С, то эту строчку надо закомментировать.
OUTI PORTA,0xAA
OUTI PORTB,0xAA
;OUTI PORTC,0xAA
OUTI PORTD,0xAA
; Выдаем на выходы 10101010, чтобы получить
; четкую картину того, что на портах произошли
; изменения. После выполнения программы
; на выходах микроконтроллера в шахматном порядке
; будут либо напряжение питания, либо земля. Что
; легко проверяется либо вольтметром, либо простейшим
; пробником на светодиоде.
конкретно вот что:1.
DDRA,0xFF Конфигурируем направления портов на выход? что значит 0xFF? Одно понял , что 0xFF КАК ТО свазанно с разрядностью контроллера и с «1″ в двоичной системе что бы сконфигурировать порт на выход.
2. PORTA,0xAA -Выдаем на выходы 10101010, чтобы получить
; четкую картину того, что на портах произошли
; изменения.После выполнения программы
; на выходах микроконтроллера в шахматном порядке…. что значит 0xAA? Одно понял , AA — ЭТО 10101010 в двоичной системе и если мы загрузили данные во все порты А «АА» , ТО ПОЧЕМУ на выходе порта будет не сигнал меандр из 0 и 1 , а 0 или 1?
Патамучто порт у нас не последовательный, а параллельный! У него 8 линий.
а как бы тогда выглядел бы выглядела строчка програмы выдачи «1″ на конкретную ножку обозначенную в даташите как PB5? ХОЧУ разобраться сразу, не переходя к дальнейшему материалу курса
Предварительная конфигурация порта (делается один раз в начале программы)
SBI DDRB,5
;Установить вывод в 1
SBI PORTB,5
;Сбросить вывод в 0
CBI PORTB,5
М1: SBI PORTB,5
NOP
NOP
CBI PORTB,5
RJMP M1
Бесконечный цикл выдающий на вывод PB5 то 0 то 1 с ооочень большой частотой (примерно будет тактовая/5 т.к. одна команда за такт, и 5 команд в цикле) :) Только осциллографом можно увидеть.
Второй способ.
OUTI DDRB,0b00100000 ; настроим порт
OUTI PORTB,0b00100000 ;внесем в регистр порта Б число такое, чтобы в нем на 5 позиции была 1
То же самое, но с использованием макроязыка ассеблера (компилятор сам подставит нужное число.
спасибо. 2 способ понял как 2×2=4
Первый способ тоже прост — там используются спец команды для установки и сброса одного произвольного бита в порту IO. Указываем только порт и номер бита.
А, можно не ставить пофигисторы???
Замени их перемычками
а при желании можно на второй стороне платки сделать дорогу и соединить их впаяв кусок провода, но это уже слишком.
Решил попробовать себя в электронике. Спаял программатор, и мультивибратор. Теперь хочу их объеденить:)
Вобщем сделать «плеер». Ну и у меня сразу такой вопрос: чтобы менять частоту мультивибратора, нужно менять сопротивление, как это сделать микроконтроллером?
Не проще ли микроконтроллером напрямую генерировать аудио сигнал? ;)
Эм, а он может? А я и не знал, пойду датащит почитаю:)
Конечно может! Что такое звук? Звук это колебание туды и сюды с определенной частотой. Выводишь на ногу сначала 1 потом 0 и так с частотой, скажем, в 2600 герц — получаешь пищание широко известного фрик девайса Blue Box которым хитрые американские фрикеры переключали АТС на межгород нахаляву.
Здраствуйте, еще раз, пришлось все распаять, и пытаюсь собрать снова, посмотрите правильно все я подключаю?
Вот рисунок схемы: http://s45.radikal.ru/i109/0910/3b/58bc380ea7c7.gif
Чего-то не нашел нигде плату переходника для прошивки..
доброго времени суток :)
Прочитал отзывы примерно до середины.
В итоге немного запутался.
Вопросы:
длина провода — от компа до отладочной платы, где спаян программатор — примерно 1,5-2 метра — так понимаю, что это много?
Длинна проводков (MOSI, MISO, SCLK, RESET) от программатора до mega8 примерно 10-15 см (это вроде как нормально?)
Сейчас у меня к ножкам XTAL припаян кварц на 8 МГц. Правильно понимаю, что надо сначала выставить FUSE биты что бы микроконтроллер начал работать от этого кварца?
Спасибо.
1.5-2 метра для громова нормально, для лптшного много.
10-15 см нормально
Да, надо фузы выставить на кварц
Доброго времени суток :)
Вроде как спаял программатор для СОМ порта…
Когда указываю нужынй СОМ порт в программе Uniprof
бывает 3 ситуации:
- пишет, что МК не определился, но просит выбрать из выпдающего списка нужный МК
- просто пишет, что МК не определился
- иногда выдает окошко с надпиьсю: «is not valid integer value».
Правильно, понимаю — что скорее всего где-то плохой/гуляющий контакт?
т.к. раньше всегда писал только «МК не определился».
Спасибо.
Приветствую!
http://easyelectronics.ru/img/AVRProgrammator/avr_prog_adapter.jpg
На сколько я вижу на переходнике используются некие проводочки для соединения штырьков.
Так вот, КАКИЕ это проводочки? А-ля втыкающиеся в материнку от корпуса как я понимаю. Очень хочется сварганить подобное, но где их взять?
Это штырьевые контакты PBS еминп. Просто напаиваю их на проводочки.
Ещё один вопрос возник — работает ли этот программатор под линуксом?
Если да — то с каким софтом.
Через AVRDUDE может. В комментах есть дополнения как его настроить.
Не заметил :-) Спасибо.
Хм, штырьки у нас продаются. Да и со старых плат их можно выпаять.
Но разъёмов не нашёл. Можно ссылку на какой нибудь интернет магазин?
Какой угодно, хоть ebay. Хочется разжиться штырёчками :-D
s/штырёчками/разъёмами
Собрал свой первый программатор ;-) всё работает
Плату травил с учётом кроватки под Atiny2313, вот такую:
http://pic.ipicture.ru/uploads/091103/LpygOvv29G.gif
А что т овообще не понял про подулючение программатора. Где на нем +5В?
У меня есть плата с контроллером, питание идет на плату с контроллером 5В, и как мне запитать программатор от моей платы, а не от компа?
На разьеме программирования есть +5 и неважно в какую сторону тут потечет ток — от программатора на плату или от платы на запитку программатора. Все зависит от задумки.
Програматор нормальный, заработал с первого раза. Да… если не считать 2-х сожжонных СОМ-ов (по глупости), то все нормально…
Уважаемый DI!
абсолютно тупой вопрос: в проекте Громов программатор при открытии ЛайАутом справа внизу еще одна плата — элемент отдельный. что это и для чего нужна?
Догадываюсь, что переходник. Но там ничего не подписано.
приоткроешь завесу тайны? нужна ли та плата для программатора непосредственно? или можно сразу от первоначальной платы к контроллеру проводки паять?
Я уже и не помню что там за переходник.
Цепляй напрямую и все.
Спасибо. естественно — теме полтора года:) актуальности не теряет.
И да! поздравляю себя со своим тупизмом:) я все осилил и понял насколько неправильно задал вопрос. нарисовал сам себе плату в Sprinte и все нормально.
Решил написать про свои успехи в программировании микроконтроллеров.
Выбрал 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 контроллер не определился. Потом подключил диоды и все заработало. Правда иногда проскакивала ошибка записи.
При определении контроллера нужно было самому выбрать тип контроллера, но в режиме «тормоз» программа сама его выявила.
P.S кто-то писал что у него номер com-порт больше 5. Так в Диспетчере устройств можно выставить любой номер.
Для переходника USB-RS232 у меня был диск с драйверами но я его потерял. Кроме того я и не ставил драйверов под Windows.
Вчера не успел протестировать микроконтроллер который я прошил. Зато сегодня я на отдельной плате подключил контроллер, кварц с конденсаторами и заработало. Питание подавал от usb. Заодно и проверил еще три старых контроллера: один заработал.
Время прошивки через адаптер usb-rs232(com порт) около 2 минут (101 байт прошивки ).
Впрочем мне не спешно. Я тестирую программу на работоспособность в Proteus где сразу видно на какие порти контроллера подается сигнал.
собрал и я свой прогер громова . длинна провода от com порта до програматора 1,8м . ( подтверждаю , что длина провода в пределах 1,5-2м не критична )на панельку с обратной стороны на ножки питания повесил конденсатор ( кондёр на 0,1мкф) всё работает супер. читает и пишет без ошибок , что с кнопкой тормоз , что без тормоза ( мой проц 2,8ггц)
правда нарвался на грабли . 4 часа подряд прозванивал схему , думал почему не определяет avr ??? оказалось всё банально просто : at90s2313 не идет с завода с установкой внутреннего генератора. вывод : люди , читайте внимательней коментарии и DATASHEET
Чето народ массово юзает АТ90S… блин, слов нет. Где вы этот антиквариат берете то? Он же уже черти сколько лет снят с производства.
в хламе мы это берём , в хламе …
Доброе время суток! У меня возник малиньки вопрос (не об етом програматоре) если использовать прграматор 5 проводков, питание подавать на микруху до или после подключения к LPT, и на RESET микроконтролера нужно подавать +5 ))).
Зарание спасибо!
Ну я так и непонял, к прошиваемому МК кварц надо припаивать или нет?
К серии АТ90S1200/2313 надо, а к ATmega и Tiny нет.
Короче, я собрал весь программатор на печатке с выводными резисторами… От прогера до адаптера контроллера у меня идет экранированная витая пара, сантиметров 15… На адаптере к входу РЕСЕТ стоит резюк в 10 кОм… Пральна?
решил написать о своем опыте. тема существует уже долго, так что сорри чуть что за повтор…
на предыдущей работе был норм программатор, а тут работу сменил, решил дома зашить МК, а нечем. вот попробовал данное предложение (понятно, что не так надежно, зато быстро)))
короче все работает (без галки тормоз, на скорости 9600) но с одним неудобством: зашивается только после процесса очистки, а поверх зашитого никак…
P.S. МК использовал атмегу 16, подключенный к ней ЖК1602 никак не влиял (была про это заметка где-то в начале темы)
Стирать надо всегда, иначе записать низя. Видимо программатор на работе делал это автоматом.
Поделюсь и своим опытом.
Сначала спалил мать 5-ю проводками, потом решил перейти на com-порт. :)
Развел плату, спаял схему Громова. Она работала с avrdude очень нестабильно. avrdude под linux часто зависал в процессе записи. Раза с 5-10-ого ему удавалось прошить «Hello world, I am LED» программу. Но она не всегда прошивалась нормально — на этапе верификации avrdude часто ругался. Сначала грешил на пайку, потом на длинные провода (около 15-20 см). Перепаивание, прозвон, сокращение проводов не помогли.
Задумался над схемой, после некоторой медитации почти ее понял. Пока до сих пор не понимаю, как 0 на MISO преобразуется в -12 на COM-порту.
Вспомнил, что в заначке есть max232 микросхема и решил ее использовать для преобразования уровней. Схему использования max232 вытащил из документации. Единственное — оставил RESET линию как у Громова и диод там заменил на светодиод. Подумалось — он будет светиться, когда программатор подключен к COM-порту и не светиться, когда идет программирование.
Спаял, попробовал — тоже зависает.
Напрягся, пошел читать про протокол программирования, SPI интерфейс. И тут до меня дошло, что процесс записи зависнуть не может! Так как в SPI мастер может работать и на отсутсвующий slave. Просто будут читаться сплошные нули или сплошные единицы. Ковыряние в исходниках avrdude показало, что зависание идет в ядре linux при установке TXD пина на COM-порту. Только тут я заметил, что TXD зачем-то соединен с RXD. Может кто знает причину?
Отцепив TXD от RXD получил стабильно работающий программатор.
Схема вот — http://img43.imageshack.us/img43/4632/m232p.jpg
Может быть кому-нибудь пригодится.
В описании программатора для avrdude надо sck, miso и mosi сделать инверсными.
Пойду спать…
Ой, GND забыл нарисовать.
Некий nml писал что
«Если на компе есть разъем миди (15 пин мама) — его крайние дырочки это и есть 5в.»
Так вот я измерил напряжение на крайнем штырке и там окозалось 4.7В. Этого хватит? Если нет то что делать?
Округлять в школе уже не учат? =)
nmi вообщето это тот кто написал данную програму.
Hi HALT! Я в этом деле новичок.Подскажи плз, переходник для прошивки нужен для непосредственного программирования атмелок? и для каких атмег он подходит?он универсальный или нет? и где взять схему lay? и по поводу usb-го программатора,там комовский разъём для чего?для этого же переходника или нет?
Переходник нужен если ты хочешь прошить МК вне своей схемы. Иногда это бывает полезно. Тогда да, нужен. Обычно же я юзаю просто шестижильный ISP шнурок для прошивки прямо в плате.
ссылка на lay файл где то прямо в тексте есть.Читай внимательней.
Подходит почти для всех тини и атмег старых. С новыми тоже работает, но я не знаю поддерживает их UniProf или нет, а вот avrdude тоже с этим программером дружит и по моему поддерживает вообще всю серию АВР.
СОМ дырка там просто как мой внутренний стандарт интерфейса. С нее выходит мисо, моси, ск, ресет, земля и питание. Я в нее выткаю либо свой шестижильный исп шнурок, либо переходник для зашивки микрухи самой по себе.
С помощью этого программатора возможно прошить Atmega8 с помощью PonyProg?
Насчет пони прог не уверен. А через UniProf или avrdude запросто.
Дело в тои что есть прошивка(для ИК-приемника IgorPlug2) состоящая из трех файлов —
Main.hex, Main.eep, ProgMain.e2s. Как прошить Atmega8 с помощью этой UniProf?
Зашей хекс и епром, а e2s это что то вроде файла проекта для какого то программатора (PonyProg ???)
Ну и фузы выстави как надо.
Т.е. файл .e2s не нужен? А где узнать как фузы выставить — у автора прошивки?
Да у автора, может в хелпе где, может это косвенно из кода понять можно. Емнип игорьплуг работает на 12мгц. Значит однозначно ставить фузы на внешний кварц и вешать кварц.
Попробуй еще e2s открыть блокнотом, может там что увидишь. ВОзможно он содержит в себе фузы.
Кстати под словом кварц — имеется ввиду микроконроллер или что?
кварц это кварц. Кварцевый резонатор, деталь такая.
Есть такая схема программатора http://itmages.ru/image/view/13071/2620cc
Возможно ли его переделать на выход COM-порта а не LPT?
Нельзя
Если да то как?
Привет Хальт! у мя вот какой вопрос. мега 8-16,по даташиту у ней
vcc-7 нога,avcc-20 нога, на оба контакта надо подавать +5 v?
gnd-8 и 22 нога,оба контакта надо цеплять на землю?
и если не трудно объясни пож по поводу reset’а,как его цеплять надо к питалову? и когда,до прошивки,или после? Большой пасип.
http://easyelectronics.ru/podklyuchenie-mikrokontrollera-likbez.html
Доброго времени суток!
Прочитал все (!) посты, много узнал полезного, но все равно имеется…
Непонятная проблема с программатором от последовательного порта. Плату сделал по .lay-файлу для выводных компонентов (ссылка в статье). Длина проводов от порта до платы программатора 25 см, от программатора до МК — 10 см. Питание беру с БП компа. Монтаж проверил неоднократно, есть большущая уверенность, что все так.
Я пытаюсь сделать USBAsp, для него сделал плату, поставил детали (почти все. нет только С1-С3, R3,R4,R5 и светодиодов), кварц, контроллер. Сигналы MOSI, MISO, SCK, RESET, +5, GND подаю на разъем этой платы от соответствующих выходов программатора.
Ни Uniprof, ни avrdude не определяют контроллер. Сам контроллер новый и у меня есть подозрение, что он рабочий (об этом ниже).
После прозвонки и промера всех цепей мультиметром, дело дошло и до осциллографа. К сожалению он у меня аналоговый (С1-55, зверь-машина!), поэтому записать сигнал не получается. При помощи указанных агрегатов было выявлено, что:
а) RESET находится в лог.0 при выборе порта, на котором «висит» программатор. Так и должно быть (почитал посты выше). Это радует.
б) При выборе порта в uniprof’e или запуске avrdude на ножки МК MOSI и SCK подаются импульсные последовательности приблизительно ТТЛ-уровня. Тоже хорошо.
в) MISO при вышеозначенных действиях выдает импульсные последовательности (именно поэтому считаю, что МК рабочий).
г) Напряжение питания в норме (4.98 В)
д) Uniprof даже без определения типа МК может посылать сигналы в порт (хм… полезная «недоработка» программы). Пытаюсь читать. На MOSI, MISO и SCK наблюдаются четкие импульсы. Похоже, МК выдает запрашиваемые данные….. Да, если взглянуть на сингал MISO перед резистором (т.е. на проводе, идущем в комп от МК), то видно, что спады сигналов имеют высокие «всплески», около 0.4 В. До резистора этого «звона» нет.
е) Все вышеозначенное наблюдалось при сниженной скорости порта до 4800 (через диспетчер устройств. ОС Windows XP SP3. Увы, на Linux проверить не могу, т.к. на ноуте только USB имются).
Вот. При этом всем ни uniprof, ни avrdude не опознают МК. Есть у меня подозрение, что проблема в COM-порте. Но в чем именно не могу точно сформулировать. Порт рабочий (проверял двумя гипертерминалами и нуль-можемным кабелем). Может порт не понимает слишком низкий сигнал от контроллера и тогда MAX232 ставить… DI, чего думаешь по поводу?
Добавка. Что-то меня смущает отсутствие C3 в схеме USBAsp, мож из-за него МК странно себя ведет?
Уменьшил скорость порта до 1200 и вообще убрал буфер передачи. uniprof стал достаточно четко определять контроллер ( «[8K, 512] mega8″ ), но при чтении почти везде минусы, есть только одна ячейка, в которой появляются значения (адрес 0×16, значения разниые). Галка «тормоз» не помогает и заставляет задуматься о его местоположении (в программе или перед компом))).
Если при чтении везде минусы, то это просто МК чистый. Этот программатор идеально работает только на старых компах (пни третьи четвертые) на новых могут быть приколы.
возможно тебе действительно не повезло с портом. Уровни напряжений в порту какие? На сигнальных линиях моси мисо? На стороне МК. Должны быть в районе 3…5 вольт.
На MOSI и MISO чистый ТТЛ: низкий 0.8 В, высокий 3.8 В.
Попробуй убрать контакт номер 2 (т.е. RXD).
На схеме он идет напрямую на MOSI.
Мне такое помогло с avrdude.
Т.е. — часть схемы для MOSI должна быть такая же как и для SCK и RESET — диод, резистор, отвод на контроллер, резистор, земля.
Ок, поропбую. Тогда в чем смысл был этой обратной связи на схеме? Опознавание программатора, чтоль?
Сам в непонятках :)
Может большие люди что-нибудь подскажут.
Спасибо, дорогой камрад огромное!!! Убрал провод, идущий от 2й ноги ком-порта и все заработало! Уже прошил USBAsp. Успешно. Он определился и драйвер подцепился под виндой. Сейчс пробовать буду под линуксом.
Есть, значит, в схеме какая-то хитрость.
Которую мы не понимаем…
Мне кажется, не в схеме хитрость, а в работе софта. Вот смотри: ПК посылает по линии TX сигнал MOSI. Этот же байт тут же попадает в приемник по линии RX (2я ножка). Возникает прерывание по приему байта, драйвер ОС помещает его в буфер. Но контроллер-то отвечает совсем по другой линии (CTS — Clear TO Send). Но контроллер-то отвечает по другой линии, состояние которой можно прочитать в регистре состояния модема. На сколько я помню, при считывании этого регистра его значение аннулируется. Драйвер же ОС однозначно считывает этот регистр при анализе приема. Я когда писАл свой драйвер модема под ДОС, то в алгоритме опрос состояния был. Вот и не может программка прочитать ответ контроллера.
Т.о. не в электрической части программатроа проблема. Мне так думается.
Вероятность того, что я спалил мк подключив его к 12 минуты на 3. Когда заметил это он уже был достаточно горячим.
99%
Собрал всё по схеме, проверил, подключил к COM порту ииии МК неоткликнулся :(((
В чём может быть проблема???
Привет! Маленько не в тему. Скажи как можно применить at27c512r и at49f002t?
Можно под ножку стола подложить, чтобы не качался. Или брелок на ключи сделать. Да много у ней применений.
Ребят давно здесь не был. Вы это того не сильно на унипроф ориентируйтесь, в плане того что он безотказный. Я в этой ветке вверху уже отметился, намучался в свое время с громовским программатором, вернее с унипрофом, в итоге спаял на комовский разьем схему для поника, кстати ее можно спаять на основе громовского программатора, только там кажись транзюк еще поставил на резет(давно это было, могу уточнить если нужно, там все элементарно, а транзюк как инвертор, ну и прижимает к земле ноль лучше, короче походу паял из головы) и все сразу заработало. А унипроф вроде все пршивает, потом буфер сравниваешь и записанное в кристал все вроде нормуль идеентично, а в схеме не работает. Мне кажется Николаев с фузами че та не так намутил, хочу ему один вопросик по этому поводу на его сайте задать, да все как то лень.
Интересная логика. Если программа зашита, проверена, а девайс не работает — то виноват программатор. Ага. Я этот программатор использую уж который год по работе. Если бы были какие глюки — думаю, меня бы давно уволили.
И если есть вопросы — не ленитесь их задавать, вместо того, чтобы того, чтобы писать ничем не обоснованные «рекламации» на птичьем языке («транзюк»,»нормуль»,»намутил»-ей-богу, от этого уже реально мутит).
А еще лучше — покажите вашу программу. Если, конечно, не лень :-) Ибо, поскольку отладка — это процесс выявления и устранения ошибок в программе, то программирование — соответственно — процесс их внесения.
Да само собой вы меня в этом на две головы выше, как пользователь вашего продукта заметил что у вас в программаторе фуз SPIEN активен, не понял честно говоря для чего это нужно, если все равно последовательным програмированием его изменить нельзя. Вы про это сами говорите на своем форуме. Извините про слово «намутил», но факт остается фактом, я вашим программатором раз двадцать пять прошивал атмегу,причем новую, еще незапаянную на место. Когда поставил ее в схему, то она никак не реагировала,уже надежду потерял, но решил напоследок понипрогом прямо в схеме, тем более атмега была переключена( вашей прогой) на режим внешнего кварца, тут признаю это было действительно сделано. Сваял побыстрому схему для понипрога(на столе до сих пор валяется)и зашил ее, она тут же заработала. А насчет «птичьего языка» ну назову я его NPN транзистор, любой маломощный например кт315, что от этого изменится. Возможно там и без транзистора можно обойтись, в понипроге вроде есть инвертирование по каждой шине, хотя врать не буду, а так те же делители, можно стабилитроны, я посчитал что это не нужно и сделал из того, что было под рукой.
А так все скриншоты выше выложенны уже.Там то и удивляет, что вроде все правильно, но работать не хочет, и потом знаете понипрог, автоматом проверяет записанное в кристал…
Я не спорю возможно мои кривые руки тут сделали, что то не так, зеленый я в этом, но поймите правильно, я брал те же провода на поник, что и на ваш программатор и там все сработало с первого раза, а здесь никак.Отсюда мои выводы.
-Насчет наголову выше — неправда, я низенький и толстый :-)
-Насчет SPIEN — так это сейчас этот фуз изменить нельзя, а в семействе classic очень даже можно было — очень классные были грабли :-)
-Uniprof тоже проверяет при записи автоматически
-Зато Uniprof ничего не делает с фузами пока конкретно не попросишь. В свое время я посчитал, что делать это надо крайне редко, потому лучше лишний раз не насиловать кристалл (тем более что тогда ресурс перепрошивок был всего 1000)
-Ну а по надежности, что тут сказать. Во первых, программатор — это по сути не программатор вовсе, а устройство, передающее данные на МК, прожигает он сам. Потому надежность здесь двоичная — или передал данные, или не передал. Если Uniprof закончил прожиг и не обругал — значит, все в норме. Вся аппаратура (см. http://cinetechno.com) прошита этим программатором и прекрасно работает от Парижу до Находки. Ну а на закономерный вопрос — почему, работая на солидной фирме, не куплю себе крутой фирменный программатор — отвечу — а просто к своей отладке привык очень и аналога пока не вижу. А без отладки — слеп и глух…
Dobby,
т.е. схема программатора, которая здесь на страннице вверху, для PonyProg не подходит?,
если так то можешь ли выложить работающую схему?
Сейчас глянул и найти не могу ее вроде удалили, вообще вот она http://images.yandex.kz/search?p=1&tld=kz&text=Ponyprog%20com%20%D0%BF%D0%BE%D1%80%D1%82&stype=image&ncrnd=4399 та , что подписана delanet.ru, почему то удалена, там еще было подписано, что сделана неким папуасом, еще удивилялись люди, что «папуасы» начали схемы делать :)))
Но это не беда, берете например вот это http://images.yandex.kz/search?tld=kz&p=0&serverurl=atmega.blog.ru&text=Ponyprog%20com%20%D0%BF%D0%BE%D1%80%D1%82&spsite=atmega.blog.ru&img_url=stat8.blog.ru%2Flr%2F0927e43936fa3e9a6cb421785a08a71f&rpt=simage и собираете, главное распиновка ком порта вся видна, а за основу можно взять Громовскую схему, тогда стабилитроны не нужны, но диоды впереди все равно поставить желательно.
Короче кому как удобнее, если есть стабилитроны, то схему эту собираете, которую я ссылку дал, если нет, то Громова с соответствующей распиновкой( как в моей ссылке) с применением делителей на резисторах и диодов впереди.Я лично на делителях сделал, правда транзистор кт315 на резет все же поставил, хотя почти уверен, что можно без него обойтись, тока нуно в понике инвертирование резета выставить, там будет в самом начале. увидите. Вообщем если не понятно будет, карандашом начерчу, отсканю и выложу, но думаю поймете, если прогу подскажете простую, что бы схему без карандаша накидать, тосделаю в ней. Но там все примитивно просто.
:) Главное что б комп не полыхнул.
Выложи ту схему которую ты использовал для сборки при прошивке через PonyProg,
а там уже буду вникать, я вообще-то совсем недавно электроникой заинтересовался — захотел собрать вот это http://www.mindrunway.ru/IgorRele.html, даже хозяина того проэкта достал своими вопросами вплоть до словесной перепалки :) (для него детскими, как он говорит). Вобщем увлекся электроникой:))…
Где ты там Dobby — как с тобой связаться?, хотел задать вопрос насчет этой схемы.
:) Ты там живой Dobby или впадло?
Щас нарисую времени не было
Если это та схема — то здесь http://itmages.ru/image/view/15507/59d09b
не совсем понятно — какой же там резистор(ошибка в схеме)?
Я же тебе дал схему рабочую : http://savepic.org/122927.htm она что у тебя не работает? Если камень рабочий, то стопудово, должно заработать.Ты на какую смотришь схему?
А куда ты отсылал эту схему? — ты же мой мэйл не знаешь…
А питание подавать на Vcc и АVcc? Вобще-то меня интересовала схема с уже подключенным микроконтроллером Atmega8 к программатору, т.е. готовая схема с микроконтроллером…
Читай статью Подключение микроконтроллера. Там все это есть.
Спасибо за схему, а на Atmega 8 в данном случае обязательно кварц вешать?
В каком «данном», мы тут не телепаты в конце концов? На новой — внутренний генератор по дефолту, фузы если не менял, то так и останется, поменял смотреть нужно на что поменял. Последовательное программирование, последовательным программатором не запретишь это правило, недавно на сахаре с одним сцепился, темка наверху еще наверное.
Лок фузы последовательным программатором сработают, здесь точно не знаю, можно ли будет стереть прошиву последовательным или параллельный нужен, короче проще не трогать.
Вроде все понятно.
О чудо свершилось!! Оно прошилось!
Спасибо Dobby, твоя схема http://savepic.org/122927.htm работает.
Постояно в PonyProg выдавало ошибку «Devise missing…» ошибка там какая-то -24. Долго же я колдовал над этими программаторами пока не собрал эту схему, и все-равно не прошивалось(видимо в процессе паяний и прошиваний я как-то залочил микроконтроллер Atmega8). Потом порыскав по сети нашел что в таком случае можно для разблокировки МК подать напряжение на Reset(видимо при этом происходит сброс), причем значения разные пишут — 6V, 9V, 12V. Вобщем я вспомнил что у меня валяется дешевый бытовой блок питания с переключением на разные напряжения(тот что на раскладках продается), и перед самой прошивкой, при запущенной программе PonyProg, я подал дополнительное внешнее напряжение + на Reset и — на восьмую ногу МК(выставил на блоке питания 4,5V). Затем запустил прошивающий файл e2s и… к моему изумлению все прошилось.
Вот только в UniProf этот программатор по-прежнему не определяется(пишет что МК не определен, даже после успешной прошивки в PonyProg), не знаю почему, хотел бы узнать.
Дополнительное напряжение на Reset я подавал в течении пару секунд а затем уже прошивал(т.е. во время самой прошивки уже не подавал напряжение на Reset).
DI HALT а че пост выкинул или я недонажал?
Видимо недожал. Т.к. меня тут не было.
Пля ваще че за кипиш? че за тональность, ну не было времени совсем, и так два часа протрахался, что бы схему зарисовать. Вот здеь http://savepic.org/122927.htm В понике инвертирование оставляешь по умолчанию!
Диод D3 можно не ставить, но правильнее все же поставить.R2,R3,R6 при наличии стабилитронов, каких нибудь кс149 так же можно не ставить, но стабилитроны тогда в обязательном порядке.
Кстати DI HALT к тебе вопрос, раз уж сюда забрел, где то прочитал, а может мне это и приснилось, что играет роль уровень сигнала, который пишется во флеш ? Я имею ввиду электрический уровень, т.е. допустим лог единица либо 3вольта либо 5вольт играет роль или нет? Не имеется ввиду неопределенное состояние, а имеется ввиду когда все определено правильно, но уровень напряжения разный, ну я думаю ты вьехал про что я . Так вот как с этим быть или с этим ни как не быть?
Уровень тут не играет роли. Разве что на скорость работы. Высоковольтные мк могут фурыкать на куда больших частотах.
здароф HALT! как прошить мк через пони?
Втыкаешь в пони МК и жмешь кнопку прошить!
там есть:
1.write device
2.write program memory (flash)
3.write data memory (eeprom)
1 или 2?
1. Прошивает сразу флеш и еепром. На входе формат понипрога где два файла в одном.
2. Прошивает только флеш
3. Прошивает только еепром.
А дальше смотря что у тебя. Если только hex и eep то сначала 2, потом 3. Если же понипроговский проект (упаковка флеша и еепрома) то 1
Такой вопрос.
Нашел тут у себя старую мышку на ком порту(четка перепаял порт).
Но у нее только 5 пинов из ком порта используется.
Такой впрос нужен ли обязательно 5 пин ком порта?
Или можно взять GND только с корпуса?
Сделал по другому.
Тут писали что от 2 пина ком порта можно убрать MOSI
убрал оставив гнд. запитао от усб и все хорошо прошилось
PS прошил свой первый МК рад поуши ))
Фото в студию! :)
Боюсь спалить свой первый МК, подскажите все ли правильно сделал?
Вот фото:
http://s15.radikal.ru/i188/0912/83/d4a7fc1c3a7e.jpg
http://s43.radikal.ru/i100/0912/ab/49fa677c47e8.jpg
http://s48.radikal.ru/i119/0912/14/06d996a16ddb.jpg
И что я тут должен увидеть?
Ну вот например, то что на адаптере стоит резюк в 10 кОм, вот печатка адаптера
http://s45.radikal.ru/i110/0912/71/ed2162e965af.gif
Ничего не будет от того что он там есть?
10к нормально
С другой стороын AGND и AVCC тоже надо подключать.
AGND и AVCC подключать к тем же +5 и GND?
В простейшем случае да.
Спасибо, подключил контроллер по простейшей схеме + добавил стабилизацию питания на весь проггер…
Подскажите как переделать схему программатора, с учетом того что запитываться будет он от переходника USB-COM на CP2303 на выходе которой по идее уровни сигнала ТТЛ
Меня смущает сигнал MOSI, который идет сразу на две ноги сом-порта…
Он не будет работать через такой переходник.
А другие способы подключить через USB Uniprof есть? Какие-то другие «шнурки» подходят?
Унипроф нет, а вот через FT232 работает Avrdude смотри недавний пост про битбанг программатор.
Ну аврдудка через что только не работает :)
Вспомнил — через avr910 от Prottoss :)
Хотелось приспособить унипроф, он мне больше нравится
а как насчет переходников USB-LPT и fun-card программатора? Есть же реализации на основе Tiny2313
Привет всем! Я начинающий чайник и у меня есть несколько вопросов:
1)как подключить микроконтроллер к программатору — припоять соответствующие выводы МК? или воспользоваться переходником для прошивки (кстати что такое ZIF панелька?)? И где можно взять схему этого переходника?
2)как подключить питание с блока компа к программатору(в компе столько много всяких проводов)и нужен для этого какой-нибудь специальный штекер?
Здравствуйте!!!
Подскажите, пожалуйста…
Спаял программатор, получается работать с tiny2313. Пробую с mega8 — никак. Просто не отвечает контроллер и всё, как будто питания на контроллер нет. У меня запаяно питание только на Vcc и земля только на одну ногу… Контроллер новый, поэтому на него не грешу. Я подозреваю, что дело в питании. Подскажите, пожалуйста, нужно ли подавать +5В на AVcc и на ARef? И скажите, пожалуйста, каким должен быть по ёмкости конденсатор по питанию и насколько критично его отсутствие (либо неправильный номинал)?
Заранее ОГРОМНОЕ всем спасибо за ответ!!!
P.S. И снова о конденсаторе….. Какой лучше ставить, электролитический или керамический?
Питание надо подавать везде. Кондер пофигу, в данный момент его может и не быть. Раз работает с тини должно и с мегой нормально работать
DI HALT, спасибо большое! Приду с работы — попробую. Скажи, а какой конденсатор вообще потом лучше по питанию ставить?
Прям возле ног питания 0.1 мкф керамику, ну и 10…100мкф на входе в схему.
Извини, пожалуйста, за откровенную тупость, просто новичёк в этом деле…
Что значит на «входе в схему»? Это значит тоже по питанию? Т.е. фактически 2 вышеописаные конденсатора стоят параллельно друг другу?
P.S. А этот конденсатор должен быть тоже керамический?
Да параллельно друг другу. Который на 100мкф он электролит. И стоит сразу же после блока питания.
Спасибо большое! Буду теперь мудрить что-то :))))
Светодиоды подойдут как «любые маломощные диоды»? :)
И ещё вопрос: у меня на USB и на БП компа не +5В, а +4,6В — будет ли работать?
И если не будет — как получить +5В от +1,5В батарей? там же получается либо +4,5В либо сразу +6В :)
Спаял на макетке — видит МК через раз, читает флэш с ошибками.
Теперь попробую «по взрослому» — сделаю лазерным утюгом плату для схемы Громова где используются выводные резисторы.
Светодиоды не пойдут. У них слишком большое падение напряжения.
От напряжения мало зависит. 4.5 это вполне себе нормальная рабочая напруга для МК.
А тут вроде в одном из постов писали, что надо от +5В до +5,5В ?
А ты позырь в даташите диапазон напряжений контроллеров авр. Они уже от 3.3 вольт работают нормально
Ага. Но в комментариях к этой статье писали, что: «Дополнение от _Riko_
Эксприменатально было выяснено, что для правильной работы этого программатора напряжение питания МК должно быть не ниже 5 вольт (но не выше 5.5!!!). То есть если МК подключен к трем пальчиковым батарейкам, то вы обламываетесь, так как там 4.5 вольта! Запитывайте от компа!!!»
А это да, возможно. Сам не проверял. Эта схема вообще один сплошной хак. Простота конструкции означает множество допущений и ненормативной работы. Поэтому может раборать а может нет.
А как тогда прошить ATMega8-16PU для USBASP ?
У меня возник «вопрос курицы и яйца» :))) Надо прошить _первый_ МК для USBASP.
«И если не будет — как получить +5В от +1,5В батарей? там же получается либо +4,5В либо сразу +6В :)»
Ну два адекватных способа как получить из 6 5вольт, отказаться от батареек и запитаться от USB и.т.д. или поставить последовательно с батарейками пару диодов.
А то что вы спаяете ЛУТ принципиально ничего не изменит.
У меня на USB и БП компа не +5В, а +4,6В — так что питание не от батареек ситуацию не изменит к сожалению…
У кого-нибудь от +4,6В заработал этот программатор или +5В — жёсткое условие?
Ну пару диодов с 4 батарейками если нет других вариантов. А как вообще в дальнейшем контроллер запитывать не от батареек же?
Контроллер работает и от +3,3В (правда от этого вроде как зависят логические уровни «0″ и «1″), но тут было написано, что при использовании программатора Громова надо от +5В до +5,5В (сам удивляюсь — почему?)
Вот и хотелось бы узнать — возможно ли от +4,6В запитать или сразу на батарейки переходить.
Ведь по идее контроллер если стартанул — его можно и шить? тогда зачем +5В надо именно?
Возьми да проверь. Никто от этого не умрет. Думаю тут есть зависимость не от МК, а от СОМ порта. Т.к. тут мы его юзаем ОЧЕНЬ нестандартно. Начиная от его допустимых уровней до режима доступа.
Да, кстати присоединяюсь к вопросу про MISO — как там +12В возьмётся через один резистор от МК ??? :)
Просто посмотрел http://www.gaw.ru/html.cgi/txt/interface/rs232/ и понял, что +12В там не обязательно — надо больше +5В (для COM «передатчика») ;-)
Ну вот поэтому и получается, что питание 3 вольта маловато, а 5 так на грани, правда в минусовую зону все равно не попадаешь при всем желании, преобразователь нужен.Но там наверное в момент подачи +5 как раз и присутствует -12V, надо замерить при первой же возможности.Поэтому на мой взгляд сопротивление 1ком можно уменьшить раза в два.
Ещё бы теперь придумать как батареечный отсек на 4 батарейки ААА научить выдавать +5,2В, вместо +6,4В
В упрощённом случае вроде как резистор подойдёт?
Поставь туда три NIMH аккамулятора и одну батарейку. Они по 1.2 вольта. Будет 5.1в
Экспериментальным путём было выяснено, что светодиод даёт очень хорошее падение напряжения (батарейка типа «Крона» на +9В через резистор 1К + светодиод даёт уже +7В).
Для батарейного же отсека, дающего +6,4В, для получения +5,2В надо либо 4 резистора на 1К, либо один резистор на 1К + светодиод :)
RekoD, все очень просто. Ты конечно можешь использовать пару резисторов (не один!!!) как делитель формула простая.
Но в этом случае будет постоянно протекать через них ток, который должен значительно больше тока потребления МК, но проще как я тебе уже написал последовательно с четырьмя батарейками поставить последовательно два диода(не светодиода!) на каждом их них ты получишь падение 0,4-0,6 вольта в зависимости от марки диода. Проверяется либо по спецификации, либо (лучший вариант) опытным путем вольтметром.
Ага, спасибо. Получил +5,3В с помошью 2-х последовательно включенных диодов.
Но программатор так и не заработал.
Сделал плату на выводных резисторах методом ЛУТ, всё прозвонил, МК вроде как живой (при включении видно падение напряжения, т.е. он что-то потребляет).
И самое обидное — есть уже собранный USBASP для которого надо прошить ATMega8-16PU :’(((
Перечитал ещё посты. Убрал 2-й pin COM порта со стороны самого порта (тот, что идёт на MOSI) — тоже безрезультатно.
RekoD, ты кварц цепляешь, либо RC цепь? Контроллер новый? Короче собери вот это: http://savepic.org/122927.htm и поником все сделаешь, должно получиться.
ATMega8 куплена с нуля (5шт., все вроде как живые) — там заводские настройки 0xD9 и 0xE1 — на внутренний осциллятор на 1Мгц.
В общем думаю надо на MAX232 делать, если охота помучиться мне будет :)
Купил (сегодня доставили) AVRISP2 (mkII) — попробую им прошить для USBASP (собран, нету прошитого для него МК и прошить негде и нечем было).
По схеме Громова — уже не знаю что и делать :)
Уж и питание сделал стабильно +5,3В и плату «по взрослому» методом ЛУТ и провод что от COM порта, что до МК — меньше 10см.
Всё по 100 раз прозвонил ессно.
Остались варианты:
1) Убавлять резисторы (у меня везде на 1К). Только вот какие?
2) «Диоды — любые маломощные» — может не любые всё-таки?
Те что есть показывают ~500 Ом сопротивление на мультиметре.
Глупый вопрос: Я правильно понял, что диод где у него перечёркнуто на схеме — это анод и его надо к + подключать (т.е. диод «минусом»(катодом) к COM порту соединён)?
3) Соединить наконец Vcc с AVcc и AREF, а также GND с AGND.
Вопрос: для прошивки надо их тоже соединять или только для штатной работы МК?
1) ничего не даст.
2) 1N4148 например.
Где у диода прочерк это катод. Полоска на корпусе в этом месте.
3) Тоже надо соединять. AREF не надо никуда подключать, на прошивку это не влияет.
4) Попробовать на другом компе. У меня на одном компе работает на другом нет. Проц должен быть не выше 2ггц. Винда хп
1) Ну да по идее, т.к. первый программатор собранный «на весу» «немного работал», что вдохновило :)
2) У меня «частично заработало» с 1N4729A (мультиметр показывал сопротивление ~700 Ом), сейчас впаял какие-то аналогичные (сопротивление ~500 Ом) маломощные.
3) Т.е. только Vcc с AVcc и GND с AGND соединять надо, а AREF — не надо. Спасибо.
4) У меня древний Athlon 1Ггц и Linux Debian 5.0 — по идее не скоростной комп?…
Самое забавное, что первая схема Громова, собранная на весу видела МК (читала ID), по глючила при чтении (поставил -n для защиты от случайной записи) flash и фьюзов.
Ещё тут советовали убрать 2-й pin COM порта с платы — это так?
Тут один добрый человек приводил схему на MAX232.
А есть ли у кого под ту схему разводка платы в формате SprintLayout?
Анод к ком порту катод к резистору.
Положительный потенциал должен быть между резисторами. Проверь может ты диоды не так втыкаешь?
Я тебе порекомендовал собрать то что выложил, это займет 15-20 минут…
Анод к ком порту катод к резистору.
Положительный потенциал должен быть между резисторами. Проверь может ты диоды не так втыкаешь?
Я тебе порекомендовал собрать то что выложил, это займет 15-20 минут…
Ты на RESET +5V подал?
Анод к ком порту катод к резистору.
Положительный потенциал должен быть между резисторами. Проверь может ты диоды не так втыкаешь?
Я тебе порекомендовал собрать то что выложил, это займет 15-20 минут…
Ты на RESET +5V подал?
А с MAX ты вообще зарюхаешься имхо. Там еще ее проверить нуно внимательно, а тоу меня как то было, я купил микруху, один какнал в ней работад нормально, второй -12 не выдавал.
«Ты на RESET +5V подал?»
Упс… в схеме такого нет (+5В от БП на RESET) — там 4-й pin от DB9-F идёт на RESET — по идее сам COM порт туда даёт +5В ?
И ещё я пробовал 2-й pin DB9-F убрать (откусил) — никак не въеду — нужен ли там этот loopback между Tx и Rx или нет???
На ресет надо подать +5 вольт при работе. При прошивке надо чтобы ресет свободно можно было программатором дрыгать (мк шьется когда ресет прижат к земле)
а ты попробуй 2 с 3 до резюка соединить и еще попробуй +5 подать через сопротивление 15 ком на reset
сейчас вообще трудно сказать что у тебя не пашет, если бы ты уровни показал какие у тебя на ногах контроллера, тогда было бы понятнее, а еще может этот программатор не катит твоему компу, делай выводы.
сейчас вообще трудно сказать что у тебя не пашет, если бы ты уровни показал какие у тебя на ногах контроллера, тогда было бы понятнее, а еще может этот программатор не катит твоему компу, делай выводы.
А забыл сказать прошей его через лпт в конце концов 100% вариант
А МК от скольки по питанию сгорает, кстати?
Я имею в виду напряжение для ATMega8
У меня на тини2313 влетало около 6вольт. Ничо, выжила. Вообще выше 5.5 вольт я бы не подавал.
Млиа… ну я и осёл! :))))
Похоже диоды наоборот воткнул и думал, что «так и надо», т.е. думал, что к катоду надо «+» :)))
Сёдня ночью перепаяю и отпишусь как прошло.
P.S. Вот поэтому и «частично работало» — предыдущие диоды 1N4729A имеют прямое сопротивление ~700 Ом, а когда звонишь в обратную на долю секунды показывают ~1800 Ом.
За эту долю секунды программатор успевал считать ID МК и даже 1 фьюз на выбор! :)))
А вот flash уже читать он никак не мог!
В общем как в том анекдоте про Чкучу: «Дёргаю за ручку, однако, — руки успеваю помыть, а умыться — никак» :D)))
В общем ессно он заработал в каком-то виде (видит МК) *ойкакмнестыднато* :)
Но заработал с глюками, т.е. при чтении строкой (снизил скорость порта до 1200):
avrdude -n -c nikolaew -P /dev/ttyS0 -p m8 -b 1200 -U flash:r:flash.hex:r
файл flash.hex каждый раз разного размера (должен быть 8Кб у ATMega8 вроде как) содержит в основном 0xFF, но иногда встречаются какие-то странные байты с рандомными значениями.
Ещё при чтении он доходит до 7%-13%, затем немного «подвисает», затем линейка быстренько пробегает дальше и файл всегда меньше 8Кб :(
Фьюзы читаются, но это один байт — так что тут сложно ему ошибиться:
ID девайса: 0x1e9307
lfuse: E1
hfuse: D9
т.е. заводские настройки.
В общем теперь могу выдать полный log своих багов:
1) ОБЯЗАТЕЛЬНО НАДО ПРОВЕРЯТЬ СХЕМУ МНОГО РАЗ!!! (Вы могли паять её в уставшем состоянии (как я в 3:00-4:00) и просто напросто «запарить» (как я с диодами — аж стыдна :))
2) 2-й pin от COM порта (тот что напрямую идёт на MISO) _действительно_ надо убрать со стороны COM порта (я пользую avrdude 5.8 для linux, может это «фишка» avrdude)
3) «питание от +5В до +5,5В» — не проверял (и желания нет), но всё работает с батарейным отсеком на 4 батарейки AAA. Он так даёт +6,4В (что должно убить МК) — я снижаю 2-мя диодами 1N4729A, включенными последовательно, до +5,2В.
Ещё мне посоветовали комбинировать +1,5В и +1,2В батареи в отсеке — должно прокатить, но не пробовал.
ВНИМАНИЕ: на USB и БП компа запросто может быть гораздо меньше +5В (если у вас как и у меня государство обманывет и не даёт честные 220В в розетку :)))
4) соединять выводы МК: Vcc с AVcc и GND с AGND — НЕ ПОТРЕБОВАЛОСЬ (хотя я пока только читал, а не писал — может надо для записи?)
5) Работать (чтение) должно быстро и без подвисаний на определённом % прогрессбара. Если есть такое подвисание — см. п. 2.
6) строка, котиорую использовал для чтения флэша и фьюзов (Linux Debian 5.0, avrdude 5.8):
avrdude -n -c nikolaew -P /dev/ttyS0 -p m8 -b 4800 -U flash:r:flash.hex:r -U lfuse:r:lfuse.hex:r -U hfuse:r:hfuse.hex:r
При этом НА НОВОМ МК: lfuse=0xE1 и hfuse=0xD9, а flash.hex — пустой, т.е. 0 байт.
Device signature = 0x1e9307 для ATMega8-16PU.
фуф… вроде смог сам «из говна и палок» собрать программатор :)))
Правда как ло.. глупый (и уставший от того, что не получается) человек уже заказал и купил AVRISP mkII :)
Всем спасибо!
Отдельное огромное спасибо to: DI HALT, Dobby и grustnoe за совет убрать 2-й pin COM порта!!!
А как в WinAVR програмировать мк с помощью этого програматора там исполюзуется avrdude добавил предложеное в avrdude.conf и изменил Makefile но что то не програмирует при прошивке ошибок не выдает но изменений в работе мк нет. При програмировании UniProf все нормально может кто то может выложить avrdude.conf Makefile работаспасобные.
Доброго времени суток! Распечатал схему платы для начала на обычной бумаге чтобы посмотреть что да как. Рисунок дорожек получился не сплошной, а как бы точечный — зернистый, вообщем заметно. Отсюда вопрос почему это так, может я что не правильно делаю? DI HALT, как должно быть и что мне делать чтобы все получилось?
Выстави цвет слоев при печати в черный. Сейчас они у тебя бледно зеленые вот и печатает принтер их так.
Спасибо, все получилось. Есть еще один вопрос: какой должен быть размер платы? В программе Sprint Layout размер платы 100х150 мм, а при распечатке в масштабе 1:1 получается 25х45 мм. Если плата действительно такого маленького размера, то существует ли сверло для ее отверстий?
Масштаб там надо задавать ползунком. Обычно я делаю 1:1 и мне сложно предположить когда пригодится иное. Либо у тебя в настройках принтера косяк.
Ааа, у тебя поди размер рабочей области указан как 100на 150, а сама платка меньше рабочей области и напечаталась правильно. Да, она размером 2 на 4 см с копейками. Сверлышки такие конечно бывают. Тебе нужны сверла на 0.9мм.
Привет.
Почему программа UNIPROF с lpt программатором работает замечательно и очень быстро, а с сом программатором в обычном режиме даже мк не может определить предлагает выбрать из списка, только в режиме «тормоз» работает но очень медленно. В чем прикол?
Прикол в том, что у тебя слишком быстрый проц. Сделай ему даунклок до 1ггц и на ком порту без режима тормоз будет работать.
А как незапрограммированый МК (да и зашитый тоже) с магнитами дружит? Сразу душу оттдает?
Я в контроллерах новичок,кто нибудь подскажите плыз!!!Как прописать такую программу под mega128???А то у меня чото не получается, выдает каки то ошибки
Надо ее подключить к каким то другим выводам. Мега128 шьется немного не так как остальные. Читай даташит.
Насчет Громова и Ponyprog, вот чего накопал.
1. надо поменять местами провода к 3 и 4 контактам СОМ-порта (для 9-пинов)
Потому как у Громова Reset-4, MOSI-3, а у понипроги наоборот.
2. Галка инверсии ресета не работает, так что лучше транзистор поставить.
Возможно проблема только в моей версии (2.07c Beta Jan 6 2008). При включеной инверсии уровень всегда низкий, шьется без проблем, но МК не запускается.
При отключеной по дефолту уровень 0, при прошивке 1 — не шьется, зато в момент прошивки запускается МК )))
Кстати, а кто знает зачем в этой схеме MOSI c 3 ноги COM(9pin) возвращается на 2ю ногу? С Ponyprog работает и без этого…
Кстати, а кто знает зачем MOSI c 3 ноги COM(9pin) возвращается на 2ю ногу? С Ponyprog работает и без этого…
Доброго времени суток! Есть несколько вопросов: какие нужны разъемы для подключения к микроконтроллеру и к COM порту. Не могу понять как сделать разъем для COM порта: припаять проводки к контактам разъема или взять готовый провод с разъемом для компютера и обрезав один конец вывести проводки? Но если сделать так, то как тогда определить какие проводки паять к программатору? Поделитесь своими советами. Заранее благодарен!
разьемы DB9 лучше его купить.
В готовом проводе на 99% тебе не хватит проводков. По крайней мере от COM мышки не канает.
собрал по схеме — не видит мк.
может ли проблема заключаться в том, что, за не имением маломощных, поставил импульсные диоды FR157 1.5А, 1000В? на них прямое сопротивление 500ом.
если я правильно понимаю, напряжение должно делиться пополам.
сейчас попробую заменить резисторы после диодов с 1 Ком на 510 ом.
теоретически нашел свою ошибку: требуются диоды со временем восстановления <= 50 нс, у меня 500 нс. завтра съезжу за компонентами и проверю на практике.
Вряд ли это проблема. Но попробуй.
не помогло. переделываю все с нуля.
заработало, радости — полные штаны =)
вообщем оба раза допускал глупейшую ошибку из-за дурацких обозначений на вилке путал 7 и 8 пин.
А какой процессор стоит у тебя на компе, на котором заработало?
celeron 430 1.8ghz,
настройки порта не менял, работает без тормоза.
прошил usbasp, доволен как слон =)
Подскажите, пожалуйста, можно ли использовать в качестве провода от программатора к компу провод МГТФ-2 0.05 кв.мм? Если нет, то какой нужно? Спасибо.
:) Думаю, провод здесь не имеет большого значения, любой медный, можно конечно серебряный или золотой купить:)), но смысла особого, думаю, нет.
Спасибо, rulet
Программатор не работает. Смотрел уровни напряжения, на 3 ноге COM-порта (TX) стоит -12, на всех остальных по 0. Итого до ножек МК доходят только нули.
При запуске юнипроф выдает ошибку: «Чего-то неладно с Ltp, код=2; проверьте наличае файла LPTWDMIO.SYS в каталоге uniprof». Тыкаю ОК. Он дальше запускается и говорит, что МК не откликнулся.
Эта ошибка может быть причиной?
Попытался запустить spimaster. Он выдал ту же ошибку и тут же завершил работу. Там может для него настроить надо что-нибудь.
Предполагаю что нет доступа к порту. Как его можно предоставить? ОС Vista.
Заранее спасибо.
В висте скорей всего уже никак. Вряд ли кто напишет драйвер под этот программатор для висты.
И еще один качественный вопрос по схеме.
Вот из MISO МК поступает ответ на COM-порт с уровнями напряжения 0 и 5В. И как же COM-порт сможет их воспринять если ему нужно -12 и +12В ?
Теоретически работать не должно. Но на практике большинство матерей вполне устраивают такие логические уровни.
Подскажите какие провода нужно использовать для подключения программатора к компу и к микроконтроллеру. Или можно использовать абсолютно любые?
Рекомендую аудиокабель из бескислородной меди. Золото, правда, получше будет, но дорогое это удовольствие.
я использовал обычный МГТФ 0,07
как раз седня допаял схему, правда все достаточно несуразно, на макетках,но мне собсно ток проверить работоспособность. Ура!! Все вышло даже с первого раза)) МК без проблем определился Юнипрофом.
DI HALT, спасибо за столь полезный сайт, давно читал, решил что то смастерить и впервые что то откомментить. Поражаюсь твоей гениальности))
ЗАлочил Мегу8, напортачив с фьюзами. Есть возможность как-нибудь разлочить?
Можно скорей всего.
Если ты вырубил ресет то тебе только высоковольтный программатор поможет.
Если ты вынес внутренний генератор, то у тебя три варианта теперь:
1) Навесить внешний кварц
2) навесить внешнюю РЦ цепочку
3) навесить внешний тактвый генератор.
В зависимости от того в какую сторону ты залочил фузы.
закидываю hex файл и программа виснет=(
А можно за место 1к использовать 1,2к?
Можно
Теперь я вснесу свою лепту. Собрал программатор, диоды 1н4148, резисторы 1,2к. От компа до программатора 1 м, от прог-ра до микр-ра 15 см. Все дело запитал от блока питания на 12в через lm7805. Подключил, то определялось то нет. Считывал и записывал все с ошибками. Почитав здесь отзывы не долго думая запитался от компа через разрезанный молекс-сата переходник. И о чудо -все заработало как надо, НО в тормозном режиме, что мне не сколько не смущает. Так что ЛУЧШЕ ЗАПИТЫВАЙТЕСЬ ОТ КОМПА.
Собрал на макетной плате программатор, подключаю внешние питание, а напряжение падает с 5 ти до ~1-2в. Вроде всё проверил, нигде не коротит, всё собранное по схеме. Может дело в подтягивающем резисторе на Ресет 10к на +5в (в шеми питания МК) нужен ли он при такой схеме программатора?
По крайней мере не мешает.
А этим программатором можно спалить МК???
Если земли не обьединить то спалить можно что угодно. От компа до МК.
А Atiny13 если неправельно фьюзы поставить восстановить можно?
Да, но нужен выскоковольтный программатор
Спаял свой первый программатор АВР по схеме Громова. Прошивать пробовал через Uniprof. Всё сразу заработало! Отрадно, что заработало под новейшей Win7 (а то думал, что придется WinXP ставить) на 4-х ядерном проце, но только при установленной галочке «тормоз». Пробовал подключать три контроллера: Tiny2313, Mega8 и Mega32 — все определяются, читаются и записываютя. Но нельзя ли сделать так, чтоб при запуске Uniprof сразу устанавливался режим «тормоз», а то каждый раз приходится тыркаться туда?
Хе… Тоже получилось… Программатор АВР по схеме Громова. Прошивающая программа — Uniprof. Получилось не сразу. Как говорит Mr.DI — кривой монтаж. Программатор и контроллер — все на одной плате. В программаторе в соприкосновении двух проводов изоляция продавилась. Обвязал контроллер по максимуму… А в итоге забыл подвести +5В к контроллеру:) Проверил подпоял. Все работает… Первый опыт — что-то вроде светофора из кр., жел. и зел светодиодов. Еще подключить семисегметный индикатор для обратного отсчета:) В дальнейшем — создание велокомпьютера. Вот…
P.S. Спасибо создателю… Редко встретишь настолько информативный ресурс…
DI HALT, добрый вечер!
Прочитал почти все комменты по данной теме, но ответ на свой вопрос так и не нашел…
Поэтому решил спросить лично: программатор и саму плату в которую вставляется МК обязательно нужно собирать «по частям». в смысле что отдельно травить платку для программатора, отдельно для МК, а потом через провода все это соединять между собой??
А можно сразу собрать схему в которой сразу будет и программатор с питанием и место под сам МК, без всяких «лишних» проводов?? На сколько помню из схемотехники, чем меньше длина проводов тем лучше сигнал, ну или что-то в этом роде. Да и компактнее вся эта конструкция получится, одна платка и на ней сразу все необходимое :)))
Я еще только начинаю осваивать микроконтроллерную технику, может что-то недопонимаю..
Объясните пожалуйста начинающему! Спасибо!!!
Можешь и так :) Только у тебя будет по программатору на устройство. Зачем? Программатор делается один раз, а потом в каждом новом девайсе просто делаешь колодку для его подключения.
Да согласен, но пока на первых стадиях, я буду тиранить МК одной серии (или как там правильно) вообщем ATtiny2313, мне как-то проще когда все на одной плате, тем более что так можно! :))
В принципе можно поставить Jumper’ы и если что, то переключить к примеру на выводы или места для пайки для подключения плат с другими МК… но это пока я оставлю на недалекое будущее :)
ИМХО после ТТЛ и КМОП логики МК гораздо интереснее :))
А длина провода от СОМ порта до платы программатора должна быть не больше 1м? и еще провод лучше взять с экраном или можно без?
Ну далеко не факт что он у тебя сразу заработает :))) так что не обольщайся :)
У меня на громове от кома до проггера было около 2 метров, работало как часы.
Тут тоже верно. От ошибок и косяков никто не застрахован. правильно было сказано где-то выше в комментах проверять по 3 раза, а лучше по 10 :)))
Но отрицательный результат, тоже результат ;)
Спасибо за советы!!!
Как все сворганю и если все получится, то обязательно поделюсь впечателениями! :))
Схему собрал, все заработало с первого раза!!! УРА!!!
Ну по крайней мере Unipog увидил и определил мой МК (Attiny2313), первый раз счила показал —— что все чисто. Потом я залил в него тот самый HEX файл и еще раз считал, все получилось как надо. Далее отключил от программатора, подключил питание и RESET через 10кОм резюк к +5V и стал замерять напряжение на всех выводах относительно земли(GND) на некоторых ножках портов по 3.75 вольта постоянно (можно сказать что через ножку) :))) Я так понял что так и должна работать эта схема, да?
схему программатора собрал… Осталось только к Тиньке подключить. нашел у себя батарейку на 6 вольт, пойдет ? И кто нибудь может мне по человечески обьяснить что такое земля, GND, и тому подобного. Это просто минус ? или что ?что мне Делать с этим выводом на схеме нужно ?
http://easyelectronics.ru/podklyuchenie-mikrokontrollera-likbez.html
Тут все написано.
Спасиб Ди! Все понял. Блин. Только жалко нету БП своего, с регулировкой…
Надо отметить, что последней удачной поделкой была моргалка на КТ315 лет в 10. После — полоса провалов всего что собирал.
Программатор Громова собирал очень тщательно, всю ночь (днем возможности нет). Завелся с первого раза.Все ОК. Стало быть, стезя МК — это мое. )
Огромное спасибо за выложенный материал.
По сборке — хочется отметить что простота схемы усыпляет бдительность. Я сам нашел монтажный косяк, когда под утро прозванивал все цепи.
Доброго времени суток. Несколько месяцев изучаю МК — сегодня столкнулся с очередной проблемой, но сам решить так и не смог.
Использую ATmega16, всё время сидел на внутреннем тактовом генераторе. Сегодня возникла необходимость перейти на 16 МГц — припаял кварц, прошил фьюзы — ну, дальше как всегда, т.е. ничего не работает.
Использую программатор Громова и uniprof. При первом запуске uniprof говорит, что всё хорошо (МК определяет), но читает все нули, при записи выдаёт ошибка (как будто кристалл не стёртый), при чтении фьюзов читаются два байта нормально, дальнейшие попытки — все галки сброшены. При втором запуске предлагает выбрать МК. При третьем впадает в молчанку и говорит, что МК не откликнулся.
Выше где-то уже видел сообщения о точно таком же поведении — там вроде как всё решалось проверкой схемы и питания. Однако схема у меня полностью рабочая, питания от комопового БП ровно 5 вольт…
Может, кто-то сможет что-нибудь ещё полезное подсказать?
P.S.: Опция «Тормоз» не помогает.
update:
На дцатый раз удалось восстановить исходную конфигурацию фьюзов — теперь всё работает как часы (в внутренним тактовым).
Всё же вопрос открыт — почему не удаётся программировать с внешним кварцем на 12 МГц?
Думаю изза изменившейся скорости что то не совпало с портом и он начал глючить :) Спаяй себе уж нормальный программатор.
Вообще, внешний кварц для программирования не нужен. Да и внутренний кварц нужен только что бы «раскачать» кристалл на заливку проги.
А что касаемо косяков в Унипрофе, советую после каждой прошивки закрывать софтину и отключать шлейф от порта. И юзать программатор отдельно от основной схемы.
У меня тоже после пары пробных прошивок начались глюки. Вылечил именно так.
Так у меня программатор и так отделён от схемы. Но когда выставлены фьюзы на внешний кварц, то в программаторе без него не обойтись — МК-то тактироваться именно от него должен.
А по поводу нормального программатора — действительно, пора уже.
Всем спасибо за помощь, пойду паять человеческий программатор с контроллером :)
где-то видел универсальный пульт из нескольких панелек к програматору в формате ЛАЙ. Может кто выложит или ткните плз носом
уточню: это чтоб процики разномастные вставлять и шить
Не совсем в тему, но всё же:
Lib_comm — Библиотека для работы с COM или инфра-красным портом телефона
—————————————————————————————————————
str ing comm_op en(str ing s) — Открыть соединение с портом, возвращает текст ошибки или пустую строку если всё ОК
принимает имя порта, например ‘COM1′ или ‘IR1′ и список параметров порта
примеры:
‘comm:com0;baudrate=19200′ — открыть соединение с портом COM0 со скоростью передачи данных 19200
параметры:
baudrate — скорость передачи данных в порту (скорость порта)
bitsperchar — по сколько битов передаётся (7 или 8)
stopbits — количество стоп-битов (1 или 2)
parity — проверка чётности (even, odd или none)
blocking — блокировка чего-то там (on или off) ???
autocts — чёто-там авто (on или off) ???
autorts — тоже чёто там авто (on или off) ???
comm_cl ose — Закрыть соединение с портом
integer comm_re ad() — Прочитать число (байт) из порта
comm_wr ite(int eger i) — Записать число (байт) в порт
str ing comm_wr ite_str ing(str ing s) — Записать в порт строку, возвращает текст ошибки или пустую строку если всё ОК
Возможно ли при помощи этой либы сделать низковольтный программатор из телефона?))))
Самый дешёвый и лучший программатор — это STK200/300, но дело не в нём самом !!! А самое главное это — программа которая прошивает ! Я перепробывал куча программ и все они чем-то не подходят, а в частности плохо работают с Фьюзами микроконтроллеров ! И нашёл самый лучший вариант, это оказался — программировать в CodeVisionAVR ! В нём удобно включать Фьюзы и прошивать (виндовский оконный интерфейс)! Всем советую !
Сина прог рулезней и работает с дудкой, которая поддерживает все усб программаторы
RS232 программатор это слишком долго и нудно.
берем удлинитель DB25 (COM/LPT)1.5М и делаем из него оббычный программатор на LPT порт, кабель экранированый и программатор работает 100%.
Ну или как выше было сказано можно буфер повесить 74244.
Автор ты не прав.
Почему долго??? Шьет он вполне шустро.
При наличии LPT, а где его взять? у меня он есть уже только на древнем как говно мамонта ноуте. Ком порт же пока есть почти везде, хотя бы на матери.
А в чем я не прав?
Спаял данную схему. Но программа унипроф не видит МК, режим «тормоз» тоже не помагает.
Спаял правильно 100%, перепроверял 3 раза. Питание подал от ЮСБ. МК новый (мега8). И скорость ком-порта понижал, ничего не помогает. В чем может быть проблема? Может быть из-за того, что у меня проц на компе слишком быстрый?
Или мать не поддерживает такие извращенные уровни на порту
сегодня проверил девайс у соседа на стареньком компе (селерон 1700). То же самое :(
Наверное, буду паять ЮСБ программатор, который на микросхеме фт232, хоть она и дороговата немного.
Долго бродил в сетях всемирной паутины чтобы найти толковый программатор для начинающего любителя, и вот он))Спасибо DI HALT`у за то что он все разжевал d(^_^)b
Детали заказ, через неделю постарасюь собрать цифровой термометр)) школота ОТАКЭ микроконтроллеры xDD
Какой наивный оптимизм :) В этой теме не зря под 700 комментов =))))
авторизуйте меня в аське 7808955))З.Ы.забыл в том коменте написать
А зачем?
Для того чтобы получить ответ на какой-либо вопрос…
Ну ладно)нет, так нет))
Привет Всем,собрала схему, но что-то не сраслось, подозреваю что микроконтроллер пальнулся, можете подсказать как мне проверить мк без программатора? (даже того что на 5 — проводках)
Да никак почти. Т.к. непрошитый МК вообще признаков жизни не подает никогда.
А что делала?
Сначала прошила 5 — проводками с poni-prog, верификация успешна, вставила в устройство и перепутала полярность (торопилась очень), теперь хочу проверить работает мк или нет, а с 5 — проводками намучалась потому что разъема DB-25 нет и боюсь спалить порт, сейчас попробывала uniprof мк откликнулся, только фьюзы все без галочек не уверена но представление фьюзов в poni-prog и uniprof должно отличаться можете помочь разобраться с фьюзами?
там где в poni-prog были галочки теперь их нет, а есть и полностью сходные биты без галочек в обоих программах (считывание делала))), я с poni-prog прошивала потому что для нее все фьюзы были расписаны на сайте
Ошибка полярности запросто может убить если не весь МК, то очень многие ноги пожечь. Так что запросто он дохлый.
В Пони прог и в унипроф фузы отличаются тем, что они инверсные.
Если в пони стоит галочка, то в унипрофе в этом месте галочки быть не должно. Поэтому при выставлении их надо быть очень внимательным. Выставиф в унипрофе фузы по понипроговской картинке ты заблокируешь кристалл наглухо (равно как и наоборот).
DI HALT июля 25, 2010 at 14:44
Почему долго??? Шьет он вполне шустро.
При наличии LPT, а где его взять? у меня он есть уже только на древнем как говно мамонта ноуте. Ком порт же пока есть почти везде, хотя бы на матери.
А в чем я не прав?
http://ru.wikipedia.org/wiki/LPT
# EPP (Enhanced Parallel Port) — разработан компаниями Intel, Xircom и Zenith Data Systems — двунаправленный порт, со скоростью передачи данных до 2МБайт/сек.(1991)
# ЕСР (Extended Capabilities Port) — разработан компаниями Hewlett-Packard и Microsoft — в дополнение появились такие возможности, как наличие аппаратного сжатия данных, наличие буфера и возможность работы в режиме DMA.
http://ru.wikipedia.org/wiki/COM-%D0%BF%D0%BE%D1%80%D1%82
Максимальная скорость передачи, в обычном исполнении порта, составляет 115 200 бод.
http://ru.wikipedia.org/wiki/RS-232
На практике, в зависимости от качества применяемого кабеля, требуемое расстояние передачи данных в 15 метров может не достигаться, составляя, к примеру, порядка 1,5 м на скорости 115200 бод для неэкранированного плоского или круглого кабеля
При записи больших обьемов кода разница знаетели ОГРОМНАЯ!!
сом можно для PIC16F84 для его 14К использовать.
при отладке программ на 64 128КВ .. просто запаришься!!
лпт порт есть даже на новых десктопах, покрайней мере на материнках , кроме того есть адапторы USB PCI — LPT
проверено для СОМ и LPT отлично работает удлинитель порта 1.5М DB25 к которому в свою очередь цепляются 5 проводков.
вот и весь скоростной и длинный программатор позволяющий удобно работать.
это если по простому .. а лучше наверное усб программатор.
Программаторов на сом порт наделался предостаточно и даже контроллеров немного изза него потерял, по этому напоминаю что,во избежание глюков кабель должен быть экранированый и минимальной длинны, во избежание потери контроллеров нужна диодная обвязка в программаторе!!
[URL=http://zps-electronics.com/shema/jdm_programmer/]jdm_programmer[/URL]
[URL=http://zps-electronics.com/shema/ponyprog/]ponyprog[/URL]
[URL=http://zps-electronics.com/shema/programmator_avr_atmel/]programmator_avr_atmel[/URL]
отмечусь и я, что попал в тот процент людей у которых этот программатор не заработал. плату проверял сам 4 раза и друг 2 раза — все по схеме. придется собирать какой-нить другой.
Зд.Ув. Я собрал программатор Громова, питания 12в с стабилизацией 5в, кварц 8мгц с 22пф. программа uniprof . вставил мк atmega 16a в роде работаеть и опознаеть мк , но когда вставляю atmega16 16 pu дает сообщения «мк не откликнулься», пробовал мк 16 16 другую который работал на одном станке тоже выдает такое сообщения, то есть мк не опознаеться, что же делать мне, помогите, спасибо
Может они настроены на кварц? Мега16 16pu новая или юзаная?
да я пробовал одну новую и одну прошитой который работал на одном станке, и обо не опознаються. чтож надо делат если новая или юзаная. atmega 16A одинаковы или нет с atmega 16-16 pu
Ув. DI HALT помогите мне пожалуйста по атмега1616
Здравствуйте,
по незнанию заглушил атини13 фюзами в uniprof, без задней мысли поставил галочки как в оригинале:http://s51.radikal.ru/i134/1009/1e/feb80eb6012a.jpg
может поможет кто разобратся как правильно ставить фюзы в uniprof на даном примере?
Перезалей картинку. Не дает
может так: http://radikal.ru/F/s51.radikal.ru/i134/1009/1e/feb80eb6012a.jpg.html
перечитал вышеизложены сообщения, перепаял мк, выставил фюзы с точностью наоборот чем в понипроге, все прошилось без проблем,устройство заработало.
Буду искать теперь чем «трупик» реанимировать.
Привет, DI HALT.
Замечательный у вас ресурс.=-)
Хотелось бы высказать по поводу того, как увеличить скорость прошивки на мощных компах при помощи UniProf, а то время прошивки, в режиме «тормоз», занимало около 10 минут!
И как обойтись без нового супер быстрого программатора.=-)
Мне помог режим совместимости, необходимо выстовить windows 95, 98, или xp sp2 (стоит у меня).
И все, ваш мощный комп, будет шить МК куда быстрей, нежели в режиме тормоз.=-))
DI, выручай))))
нет ft232, зато есть распаянная (! слава яйцам !) cp2101 (полностью поддерживает все сигналы RS232). Можно ли её юзать для данных целей заместо ft232, или будут проблемы?
Для каких целей?
bitbang программирование avr-ок
cp его не умеет. Ищи FTDI
сразу заработало прошился удачно, а потом непонятно из за чего перестало работать(Не подскажете что к чему?
сори.вопрос снят.прошивал изначально без кварца а когда выставил в битах конфигурации внешний генератор не смог дальше прошиваться((поставил кварц и все заработало)))))))
Спасибо большое за схему!!!!!
У меня была трабла в том что контроллер не определялся. тыщу раз все перепроверил — правильно. Оказалось трабла была вот в чем — у меня на выводы sck mosi miso были навешаны светодиоды к земле…из за этой низкоомной нагрузки контроллер вообще не определялся. так что я их отпаял и все заработало. Может кому поможет.
А вообще для прошивки в такой ситуации есть вариант с буферной микросхемой.
Начинал с LPT варианта, потом собрал такой
DB9 -> ISP
Вот сегодня сделал более удобный
DB9 -> 3 метра витой пары -> плата-конвертер -> шлейф -> ISP
Общий вид http://xmages.net/storage/10/1/0/6/5/upload/f5acc1d1.jpg
Платка конвертера сделана из остатков макетки
Верх http://xmages.net/storage/10/1/0/6/5/upload/0095f937.jpg
Низ http://xmages.net/storage/10/1/0/6/5/upload/7ca2507f.jpg
Использовал витуху с экраном, просто под руки попалась, провод экрана ни к чему не цеплял.
Провода паять не очень, одна толстая медная жила, оплетка плавится.
Один провод не используется — отогнут.
Vcc на плате распаян, но в разъеме DB9 просто болтается. Если будет необходимость, можно на молекс повесить.
Ламерский вопрос 2 :)
На схеме печатной платы, контакт с COM порта DB9/5 накоротко замкнут с землёй/минусом GND. Можно ли вообще землю/минус с COM порта не брать ?
Поясню. Чисто практические соображения, дело в том, что есть в наличии разъём и штекер 5-ти контактные и разъём и штекер 2-х контактные. И вот как раз DB9/5 «лишний» получается.
Нельзя. Земли надо обьединять всегда.
Ясно, спасибо.
Буду искать другой разъём.
Доброго времени суток!
Собрал программатор, припаял его к контроллеру (делал все на коленке), успешно прошыл. Потом решил сделать все акуратно, отпоял контроллер и припоял к программатору штекеры, что бы можно было работать с разными контролерами. При попытке прошить контролер второй раз, контролер не определился, пробывал новый контролер, тоже не определяеться. Правильность подключения проверял многократно. Решил проверить программатор программой spidebug.exe, вот что получил:
reset — 0.09В / 4.26В (при вкл галочке Reset / выклченой )
mosi — 3.78В / 0.01В (при вкл галочке Output / выклченой)
sck — 5.75В / 0.00В (при вкл галочке Strobe/ выклченой)
miso — всегда 0.01В (при любых комбиначиях reset,Output и Strobe)
vcc и gnd беру с блока питания
Комп старый, галочку тормоз пробовал.
Не подскажите правильные ли это результаты? Как можно проверить работоспособность контролера? Что можете подсказать для решения проблемы (что можно ещё проверить)?
Это было что-то с чем-то ! Несколько дней парился, изучал что куда и как (и почём). Все описаные подводные камни (как ДиХалт говорит — грабли) учёл. Потом долго парился с изготовлением платы под МК (можно было и не парится, но захотелось сделать сразу красиво, чтобы вся нужная в будущем обвязка была, под всё внешнее красивые раъёмчики…). Затем два дня парился с изготовлением програматора. Спросите, а что так долго ?! Так у меня только плата пол дня травилась (в медном купоросе с солью). Потом часа два ушло, чтобы её в корпусе от дохлого калькулятора разместить. Отдельно сделал красивый разъём питания +5V из компа, короче возни много было. Попутно всё по 10 раз перепроверял и сверял с мануалами. Ещё день ушёл, чтобы установить и разобраться с сопутствующим ПО.
Вообщем на всё про всё почти неделя ушла.
И вот долгожданный момент настал. Подключаю програматор, включаю Uniprof — не работает ! Включаю SinaProg — не работает !
Достаю из кладовки древний системник, прикручиваю всё к нему — Uniprof, SinaProg — не работает !!!
Раздосадованый иду курить с горя. Пока курю, думаю, фиг с ним, видел в Эсме программатор USB, жаба конечно душит 910 рублей отдавать, но делать нечего — пойду куплю. Докуриваю, собираюсь. Потом думаю, стоп. А что если програматор не причём… Вдруг проблема в плате или вообще сам МК дохлый… Ещё раз проверяю плату с МК, проверяю правильность подключения проводов MOSI, MISO, SCK… всё в порядке. И тут ВНЕЗАПНО вижу, что разъём под шлейф програматора хотя и припаян к плате, но сами ножки разъёма забыл подпаять к ножкам МК (точнее к колодке под МК) ! ЁПРСТ !!!
Облагаю матом самого себя, припаиваю ножки к ножкам, подключаю, запускаю Uniprof — работает ! Прошиваю тестовую программу, меряю ножки — работает !
УРА !!!
Слава роботам !
Какая эпическая сакцесс стори :)
И не говори, Эпик Фэйл, с последующим Эпик Вин-ом :)
Не работает :( Паял на макетке, Комп-макетка-1,5 м. Питание от компового БП, 5,25 В показывает мультиметр, на Vcc, АVCC= 5,25
Потребление 8-9 мА, это нормально?
На Reset 0,5 В, коммутирую кнопку- на секунду 0, потом опять 0,5-0,56
Прозванивал кабель, все соединения на макетке, понижал скорость КОМ-порта, в чем может быть проблема? :) Конечно может я спалил МК, завтра пойду куплю еще 1 мегу16, но мб подскажете где искать проблему?
Диоды 1N4148, черточка на них это ж катод, «смотрит» в сторону мк
проверил маркировку резисторов- все впорядке
Ди Халт, Очень заинтересовался твоими статьями. В первый день прочитал Объяснение На Пальцах. С каждым днём знания накапливаются. Сегодня купил себе кучу всего, кстати АТмега-16 у нас стоит 250 руб.Завтра буду травить плату под программатор. Хочу спросить, есть ли у тебя цикл статей с самого нуля по АVR. То есть, как код писать, что вообще делать, практическое применение. И ещё вопрос, как соединять АТмегу? Я имею ввиду контакты. потому что у неё 40 выводов, а по схеме у тебя всего 5. Ещё вопрос по запитки. Читал коменты, и не понял. Если я сейчас всё соеденю так как ты описал, контролёр у меня будет питаться? Пока на этом всё. Прошу прощения за глупые вопросы. Нуб
250 эт чет дорого. Я беру максимум по 90. Ну в розницу 130. Оборзели барыги совсем О_о.
Есть ли у меня цикл статей… Поворачиваешь голову на 10 градусов вправо. Глаза упираются в пункт меню AVR. Учебный Курс. Бинго! Там есть все для старта.
Так с разъёмами я разобрался. Два END соединяются? И VCC c AVCC?
Я полностью спаял программатор, подключил к компу, а Юни проф пишет что МК не откликнулся. Спаяно всё верно. Мк рабочий.))
+5 припаял к VCC на МК. Это правильно?
хотел иметь маленькую красивую плату,поэтому разводил сам.собрал,н опочему то не работает=(если не сложно проверьте пожалуйста разводку.что с рамкой то перемычки,без рамки резюки килоомные.
http://i12.fastpic.ru/big/2010/1127/45/a94e429db507282e029c3287b6215945.jpg
Честно говоря не могу понять где она маленькая, разве что резюки использутся 0805 (что при размерах данной платы выглядит нелепо, понимаю была бы 1.5 на 1.5 см) и сверхмалые зазоры между проходящими под ними проводниками. Что может дать утечки и просадки уровней, даже при собранной правильно схеме.
Ну и причина по которой схема может не работать кроется не только в качественной схеме, а еще в полудесятке разных причин. В комментариях разобраны 99% их всех.
мне больше хотелось чтоб она была красивая=)чтоб сразу можно было вставлять в сом порт.мне главное было узнать правильно ли она разведена чтоб искать уже другие причины если что.но все равно спасибо!
да и забыл добавить на входы 6 и 9 подается питание с юсб
Видел выше вопрос по питанию, как понизить до 5.0 и т.д.
Хочу поделитсья своим опытом. Я начинающий любитель электроники, учусь вобщем.
Изначально захотел решить вопрос по питанию всех своих экспериментов. БП от компа юзать не хотелось в силу заныканности компа под столом, а внешний ставить не захотел из за габаритов (ну негде на столе ему стоять). Пал взор на зарядку от нокии, померял напряжение — около 6В. Не стал использовать. На работе бывалый любитель электроники подарил старый советский блок питания от калькулятора, на нем было написано 5В 100мА. Дома воткнул в розетку, замерил — 6.6В. Вобщем решил что стабилитроном смогу поинизть напряжение до 5В. На рынке мужичек сказал что стабилитронами я ничего не сделаю, и продал мне «кренку» (КРххЕНхх) и конденсатор, в нагрузку мужичек нарисовал схему включения.
Вобщем, собрав схему пару дней назад, я стал счастливым обладателем стабильного питания 5В. И, как я понимаю, входное напряжение может быть от 6В до 23В.
Вчера вечером собрал программатор Громова — сегодня будет момент истины!
Как говорится, остается только пожелать мне удачи (ввиду наличия массы потенциальных проблем/судя по длинне этой ветки/).
И еще вопрос появился.
Выше прочитал, что при перепутке полярности можно легко сжечь МК.
Можно ли перед Vcc и GND вставить диоды, чтобы при неправильной полярности на МК вобще питание не проходило?
Можно достаточно одного диода на vcc
Только напруга на выводах МК будет тогда 4,3 вольта как максимум
Надо учитывать подение на переходе.
У обычного диода это гдето 0.8 вольта.
Из этого следует что надо ставить диод шотки у него подение на переходе 0.3вольта.
При обычном диоде не каждый МК будет прошиваться.
Или может быть я вчемто заблуждаюсь??
Да ты даташиты то погляди. Щас почти все аврки чуть ли не с 1.8 вольт работают уже. С 4тырех то подавляющее большинство, даже старые серии уже нормально работали.
Ну, я просто хотел сказать, что напряжение при установленном диоде уже не будет 5 вольт.
Мне пару раз попадались экземпляры, которые при питание меньше 5 вольт прошиваться не хотели, хотя работают до сих пор при напряжение 4.5 вольта.
Вообще хотел предупредить, что если такое будет, то просто паниковать не стоит.
Не зря, наверное, все фирменные программаторы шьют МК при 5 вольтах, а параллельные вообще подают 12 вольт при программирование.
Так что зря наехал ,я просто поделился горьким опытом.
Снова вопрос.
Работаю в Линуксе Минт 10. Поставил avrdude, дополнил конфигурационный файл строками (по дополнению Outsider)
programmer
id = “nikolaew”;
desc = “serial port banging, reset=dtr sck=rts mosi=txd miso=cts”;
type = serbb;
reset = 4;
sck = 7;
mosi = 3;
miso = 8;
;
Но при запуске программа ругается на конфиг.файл. поковыряв этот файл не нашел там описание программатора serbb. Видимо из-за этого и не запускается.
подскажите, как сделать так, чтоб avrdude знал программатор serbb?
Решилась проблема — копи-паст не сработал.
Вписал все руками в конф.файл, и конфиг прочитался нормально.
И да — нормально считался флеш (и вроде бы даже нормально прошился, по крайней мере avrdude сказал что все ок) только после откусывания контакта с ноги 2 DB9.
Спасибо всем, делящимся здесь своим опытом.
Ура! Все заработало! Рад что не поимел описанных в ветке проблем, все заработало (прошилось, выполняется) почти с первой попытки.
пользуюсь программатором Громова, работал порядка месяца нормально, фузы прошил на своем тестовом контроллере 1 раз после сборки программатора и все ок, теперь потребовалось снять кварц(ноги нужны) и соответственно прошить фузы, НО фузы не шьются :-[! и что еще прикольней программа ПРОШИВАЕТСЯ!
начал экспериментировать и скачал дудку, проверил, программа шьется а фузы нет, но при прошивке фуз вылазит такая бяка:
avrdude: reading on-chip lfuse data:
avrdude: verifying …
avrdude: verification error, first mismatch at byte 0×0000
0x6f != 0xef
avrdude: verification error; content mismatch
avrdude done. Thank you.
хз в чем дело не могу понять, ведь прога шьется нормально. Помогите плз. не могу разобраться в чем дело.
да, в качестве кабеля использую не экранированную витую пару.
А ели управляющие сигналы у com порта не +\- 12 вольт а +\- 5 вольт, то как изменится схема устройства?
Можно делители подправить. А то и вообще их убрать.
то есть напрямую от
db-9 attiny13a
4 reset
2 mosi
7 sck
5 gnd
8 miso
Так?
Ну не напрямую, там еще диоды есть. Их не забудь. Резисторы тоже оставь, только то плечо делителя, что коротило половинку на землю убери.
Вот у нас в радиомаге нет таких резисторов на 1 кОм как у вас(т.е. маленьких, прямоугольных), у нас такие же на 1 кОм только они стандартные т.е. цилиндрической формы… на 0.25 ват, повлияет ли как-нибудь на работу программатора, я просто пока не рискую собирать его из-за недостатка деталей…
И перемычки, резисторы а 0 Ом, теоретически это и есть проводник, т.е. можно ли использовать мелкий кусочек изолированного провода?
(Мои вопросы прям как вопросы Какой-то блондинки)))) С НАступающим За ранее спасибо)
Ставь обычные, в чем проблема то? 000 заменяется на кусок проволоки.
Хаха)) точно спасибо большое))) Я просто ну совсем начинающий))) И даже не знал, что делать с хлорным железом, чуть не вылил)))
Помогите мне пожалуйста, установила AVR Studio4, создала файл проекта, списала проект выше, контроллер ATmega8, инклюдник .INCLUDE «m8def.inc», нажимаю F7, вот такое сообщение:
AVRASM: AVR macro assembler 2.1.42 (build 1796 Sep 15 2009 10:48:36)
Copyright (C) 1995-2009 ATMEL Corporation
E:\Rad\Programming\AVR Studio\proverca.asm(1): Including file ‘C:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\m8def.inc’
E:\Rad\Prog\AVR Studio\proverca.asm(13): error: Undefined symbol: DDRA
E:\Rad\Prog\AVR Studio\proverca.asm(32): info: macro ‘outi’ called here
E:\Rad\Prog\AVR Studio\proverca.asm(13): error: Undefined symbol: PORTA
E:\Rad\Prog\AVR Studio\proverca.asm(40): info: macro ‘outi’ called here
E:\Rad\Prog\AVR Studio\proverca.asm(54): No EEPROM data, deleting E:\Rad\Prog\AVR Studio\proverca.eep
Assembly failed, 2 errors, 0 warnings
Помогите понять что сделала не так ((
Помогите мне пожалуйста, установила AVR Studio4, создала файл проекта, списала проект выше, контроллер ATmega8, инклюдник .INCLUDE «m8def.inc», нажимаю F7, вот такое сообщение:
AVRASM: AVR macro assembler 2.1.42 (build 1796 Sep 15 2009 10:48:36)
Copyright (C) 1995-2009 ATMEL Corporation
E:\Rad\Prog\AVR Studio\proverca.asm(1): Including file ‘C:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\m8def.inc’
E:\Rad\Prog\AVR Studio\proverca.asm(13): error: Undefined symbol: DDRA
E:\Rad\Prog\AVR Studio\proverca.asm(32): info: macro ‘outi’ called here
E:\Rad\Prog\AVR Studio\proverca.asm(13): error: Undefined symbol: PORTA
E:\Rad\Prog\AVR Studio\proverca.asm(40): info: macro ‘outi’ called here
E:\Rad\Prog\AVR Studio\proverca.asm(54): No EEPROM data, deleting E:\Rad\Prog\AVR Studio\proverca.eep
Assembly failed, 2 errors, 0 warnings
Помогите понять что сделала не так ((
Все я разобралась порта А в этом контроллере нет, простите за флуд, можно удалить эти сообщение комп глючил в тот день и я тоже…)).
А вот еще вопрос у всех в шахматном порядке получается? вот у меня с такой прошивкой на контроллере ATMEGA8A-PU так вот получилось:
Напряжение питания — 4,83 В
1 — 4,23 5 — 4,83 9 — 0 13 — 4,83 17 — 4,22 21 — 0 25 — 0
2 — 0 6 — 0 10 — 4,83 14 — 0 18 — 0 22 — 0 26 — 4,83
3 — 4,83 7 — 4,83 11 — 4,83 15 — 4,83 19 — 4,22 23 — 4,22 27 — 0
4 — 0 8 — 0 12 — 0 16 — 0 20 — 0 24 — 4,83 28 — 4,83
Ну ты так ты позырь на распиновку меги8 там выводы по порядку идут или нет? ;)
Разводка выводов меги8 весьма укурная
Спасибо большое DI HALT! Порты смотрела 23 и 24 выводы это порты РС0 и РС1 соответственно, один из них должен быть инверсный, а у меня на них обоих высокий уровень, помоги пожалуйсто понять почему, ткни носом что не так, очень надо…
Ну тогда скинь мне всю прогу в репозиторий. Погляжу что там у тебя наворотилось.
Вот файл которым я прошивала [url=http://fayloobmennik.net/293636]proverca.hex[/url] , а это ссылка на код в ассемблере http://easyelectronics.ru/repository.php?act=view&id=38
Прогнал хекс в эмуляторе авр студии. Все нормально работает. Т.е. должны быть разные уровни.
Варианта проблемы три:
1. Убитые выводы контроллера. Иногда бывает.
2. Программа таки не зашилась. Попробуй изменять значения выводимые в порты и смотреть будет ли меняться картина
3. КЗ где то на плате, что дает такой эффект
Решилось, контроллер жив, хотя не знаю в чем дело, теперь на всех портах порядок кроме двух РС5 и РС6 но для первого вывода можно сделать скидку, я надеюсь, потому что fuse-биты прошиты так что 1 вывод не порт atmega8
Спасибо DI HALT за поддержку и помошь!
подскажите кто догадывается в чем дело please..
uniprof правильно определил МК, но при открытии hex показывает не данные а «—-». После чтения тоже.
спасибо
а другие рабочие хексы отображаются нормальными числами…
Чето странное. — это когда данные не инициализированы. Например у чистого МК, Ты мк стирать пробовала? Если чо хватай свой программатор, свой МК и топай ко мне. Разберемся.
решилось просто, хотя сложно объяснимо. че-то не понравилось название «new2011″. хотя цифры у меня в каждом названии есть.
а у чистого по-моему все нули.
Хочу поблагодарить автора за столь подробную статью и объяснения в комментариях — мой первый прошитый Tiny2313 валяется предо мной! ) Прошивал, пользуясь переходником PCI-COM (в материнской плате COM не нашёл).
Только я не соединял 2 пин COM-порта и MOSI. Если честно, непонятно, как можно подавать +12В на вход контроллера. Неужели и так работает?
А где там 12 вольт то? Он на вход работает
Гм.. стрелка слева от распиновки как будто вход, действительно. Получается с 3-го пина COM-порта через диод и делитель идёт обратно в COM на 2-й пин. Обратная связь, что ли?.. )
Возможно нужна для алгоритм билдера. Это же его почти родной программатор.
Гы. я это спрашивал без 6ти дней год назад (см. выше), ответа не было) Имхо, это распознавалка, чтобы конкретный софт понимал, что работает с конкретным программатором, и на все это тов. Громов когда-то и ориентировалсо.
У мене с Понипрогом(с переделками некими конешно) тоже замечательно без йентой перемычки пашет.
зы. подобную хрень встречал еще в жытаге им. Вигглера. вот там без нее ни гугу….
Всем доброго времени суток. У меня такой вопрос к DI HALT. Ты спаивал вместе 6-й и 7-й контакты COM-розетки или у тебя 6-й контакт не задействован вообще, что и видно на схеме?
Какой COM розетки? ее там нет.
пардон, COM-порта?
Нет, как на схеме сделано так и подключено. Один в один.
В принципе программатор простой, но его тоже надо правильно собрать, поэтому еще такой вопрос. Диоды по любому нужны импульсные типа 1N4148 или можно использовать выпрямительные типа 1N4007? Просто 1N4148 у меня пока нет, а зарядок от телефона полный дом валяется, но если надо будет, то по любому куплю.
И на счет питания контроллера. Я собрал схему питания, которая на выходе дает не точно 5 вольт как блок компа, а 4.96 вольт (мерил мультиметром). Как ты думаешь в этом может прятаться причина того, что контроллер не определяется? Заранее благодарен за ценные советы и рекомендации
Диоды любые. Питание у тебя тоже в норме
очень удобный программатор, на Asus M2N работает без проблем, естественно в режиме «Тормоз»
единственное что неудобно, это наличие ком-порта только в виде разъема на этой материнке
вообще вчера прошил свой первый мк, радовался как ребенок
не работает… Проверил 100 раз уже все! единственное что не повторил, это резисторы 0805 поставил и вместо перемычек проводки впаял. может из-за этого не работать?
А на сколько резисторы? Если на 000 то пофигу.
резисторы которые на 1 КОм я впаял 0805, а вместо 000 впаял проволочки… страшно это?
Ну резисторы пофиг какого размера. Следи чтоб соплей тока не было и КЗ всяких. А вместо 000 проволочка тоже вполне сгодится. Должно работать.
переделал ещё раз) спасибо, заработало))
Заработало. Мой mega8 определился. Прошивается без ошибок, читается просто замечательно. Я собрал проект «электронный термометр». Залил в МК соответствующую прошивку. Далее надо было выставить фузы. Выставил. Пришлось, однако, пришлось еще несколько раз перепрошить контроллер. После последнего такого прошивания сначало мой mega8 читался одними нулями, а после перестал определяться. Поставил tiny2313, с ним все нормально. С МК работаю первый раз. Не мог я случайно накосячить с фузами или дело совсем в другом?
Да запросто. Скорей ими и закосячил.
Т.е. контроллер накрылся?
Ну не накрылся. скорей ушел в анабиоз :) Но тебе щас будет проще его пока отложить и купить новый. Откачать его можно, но для начала прошей хотя бы один без проволочек.
в смысле без проволочек? без фузов что ли?
В смысле без проблем. Чтобы все четко получилось.
Ааа!!! Респектище тебе, Ди Хальт! Вытравил, спаял ,собрал, все завелось БЕЗ ЕДИНОЙ проблемы)
Мучался с этим программатором потом забил и просто сделал из шнурка для прошивки siemens под ponyprog
безо всяких резисторов диодов
разобрал кабель на prolific pl2303 и тестером и с помошью терминальной программы которая позволяет управлять сигнальными линиями и считывать данные с порта сделал соответствие со стандартным портом DB9
оединил проводками выводы разьема:
3 на reset
4 на MOSI
5 — земля
6 спаял с 7 и отправил на SCK
8 на MISO
все. открыл ponyprog и в настройках поставил галочки везде кроме invert reset а тип программатора: JDM API
И все заработало.
если не работает то инвертируете все галочки invert и пробуете снова.
хоть и медленно но зато хоть что то. использую для окончательной загрузки прошивки а отладку делаю в proteus.
у меня вопрос по унипрофу. Два камня tiny13. оба при попытке инициализации в унипроые вылазит ошибка «can not read адрес к папке с сигнатурами». и все. камень не определяется. другие тини26 и мега8 норм определяются. что это может быть? камни умерли?
Или унипроф их не поддерживает. Напиши Николаеву.
На сайте Громова написано, что поддерживает, более того, он вроде как собственноручно тестировал. Может, стоить обновить версию проги — т.к. я тини13 без проблем подключал. Ну, или проверить правильность ног.
На сайте Николаева написано, что поддерживает, более того, он вроде как собственноручно тестировал. Может, стоить обновить версию проги — т.к. я тини13 без проблем подключал. Ну, или проверить правильность ног.
Видел фразу, что через переходники USB-COM не работает, но подумал, что вдруг заработает через этот:
http://monitor.net.ru/forum/files/pl2303_pinout_994_188.jpg
нашел, распаял все выводы, подключаю.. не работает..
у меня какой-то странный понипрог.. качаю с оффки (1.17).. там даже меги8 нету..
последние версии не ставятся, т.к. ругаются на архитектуру х64 (рабочий комп Win 7 x64, домашний — WinXP x86)
может можно как-то прошить контроллер таким девайсом?
Извините за возможный оффтоп. Спаял программатор, прилепил к отладочной плате с кварцем 4мгц, подключил к компу подал питание 5+ от блока питания компа, UniProf определил МК 8к 512 Atmega8. Прошивается норм, читается норм, по нажатии кнопки test показывает что тоже всё норм. Но есть одно но. Я забыл исправить фузы и МК не работал в уже проверенном устройстве. Подключаю опять выставляю фузы (несколько раз для уверенности) прошиваю, смотрю опять фузы- они сбились в первоначальное положение… Меняю опять по несколько раз перепрошиваю и вылетает ошибка не удалось прошить(точно не помню но в коде ошибки 6D было) отключил МК подключил обратно- не определяется UniProf. Подскажите пожалуйста что делать?
P.S. извините за такой длинный пост.
У меня были те же грабли. Тока кварц был на 12 Мгц. Тоже прогал фьюзы, а они сбивались в начальное положение. Потом МК вначале прошиваться перестал, а потом и вовсе перестал определяться. Тоже для уверенности фьюзы прогал несколько раз.
Походу просто фьюзы не те были выставлены и МК заблокировался. В этом случае про последовательное программирование через COM порт можно забыть. И попробовать собрать параллельный программатор, описанный вот здесь http://eldigi.ru/site/programmators/2.php, советую собрать вариант с микросхемой. Либо просто купи новый МК
P.S. Мой МК параллельный программатор спас, но у тебя в общем случае может ничего не выйти. Все равно советую попробовать
Вопрос по диодам, FR157 подойдут? Собрал с ними, не работает. Правда возможно проблема самопальном шлейфе для ком-порта от материнской платы, можно ли как-то проверить порт при отсутствии каких-либо устройств работающих на нем?
http://avr.nikolaew.org/download
Там есть программа для проверки шлейфа — ставишь галочку, изменряешь на выходе тестером…
прозвонил тестером, все стало еще печальнее… ни программатор, ни com порт без него, на проверку шнурка никак не реагируют, на всех выходах стабильные 11.7V, кроме 1,2 и 6-го, там по нулям. На программаторе вообще все скачет RESET и SCK — 1.33V, MISO — 9.99v, MOSI — 1.15V. Грешу на разъем, на первом выводе DB-9F, к которому паялся программатор невесть откуда взялись -1.7V, когда на порте ноль и первый вывод вообще ни с чем не контактирует.На других выводах тоже разные цифры, хотя по идее должно точно совпадать с напряжением на ком-порте.
Но пусть даже разъем кривой оказался, порт без прогамматора ведь тоже должен откликаться на эту программу?
UPD, перепаял шлейф, теперь реакция у порта на программу есть, правда sck и mosi почему то инвертированы, на единицу выдают +12, на ноль -12, reset наоборот. видимо дело все же в разъеме, сегодня куплю новый, проверю
UPD2: нашел косяк, разъем не причем, не учел что распиновка у DB-9M зеркально отличается, теперь все работает=)
Народ, подскажите пожалуйста, как этим программатором или точнее как в uniprof фузы шить? А то я пытаюсь их выставлять, а они ставятся все время по умолчанию.
Заходишь в раздел фузов. Делаешь чтение их всех, потом выставляешь как тебе надо. Делаешь запись.
Привет!
Собрал програматор, подключил к тини 2313. В унит профе контроллер определяется, память считывается, а вот тестовый файл не шьётся. Пишет: «Ош записи, @=0000, надо 2F, есть 00. Повтор?». В чем может быть проблема?
Попробуй сделать вначале стирание МК.
Хм, ещё несколько раз попробывал и всё таки прошилось…
У меня СОМ внутрений и обзывается СОМ1 кроме того выоды у него называются по-другому, я предполагаю, что RxD заменен на SIN, TxD — на SOUT. СTS в мануале вообще пропущен (обозначение есть, вывода нет), хотя на материнке вроде есть. Материнка WinFast 6150BK8M… Подойдёт для программатора?
DI HALT, большое спасибо за статью, сегодня всё же спаял этот программатор, по пути наступив на почти все грабли, о которых здесь писали. Один вопрос — как выпаивать микроконтроллеры после прошивки наиболее безболезненно (гнутся ножки)? Вопрос относительно SO8-корпусов, для DIP’ов поставил панельку — и нет проблем, а что с совсем мелкими делать?
Так прошивать надо уже в готовом устройстве. Планарные корпуса вообще не предназначены для демонтажа. Т.е. их после отпайки по хорошему сразу в помойку.
А-а-а, не зря я подозревал что-то неладное после их выпайки! Энивей, спасибо.
Сменил комп. Старый бук сгорел. Теперь приходится настраивать программатор под комп. Микрухи не определяются: 3шт меги 8. При подключении на выводах от сом-порта:
4/9 = +5.74 B
2/9 = +5.05 B
3/9 = -11.20 B
7/9 = -11.20 B
5/9 = -0.09 B
8/9 = -0.04 B
Питание и минус взял с USB (красный и зелёный проводки).
Что не так?
Да что угодно. Я сходу назову с десяток возможных причин. =) Скорей всего аппаратная несовместимость ком порта или винды.
..Питание и минус взял с USB (красный и зелёный проводки).
Подозрительно что-то, обычно красный — плюс и черный — земля. В разъеме USB на материнке они по краям. Проверь, а то еще один комп сожгешь
Можно ли этим программатором работать через пони прог, и как ее для него настроить, а то все никак не хочет видеть программатор, пишет ошибку -24?
Наверное можно, но как не знаю. С пони прог никогда не работал.
Можно. Вот один из способов, и не единственный, где-то еще было.
http://coderest.blogspot.com/2010/03/avr-ponyprog.html
У меня ещё есть программатор от МастерКит AVR910. Никак не получается определить МК. Кто-нить пробовал им работать?
А какой софт применяешь с данным программатором??
UniProf с ним работать не будет
А какой надо?
Вообще то у него свой софт AVR Prog.
Но мне больше нравится ChipBlasterAVR.
Он понимает больше контроллеров чем родной.
Дайте пожалуйста схему подключения микроконтроллера ATMega8 к AVR910 (USB-вариант), да так чтобы можно было его прошить программой ChipBlasterAVR 1.12. Возможно кварц или ещё что-то нужно. Подскажите пожалуйста.
Дайте пожалуйста схему подключения микроконтроллера ATMega8 к AVR910 (USB-вариант), да так чтобы можно было его прошить программой ChipBlasterAVR 1.12. Возможно кварц или ещё что-то нужно. Подскажите пожалуйста.
Какие настройки нужно указать в этой проге? Почему там нет выбора частоты 1 МГц? Какие доолжны быть настройки виртуального СОМ-порта?
собрал, включил и… о ужас- оно сразу же работает! первый собственно запиленный девайс)
прошил через uniprof- все нормально. пришло дело ставить фьюзы- вот тут я и завис… нужно выставить hight-fuse значение C9, а low-fuse 9F. так было написано для avrdude. но он у меня ни в какую не хочет обнаруживать мк. как в uniprof выставить такие фьюзы? пол дня сидел ковырялся, пробовал читать что-то взрывающее мозг, ничего толком не понял.
помогите мне кто-нибудь, пока я ничего не угробил…
Фузы это два байта есть старший байт есть младший. Собственно их значения это и есть лоу и хай фузы. В этом байте каждый бит за что нибудь да отвечает. Открой даташит и в разделе Memory Programming найди где какой бит и что он значит. Переведи свое число в двоичный формат и поймешь какой куда поставить.
В Унипрофе галочка = единичка.
спасибо, теперь вроде разобрался)
у меня проблема: на радейке резисторы вместо 1 кОм подсунули на 10 кОм. Можно использовать их или нужно все-таки на 1 кОм покупать?
Как минимум можно попробовать. Может получиться.
Если стоит рекомендуемая подтяжка к VCC на RESET (10k), то ресет не сработает, там будет 2.5В, по документации — надо не выше 0.5 В. Надо уменьшить сопротивление резистора, который идет от Reset к земле.
У меня работает. На 4.7 уже через раз, а на 1кОм не пашет вообще.
Странно…
Вот не поленился открыть даташит mega88:
min max
VRST RESET Pin Threshold Voltage 0.2 VCC 0.9 VCC V
Сброс, как я понял, делается снятием напряжения от порта на ресет, диод закрывается. Если нижняя половина делителя будет 10к и верхняя 10к (не говоря уж про 4.7к и ниже), то напряжение будет половина VCC (и выше при более низких сопротивлениях подтяжки), что явно выше положенного. Странно, что работает. Кстати, DI HALT, я не думаю, что тебе тоже подсунули сопротивления на 10к, думаю у тебя в нижнем плече всё-таки как по схеме. А вообще, надо всё-таки автору схемы поставить полевик на ресет и инвертировать выход порта, ну надо…
На 10кОмных делителях может и не заработает. Не проверял. Я про свой случай, на 1кОмных
В твоем случае, конечно будет работать до 4.7к.
при сопротивлении подтяжки 10к на ресет будет 5v/(10+1)*1=0.45v -норма
при сопротивлении подтяжки 4.7к на ресет будет 5v/(4.7+1)*1=0.87v — близко к нижней границе (1v).
при сопротивлении подтяжки 1к на ресет будет 5v/(1+1)*1=2.5v — Увы.
Просто парню, задавшему вопрос, лучше не париться, а делать как надо
Кстати, с большими сопротивлениями и фронты импульсов при большой ёмкости проводов будут сильно искажаться — работать будет ненадежно.
Добрый день проблема такая на XP программатор громова работал отлично понадобилось поставить сервис пак3 для UART to USB – преобразователя и все прогер ушел не попрашавшись а на пентиуме166 работает как обычно что можно сделать кроме удаления SP3- подскажите?
Скорей всего проблема возникла изза доступа к портам. В СП3 прогам запретили аппаратный доступ к железу. Но есть патч который это фиксит
Спасибо за подсказку если вам не долго дайте наводку на патч?
Где то тут в комментах была.
Нашел утилиту UserPort вписал адреса сом1 унипроф заработал!
А не опасно подключать микроконтроллер к такому программатору без питания? Если питания не будет и на входных выводах микроконтроллера появятся напряжения, то через защитные диоды входов потекут токи паразитного питания (и весьма немалые для данной схемы — ограниченные резисторами всего в 1к). Гораздо надежнее всё-таки схема от pony prog — принцип работы и схема — фактически абсолютно те же, но питание берётся с порта одновременно с сигналами, т.е. появление сигналов на входах без питания невозможно в принципе. И нижние плечи делителей заменены стабилитронами — тоже плюс, если сигналы на выходе порта окажутся ниже стандартных (бывает и такое). По-моему, лучше не экономить три детали — себе дороже выйдет, если питание вдруг отключиться, или забудешь включить (с новичками это часто бывает).
А зачем подключать микроконтроллер без питания? Питания в любом случае нужно.
Дело не в экономии, а в том что есть под рукой.
Само собой питание нужно, я же говорю о возможности НЕОСТОРОЖНОГО выключения (невключения) питания. Кто из нас чего не забывал? Тем более новички. Ты же сам вроде писал о страшных последствиях паразитного питания для общества? Тем более, что если «под рукой» у человека нашелся микроконтроллер, то думаю найдется еще три диода и стабилизатор на 5в. Кстати, есть идея подключать подобные устройства через буфер типа HC244, а входы разрешения запитывать от целевого устройства(можно через кнопку: замкнуто — работает как обычно, разомкнуто — HighZ), тогда на выходе без питания ничего не появиться. Кроме того, при несложной доработке можно эту приблуду использовать как STK200 (мож есть lpt и нет аппаратного com) -получится универсальный программатор для бедных.
использующих девайс немало а никто нежаловался пока :)
Ну, не жаловались… Может и не жаловались, но плакали ночью в подушку. Раз потенциальная опасность есть, надо, я думаю, её обозначить. Не каждый же сообразит, что это не «конденсаторы плохие», а просто входы из невключенного вовремя питания уже завернули ласты.
Спасибо за статью, один раз потрудились написали подробно и в лицах, а помогает народу уже чертвертый год! Вот и я паял впервые в жизни, причем на монтажной плате, соединял все проводами, но все же заработало! С первого раза определился (тфу тфу тфу)!
Спасибо, товарищ DI!
доброе время суток. Ком порта у меня нет, думаю собрать вариант с ЛПТ.. никто ранее не собирал на ЛПТ, подскажите работает или нет??
Спасибо за статью и сайт!
Теме конечно уже сотпитцот лет, но надеюсь кто нибудь ответит.
У меня проблема — сначала делал программатор на макетке, всё работало, потом пришлось забросить это дело на пару месяцев, щас включаю его — определяется, но не пишет.
Написано :
Ош записи,@=0000, надо 2F есть 00. Повтор?
Да Нет Отмена
При этом хорошо определяется и читается(на тормозе).
Сходил к другу, напечатал, сделал платку ЛУТом — та же фигня. Ошибки в разводке не может быть, провода несколько раз менял и перепаивал.
Может сдох порт или контроллер? Просто он мог дотронуться ножками до корпуса компа.
Контроллер стери перед тем как прошивать, ага
О, всё заработало! Спасибо большое!
Реально затупил с стиранием!
Ты в статье напиши про то что нужно стирать, а то я тут не первый с этой ошибкой.
Все сделал, спаял Громова, спаял юсбиавр. Все подключил как надо, в юнипроф определяется мега8, дальше открываю прошивку, нажимаю на prog и выдается такая ошибка: «Ош записи, @=0000, надо 3B, есть 00. Повтор?» Объясните мне, как прошить, я в этом деле новичок совсем.)
о, а тут была оказывается такая ошибка )))
Стереть предварительно надо. Тогда будет все ок.
Я споял Громова 20 раз проверил и никак у меня необнаруживается мк ATMEGA8A-PU в программе юнипрог. У меня стоит ОПЕРАЦИОНАЯ СИСТЕМА ХР сервиспак3 ПРОЦЕССОР КОМПА АТЛОН 3800+ МОЖЕТ ДЕЛО ВНЕМ.
помогите я споял громова 20 раз проверил не может опредилить мк ATMEGA8A-PU у меня операциооная система хр сервиспак 3 может дело вней?
Граблей там целое поле. Дело может быть в чем угодно. Почитай комментарии, там таких как ты не один десяток. Может найдешь решение которое подойдет именно тебе.
Собрал вчера программатор Громова для LPT (думал, что для LPT номера ножек указаны на схеме), незаработал. Стал перечитывать эти коментарии с самого начала. И где-то в постах за февраль 2009 года вычитал, что на схеме указаны номера ног для какого-то шнура LPT-COM, а не для раъема на материнке. Так что, подозреваю программатор работает только с COM-портом. Пост был от самого Николаева, который написал программу UniProf…
Программатор работает. Проверил, перепаяв разъём с LPT на COM. За одно в гости к сестре сходил в кои-то веки.
Прграмма работа с USB-флешки. Программировал Мегу8 на отладочной плате. Какой проц у компа нескажу. Но тактовая частота была около 3 ГГц. Хорошая штука. Полезный урок…
Всем привет!Мне надо прошить atmega8-16au в корпусе TQFP.там 32 ноги из них 2 ноги с VCC и 3 ноги с GND.подскажите на какие ноги подовать питание.
Все
DI HALT здравствуй. У меня такой вопрос. Можно поставить просто перемычки вместо пофигисторов?
Пофигистор как бэ и есть перемычка…
А я решил обойтись без печатки и лишних корпусов и разместил этот программатор в корпусе от вилки DB-9.
Помня какие у меня возникали проблемы с com-портовым программатором на резисторах для пиков, я для программатора Громова сделал кабель длиной 20см всего.
Как я понял, то данный программатор не требует питания для работы. Тогда такой вопрос. На печатной плате выводы 5вольт и земля предназначены чисто для питания МК? Можно ведь и без питания тут обойтись, а МК питать от другого источника. Или я не прав все — таки?
Он не требует, но лучше питалово брать с БП компа. Стабильней работает.
Спасибо )) Буду знать :)
Ди, подтверждаю, что в линуксе avrdude ведёт себя НЕАДЕКВАТНО, если не оторвать провод ко 2 выводу com-порта. Чтение доходит до 13 (реже — 27)% и замирает. Зато никаких проблем с быстрым компьютером — шью на AMD Phenom 8450e. Пожалуйста, добавь это в тело статьи — в комментариях найти проблематично.
Спасибо за подробную статью. Программатор заработал с 1 раза :-) на старом компе Целерон 1ГГц winXP без тормозов
Можно-ли на этом программаторе запрограммировать кр1816ве51 ? Если да , то покажите схему включения .
Нет.
1) Это не АВРка, а х51
2) Программируется параллельным программатором (теоретчески)
3) а практически я не встречал таких со встроенным перезаписываемым ПЗУ
А у тебя есть схема программатора для кр1816ве51 ?
Искать в инете пробовали? Схем навалом.
Только еще раз предупреждаю — убедитесь, что он с перезаписываемым ПЗУ. Ибо мне в моей практике таковые в руки не попадали ни разу.
atprog.boom.ru вроде эта умеет.
502 Bad Gateway
Бесплатный BOOM уже несколько лет как помер (знаю, так как у самого там сайтик был).
А топикстартеру надо убедиться (уж который раз повторяю) что на этом МК есть перезаписываемая ПЗУшка. На фирменных — сперва были ультрафиолетовые (корпус с окошком), потом — с флешем, причем как параллельно программируемые, так и сериально, но это уже не интел, а атмел и прочие, многие фирмы делают это ядро.
Но советские видел только с масочным или вообще без ПЗУ. А это значит — внешняя ПЗУшка и как минимум шинный формирователь. То есть не 1 корпус, а три. СтОит ли возиться, когда навалом тех же АВРок или ПИКов за копейки?
Собрал программатор, прошил atmega8 пробной программой, всё работало, но при повторном подключении программатор отказывается видеть контроллер. Фьюзы не менял. Подскажите начинающему в чём может быть причина?
Причин может быть миллион. Скорей всего где то что то неконтачит.
почему-то тоже самое было и с LPT программатором на 5ти проводках. после прошивки контроллера не видно
Причины для «не видит» (ISP) могут быть следующие
- нет питания
- нет тактовой
- установлен RSTDSBL
- есть контакт где не надо
- нет контакта где надо
- конденсатор на Reset-е
- сдох сам МК
Добрый день. Помогите новичку разобраться с проблемой.
Собрал программатор. Собрал простейшую схему с Atmega8-16(сам МК, Кварц 16МГ+2 22pF по ногам) запустил Uniprof, зашил HEX. Не работает. Открываю снова Юнипроф, МК он видит но стирать не может, жмёшь стереть пишет — Готово сэр!, читаю МК а она не пустая, пытаюсь сверху записать, пишет ошибка типа должно быть -x- а Есть -y-.
Фьюзы стоять те которые были на МК изначально. Всю голову сломал уже :-(
От чего питаете МК? Есть ли «керамика» (то есть 0.1 мкф емкость на питании)?
Питание от компа +5В. Ёмкость есть. МК прошился и заработал :-)
Выставил фьюзы CKSEL0=0 CKSEL1=0 CKSEL2=0 CKSEL3=0 и теперь Юнипроф пишет что не отвечает МК :-( походу наступил на грабли. Я посчитал что так и прошивается МК на внешний кварц. Я накосячил?
Не стиралось потому что в Юнипроф почемуто задержка(F2) выставлена была в -3-, поставил на -6- как в хелпе и МК прошился
все нули (без галочек) — это внешний генератор. Подключите внешнюю тактовую. Собрать на какой-нить 155ЛА3 дело нехитрое
Я так понимаю нужно будет подать такт на XTAL1?
Для этого надо будет выпаять кварц и кондёры? Возможно ли методом «пальца» тактовать, если нет кинте ссылку пожалуйста как подключить ЛА3.
Фьюзы выставил в 0 потому по этой ссылке http://www.embeddedarticles.com/atmel-avr/5-fjuzy.html. там как раз говорится что кварц на 16МГц :-(
XTAL1 или XTAL2 — навскидку не помню — что вам мешает открыть даташит и посмотреть? Схема там есть. По ссылке — читаю оттуда же — [Согласно “даташиту”, у Atmel принято обозначать если 0, то бит запрограммирован, если не запрограммирован, то 1. Этот момент очень важен, т.к. некоторые программаторы, например, PonyProg, используют инверсное обозначение- галочка- запрограммирован.]
Так вот, я считаю даташит основой всего, и Uniprof отображает так же — 0 — запрограммировано — нет галочки.
Схем в инете полно, кварц и кондеры отключать не надо. Я в таких случаях применял «скорую помощь» вот такую http://forum.nikolaew.org/viewtopic.php?f=7&t=14
Возможно ли вместо К155ЛА3 использовать К561ЛЕ5?
Добрый день, пару недель безвылазно изучаю форум ))
Сейчас появилась необходимость внутрисхемно запрограммировать ATMega 128 16AU
Производитель данного девайса дает прошивку и рекомендует прошивать с помощью AVRprog.
Возможно ли данную прошивку залить с помощью программатора Громова и Uniprof?
Различаются ли прошивки от того каким программатором они прошиваются?
Заранее спасибо всем откликнувшимся
Можно, конечно. Только не забывайте, что у меги128 программатор подключается не на MOSI-MISO пины, а на TDI (уточните в даташите)
Можно по-подробней про подключения?
Просто в документации к устройству пишут:
Распайка разъема для внутрисхемного программирования:
1-Vcc
2-SCK
3-RST
4-MOSI
5-MISO
6-GND
Я поэтому и сделал выводы что скорее всего Громовым можно прошить данное устройство, что маркировка совпадает
Такая распайка для всех мег и тини, кроме меги128, 103 и 64 у них чуток по другому. Почитай в даташите в разделе про ISP
Вот, уже опередили. Ну не любят люди читать даташиты… А это основа всего
Для топикстартера-с мегой 128-мегой64 сам работаю регулярно. Единственное неудобство — надо перетыкать разъемы для прошивки и отладки.
Всех с Наступившим новым годом!!
Для меня он начался неудачно( ничего не работает(
Собрал программатор протоса. http://prottoss.com/projects/AVR910.usb.prog/avr910_usb_programmer.htm
хотел прошить мегу, питание как и сказано тут, напрямую 5в дал, резисторы с ног мисо, мос, клк, резет убрал. Собрал громова, подключил все, прозвонил. все норм.
поставил хрюшу, сделал заглушку для сом, протестил в винде и линуксе — сом порт рабочий.
питалово кидаю с юсб порта компа (и от юсб адаптера от 220в пробовал). снижал скорость в настройках ком порта. и тормоз нажимал в uniprof, все равно не видит контроллер и все тут. пока в отъезде, осцила и другого камня нет.
собрал программатор,
с начало не работал, но потом снизил скорость ком порта до 2400 и буфер поставил 4.
И все стало прошивать за милую душу)) и даже галочки тормоз не надо)
спасибо DI HALT)
Собрал этот программатор. запустился сразу без проблем.
только начал учится, так что не пинайте:)
как от программатора развести проводки на ножки программируемого контроллера: последовательность, необходимый разъем и т.д
Да как угодно. На фотки и схемы других программаторов смотри. Там будет и разьем и последовательность.
Здравствуйте собрал по схеме на выводных резисторах. Uniprof почемуто пишет МК не откликнулся. МК новый, схему проверял, комп пень4 windows 98, питание подаю не на программатор а на плату с МК.
Значение напряжений на Ресете:
Без программатора- 5.07.
С программаторам- 0.55.
Включаю лупу в унипрофе- 4.57.
Выключаю лупу- 0.55.
Порядок подключения:
1)Подаю питание на плату с МК.
2)Включаю программатор в комп.
3)Подключаю программатор к плате с МК.
Всем привет!
а где можно найти исходники UNIPROF
или что ещё с Громовым работает?
http://avr.nikolaew.org/ Сайт Автора
Привет! Только начинаю пробовать амтеловские МК. Собрал программатор Громова, вставил новый МК в макетку, программа UniProf определяет камень как мега8, ситываю, на экране одни тире, это нормально? Фьюзы считывает. При отключенном питание, в окне программы одни нули. Другие программы МК не нашли.
Так читается пустой МК с завода. Все ок.
Спасибо. Буду пробовать. А то на PIC-ах собрал несколько устройств, а к меге только подбираюсь. Как бы ещё бутлоадер в мегу8 залить? Пока ничего толком не нашел.
Всем привет… Возникла интересная проблема, прошиваю МК (atmega8a-16pu) с помощью ponyprog, программа успешно записывается, но при этом сам МК не работает… Пробовал зашивать пример из данной статьи. Потенциала в шахматном порядке не получается, потенциал только на Vcc = 5V и на Reset — что-то около 1,5 V. Подскажите, пожалуйста, в чем может быть беда.
Проблема самая обычная. Криво зашил фуз биты поди.
Я их не трогал, они выставлены стандартные, как в даташите.
да тут несколько раз мелькала сцылка на стыковку понипрога с громовым.
вкратце, там надо слехка поменять сигналы и инвертировать ресет, только не галкой в программе, а железно транзистором.
Ой, я и забыл написать) программатор-то не Громова… Программатор тоже пони….
А чего спрашиваете тут? Спрашивайте там :)
Дак там тоже спросил… Вопрос общий, потому и задал :)
Контроллер АТМЕГА48, хотел повысить тактовую частоту от внутреннего РС генератора. Унипроф считал такие конфигурации фузов:
CKSEL0 = n
CKSEL1 = y
CKSEL2 = n
CKSEL3 = n
SUT0 = n
SUT1 = y
CKOUT = y
CKDIV8 = n
Везде написано, что если бит сброшен, то он включен. Долго курил это утверждение и таблицу частот в мануале, по которой нужная мне частота нарисована как 0100. После этого переставил конфигурацию на такую
CKSEL0 = n
CKSEL1 = n
CKSEL2 = y
CKSEL3 = n
SUT0 = n
SUT1 = y
CKOUT = y
CKDIV8 = n
Теперь контроллер не определяется. Что я сделал не так?
Коллеги подсказали подать внешний тактовый от генератора на входы XTAL, от XTAL2 завелся, восстановил фузы обратно, поставил галочку на CKDIV8 — работает на 8МГц. Первые грабли пройдены :)
ужасно бесят эти «запрограммирован-незапрограммирован» 8-[ какого буя пролодить эти ненужные сущности, когда и банальных «1″ и «0″ вполне достаточно :-/ всегда и везде во всех программах галочка обозначала «1″ , отсутствие галочки — «0″, а тут копайся по даташитам, по описанию программы что бы случайно не напортачить из-за различной трактовки :(
Потому, что разрабатывали его не программисты, а электронщики. В однократной ПЗУ 0 это запрограммировано, т.к. делалось это прежиганием перемычки. Собственно само слово fuse оно оттуда же пошло.
Хочу поделиться своим опытом. Делал программатор Громова, чтобы зашить контроллер для программатора USBASP. Всё делалось под Linux, с avrdude 5.11. Наткнулся на несколько проблем, далее подробнее:
1. шил Громовым мегу8, прошил фьюзы и больше ничего не получалось (avrdude: initialization failed, rc=-1). оказалось, что нужен кварц для дальнейшей прошивки. решение: спаял usbasp и шил прямо в нем (громов->usbasp), там уже есть кварц.
2. пока дергал Громова туда-сюда, решая первую проблему, где-то что-то отвалилось/отпаялось (так и не выяснил, что), и контроллер не отвечал на avrdude (опять ошибка avrdude: initialization failed, rc=-1). Т.е. стало непонятно, в чем проблема, раз наличие кварца её не решает. Но всё же догадался переделать Громова (на макетке собрал), и всё заработало.
3. Пришлось немного подправить Makefile для прошивки USBASP. Банальщина, но вот что пришлось изменить («-» — удаленные строки, «+» — добавленные (новые) строки):
-MCU_TARGET = atmega8
-FLASHER = avrdude -c usbasp -p $(MCU_TARGET)
+MCU_TARGET = m8
+FLASHER = avrdude -c nikolaew -p $(MCU_TARGET) -P /dev/ttyS0
4. При прошивке flash-памяти через avrdude, процесс зависал на 1%. Гугление показало, что вначале необходимо сконфигурировать COM-порт следующим образом (взято отсюда):
$ stty 9600 ignbrk -brkint -icrnl -imaxbel -opost -isig -icanon -iexten -echo noflsh </dev/ttyS0
Ну, в общем и всё. Была пара моментов на грани отчаяния, но гугл, сообщество и смекалка как всегда выручили :) В общем, для тех у кого что-то не выходит — всё 100% работает (и Громов, и USBASP), локализуйте проблемное место и устраните. Всем успехов!
1) Потому, что надо сначала накатывать кекс, а потом уже фузы. Тогда после зашивки фузов не будет облома. Ну или шить прямо в усбаспе.
Ага. Понял я, да поздно понял! :-D У них там в мейк-файле такая бодяга:
usbasp: fuses
$(FLASHER) -B 1 -U flash:w:usbasp.atmega8.2011-05-28.hex
Т.е. они изначально не дают прошить кекс без фьюзов. Потому и попался :) Поэтому если кому надо — убирайте «fuses» из зависимостей правила «usbasp» и шейте по-отдельности, «make usbasp», а потом «make fuses».