Electronics Engineering BLOG

Блог об электронике

Программатор AVR за 3$ (USBasp).

| комментарий 41


Привет друзья.

Покупал тут — AVR за 3$ (USBasp)

В этом видеоролике я расскажу про программатор AVR, который я купил на ebay. Стоит этот программатор avr usb 3$. Это программатор avr микроконтроллеров. Я покажу как им пользоваться, как его первый раз включить, установить драйвера, какой для него есть софт, для него немного другой софт, то есть не такой софт как я показывал в видео о AVR910 программаторе, кстати, видео о AVR910 программаторе, точнее ссылка на это видео будет у меня в конце ролика, можете дождаться конца ролика, кликнуть по ней и вы перейдёте на видео об этом AVR910 программаторе.
Programmator-AVR-za-3$_Программатор-avr-usb-3$
Программатор usbasp avr я купил именно потому, что видео с AVR910 программатором, очень популярно, и мне задают очень много вопросов, задают как в комментариях, так и в личке. В комментариях задают мало вопросов, в личке задают очень много вопросов. Я пользуясь случаем, хотел попросить вас, если у вас есть вопросы, конкретно к теме которую я затронул в каком-то видеоролике, пишите мне пожалуйста в комментариях к данному видеоролику. Я на все комментарии получаю уведомления, и я вам обязательно отвечу. Я прошу, так как мне в личку, как правило, задают одни и те же вопросы. Я на них отвечаю, но эти вопросы и ответы видят только те, кто их задавал. Если вы спрашивали бы меня в комментариях, и я ответил, то скорее всего человек прочёл бы комментарий, и у него если и возник вопрос, как и у кого то кто уже спросил меня в комментариях, он получил мой ответ. На комментарии я обязательно отвечу.
Я зашёл на ebay и выбрал самый дешёвый программатор AVR. Это программатор за 3 $. Если посчитать, то себестоимость AVR910 программатора, если у нас в Молдавии покупать — микросхема AtMega8 стоит 2 $, гнездо USB mini стоит 0,4 $, кварц тоже стоит центов 0.35-0.40 $. В общем, тут наберётся как раз на 3 $. Может немного меньше, может немного больше, но это только детали.
Programmator-AVR-za-3$_Программатор-AVR910-своими-руками
Вам ещё нужно сделать плату, запаять всё. Я когда делал программатор AVR910, я его делал чисто из спортивного интереса. Мне было интересно, это были первые пробы SMD компонентов, у меня было очень много свободного времени, так как я был студентом, и я занимался им в своё удовольствие, более того для того, чтобы сделать этот программатор (AVR910), с микроконтроллером, нужно обязательно иметь другой программатор, которым вы запрограммируете микроконтроллер в программаторе AVR910.
Ну и давайте поговорим об программаторе usbasp avr. Первое что я вам скажу — купите себе их два. Не покупайте один, купите два. Объясню почему, сделан он мягко говоря по-китайски. Если посмотрите, вы увидите, что многие детали криво стоят, пайка, сказать что ужасная — ничего не сказать. Отверстия не заполнены припоем, то есть он работает, но качество его… Видно, что повторяемость очень плохая, есть большая вероятность, что какой-то из них может не работать.
Programmator-AVR-za-3$_Программатор-avr-usb-3$-плохая-сборка
Я их все поверил, я их вставил в USB и они определяются как программатор, то есть входная часть точно работает. Я одним программатором пробовал программировать, он программирует, остальные, я не проверял, но я думаю, что они будут работать.
Данный программатор имеет, что очень важно, самовосстанавливающийся предохранитель, то есть если вы замкнёте цепи питания на своём супермега девайсе, то вы, с очень большой долей вероятности не сожжете себе USB порт, что может быть с AVR910 программатором.
Programmator-AVR-za-3$_самовосстанавливающийся--предохранитель-в-программаторе-usbasp-avr
Да, я и забыл сказать, я купил программатор не AVR910, он тоже для AVR, но это программатор USBasp. Программатор в свободном доступе, это товарищ из Германии его разработал, есть схемы, есть документация на него. У меня под данным видео будет ссылка на мою статью, в которой будут даны все ссылки на софт, на автора проекта. Но китайцы сюда добавил стабилизатор, то есть они немного модернизировали USBasp. Здесь стандартный ISP10 разъём. С программатором идёт такой шнурок, я уже его разрезал и подключил к микроконтроллеру. Я Толику обещал снять видео, и я подпаял к микроконтроллеру провода. Данный программатор USBasp имеет возможность выбора питания, то есть на программируемую схему я могу выбрать что именно я хочу, то есть я могу вообще не питать от программатора схему, вообще не поставив джампер, либо я могу выбрать питание от 5 В сразу от USB,
Programmator-AVR-za-3$_usbasp-avr-питание-схемы-от-5-В
либо вот так поставив джампер и на программируемую схему пойдёт 3.3 В от USB через данный стабилизатор.
Programmator-AVR-za-3$_usbasp-avr-питание-схемы-от-3.3 В
Схема соединения разъёма ISP10 (кликни для увеличения):
Programmator-AVR-za-3$_Распиновка-программатора-usbasp-avr
О программаторе для AVR больше нечего сказать, остаётся его только вставить в USB порт. Сейчас мы посмотрим, как он определился, поставим не него драйвера, и я покажу программы, с помощью которых можно им программировать. В AVR910 я показывал программу AVRosp, которой можно программировать, используя AVR 910 программатор. AVRosp нельзя пользоваться для использования программатора USBasp. На моём сайте вы скачаете архив, в котором найдёте несколько папок, папка драйвер, и папка софт. В папке драйвер находятся драйвера для этого программатора (UABasp). Я их люблю ставить по ближе к диску С, потому что потом их проще указать. Я их временно копирую на диск С. Теперь я в диспетчере устройств правой кнопкой выбираю «обновить драйверы», он конечно же не может найти, выполняем поиск, показываем откуда искать. Мы хотим с диска С искать. Жмём далее. У меня сейчас стоит Windows 7 x64. Образ оригинального диска, без никаких паков, это чистый windows. В ней ничего не отключено, всё по умолчанию. Я это всё говорю к тому, что AVR910 не хотел работать, точнее драйвера не имели цифровой подписи и windows их блокировал. AVR910 у меня в 64 битной windows 7 не работал. Я когда снимал видео, снимал в 32 битной WIndows, у меня стоят две системы. Всё, USBasp видится как устройство для windows 32.
Programmator-AVR-za-3$_На-программатор-usbasp-avr-установлены-драйвера
Дальше уже нужны программы чтобы работать с программатором usbasp avr. Открываем папку софт.
Programmator-AVR-za-3$_Содержимое-папки-«софт»
Мне очень понравился avrdudeprog, это графический интерфейс под консольную программку AVR dude. Эта программа поддерживает как AVR910 программатор, так и USBasp. Кстати, данный avrdudeprog программирует при использовании 910 программатора в несколько раз быстрее по скорости, чем стандартный ARVRosp который я показывал в видео. Так что я вам рекомендую перейти на avrdudeprog, даже если у вас есть AVR910 программатор.
Programmator-AVR-za-3$_Программа-avrdudeprog-для-программатора-usbasp-avr
Подключаем наше устройство. Устройство запустилось, выбираем AtMega 16, и выбираем стереть всё. Микроконтроллер чист, и как видим он действительно чист, так как на дисплей у меня ничего не выводится.
Дальше выбираем, что мы хотим запрограммировать, ну и жмём программирование. Обратите внимание, как быстро будет идти программирование. Выводится информация, что биты сброшены, флешь очищена перед прошивкой. Было запрограммировано флешь, а потом флешь была прочитана и сверена с тем, что программировалось, то есть проверено, что ошибок нет. То есть была проведена верификация. Ну и как видим, у меня устройство запустилось.
Чем мне avrdudeprog не нравится, так это fuse. Дело в том, что с fuse всё очень и очень сильно напартачено в AVR, дело в том, что по datasheet запрограммированный fuse считается 0. То есть по умолчанию должны быть прямые fuse, то что запрограммировано — 0. Многие программисты считают, что если запрограммировано — должно быть 1. И программистов таких много, программ для программирования очень много, и кто-то придерживается того как в datasheet написано, а кто-то придерживается того, как он считает лучше. Галочка это запрограммировано, или галочка это не запрограммировано? В настройках можно выбрать прямые либо инверсные, и галочки меняются. В этих fuse начинающий 200% запутается. Даже 300%, то есть он залочит себе несколько раз микроконтроллер. Поэтому, я так же приложил несколько других программ для программирования. Обратите внимание, что avrdudeprog сразу работает, её не нужно устанавливать, просто запускаете exe файл, можно даже себе на рабочий стол отправить этот exe, то есть создать ярлык, и оттуда его открывать.
Есть ещё две очень интересные программы. Мне нравится, именно из-за fuse битов. Вообще мне очень нравится avrdudeprog, но для начинающих я бы рекомендовал всё таки eXtreme Burner, устанавливается она также как и обычные программы, ничего в этом сложного нет, просто жмём далее, далее, иногда читайте что написано, установили и пользуемся. Программа eXtreme Burner предлагает пойти на перезагрузку, но я не хочу этого делать, будет и без рестарта работать. Выбираем наш микроконтроллер. Мне не нравится, что ни в одной из них нет как в AVRosp кнопки AutoDetect, нажав на которую, программа считывает с микроконтроллера сигнатуры и сразу определяет что именно за микроконтроллер подключен. Удобно работать с fuse. В eXtreme Burner интерфейс имеет несколько вкладок, flach, eeprom, ну и fuse, вы разберётесь.
Programmator-AVR-za-3$_Программа-eXtreme-Burner-для-программатора-usbasp-avr
Нажимаем сначала прочесть все, программа считала fuse с микроконтроллера. И можно, нажав на кнопку «детали», поменять fuse. В программе eXtreme Burner нет непонятных галочек, а сразу написано, не запрограммировано, запрограммировано. И сделано точно так, как в спецификации AVR, то есть запрограммированно — 0. Единственное чем мне нравится eXtreme Burner, так это тем, что можно сбросить fuse по умолчанию. В данной программе всё тоже не совсем удобно.
Ещё более удобно с fuse в программе Khazama AVR Programmer. Вот такая наипростейшая программа, выбираем AtMega 16. В этой программе постоянно вылезает очень интересная ошибка.
Programmator-AVR-za-3$_Программа-Khazama-AVR-Programmer-для-программатора-usbasp-avr
Она не имеет ничего страшного, и сейчас я объясню почему она происходит. Дело в том, что AVR910 программатор как вы помните, имеет штыри, куда мы ставим джампер, и программатор понижает частоту. Дело в том, что по умолчанию идёт 1.5 МГц, а когда вы ставите джампер, частота падает в 4 раза. Так как программатор USBasp сделан таким образом, чтобы он был совместим с Arduino, то он сам переключает частоты, с быстрой на медленную, и Khazama AVR Programmer, уже может прошить любые контроллеры. AVR910 я AtMega которая тактируется на частоте 1 МГц, уже не могу запрограммировать без джампера, то есть мне приходится понижать частоту, для того, чтобы запрограммировать микроконтроллер. USBasp сам переключает частоты, и мне никакой джампер никуда ставить не нужно. Но по спецификации, AVR программатор, то есть программа, отправляет на программатор скорость, с которой должен тактироваться тактовый сигнал, то есть частоту. И в данной программе, можно выбрать частоту, но как я уже сказал, этот программатор сделан совместимым с arduino, то он уже не поддерживает b команды. И поэтому постоянно выходит данная ошибка. Она сильно напрягает, но она стоит того. Нужно много раз нажимать ОК, ОК, ОК. Но обратите внимание, что вы можете выбрать что вы хотите. Начинающему это очень удобно. К примеру, частота. Вот смотрите, нужно поменять частоту процессора — да ради бога, на что хочешь меняй. В avrdudeprog нужно сидеть и выбирать галочки, то есть по хорошему нужно будет сначала посмотреть datasheet, и потом, переключать частотные fuse, так как вам нужно. Естественно, легко ошибиться и можно накосячить. Здесь же всё есть. Но нужно постоянно нажимать ОК. fuse считываются в несколько приёмов, и поэтому нужно много раз нажимать. Если я буду считывать флешь — то мне только один раз нужно нажать ОК. Начинающим я рекомендую эту программу, из-за того, что вы не напортачите со fuse, то есть что-то испортить с fuse будет очень и очень сложно. Ссылку на программы я выложу в своей статье, ссылка будет под данным видео.
Я считаю, что покупка программатора usbasp avr — выгодная покупка, потому что стоит он копейки, примерно столько же, сколько и собрать его с нуля, то есть по стоимости компонентов. Работает программатор хорошо, единственное что хромает — культура производства, как я уже сказал — тут всё криво, микросхема даже запаяна со смещением, я рекомендую купить таких программаторов два. Реально ребята, стоят они копейки уже с доставкой, купите два, один будет как резервный. Вполне возможно, что один из них окажется нерабочим, я допускаю это. Лучше уже потратить 3 $ сверху, но сэкономите месяц времени, если вы вдруг будете покупать второй. Покупка, на мой взгляд, очень и очень выгодна, и я вам рекомендую это сделать.
Ну вот и всё, я надеюсь что это видео было вам полезным, ставьте лайки если вам оно понравилось, подписывайтесь на канал, если вы ещё не подписаны, и желаю вам всех благ, всего вам доброго. Пока, удачи.

Ниже распиновка гнезда ISP 10 в программаторе USBasp.
Programmator-AVR-za-3$_цоколевка-гнезда-ISP-10-для-USBasp

Материалы:
Архив с драйвером и софтом для USBasp

Ссылки:
Автор проекта USBasp
AVRDUDE PROG для работы с USBasp
eXtreme Burner — AVR для работы с USBasp
Khazama AVR Programmer для работы с USBasp

41 комментария

  1. отличное устройство за такие небольшие деньги.

    • Да, согласен. Программатор супер, более того, стоит дешевле чем стоимость компонентов, из которых он собран, в Молдове.

  2. Купил программатор за 3$ прислали другой MX-USBISP-V3.01 пробовал по вашей рекомендации ничего. Нужна помощь.

    • Здравствуйте. Никогда не пользовался данным программатором, поэтому мне не чем помочь. Я бегло посмотрел в гугле — там очень много информации.

  3. Программатор действительно хороший, как только он мне пришел я его прошил альтернативной прошивкой AVR-Doper прошивать можно в любой программе поддерживающей STK500

  4. Привет Аурел! Вот фото. Да, питание с программатора.

    • Привет. Посмотрел, ошибок при подключении не заметил. Но так как у вас при подключении программатора на нём гаснет индикатор — значит срабатывает защита. Скорее всего у вас короткое замыкание по питанию. Если у вас есть тестер, прозвоните ножки питания микроконтроллера и места на плате.

      • Спасибо большое за ответ! Хорошо, попробую прозвонить. Но почему то думаю что там скорее всего все в порядке. Если так, еще попробую с внешним ИП.

        • Что значит всё в порядке? Отключите полностью программатор от микроконтроллера. Включите программатор в USB порт. Загорится на программаторе индикатор. Значит всё нормально. Теперь замкните + и GND. Индикатор на программаторе потухнет. То есть короткое замыкание это нормально и ничего страшного в этом нет… Логика у вас…

  5. Pingback: Работаем с arduino через usbasp | Electronics Engineering BLOG

  6. Пришел программатор, все сделал как надо, поставил драйвера, определяется нормально, но не хочет читать контроллеры… не получает ответа как я понял.., контроллеры новые, 3 шт. пробовал.. что с ним может быть не так и как проверить на работоспособность?
    avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
    avrdude.exe: error: programm enable: target doesn’t answer. 1
    avrdude.exe: initialization failed, rc=-1
    Double check connections and try again, or use -F to override
    this check.

  7. Светодиод питания горит и после нажатия кнопки «стереть всё» На долю секунды загорается второй красный светодиод и гаснет потом выдает ошибку вот, программатор абсолютно такой же.

  8. Все, разобрался, контакт был плохой

  9. добрый день Аурел я также купил программатор usbasp подключил контролер для прошивки но прошить не получается .частоту уменьшил джемпером можно ли связаться на прямую

    • Првиет. Если с Кишинёва — можете прийти ко мне на работу я помогу. Если нет — я не смогу мопочь

      • благодарю за ответ,я из Кишинёва напишите на почту номер телефона заранее спасибо

  10. мой адрес ree1234@mail.ru я прочитал коментарии выше и заметил что у Дмитрия были схожие проблемы: avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
    avrdude.exe: error: programm enable: target doesn’t answer. 1
    avrdude.exe: initialization failed, rc=-1
    Double check connections and try again, or use -F to override
    this check. но я контакты проверял

  11. здравствуйте!!!
    а почему вам не сделать видео уроки по програмированию ( пусть даже платние

    • Привет. Идея интересная. Вам встречный вопрос: — какую сумму вы готовы заплатить и знания какого уровня вы хотите получить?

  12. Аурел я звоню по номеру который вы оставили на почте но увы никто не отвечает

  13. Здравствуйте, имхо, лучше бы таких статей не было. Почему? Все просто, новичек реально устанет экспериментировать с различными, непонятными и очень глючными программаторами (особенно дешевыми китайскими)и софтом, пока не поймет простую истину, что гораздо проще купить нормальный программатор (например usb avr jtag ice xp2) и пользоваться официальным софтом — avr studio. Иначе каша в голове от различных любителей обеспечена.

    • Да, я с вами полностью согласен! Та же ситуация и с паяльником, зачем мучиться с обычным, сразу нужно брать индукционку Меткалл, за 1Кбакс. То же и с приборами, сразу взять нормальный цифровой осцилл Тектроникс, с полосой мегагерц 500, несколько хороших мультиметров по 200-300 за штуку. Профессиональный блок питания. И для вхождения в электронику понадобится несколько десятков тысяч баксов…. Зачем всех отпугивать? Как правило с данными программаторами всё нормально, чаще всего проблемы из-за того, что начинающий радиолюбитель провода перепутал, или что-то замкнул…

  14. Хотел узнать какие выводы программатора
    что делают?

  15. Привет.Я недавно купил програматор USBasp.Но я немогу найти на него драйвера.Ваши не подходят.Может что-то посоветуете.

  16. Доброго времени суток! нуждаюсь в помощи, люди добрые не откажите) купил программатор Usbasp, купил модуль sem0010m-168pa. Сразу столкнулся с проблемой того, что разное количество контактов( на программаторе 10, на модуле 6). подключил только те что указаны на модуле. перепроверил 10 раз. в итоге прога не видит микроконтроллер. наверное нельзя просто взять и подключить 6 из 10 контактов?) з.ы. разбираюсь в этом слабо, но очень нужно сделать прибор в котором должен быть atmega168. заранее спасибо за дельные советы!

  17. Добрый день. Я профан в радиоэлектронике. Не хотите ли вы взяться за изготовление одного устройства. Схема во вложении. Интересуют сроки и цена. Если можно ответьте мне на почту.

  18. hi

    how to read locked atmega8L

    thanks

  19. Aurel Здравствуй!
    Пытаюсь освоить микроконтроллеры. Возник вопрос : есть фьюзы для PonyProg, а для AVRdude они должны быть инверсными или так же установить.

    • Привет. Прочтите все фьюзы вашей программой и обратите внимание на фьюз SPIEN он всегда активен. Если вам нужно какие-то фьюзы вклчить — то они должны стать как и Spien (или с галкой или без.)

  20. как я понял Spien неактивный значит фьюзы все инверсные

  21. добрых суток! у вас на странице есть ссылка на «архим с драйвером и софтом для usbasp он не открываеться. другие пдф форматы ридер открывает. про ваш пишет что возможно повреждён. что делать? с

  22. Добрый день. Бьюсь уже второй день. После установки KhazamaAVRProgrammer оболочка проги запускается,но поля с выбором контроллера просто пустые,настройки тоже не запускаются. Стоит Windows 10 64. Спасибо.

    • Привет. Запусти винду в режиме «без проверки цифровой подписи драйверов» и всё заработает.

  23. Забыл сказать,что дрова ставятся без проблем.В диспетчере всё чисто,без всяких треугольников и т.п.

  24. Спасибо за настолько огромное обьяснение всего материала)

  25. Спасибо за хорошие советы и видео, только начинаю работать с микроконтроллерами.

  26. Купил два программатора в алюминиевом корпусе. Внутри маркировка MX-USBISP-V3.02 чип atmega88 20mu.
    Данную плату видит только progisp1.72
    Заливаю прошивку usbasp.atmega88.2011-05-28.hex
    Выставляю фьюзы: HFUSE=0xc9 LFUSE=0xef
    Ноль реакции, в описании сказано:
    # TARGET=atmega88 HFUSE=0xdd LFUSE=0xff
    Выставил dd ff та же песня. Ноль реакции на подключение к компу.
    Есть мысли как его оживить?

  27. Про инверсий проще так смотреть, если spien с галочкой то без инвресий ставить если же галки нет на нем то инверсно,конечно это не касается убитых мк.
    сам я начинающий в этом деле,коенчно есть вопросы…
    вот понять не могу,может подскажете?,во многих роликах фьюзы hex файла,сразу ставят перед прошивкой другие после записи мк ставят фьюзы,как правильно то вообще ставить?
    у меня есть прогер громова,он определяется в тестовом режиме но не фурычит потом,в общем плюнул после 4 дней возни с ним и начал искать альтернативу,и вот наткнулся на ваш ролик и твердо решил купить китайца,проблема как говорится «курицы и яйца»))).
    и еще просьба к вам!
    куплен давно прогер китайский d-sun этот

    http://s010.radikal.ru/i313/1704/af/7af2bb861b0f.jpg

    http://s020.radikal.ru/i707/1704/2a/6f58b1ddaab1.jpg
    (извините за радикал)
    и где то я прочел что им прошивают stm мк,и можете сделать видео как это делается,просто вы так доходчиво обьясняете…

    • Привет.
      По поводу фьюз в большенстве случаев всё равно, но иногда могут быть нюансы:
      1- В устройстве МК работает на частот 100 кГц (например). Если МК сначала перевести на 100 кГц, то он будет шиться медленнее чем он будет шиться при работе на стандартной тактовой частоте 1 МГц.
      2- В устройстве МК работает от кварца на 16 МГц. В панельке программатора кварца нет. Можно сначала зашить МК, и он будет шиться, так как новый тактируется от внутреннего РС генератора на 1 МГц, а потом поменять фьюзы переключив его на 16 МГц, при этом программатор больше не увидит МК если он без кварца, а в устройстве всё будет работать. Так что практичнее сначала шить, а потом крутить фьюзы.
      По поводу программатора, на фото у Вас обычный USB — UART. Им можно прошить любой МК если в него предварительно залили загрузчик. Если же МК абсолютно чистый — думаю ничего не получится.

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

Обязательные поля отмечены *.