Site Loader

Содержание

Простейший программатор для ATmega8 | Полезное своими руками

В современных электронных схемах все чаще и чаще применяются микроконтроллеры. Да что там говорить, если сегодня не найти даже обыкновенную елочную гирлянду без микроконтроллера внутри — он задает различные программы иллюминации.

Я впервые столкнулся с микроконтроллерами, когда собирал свой первый импульсный металлоискатель Клон. Вот тогда-то и выяснилось, что контроллер без прошивки — это просто кусок пластмассы с ножками.

А чтобы залить нужную прошивку в АТМЕГу, никак не обойтись без программатора. Далее мы рассмотрим две самые простые и проверенные временем схемы программаторов.

Схема первая

С помощью этого программатора можно прошивать практически любой AVR-контроллер от ATMEL, надо только свериться с распиновкой микросхемы.

СОМ-разъем на схеме — это «мама».

На всякий случай привожу разводку печатной платы для атмеги8 (скачать), хотя такую примитивную схему проще нарисовать от руки.

Плату перед печатью нужно отзеркалить.

Файл печатной платы открывать с помощью популярной программы Sprint Layout (если она у вас еще не установлена, то качайте 5-ую версию или лучше сразу 6-ую).

Как понятно из схемы, для сборки программатора потребуется ничтожно малое количество деталек:

Вместо КТ315 я воткнул SMD-транзистор BFR93A, которые у меня остались после сборки микромощных радиомикрофонов.

А вот весь программатор в сборе:

Питание (+5В) я решил брать с USB-порта.

Если у вас новый микроконтроллер (и до этого никто не пытался его прошивать), то кварц с сопутствующими конденсаторами можно не ставить. Работа без кварцевого резонатора возможна благодаря тому, что камень с завода идет с битом на встроенный генератор и схема, соответственно, тактуется от него.

Если же ваша микросхема б/у-шная, то без внешнего кварца она может и не запуститься. Тогда лучше ставьте кварц на 4 МГц, а конденсаторы лучше на 33 пФ.

Как видите, я кварц с конденсаторами не ставил, но на всякий случай предусмотрел под них места на плате.

Заливать прошивку лучше всего с помощью программы PonyProg (скачать).

Прошивка с помощью PonyProg

Заходим в меню Setup -> Calibration -> Yes. Должно появиться окошко «Calibration OK».

Далее Setup -> Interface Setup. Выбираем «SI Prog API» и нужный порт, внизу нажимаем «Probe», должно появиться окно «Test OK». Далее выбираем микроконтроллер «Device -> AVR micro ATmega8».

Теперь втыкаем микроконтроллер в панельку программатора, и подаем питание 5 вольт (можно, например, от отдельного источника питания или порта ЮСБ). Затем жмем Command -> Read All.

После чтения появляется окно «Read successful». Если все ок, то выбираем файл с нужной прошивкой для заливки: File -> Open Device File. Жмем «Открыть».

Теперь жмем Command -> Security and Configuration Bits и выставляем фьюзы, какие нужно.

Тщательно все проверяем и жмем «OK». Далее нажимаем Command -> Write All -> Yes. Идет прошивка и проверка. По окончании проверки появляется окно «Write Successful».

Вот и все, МК прошит и готов к использованию!

Имейте в виду, что при прошивке с помощью других программ (не PonyProg) биты могут быть инверсными! Тогда их надо выставлять с точностью до наоборот. Определить это можно, считав фьюзы и посмотрев на галку «SPIEN».

Схема вторая

Еще одна версия программатора, с помощью которого можно залить прошивку в микроконтроллер АТМЕГа (так называемый программатор Геннадия Громова). Схема состоит всего из 10 детатей:Диоды можно взять любые импульсные (например, наши КД510, КД522). Разъем — «мама». Питание на МК (+5В) нужно подавать отдельно, например, от того же компьютера с выхода USB.

Все это можно собрать навесным монтажом прямо на разъеме, но если вы крутой паяльник и знаете, что такое smd-монтаж, то можете сделать красиво:

Программировать только программой Uniprof. Тут хорошее описание программы: http://www.getchip.net/posts/025-uniprof-universalnyjj-programmator-dlya-avr/

Алгоритм прошивки с помощью программатора Громова

Программатор с установленной микросхемой подключаем к СОМ-порту компьютера, затем запускаем Uniprof, затем подаем питание на микроконтроллер. И первым делом проверяем, читаются ли фьюз-биты.

Если все ок, выбираем файл с нужной прошивкой и жмем запись.

Будьте предельно внимательны и осторожны, потому что если глюканет при записи фьюзов, то МК либо на выброс, либо паять схему доктора (а она сложная). Если поменяете бит SPIEN на противоположный — результат будет тот же (к доктору).

Краткий учебный курс — Самоучитель — Программирование микроконтроллеров AVR — быстрый старт с нуля

 

— страница  7 —

Всё о прошивке AVR
микроконтроллеров AVR

Чем и как «прошить» МК AVR, ATmega, ATtiny.

Как загрузить программу в микроконтроллер.

Как запрограммировать микроконтроллер AVR.

Я советую прошивать микроконтроллер AVR из удобного интерфейса программирования встроенного в компилятор CVAVR  CodeVisionAVR

Можно через простейший адаптер — буквально «пять проводков» (схема ниже) соединяющих принтерный порт ПК с прошиваемым микроконтроллером AVR.

Но более удобны программаторы подключаемые в USB или COM порты ПК — особенно в USB.

 

Книги по электронике и микроконтроллерам  скачать в библиотеке

Страницы курса :   заглавная    1   2   3   4   5   6   7   8   9

Задачи-упражнения курса по AVR  —   там
 

Скачать весь курс по AVR одним архивом на заглавной странице курса.

Электрический ток. Закон Ома

Последовательное и параллельное соединение проводников
Правила Кирхгофа для разветвленных цепей
Работа и мощность тока
Электронно-дырочный переход. Транзистор

 


ПРОГРАММИРОВАНИЕ  AVR

Результат написания и компиляции программы — файл-прошивку с расширением .hex (и возможно файл  .epp  или  .bin  с содержимым для EEPROM МК) нужно записать («зашить», «загрузить», «прожечь») в МК AVR.

МК AVR можно (пере-) программировать не менее 10000 раз, при чем это можно делать прямо в устройстве в котором они будут работать — такое программирование называют «в системе» — «ин систем программин» или ISP.



Компания ATMEL рекомендует установить на плате устройства специальный разъем для подключения программатора. 

Например 6 штырьков для ISP прошивания AVR

Вид сверху платы на штырьки. 

 


или 10 штырьков  в аналогичном порядке ( NC — значит не подключен )

Все контакты ISP разъема подсоединяются к  ножкам  МК в соответствии с названиями сигналов !  Исключения указаны ниже.


Вывод 2 нужно подключить к » + » питания МК если вы собираетесь использовать программатор питающийся от вашего же устройства — например фирменный ISP AVR либо если вы хотите питать ваше устройство от USB при использовании программатора указанного выше.  Для адаптера «5 проводков» этот вывод не подключается.


Для ISP программирования достаточно 5 контактов. Соответственно и разъем который вы будете использовать может быть любым удобным для размещения на плате и имеющий минимум 5 контактов — например в один ряд.

Я использую и считаю это очень удобным 6 штырьков расположенные в 1 ряд, в том порядке как расположены ножки программирования у ATmega16 ( рисунок есть на страничке 6 ) — при этом разводка линий программирования получается простейшей.  Такой разъем легко применять и для 28 выводных AVR  ATmega8  ATmega48 ATmega88  ATmega168 ATmega328 только сделать отдельный проводник для подключения к контакту RESET.

 

     
 

ВНИМАНИЕ !

1) в ATmega64 и ATmega128  выводы MOSI и MISO не применяют для ISP программирования.  Используются другие выводы МК  !

Внимательно смотрите ДатаШит вашего МК !    
 

в ATmega128 ATmega64  сигналы ISP программатора

MISO подключают к ножке PE1

MOSI подключают к ножке PE0


Для ATmega640 -1280 -1281 -2560 -2561 смотрите в даташит 
Table 163. Pin Mapping Serial Programming.

2) Вывод PEN

нужно подключить к питанию VCC резистором 1-10  кОм

3) в ATmega128 и ATmega64 есть FUSE бит совместимости со старым МК ATmega103 и с завода он запрограммирован в «0» на совместимость.
См  Table 117. Extended Fuse Byte. 
При прошивании ATmega128 и ATmega64 вам нужно сделать этот fuse «1» —  «не запрограммирован».    Убрать галочку в CVAVR.
 

Подробней о фьюзах ниже и на стр. 2 курса

 
     

Трудно сразу написать правильно работающую программу, даже после прогона и отладки в софт эмуляторе — симуляторе VMLAB или PROTEUS ваше реальное устройство с реальным AVR может делать не то, что вы от него ожидаете.

Значит в программу нужно будет вносить изменения, перекомпилировать и снова зашивать в МК AVR, и так раз 20-40 и более поэтому разумно использовать отличный программатор AVR в уже имеющемся у вас CVAVR в котором вы правите программу.  


 

В меню CVAVR  «Сеттинс  -> Программер» вам надо выбрать ваш адаптер (подробней про адаптеры ниже!) для программирования.

 

Вариант 1.   Только если вы понимаете что такое фьюзы и знаете как правильно их установить !!!   Вы можете в компиляторе CodeVisionAVR открыть меню «Проджект -> Конфига -> Афта Мэйк»  и отметить чек бокс  «Program the chip». Появится окно программирования-прошивания AVR 

 

В этом окне надо установить параметры программирования — фьюз биты и лок биты — об этом подробней написано ниже. После установки параметров программирования нажмите ОК.

 

Теперь после компиляции программы без ошибок в окне с результатами компиляции вам будет доступна кнопка «Program» — нажмите на нее и, если все подключено правильно, произойдет программирование МК — т.е. файл .hex будет загружен в память программ МК и (если используется в программе) файл EEPROM будет в нее загружен. Затем МК будет «сброшен» (на ножку RESET будет подан лог. 0 а затем опять «1») и AVR начнет выполнять уже новую, только что прошитую (загруженную в него) программу.

Вам даже не нужно будет отсоединять адаптер программирования от вашего устройства  если вы не используете в вашем устройстве последовательный интерфейс SPI. 

… и так до окончательной отладки устройства.

 

Вариант 2.   Если вы не устанавливали чек бокс  «Program the chip» или

Если вы хотите без компиляции прошить с помощью CVAVR готовые файлы прошивки .hex и возможно содержимое EEPROM в микроконтроллер AVR

1) запустите программатор CVAVR кнопочкой «МИКРОСХЕМА» правее «красного  
    жучка» в верхней панели инструментов.  Появится окно программирования AVR

  

2) Откройте меню «File» затем «Load FLASH» — выберете файл прошивки .hex который нужно прошить в AVR (CVAVR поддерживает и другие форматы, а не только .hex) и щелкните «Открыть».  

3) Если у вас есть информация для загрузки в EEPROM AVR то откройте меню «File» затем «Load EEPROM» — выберете файл .epp  (CVAVR поддерживает и другие форматы) и щелкните «Открыть».

Если вы не используете EEPROM или не меняете ее содержимое — поставьте галочку у «Preserve EEPROM» — это ускорит прошивание.

4) Установите параметры программирования — фьюз биты и лок биты.

Лок биты устанавливают уровень защиты вашей программы от чтения из памяти AVR — это актуально для коммерческих изделий. Для защиты прошивки отключите отладочные интерфейсы JTAG или «уан вая» и  установите «Programming and Verification disabled».

 

ГЛАВНОЕ это правильная установка фьюз битов — fuse AVR …

5) Запрограммируйте AVR не кнопкой «Program All», а через меню «Program» —  Стереть, потом FLASH, потом EEPROM и если надо и если вы уверены в их установке то и фьюзы. 

После прошивания, если вы сделали все правильно, AVR начнет выполнять уже новую программу.

 

     
 

В А Ж Н О !  

В диалоге настройки прошивания отключите программирование фьюзов МК  уберите галочку у Program Fuse Bit(s) — если не разобрались четко, что они делают и как правильно их установить ! 

Иначе вы можете отключить режим ISP или внутренний RC-генератор и для следующего программирования вам понадобится ставить кварц с конденсаторами или даже искать:

Параллельный программатор для AVR


Но популярному ATtiny2313 даже параллельный программатор
не всегда поможет !    В Errata на ATtiny2313 было написано:

Parallel Programming does not work
Parallel Programming is not functioning correctly. Because of this, reprogramming
of the device is impossible if one of the following modes are selected:
– In-System Programming disabled (SPIEN unprogrammed)
– Reset Disabled (RSTDISBL programmed)
 

 
     

 

в ATmegaXXX с завода включен внутренний RC генератор
на  частоте 1 МГц  
( уточните это по ДШ  и его возможные частоты )

Если вам нужна другая частота или нужно включить внешний кварцевый или керамический резонатор — вам нужно при программировании МК установить фьюзы (Fuses) по таблицам из ДШ ( Даташит AVR на русском языке ) или по таблице фьюзов на стр. 2 или по таблице установки фьюзов ниже :

ЗАПОМНИТЕ :

НЕ запрограммированный  фьюз        1

ЗАпрограммированный   фьюз             0
 

Пример: Чтобы включить в ATmega16 внешний кварцевый резонатор (говорят просто — «кварц») с частотой от 3 до 8 МГц с конденсаторами ( по схеме рис. 12 ДШ ) найдите в ДШ раздел «System Clock» — «системный тактовый сигнал».

В таблице 2 указаны комбинации фьюзов для разных источников тактового сигнала.
Далее написано что с завода МК поставляется с такой комбинацией фьюзов

CKSEL   0001     SUT  10       CKOPT   1


По таблице 4  находим :   в ATmega16 для кварца с частотой от 3 до 8 МГц  нужны конденсаторы от 12 до 22 пФ и  вот  такая  комбинация  фьюзов :

CKSEL   1111     SUT  11       CKOPT   1

Вот скриншот с такой установкой фьюзов в программаторе компилятора  CVAVR


Сняв галочку Program Fuse Bit(s) вы cможете не менять установку фьюзов при прошивании AVR !

НЕ НАЖИМАЙТЕ кнопку «Program All»  —  она прошивает и фьюзы не смотря на отсутствие галочки.

 

Обязательно !!! Прочитайте текущую комбинацию фьюзов в микроконтроллере — «Read» -> «Fuse bit(s)» и скопируйте ее в окно фьюзов.  теперь при случайном нажатии кнопки «Програм ол» в МК прошъется та же комбинация фьюзов которая есть сейчас.

 


Фьюз биты — фьюзы AVR — у которых нет галочки после прошивки AVR будут
равны «1» — т.е. будут  не запрограммированными.

 

Реклама недорогих радиодеталей почтой:


Для прошивания МК используйте меню  «Program»

Вначале  «Erase chip» — стереть чип.

Затем «FLASH»  — прошить программу в МК

И если надо то  «EEPROM» — прошить в EEPROM.


 

Для использования ATmega16 (и других мег) с внешним кварцевым или керамическим резонатором на частотах выше 8 МГц вам нужно установить фьюзы как в примере выше, но запрограммировать CKOPT  
значит сделать его «0».

Т.е. вам нужна такая комбинация:

CKSEL   1111     SUT  11       CKOPT   0

 

CKOPT   — нужен и тогда когда вы хотите взять с XTAL2 тактовый сигнал для другого
микроконтроллер или тактируемого прибора в вашем устройстве.
 

Фьюзы  SUT   — определяют быстроту запуска генератора тактового сигнала,
более детально это описано в даташите в таблицах до 12.
 


Фьюзы ATtiny2313 описаны в конце следующей страницы курса.

 

 

Интерфейс программирования AVR — Адаптер для соединения МК с ПК при прошивании.

Для соединения компьютера с ISP разъемом устройства на AVR Советую сделать адаптер от STK200  — это «правильные 5 проводков» с микросхемой буфером снижающим вероятность случайного повреждения порта ПК.

В установках компилятора CodeVisionAVR интерфейс «5-проводков» называется  «Канда системз STK200+/300».  Меню «сеттингс» — «программер». В этом же диалоге можно понизить частоту с которой программатор будет обмениваться с прошиваемым МК увеличивая множитель задержки.

Частоту тактирования сигнала SCK программатором при прошивании можно установить в диалоге программирования в CVAVR. 



Снижение частоты на SCK повышает помехоустойчивость при прошивке.

Программа узнаёт адаптер STK200 по перемычкам на разъеме параллельного порта к которому он подключается — должны быть соединены двумя перемычками пары выводы: 2 и 12,  3  и 11. 

     
 

Внимание!  

Для программирования к МК должно быть подключено питание. Например +4…+5.5 вольт ко всем выводам МК в названии которых есть VCC , а  0 вольт ко всем выводам GND (это «общий» провод).    

Обязательно поставьте подтягивающий резистор 10 кОм от ножки RESET AVR на питание VCC и конденсатор 0.01-0.15 мкФ (в апноутах AVR040 и AVR042 рекомендуют 0.01 мкФ) от RESET на GND .

Пример схемы там

 
     

 
Если в МК нет внутреннего генератора тактового сигнала (например старые AVR серии AT90sXXXX или мега побывавшая в чьих то шаловливых руках изменивших фьюзы до того как попасть к вам) то нужно подключить кварц
на 1 — 8 МГц и два конденсатора от 15 до 33 пФ. 

Либо подать тактовый сигнал 0.8-1.5 МГц от внешнего источника —
например генератора на микросхеме 74hc14 (аналог 1553ТЛ2) или на таймере LM555.

Вот как сделать простой генератор тактовой частоты :

 


Программатор  AVReAl  может программировать МК без кварца и без конденсаторов ! Он выводит тактовый сигнал на выв. 5 LPT его нужно подать на ножку XTAL1 МК и добавить в командной строке AVReAL специальный ключ  «-o0».  Программатор  AVReAl  позволяет назначать какие ножки LPT порта использовать — это будет полезно когда часть ножек LPT вы уже спалите  
  🙂

 

Если вы считаете эту информацию полезной, пожалуйста, помогите информировать в интернете о курсе — просто щелкните по банеру. Большое спасибо !
Electronic Banner Exchange (ElBE)


Тактовый сигнал генерирует и самодельный программатор AVR
для  USB — смотрите ниже на этой странице.

 

     
 

Я использую самый простой вариант адаптера
STK200 — «для самых ленивых»   

Пять поводков соединяющих линии параллельного (LPT) порта ПК и AVR так же как на схеме STK200 выше, но без микросхемы буфера. 

Лучше все же токоограничительные резисторы от 150 до 270 ом впаять Береженого бог бережет !
 

Проводки не более 15 см длиной !

 
     

 

 

Адаптер «5-проводков» прекрасно работает с компилятором CVAVR  CodeVisionAVR.

Я проверял «проводки» при питании МК ATmega64L от 3,0 до 5,3 вольт, а так же с ATmega16, ATmega48, ATtiny26, ATtiny261, ATtiny13, ATtiny2313 — программирует всегда без сбоев!  

Всё о прошивке AVR Прошивка AVR PIC прошивки Программирование PIC и AVR

     
 

Советую для изготовления адаптера взять » принтерный» шнур — он длинный и экранированный, а не экранированные проводки не стоит делать более 10-15 см.

 
     

 


Питать устройство при программировании можно :

— сетевым адаптеры от бытовых устройств понизив напряжение до 5 вольт. 

— батарейками ! Достаточно три батарейки по 1,5 вольт последовательно. 

+5 вольт можно взять с вывода 1 гейм порта компьютера или из провода включенного в гнездо USB.

Желательно питать устройство от ПК!  В этом случае «земля» вашего устройства будет соединена с корпусом ПК и можно будет безопасно подключать и отключать разъем программирующего адаптера.

 

 
     
 

ВНИМАНИЕ ! 

Вначале старайтесь соединять «земли» (металлические корпуса, «общие» провода) устройств — для уравнивания их потенциалов ! 

Удобно подпаять к проводнику GND устройства проводок с «крокодильчиком» который прицепите к металлу ПК у LPT или COM портов перед подключением разъемов или сигнальных линий, проводов.

Теперь БЕЗОПАСНО соединять разъемы
и затем подавать питание на устройство.

 
     

 

 


Не поленитесь:  спаяйте адаптер STK200 на микросхеме буфере по рисункам внизу страницы  — так как LPT порт компьютера более нежен чем COM — соответственно его спалить проще…     Спалите LPT и будете меня ругать! 

А  я  предупреждал !

 

 

Поставщики AVR говорят что ATTiny2313 поступают с завода с настройкой внутреннего RC-генератора на 4МГц (в даташите указано 8 МГц) с делителем частоты на 8  — т.е. частота тактирования всего 500 КГц. Значит частота на линии SCK, формируемая программатором, не должна быть выше 120..125кГц. 
 


Программатор встроенный в CodeVisionAVR позволяет настроить эту частоту правильно. Выше было написано как.
 

AVReal  тоже.  


 

     
 

Если вы хотите использовать ножки МК SCK, MOSI, MISO в вашем устройстве то подключайте другие компоненты к ним через резисторы 4.7 КОм — чтобы не мешать программированию.

Так рекомендовано в апноуте AVR042

Для Мега64, -128 вместо MOSI и MISO используются другие ножки для ISP программирования !

 
     

 

 

Если у вас нет LPT порта сделайте
Аналог  «5 проводков» для COM-порта.

 


Или соберите простой, дешевый и хороший
USB программатор для AVR

Прошитый микроконтроллер для сборки USB программатора AVR вы можете заказать по почте.

 

     
 


Существуют специальные программы «бутлодеры» (bootloader — начальный загрузчик) 
которые записываются в микроконтроллер способами перечисленными выше и после этого микроконтроллер может сам, при включении, закачивать в себя программу (например из ПК через адаптер USB-UART rs232 COM port — схема в задаче 4 курса) и запускать ее выполнение.

Есть много бесплатных загрузчиков

Вот Bootloader AVR_Arduino.

Вот хороший:   Bootloader AVR.

Вот еще:    MegaLoad Bootloader

STC создал загрузчик bootloader размером 256 байт с поддержкой быстрого страничного режима записи.


Прошитые загрузчиком bootloader микроконтроллеры AVR PIC вы можете заказать по почте.

 
     

 

 

 Дальше — стр. 8 курса.

 

 

Назад на стр. /06.htm — задачи управжнения по AVR

 

 

ниже  

Cписок Апноутов для AVR примеры применения микроконтроллеров.

 

И много полезной информации !
 

Usb программатор atmega8 для прошивки 25 серии. USBasp программатор AVR микроконтроллеров делаем сами. Программы для работы программатора USBasp

Предлагаем Вам схему USB программатора на микроконтроллере ATmega8. Этот USB программатор Вы можете собрать своими руками за несколько минут на макетной плате Breadboard Half (BREADBOARD — 456 HOLES) размером 82х59 мм. На этой плате хватит места и для программируемых микроконтроллеров в корпусах до DIP-28.

Этим USB программатором можно программировать микроконтроллеры AVR ATmega и ATtiny (другие программировать не пробовал). Этот программатор заметит Вам плату Arduino, он более удобен для экспериментов с различными микроконтроллерами и микропрограммами для них (скетчами). USB программатор работает под управлением микропрограммы ArduinoISP.

Минимальный набор деталей для программатора

  1. Микроконтроллер ATmega8 (ATmega8A-PU, ATmega8L-PU) 1шт
  2. Макетая плата Breadboard Half (BREADBOARD — 456 HOLES) размером 82х59 мм 1шт
  3. Интерфейс USB-UART (подойдет USB-DATA кабель от старого сотового телефона) 1шт

Остальные детали, которые вы увидите на схеме для работы универсального, самодельного, простого программатора не существенны.

О подключении пробников, бузер можно подключить на линию MISO и слушать как общаются между собой микроконтроллеры. Светодиод можно подключить к 15 ножке микроконтроллера ATmega8, если схема собрана правильно и в Atmega8 залит скетч ArduinoISP, светодиод будет плавно менять яркость свечения.

Прежде чем воспользоваться самодельным программатором, необходимо загрузить в микроконтроллер программатора микропрограмму ArduinoISP из примеров к программе Arduino IDE. А еще раньше, необходимо настроить микроконтроллер ATmega8 на работу на частоте 8 МГц без внешнего кварцевого резонатора.

Мы здесь, приведем последовательность действий по прошивке микроконтроллера ATmega8 с помощью платы Arduino UNO и программы Arduino IDE. Возможно, так же, воспользоваться каким нибудь другим методом.

1. Добавьте в программе Arduino в список поддерживаемых устройств микроконтроллер ATmega8 без bootloader с тактовой частотой 8МГц. Внесите изменения в файл sketchbook/hardware/boards.txt, добавив в него следующую секцию:

############################################################## a8noboot_8MHz.name=ATmega8 (no boot 8 MHz int) a8noboot_8MHz.upload.maximum_size=8192 a8noboot_8MHz.bootloader.low_fuses=0xa4 a8noboot_8MHz.bootloader.high_fuses=0xdc a8noboot_8MHz.build.mcu=atmega8 a8noboot_8MHz.build.f_cpu=8000000L a8noboot_8MHz.build.core=arduino a8noboot_8MHz.build.variant=standard ##############################################################

Уточнить размещение папки sketchbook можно в программе Arduino в меню Файл / Настройки . Если в папке sketchbook нет папки hardware, создайте ее и создайте файл boards.txt

2. Подключите микроконтроллер ATmega8 к плате Arduino UNO как описано в Программатор для ATmega8A на Arduino с ArduinoISP .

3. В программе Arduino выберите Сервис / Плата / ATmega8 (no boot 8 MHz int) и Сервис / Записать загрузчик . Далее загрузите в микроконтроллер ATmega8 программу ArduinoISP Файл / Примеры / ArduinoISP и Загрузить .

4. Соберите программатор.

Для программатора Вам понадобится интерфейс USB-UART. Вы можете воспользоваться кабелем от старого сотового телефона, как описано в этой статье Подбор USB-DATA кабеля вместо USB-UART модуля для самодельного Arduino. Что на мой взгляд, очень удобно. Но вместо этого кабеля Ваш программатор можно подключить к компьютеру с помощью платы преобразователя USB-UART.

На фотографии программируется микроконтроллер ATtiny84.

Как театр начинается с вешалки, так программирование микроконтроллеров начинается с выбора хорошего программатора. Так как начинаю осваивать микроконтроллеры фирмы ATMEL , то досконально пришлось ознакомится с тем что предлагают производители. Предлагают они много всего интересного и вкусного, только совсем по заоблачным ценам. К примеру, платка с одним двадцатиногим микроконтроллером с парой резисторов и диодов в качестве обвязки, стоит как «самолет». Поэтому остро встал вопрос о самостоятельной сборке программатора. После долгого изучения наработок радиолюбителей со стажем, было решено собрать хорошо зарекомендовавший себя программатор USBASP , мозгом которого служит микроконтроллер Atmega8 (так же есть варианты прошивки под atmega88 и atmega48). Минимальная обвязка микроконтроллера позволяет собрать достаточно миниатюрный программатор, который всегда можно взять с собой, как флэшку.

Раз решено было собрать миниатюрный программатор, то перерисовал схему под микроконтроллер Atmega8 в корпусе TQFP32 (распиновка микроконтроллера отличается от распиновки в корпусе DIP):

Перемычка J1 применяется, в случае если необходимо прошить микроконтроллер с тактовой частотой ниже 1,5МГц. Кстати, эту перемычку вообще можно исключить, посадив 25 ногу МК на землю. Тогда программатор будет всегда работать на пониженной частоте. Лично для себя отметил, что программирование на пониженной скорости на доли секунды дольше, и поэтому теперь перемычку не дёргаю, а постоянно шью с ней.
Стабилитроны D1 и D2 служат для согласования уровней между программатором и USB шиной, без них работать будет, но далеко не на всех компьютерах.
Светодиод blue показывает наличие готовности к программированию схемы, red загорается во время программирования. Контакты для программирования выведены на разъем IDC-06, распиновка соответствует стандарту ATMEL для 6-ти пинового ISP разъема:


На этот разъем выведены контакты для питания программируемых устройств, здесь оно берется напрямую с USB порта компьютера, поэтому нужно быть внимательным и не допускать кз. Этот же разъем применяется и для программирования управляющего микроконтроллера, для этого достаточно соединить выводы Reset на разъеме и на мк (см. красный пунктир на схеме). В авторской схеме это делается джампером, но я не стал загромождать плату и убрал его. Для единичной прошивки хватит и простой проволочной перемычки. Плата получилась двухсторонняя, размерами 45х18 мм.


Разъем для программирования и перемычка для снижения скорости работы программатора вынесены на торец устройства, это очень удобно


Прошивка управляющего микроконтроллера

Итак, после сборки устройства осталось самое важное — прошить управляющий микроконтроллер. Для этих целей хорошо подходят друзья у которых остались компьютеры с LPT портом:) Простейший программатор на пяти проводках для AVR
Микроконтроллер можно прошивать с разъема программирования, соединив выводы Reset микроконтроллера (29 нога) и разъема. Прошивка существует для моделей Atmega48, Atmega8 и Atmega88. Желательно использовать один из двух последних камней, так как поддержка версии под Atmega48 прекращена и последняя версия прошивки датируется 2009 годом. А версии под 8-й и 88-й камни постоянно обновляются, и автор вроде как планирует добавить в функционал внутрисхемный отладчик. Прошивку берем на странице немца. Для заливки управляющей программы в микроконтроллер я использовал программу PonyProg. При программировании необходимо завести кристалл на работу от внешнего источника тактирования на 12 МГц. Скрин программы с настройками fuse перемычек в PonyProg:


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

Установка драйвера

Установка велась на машину с системой Windows 7 и никаких проблем не возникло. При первом подключении к компьютеру выйдет сообщение об обнаружении нового устройства, с предложением установки драйвера. Выбираем установку из указанного места:


Выбираем папку где лежат дрова и жмем Далее


Мигом появится окно с предупреждением о том, что устанавливаемый драйвер не имеет цифровой подписи у мелкомягких:


Забиваем на предупреждение и продолжаем установку, после небольшой паузы появится окно, сообщающее об успешном окончании операции установки драйвера


Все, теперь программатор готов к работе.

Khazama AVR Programmer

Для работы c программатором я выбрал прошивальщик Khazama AVR Programmer. Замечательная программка, с минималистичным интерфейсом.


Она работает со всеми ходовыми микроконтроллерами AVR, позволяет прошивать flash и eeprom, смотреть содержимое памяти, стирать чип, а также менять конфигурацию фьюз-битов. В общем, вполне стандартный набор. Настройка фьюзов осуществляется выбором источника тактирования из выпадающего списка, таким образом, вероятность залочить кристалл по ошибке резко снижается. Фьюзы можно менять и расстановкой галок в нижнем поле, при этом нельзя расставить галки на несуществующую конфигурацию, и это тоже большой плюс в плане безопасности.


Запись фьюзов в память мк, как можно догадаться, осуществляется при нажатии кнопки Write All. Кнопка Save сохраняет текущую конфигурацию, а Load возвращает сохраненную. Правда я так и не смог придумать практического применения этих кнопок. Кнопка Default предназначена для записи стандартной конфигурации фьюзов, такой, с какой микроконтроллеры идут с завода (обычно это 1МГц от внутреннего RC).
В общем, за все время пользования этим программатором, он показал себя с наилучшей стороны в плане стабильности и скорости работы. Он без проблем заработал как на древнем стационарном пк так и на новом ноутбуке.

Скачать файл печатной платы в SprintLayout можно по этой ссылке

USBasp — простой внутрисхемный USB-программатор для микроконтроллеров Atmel AVR. Программатор построен на микроконтроллере ATMega88 (или ATMega8) и содержит минимум деталей. Программатор использует свой USB-драйвер, никакие специальные USB контроллеры не нужны.

Особенности программатора:
— работа под любой платформой: Windows, Linux и Mac OS X
— какие-либо специальные компоненты или smd не нужны
— скорость программирования до 5 кБ/сек
— SCK-джампер позволяет программировать низкоскоростные контроллеры ( — в планах: последовательный интерфейс (например для отладки)

Схема программатора

Схема предназначена для программирования только 5В кристаллов. В других случаях, уровни должны быть преобразованы!

Заливка прошивки

Т.к. в схеме программатора используется микроконтроллер, то его необходимо предварительно прошить. Для этого подключите другой рабочий программатор и установите джампер J2, для активации функции обновления прошивки.
Прошейте программатор при помощи прошивки: «bin/firmware/usbasp.atmega88.xxxx-xx-xx.hex » или «bin/firmware/usbasp.atmega8.xxxx-xx-xx.hex «
Необходимо будет установить фьюзы для подключения внешнего кварца
# TARGET=atmega8 HFUSE=0xc9 LFUSE=0xef
# TARGET=atmega48 HFUSE=0xdd LFUSE=0xff
# TARGET=atmega88 HFUSE=0xdd LFUSE=0xff

Установки джамперов

J1 — источник питания (от USB, либо внешний источник). Будьте аккуратнее, т.к. схема не содержит какой-либо защиты от КЗ.
J2 — обновление прошивки (сам себя обновлять не может!). Установленный джампер позволяет программировать контроллер программатора другим рабочим программатором.
J3 — если программируемый МК низкоскоростной

Установка драйверов под Windows

Подключите программатор USBasp к USB. Windows найдет устройство и попросит указать драйвер, укажите ему папку «bin/win-driver «. Windows установит драйвер.
Теперь можно запустить avrdude, к примеру:
1. Войти в терминальный режим, МК: AT90S2313: avrdude -c usbasp -p at90s2313 -t
2. Записать main.hex в flash-память МК ATmega8: avrdude -c usbasp -p atmega8 -U flash:w:main.hex

Сборка их исходников (под Linux)

Компиляция прошивки:
1. Установите GNU toolchain для микроконтроллеров AVR (пакеты avr-gcc, avr-libc)
2. Войдите в директорию firmware/
3. Выполните команду «make main.hex «
4. Прошейте «main.hex» ATMega(4)8. Например при помощи uisp или avrdude (используйте
Makefile с опцией «make flash «). Для прошивки установите джампер J2 и подключите USBasp к рабочему программатору.
Также нужно установить фьюзы для работы от внешнего кварца (используйте Makefile
с опцией «make fuses «).

Компиляция avrdude:
ПО AVRDUDE поддерживается программатором USBasp начиная с версии 5.2.
1. Установите пакет libusb: http://libusb.sourceforge.net/
2. Скачайте последнюю версию avrdude: http://download.savannah.gnu.org/releases/avrdude/
3. cd avrdude-X.X.X
4. Сконфигурируйте:
./bootstrap
./configure
5. Компиляция:
make
make install

Программы для работы с программатором

  • — поддерживается USBasp начиная с версии 5.2
  • — поддерживается USBasp начиная с версии 1.11.9.6
  • Khazama AVR Programmer — Windows XP/Vista GUI приложение для USBasp и avrdude
  • eXtreme Burner — AVR — программа Windows GUI для USBasp

Скачать прошивку, исходники, драйверы вы можете ниже

Последнюю версию всегда можно взять на официальном сайте USBasp

Печатные платы

Под данный программатор разработано более 10 различных вариантов разводки печатной платы, которые можно скачать ниже, либо на страничке официального сайта.

Список радиоэлементов
Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
IC1 МК AVR 8-бит

ATmega88

1 ATmega8 В блокнот
D1, D2 Стабилитрон

1N4729A

2 В блокнот
C1 Электролитический конденсатор 4.7 мкФ 1 В блокнот
C3 Конденсатор 0.1 мкФ 1 В блокнот
C4, C5 Конденсатор 22 пФ 2 В блокнот
R1, R2 Резистор

68 Ом

2 В блокнот
R3 Резистор

2.2 кОм

1 В блокнот
R4, R5 Резистор

1 кОм

2 В блокнот
R6 Резистор

10 кОм

1 В блокнот
Q1 Кварцевый резонатор 12 МГц 1 В блокнот
LED1 Светодиод Зеленый 1 В блокнот
LED2 Светодиод Красный 1

Недавно решил сделать себе программатор STK500v2. Пользую в основном CodevisionAVR. Старый не совсем подходил, да и нужен был внутрисхемный программатор. Долгие поиски в сети и чтение форумов привели меня к “AvrUsb500 by Petka”. Программатор был собран и я получил массу положительных эмоций — эффект примерно такой, как будто пересел с советского автопрома на иномарку! Конечно AVR910 надежен как танк — программная реализация USB в нем таких глюков не имеет. Но на тот момент это все были мелочи, по сравнению с преимуществами работы прямо из CodeVision и высокой скорости. Довольно долгое время эти два программатора служили мне верой и правдой, пока с AVR910 не пришлось расстаться. Вот и решил собирать очередной программатор.

К этому времени убедился, что столь любимая нашими радиолюбителями FT232 не так безгрешна как о ней думают. Было собрано несколько разношерстных устройств на этой микросхеме, все пожелания производителя в даташите были учтены, тонна драйверов перепробована на разном железе. Скажу больше — мой промышленный Chipstar XL имеет в качестве USB конвертера тоже FT232, и хоть и не использует VCP-драйвер но глючит тоже не слабо.

Эти все “выбрыки” за пару лет эксплуатации порядком надоели, потому решил модифицировать оригинальную схему. На глаза попалась CP2102 — USB-UART преобразователь. Простая схема, хорошие отзывы о самом производителе (SiLabs) и главное — доступная цена.

Схема программатора

Обвязка CP2102 выполнена исключительно по даташиту без каких-либо своевольных “художеств”, от себя добавлен лишь второй светодиод, индицирующий наличие питания.

Программирование контроллера производится внутрисхемно. Пятачки предусмотрены на плате. Установка фузов ATMega8:

  1. Субъективно все стало работать на 20-25% быстрее.
  2. Полностью пропали глюки присущие FT232. Определяется без проблем каждый раз, даже после быстрого “перетыкивания” USB, без проблем заработала со всеми моими шнурками.
  3. Драйвера моя Windows 7 вытянула с сервера обновления и поставила сама.

В дальнейшем коснусь лишь узла CP2102, так как работа самого программатора в сети расписана подробно.

Сразу хочу оговориться — проблемой “курицы и яйца” особо не заморачивался, все цепи самопрограммирования через USB вырезаны в угоду размеру. Эта компиляция программатора рассчитана больше на людей с более-менее приличной подготовкой. Причин тому несколько — корпус CP2102 MLP28 (5×5 мм) с контактными площадками на “пузе” вместо ножек — без определенных навыков не поставить, дорожки 0.25 мм — делал обычным утюгом.

22 сентября 2011 в 20:11
  • Программирование микроконтроллеров

Как театр начинается с вешалки, так программирование микроконтроллеров начинается с выбора хорошего программатора. Так как начинаю осваивать микроконтроллеры фирмы ATMEL, то досконально пришлось ознакомится с тем что предлагают производители. Предлагают они много всего интересного и вкусного, только совсем по заоблачным ценам. К примеру, платка с одним двадцатиногим микроконтроллером с парой резисторов и диодов в качестве обвязки, стоит как «самолет». Поэтому остро встал вопрос о самостоятельной сборке программатора. После долгого изучения наработок радиолюбителей со стажем, было решено собрать хорошо зарекомендовавший себя программатор USBASP, мозгом которого служит микроконтроллер Atmega8 (так же есть варианты прошивки под atmega88 и atmega48). Минимальная обвязка микроконтроллера позволяет собрать достаточно миниатюрный программатор, который всегда можно взять с собой, как флэшку.

Автором данного программатора является немец Thomas Fichl, страничка его разработки со схемами, файлами печатных плат и драйверами.
Раз решено было собрать миниатюрный программатор, то перерисовал схему под микроконтроллер Atmega8 в корпусе TQFP32 (распиновка микроконтроллера отличается от распиновки в корпусе DIP):

Перемычка J1 применяется, в случае если необходимо прошить микроконтроллер с тактовой частотой ниже 1,5МГц. Кстати, эту перемычку вообще можно исключить, посадив 25 ногу МК на землю. Тогда программатор будет всегда работать на пониженной частоте. Лично для себя отметил, что программирование на пониженной скорости на доли секунды дольше, и поэтому теперь перемычку не дёргаю, а постоянно шью с ней.
Стабилитроны D1 и D2 служат для согласования уровней между программатором и USB шиной, без них работать будет, но далеко не на всех компьютерах.
Светодиод blue показывает наличие готовности к программированию схемы, red загорается во время программирования. Контакты для программирования выведены на разъем IDC-06, распиновка соответствует стандарту ATMEL для 6-ти пинового ISP разъема:

На этот разъем выведены контакты для питания программируемых устройств, здесь оно берется напрямую с USB порта компьютера, поэтому нужно быть внимательным и не допускать кз. Этот же разъем применяется и для программирования управляющего микроконтроллера, для этого достаточно соединить выводы Reset на разъеме и на мк (см. красный пунктир на схеме). В авторской схеме это делается джампером, но я не стал загромождать плату и убрал его. Для единичной прошивки хватит и простой проволочной перемычки. Плата получилась двухсторонняя, размерами 45х18 мм.

Разъем для программирования и перемычка для снижения скорости работы программатора вынесены на торец устройства, это очень удобно

Прошивка управляющего микроконтроллера
Итак, после сборки устройства осталось самое важное — прошить управляющий микроконтроллер. Для этих целей хорошо подходят друзья у которых остались компьютеры с LPT портом:) Простейший программатор на пяти проводках для AVR
Микроконтроллер можно прошивать с разъема программирования, соединив выводы Reset микроконтроллера (29 нога) и разъема. Прошивка существует для моделей Atmega48, Atmega8 и Atmega88. Желательно использовать один из двух последних камней, так как поддержка версии под Atmega48 прекращена и последняя версия прошивки датируется 2009 годом. А версии под 8-й и 88-й камни постоянно обновляются, и автор вроде как планирует добавить в функционал внутрисхемный отладчик. Прошивку берем на странице немца. Для заливки управляющей программы в микроконтроллер я использовал программу PonyProg. При программировании необходимо завести кристалл на работу от внешнего источника тактирования на 12 МГц. Скрин программы с настройками fuse перемычек в PonyProg:

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

Установка драйвера
Установка велась на машину с системой Windows 7 и никаких проблем не возникло. При первом подключении к компьютеру выйдет сообщение об обнаружении нового устройства, с предложением установки драйвера. Выбираем установку из указанного места:

Мигом появится окно с предупреждением о том, что устанавливаемый драйвер не имеет цифровой подписи у мелкомягких:

Забиваем на предупреждение и продолжаем установку, после небольшой паузы появится окно, сообщающее об успешном окончании операции установки драйвера

Все, теперь программатор готов к работе.

Khazama AVR Programmer
Для работы c программатором я выбрал прошивальщик Khazama AVR Programmer . Замечательная программка, с минималистичным интерфейсом.

Она работает со всеми ходовыми микроконтроллерами AVR, позволяет прошивать flash и eeprom, смотреть содержимое памяти, стирать чип, а также менять конфигурацию фьюз-битов. В общем, вполне стандартный набор. Настройка фьюзов осуществляется выбором источника тактирования из выпадающего списка, таким образом, вероятность залочить кристалл по ошибке резко снижается. Фьюзы можно менять и расстановкой галок в нижнем поле, при этом нельзя расставить галки на несуществующую конфигурацию, и это тоже большой плюс в плане безопасности.

Запись фьюзов в память мк, как можно догадаться, осуществляется при нажатии кнопки Write All. Кнопка Save сохраняет текущую конфигурацию, а Load возвращает сохраненную. Правда я так и не смог придумать практического применения этих кнопок. Кнопка Default предназначена для записи стандартной конфигурации фьюзов, такой, с какой микроконтроллеры идут с завода (обычно это 1МГц от внутреннего RC).
В общем, за все время пользования этим программатором, он показал себя с наилучшей стороны в плане стабильности и скорости работы. Он без проблем заработал как на древнем стационарном пк так и на новом ноутбуке.

Скачать файл печатной платы в SprintLayout можно по

Как подключить AVR микроконтроллер к программатору

Научимся искать информацию по разным моделям AVR микроконтроллеров, разберемся c чтением PDF документов в операционной системе Linux. Узнаем как подключить микроконтроллер к программатору используя интерфейс ISP при помощи нескольких проводников.

Содержание:

  1. Несколько рекомендаций
  2. Чтение PDF документов в Linux
  3. Подключение AVR микроконтроллера к программатору
  4. Заключение

Несколько рекомендаций

Чтобы правильно подключить микросхему-микроконтроллер к программатору нужно разобраться где у него и какие выводы. Для получения исчерпывающей информации о интересующем нас микроконтроллере качаем на официальном сайте даташит (datasheet) на интересующий нас чип — Даташиты по микроконтроллерам ATMEL.

На первой страничке даташита приводится подробное описание возможностей микроконтроллера, а далее приведена распиновка микросхем под каждый из типов корпусов. Каждый даташит по AVR чипу содержит массу подробной информации на английском языке, к примеру даташит на микроконтроллер ATmega8 содержит 326 страниц!

Не знаете английского? — старайтесь понемногу изучать, без него сейчас очень трудно в современном мире радиоэлектроники и компьютерной техники, это универсальный международный язык. А пока что, если не знаете что означает какое-то слово или предложение — переведите его через сервис машинных переводов translate.google.com.

Чтение PDF документов в Linux

Как правило, все даташиты на микросхемы поставляются в формате PDF (Portable Document Format) — формат электронных документов для использования на разных платформах, разработан фирмой Adobe Systems.

Под Windows есть множество разных программ для чтения и работы с документами формата PDF. В операционной системе Linux формат PDF тоже имеет отличную программную поддержку.

Программы в Linux что умеют читать PDF:

  • Okular — универсальная и мощная программа для просмотра документов, входит в окружение рабочего стола KDE;
  • Qpdfview — простая и легковесная программа для просмотра документов в формате PDF, DjVu и PS;
  • Evince (Document Viewer) — очень быстрый и легковесный просмотрщик документов PostScript (PS), EPS, DJVU, DVI, PDF;
  • Xpdf — высокопроизводительный просмотрщик PDF-файлов.

Какую программу выбрать для просмотра PDF под Linux? — очень хорошо справляются со своими задачами программы Okular и Evince.

Если у вас установлена рабочая среда KDE то скорее всего что программа Okular уже присутствует в системе. Если Okular не установлен то исправить это можно командой:

sudo apt-get install okular okular-extra-backends

Если же у вас рабочая среда отличная от KDE — GNOME, XFCE, UNITY то более экономичным решением будет установить Evince, поскольку установка в данных средах программы Okular потребует некоторые компоненты от рабочей среды KDE.

Рис. 1. Универсальный просмотрщик документов Evince под Linux — средство для листания PDF документов по микроконтроллерам.

Просмотрщик документов Evince очень хорошо открывает огромные документы и справляется иногда с такими что не под силу прочитать для Okular. Установка Evince в Linux:

sudo apt-get install evince

Думаю что у вас теперь не возникнет проблем с чтением документов в формате PDF под ОС GNU Linux .

Подключение AVR микроконтроллера к программатору

Выше было рассказано что для подключения микроконтроллера к программатору нужно соединить выводы ISP: VCC, GND, MISO, MOSI, SCK, RST. Выводы с данными названиями присутствуют у всех микроконтроллеров, так что даташит нам в помощь.

Рис. 2. Распиновка микроконтроллера ATmega8 и подключение его к ISP (USB ASP).

У программатора USB ASP на коннекторе ISP предусмотрено напряжение +5В (VCC), так что для программирования чипа можно воспользоваться питанием от программатора, а вернее от USB порта к которому он подключен.

В рассмотреных раньше программаторах, что используют COM и LPT порты, нет вывода VCC, а это значит что с использованием этих программаторов на выводы GND (-) и VCC (+) микроконтроллера нужно подать напряжение питания 5В от внешнего источника.

Подключения микроконтроллера к программатору USB ASP на беспаечной макетной панели очень просто реализовать при помощи перемычек (проводники со штырьками на двух концах).

Рис. 3. Подключение к ISP коннектору программатора USB ASP на беспаечной макетной панели.

Рис. 4. Программатор USBASP подключен к микроконтроллеру ATmega8 (увеличение рисунка по клику).

Приведенного на рисунке выше подключения уже достаточно чтобы записать прошивку в микроконтроллер. По умолчанию в микроконтроллере ATmega8 используется внутренняя RC-цепочка что задает частоту тактового генератора, поэтому мы не устанавливали внешний кварц и конденсаторов.

Заключение

Как видите, нет ничего сложного в подключении микроконтроллера к программатору используя интерфейс ISP. Главное найти даташит под нужный микроконтроллер и разобраться с его ножками, а там останется подсоединить несколько проводков и… готово!

В следующей статье рассмотрим программное обеспечение для работы с AVR микроконтроллерами под ОС GNU Linux, а также кратко рассмотрим разные среды для разработки и написания кода.

Начало цикла статей: Программирование AVR микроконтроллеров в Linux на языках Asembler и C.

Прошивка микроконтроллера – Радиодед

Программа написана и откомпилирована, что дальше? – Прошивка микроконтроллера. Большинство контроллеров AVR поддерживает режим внутрисхемного программирования ISP.  Данный программатор STK 200, имеет очень простую схему, и программирует МК очень быстро.

Это означает, что Вам не нужно вытаскивать микроконтроллер из платы каждый раз, когда Вам необходимо его перепрограммировать. С помощью программы PonyProg вы сможете прошить большинство микроконтроллеров AVR и PIC.

Схема простого и надежного программатора для микроконтроллеров AVR серий AT90, ATtiny, ATmega приведена ниже:

В статье “Схема программатора STK200/300” описан процесс изготовления данного программатора методом ЛУТ (лазерно-утюжной технологии).

Перемычки необходимо закоротить, для автоопределения программатора. Схему программатора можно собрать в вилке LPT порта, желательно использовать короткий экранированный кабель для прошивки. Рекомендую использовать программатор PonyProg который поддерживает большинство микроконтроллеров AVR и PIC. (скачать PonyProg).

SPI (Serial Programmable Interface) – Программируемый интерфейс последовательного доступаИспользуется для внутрисхемного программирования чипа и для связи с другими устройствами. Сигналы программируемого интерфейса последовательного доступ:

  • SCK (SPI Bus Serial Clock) Шина последовательных тактирующих импульсов (строб)
  • MISO (SPI Bus Master Input/Slave Output) Шина данных (Мастер ввод/Подчиненный вывод)
  • MOSI (SPI Bus Master Output/Slave Input) Шина данных (Мастер вывод/Подчиненный ввод)
  • RST (Reset MCU) Сброс микроконтроллера
  • GND (Ground) “Земля, корпус”

 

Приведена схема подключения загрузочного кабеля к контроллеру ATmega8. Источник питания стабилизированный от 4,5 до 5V или батарейка. При подключении других AVR контроллеров серий AT90, ATmega, проследить на соответствие сигналов и цоколевку. Для контроллеров серии ATmega внешний кварцевый резонатор не обязателен. Они могут работать от внутреннего генератора и поставляются производителем именно в таком режиме.

В любом случае, прежде чем совершать какие либо действия с микроконтроллером, необходимо прочитать инструкцию (Datasheet) конкретно для данного устройства.

Для тех у кого нет COM-порта, рекомендую собрать простой USB-программатор на микроконтроллере ATmega8. Принципиальная схема USB-программатора для микроконтроллеров AVR:

Сайт разработчика данного программатора: prottoss.com

 

Просмотров всего: 838, сегодня: 1

Про Ардуино и не только: Прошивка USBasp


Если при использовании USBasp в логе avrdude у вас появляется сообщение
avrdude: warning: cannot set sck period, please check for usbasp firmware update, но при этом программатор исправно выполняет команды, то, скорее всего, проблема в устаревшей прошивке USBasp. В этой статье я по шагам расскажу, как обновить прошивку USBasp, используя Ардуино в качестве программатора.

1. Подготовка Ардуино

В качестве программатора можно использовать любую имеющуюся плату Ардуино. Для этого подключаем ее к компьютеру и загружаем в нее скетч ArduinoISP из стандартных примеров:

2. Подключение USBasp к Ардуино

Микроконтроллеры семейства AVR, а значит и базирующиеся на них платы (как Ардуино, так и USBasp) поддерживают программирование по ISP-технологии с использованием линий связи SPI. Поэтому сейчас нам нужно:
  • соединить выводы Ардуино MOSI, MISO, SCK GND и VCC (5В или 3.3В) с одноименными выводами USBasp;
  • цифровой вывод 10 Ардуино подключить к выводу RESET USBasp;
  • установить электролитический конденсатор на 10мкФ между RESET и GND Ардуино, чтобы предотвратить автоматическую перезагрузку. Хотя возможно будет работать и без конденсатора, зависит от используемой платы Ардуино.
Для подключения можете использовать как ICSP разъем Ардуино, так и цифровые выводы — не принципиально. Я, например, взял MOSI, MISO, SCK, GND и VCC с ICSP разъема:
На всякий случай приведу таблицу соответствия сигналов MOSI, MISO и SCK цифровым выводам различных плат Ардуино:
Плата Ардуино MOSI MISO SCK
Uno, Duemilanove 11 или ICSP-4 12 или ICSP-1 13 или ICSP-3
Nano 11 или ICSP-4 12 или ICSP-1 13 или ICSP-3
Pro Mini 11 12 13
Mega1280, Mega2560 51 или ICSP-4 50 или ICSP-1 52 или ICSP-3
Leonardo ICSP-4 ICSP-1 ICSP-3 
Due ICSP-4 ICSP-1 ICSP-3 
Zero ICSP-4 ICSP-1 ICSP-3
101 11 или ICSP-4 12 или ICSP-1 13 или ICSP-3

3. Установка джампера JP2 на USBasp

На плате USBasp присутствуют 3 джампера, хотя распаян у вас, скорее всего, будет только JP1 — выбор напряжения питания программируемого микроконтроллера. Для прошивки USBasp (и любых других манипуляций с ним при помощи программатора) необходимо установить джампер JP2. Советую не мучиться с замыканием контактов подручными средствами и впаять пару штырьков, так будет надежней:

4. Скачивание прошивки

Заходим на страничку автора USBasp https://www.fischl.de/usbasp/ и скачиваем последнюю версию прошивки в разделе Download — Firmware and circuit. На момент написания данной статьи актуальной является версия от 28.05.2011. Файлы прошивки находятся внутри архива по пути \usbasp.2011-05-28\bin\firmware\, их там три штуки, для каждого типа микроконтроллера (программатор USBasp может быть построен на базе ATmega8, ATmega48 или ATmega88). У меня в USBasp установлен микроконтроллер ATmega8, поэтому я буду использовать файл usbasp.atmega8.2011-05-28.hex.

Прошивать USBasp будем при помощи уже знакомого нам avrdude, входящего в состав IDE Arduino. Файл прошивки нужно поместить в каталог avrdude, чтобы потом не пришлось указывать полный путь к нему. Для этого запускаем Проводник Windows и переходим в каталог Arduino_dir\hardware\tools\avr\bin\, где Arduino_dir — это путь к IDE Arduino. В моем случае он выглядит так: d:\Arduino\arduino-1.6.12\hardware\tools\avr\bin\, сюда я копирую файл usbasp.atmega8.2011-05-28.hex.

5. Прошивка USBasp

После копирования файла прошивки в каталог avrdude поместите курсор в адресную строку Проводника, удалите из нее путь, введите cmd и нажмите Enter.

Запустится интерпретатор командной строки. В нем нужно ввести команду:

avrdude -C ..\etc\avrdude.conf -p m8 -c arduino -P com18 -b 19200 -U flash:w:usbasp.atmega8.2011-05-28.hex

Не забудьте проверить и с корректировать ее параметры:

-C ..\etc\avrdude.conf — путь к конфигурационному файлу (без этого параметра avrdude иногда ругается: can’t open config file «»: Invalid argument)

-p m8 — определяет тип микроконтроллера. Значение m8 сообщает avrdude о том, что мы собираемся работать с ATmega8. Если у вас в USBasp установлен ATmega48 или ATmega88, то замените это значение на m48 или m88 соответственно.

-P com18 — определяет COM порт, присвоенный плате Ардуино. У меня это com18, вам нужно подставить свое значение.

-U flash:w:usbasp.atmega8.2011-05-28.hex — определяет действие, которое мы хотим выполнить. В данном случае мы хотим записать в FLASH память данные из файла usbasp.atmega8.2011-05-28.hex. При необходимости скорректируйте имя файла прошивки в соответствии с типом микроконтроллера в USBasp.

Убедитесь, что команда набрана верно и программатор правильно соединен с Ардуино. После этого подключаем Ардуино к компьютеру и нажимаем Enter в интерпретаторе командной строки. Должен отобразиться прогресс перезаписи содержимого FLASH памяти, а затем сообщение об успешном выполнении команды — avrdude done. Thank you:


Теперь можно отключить USBasp от Ардуино, снять джампер JP2 и проверить работу программатора. Сообщения avrdude: warning: cannot set sck period, please check for usbasp firmware update больше быть не должно.

USB программатор AVR-910 — Программаторы AVR — Микроконтроллеры AVR — Микроконтроллеры



AVR-910 представляет из себя достаточно простой, но в то же время надежный USB программатор для микроконтроллеров AVR, это всем известная схема PROTTOSS-а, построенная на микроконтроллере Atmega8. Несет также на борту меандр для восстановления залоченных фьюзов.
Для его сборки нужно не так много деталей, и самый простенький программатор .



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

После того, как плата спаяна и отмыта от флюса, подключаем устройство к программатору, я пользовался «Шнурком Громова» и переключаем джампер в положение «Mod» и подаем питание. Теперь нужно записать программу в МК
Так как программатор Громова не поддерживается PonyProg-ом, то пришлось пользоваться программой Uniprof. Фьюзы выставить как на картинке (Для PonyProg отметить также фьюз SPIEN, а лучше его вообще не трогать).


После сборки и прошивки программатора подключаем его к компьютеру и перекидываем джампер в положение «Norm», при правильно выставленных фьюзах система должна сразу же определить новое устройство. От поиска драйвера отказываемся и указываем исполнительный .inf файл в зависимости от вашей операционной системы.
После установки драйверов программатор готов к работе!
Теперь о софте. Тут выбор довольно широк, это ChipBlasterAVR, AVR Prog, который входит в состав AVR Studio или Code Vision AVR, увы, но с AVRDUDE не работает. Я остановил свой выбор на CodeVision и теперь о том, как всем пользоваться.
Запускаем программу, переходим во вкладки Settings-Programmer, появляется окно, в котором нужно указать тип программатора и номер виртуального COM порта, узнать который можно, запустив Диспетчер Устройств.


CVAVR является программным комплексом для работы с МК, поэтому, трудно сразу разобраться где найти само средство для прошивки. Для этого переходим во вкладку Tools-Chip Programmer, появляется окно программатора, в котором очень не трудно разобраться.

Фьюзы выставляются также, как и в PonyProg. Есть галочка-0, отсутствует-1.
Прошивка Atmega8. Все стабильно работает!

Теперь о DIP переключателях. Power-подает питание на ISP разъем. Low SCK понижает тактовую частоту порта и LED подает меандр частотой 1МГц на вывод LED разъема. Эта функция очень полезна, порой нужно «воскресить» МК от залочки. Правда с фьюзами SPIEN и RSTDISBL этот трюк не прокатит, тут уже нужен параллельный программатор.
Не смотря на все плюсы я выделил один единственный недостаток, это низкая скорость работы. Прошивка Atmega8 для часов, с весом .hex файла в 15кб у меня заняла около трех-четырех минут минут.
 

Скачать (772.0 Kb)

Поделись с друзьями в социальных сетях

Реклама


Похожие материалы:

Как обновить прошивку AVR USBasp до последней версии — Łukasz Podkalicki

Распространенная причина, по которой вы хотели бы обновить эту прошивку, — это функция медленной разблокировки для дешевых (e-bay или Aliexpress) программаторов USBasp, таких как этот на картинке. Функция slow-sck позволяет программировать микросхемы AVR, работающие с источником тактовой частоты очень низкой частоты (например, 128 кГц).

Когда ваш программатор USBasp печатает это предупреждение, это означает, что требуется обновление прошивки!

 avrdude -p attiny13 -c usbasp -B 1024 -F -P USB

avrdude: установите частоту SCK на 500 Гц
avrdude: предупреждение: невозможно установить период sck.пожалуйста, проверьте обновление прошивки usbasp.
avrdude: error: программа включена: цель не отвечает. 1
avrdude: инициализация не удалась, rc = -1
avrdude: устройство AVR инициализировано и готово принимать инструкции
avrdude: подпись устройства = 0x685ba2
avrdude: Ожидаемая подпись для ATtiny13 - 1Э 90 07

avrdude сделано. Спасибо.

 

Что вам нужно

  • два программатора USBasp (первый требует обновления, а второй записывает чип первого)
  • одна перемычка, два разъема 2 × 1 и паяльник (опционально, зависит от типа программатора)

Подготовка программатора USBasp

Нам нужно установить перемычку JP2 для программатора USBasp, который мы хотим обновить.Эта перемычка включает «самопрограммирование ISP». Может случиться так, что вам нужно будет добавить на печатную плату недостающий контактный заголовок для JP2. То же самое с контактным разъемом для перемычки JP3, которая включит «Slow-SCK», когда мы будем обновлять прошивку. В конце концов, сделайте короткие соединения на печатной плате, если нет места для штыревых разъемов.

Плата программатора AVR USBasp Figure-1 (источник: tosiek.pl)

Рисунок 2 Схема программатора USBasp AVR

Скачивание последней прошивки

Программное обеспечение поддерживается Томасом Фишлем, автором программы USBasp, и его можно найти на его официальной странице загрузки — https: // www.fischl.de/usbasp/.

 cd $ HOME
wget https://www.fischl.de/usbasp/usbasp.2011-05-28.tar.gz
tar -xvf usbasp.2011-05-28.tar.gz
 

Прошивка микросхемы программатора USBasp

На этом этапе мы уверены, что перемычка JP2 первого программатора, которую мы хотим обновить, находится на своем месте (пока JP3 не установлен). Теперь мы воспользуемся вторым программатором USPasp, чтобы записать новую прошивку в чип первого программатора. Итак, нам нужно подключить первый программатор USBasp и второй программатор с помощью разъемов IDC-10, а затем подключить второй программатор к компьютеру с помощью разъема USB.

 cd $ HOME / usbasp.2011-05-28
avrdude -p atmega8 -c usbasp -U flash: w: bin / firmware / usbasp.atmega8.2011-05-28.hex: i -F -P usb
 

Проверка

После обновления прошивки нам нужно снять перемычку JP2 и установить JP3 (Slow-Clock).

 avrdude -p attiny13 -c usbasp -B 1024 -F -P USB

avrdude: установите частоту SCK на 500 Гц
avrdude: устройство AVR инициализировано и готово принимать инструкции

Чтение | ########################################################################## | 100% 0.02с

avrdude: подпись устройства = 0x1e9007 (вероятно, t13)

avrdude: safemode: Предохранители исправны (E: FF, H: FF, L: 7B)

avrdude сделано. Спасибо. 

Вот и все! Теперь, если установлен JP3, можно запрограммировать микросхемы AVR, работающие с очень низкими частотами.

HiLetgo 51 AVR Программатор ATMEGA8 USBasp USB ISP 10-контактный USB-программатор 3,3 В / 5 В с кабелем HiLetgo® 3-01-0497-1

activeresearch.com Кабельные сборки Подключение и подключение HiLetgo 51 AVR Программатор ATMEGA8 USBasp USB ISP 10-контактный USB-программатор 3.3 В / 5 В с кабелем HiLetgo® 3-01-0497-1
  1. Home
  2. Business & Industrial
  3. Industrial & Scientific
  4. Industrial Electrical
  5. Электромонтаж и подключение
  6. Кабельные сборки
  7. USB-кабели
  8. HiLetgo 51 AVR Программатор ATMEGA8 USBasp USB ISP 10-контактный USB-программатор 3,3 В / 5 В с кабелем HiLetgo® 3-01-0497-1

для автоматического регулирования скорости. 。 Зарезервируйте MOSI, пользователь может обновить прошивку для загрузки.。 Список поддерживаемых микросхем: Серия :。 ATS 、 ATS2 、 、 ATS3 、 ATS22。 Серия AVR :。 ATTiny2 (L) 、 ATTiny3 (V) 、 ATTiny (L) 、 ATTiny24 (V) 、 ATTiny2 (V) 、 ATTiny26 (L ) 、 ATTiny233 (V) 、 ATTiny44 (V) 、 ATTiny4 (V) 、 ATTiny4 (V) 、 ATTiny (V) 、 AT0S233 (L) 、 AT0S2323 (L) 、 AT0S2343 (L) 、 AT0S200 (L) 、 AT0S (L) ) 、 AT0S3 (L) 、 ATMEGA4 (V) 、 ATMEGA (L) 、 ATMEGA (V) 、 ATMEGA (L) 、 ATMEGA3 (L) 、 ATMEGA6 (L) 、 ATMEGA62 (V) 、 ATMEGA63 (L) 、 ATMEGA64 (V) ) 、 ATMEGA6 (V) 、 ATMEGA6 (V) 、 ATMEGA6 (V) 、 ATMEGA6P (V) 、 ATMEGA32 (L) 、 ATMEGA324 (V) 、 ATMEGA32 (V) 、 ATMEGA320 (V) 、 ATMEGA32 (V) 、 ATMEGA32 (V) 、 ATMEGA32 (V) 、 ) 、 ATMEGA64 (L) 、 ATMEGA640 (V) 、 ATMEGA644 (V) 、 ATMEGA64 (V) 、 ATMEGA640 (V) 、 ATMEGA64 (V) 、 ATMEGA640 (V) 、 ATMEGA2 (L) 、 ATMEGA20 (V) ATMEGA20 (V) ) 、 ATMEGA260 (V) 、 ATMEGA26 (V) 、 AT0CAN32 、 AT0CAN64 、 AT0CAN2 、 AT0PWM2 (B) 、 AT0PWM3 (B)。 В пакет включено: * AVR ATMEGA Programmer USBasp。 * Кабель для передачи данных 0P Советы:.Для пользователей Windows вам придется отключить проверку драйверов, чтобы установить необходимые драйверы. 。 2. Это 0-контактное соединение. (Вам нужно будет сделать переходник на 6-контактный, если вы используете его для Arduino Mega)。 Как его использовать?. Подключите USBasp。 2. Загрузите Zadig с сайта [zadig. акео. т.е.]。 3. Запустить zadig。 4. Параметры> Показать все устройства。. В раскрывающемся меню выберите USBasp。 6. Выберите драйвер libusbK (v3.0.7.0)。 7. Нажмите «Установить»。。。。. RET, SCK, VCC, автоматическое изменение скорости, программатор HiLetgo 51 AVR ATMEGA8 USBasp USB ISP 10-контактный USB-программатор 3.3 В / 5 В с кабелем: компьютеры и аксессуары. Программатор HiLetgo 51 AVR ATMEGA8 USBasp USB ISP 10-контактный USB-программатор 3,3 В / 5 В с кабелем: Компьютеры и аксессуары. Основной чип: ATMega8A-AU. Поддержка AVR и чипа ASP. Поддержка микроконтроллера AT89S51 / 52. 。 Выходной порт является стандартным портом ATMEL. С защитой от перегрузки по току. Автоматическое управление скоростью. С индикатором питания и записи. С питанием от USB и целевой платой, поддерживающим целевое напряжение 5 В, загрузчик автоматически отслеживает программируемую частоту микросхемы.Можно выбрать соединение крышки перемычки. 。 Прошивка с автофокусом с автоматической скоростью, MISO, удобный интерфейс для подключения целевой платы. 。 Зарезервированный интерфейс программирования. GND. 6-контактный интерфейс.






HiLetgo 51 AVR Программатор ATMEGA8 USBasp USB ISP 10-контактный USB-программатор 3,3 В / 5 В с кабелем HiLetgo® 3-01-0497-1




Reznor 104245, 12×4 Осторожно CGSignLab Basic Black Heavy Duty Outdoor Vinyl Banner, Model 26-26X0181 Black 4.875 Внутренний диаметр 6.000 Внешний диаметр 0,625 Толщина Garlock Sealing Technologies 6.000 Внешний диаметр MILL-RIGHT Garlock 24699-0181 Масляное уплотнение Klozure 4.875 Внутренний диаметр 0,625 Толщина. 5 шт. В упаковке Vaster USB Micro A Cable USB2.0 A Male to Micro A USB2.0 Male Cable SKU: 20770 1 M. HiLetgo 51 AVR ATMEGA8 Programmer USBasp USB ISP 10 Pin USB Programmer 3.3V / 5V с кабелем HiLetgo® 3 -01-0497-1 . Стерлинговое уплотнение CRG7001.750.062.300X10 7001 Пакет из 10 сжатых без асбеста, Morse 387 # 29 HD / SM DRL COB BRT 135 Split Point 84648.Кабель шнура питания для LG 49SL5B-BE 49UH6090-UJ 49SM5B-BD 49UF6700 49UH5B-BD, MYERZI Промышленная вращающаяся шлифовальная тарелка с крючком и петлей 3 дюйма для шлифовальных дисков с хвостовиком 1/4 дюйма и буфером 75-миллиметровых сверл, режущих 5 упаковок. HiLetgo 51 AVR Программатор ATMEGA8 USBasp USB ISP 10-контактный USB-программатор 3,3 В / 5 В с кабелем HiLetgo® 3-01-0497-1 , диаметр стержня 0,24 Гидравлические демпферы 0,59 Диаметр трубки Сделано в США 8 шт.,


HiLetgo 51 AVR Программатор ATMEGA8 USBasp USB ISP 10-контактный USB-программатор 3.3 В / 5 В с кабелем HiLetgo® 3-01-0497-1

HiLetgo 51 AVR Программатор ATMEGA8 USBasp USB ISP 10-контактный USB-программатор 3,3 В / 5 В с кабелем HiLetgo® 3-01-0497-1

Программатор 3,3 В / 5 В с кабелем HiLetgo® 3-01-0497-1 HiLetgo 51 AVR Программатор ATMEGA8 USBasp USB ISP 10-контактный USB, 3 В / 5 В с кабелем: Компьютеры и аксессуары, HiLetgo 51 AVR Программатор ATMEGA8 USBasp USB ISP 10-контактный USB Программист 3, Бесплатная доставка и возврат, клиенты экономят 60% на заказе, Предлагая шикарные и стильные флагманские продукты.USBasp USB ISP 10-контактный USB-программатор 3,3 В / 5 В с кабелем HiLetgo® 3-01-0497-1 HiLetgo 51 AVR Программатор ATMEGA8, HiLetgo 51 AVR Программатор ATMEGA8 USBasp USB ISP 10-контактный USB-программатор 3,3 В / 5 В с кабелем HiLetgo® 3- 01-0497-1.

Мигает BL-ESC на базе ATmega8 [lazyzero.de]

Пожалуйста, сначала прочтите общее руководство и FAQ.

Очень важно установить правильную прошивку на ваш ESC. Если вы выберете неправильный шестнадцатеричный файл, вы разрушите свой ESC и / или ваш бесщеточный двигатель.Всегда снимайте пропеллеры, если двигатель подключен к ESC во время прошивки. Всегда используйте источник питания с ограничением по току. Если у вас его нет, вы можете использовать 9-вольтовую блочную батарею, но НИКОГДА НЕ ИСПОЛЬЗУЙТЕ LIPO. В случае ошибки поставьте на большой ток.

Прошивка прошивки с помощью программатора ISP и включение загрузчика

Вы можете включить загрузчик и прошить последнюю версию прошивки за один раз. Поэтому вам нужен ISP-программист, ArduinoUSBLinker, Afro USB Programming Tool или Turnigy USB Linker не может включить загрузчик (не может менять предохранители).Выберите своего программатора и «бесколлекторный ESC на базе atmega 8 + включите загрузку. loader »и продолжайте как всегда. (!!! выберите правильную прошивку)

Подождите, пока проверка будет успешно завершена и avrdude done. Спасибо.»

Теперь вы можете выбрать ArduinoUSBLinker или Turnigy USB Linker, чтобы обновить прошивку ESC, которые запускают прошивку simonk 01062012 или новее с включенным загрузчиком. Приятно то, что вам не нужно устанавливать скорость передачи, по сравнению с программатором STK500V2, который также можно использовать.Но тогда вам нужно отключить этот флажок и ввести 9600 в поле скорости передачи. Смотрите настройки на скриншоте (не забудьте адаптировать выбранную прошивку).

Сначала подключите ESC к линкеру, затем подключите линкер к компьютеру и включите ESC за вилку питания. Если у вас возникли проблемы с перепрошивкой ESC, например open_ser () невозможно, или компоновщик исчезает в диспетчере устройств или становится неизвестным, попробуйте еще раз, отключив красный кабель от разъема сервопривода.

: en: modellbau: kkmulticopterflashtool: arduinousblinker

Веб-сайт Diese поддерживает файлы cookie.Durch die Nutzung der Websitetimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.OKWeitere Information

Моды и новая прошивка для фонарика Convoy S2 +

Моды и новая прошивка для фонарика Convoy S2 + 16 октября 2019 г.,

Обновление прошивки в USBasp-ключе

Я вижу это потепление:
avrdude: предупреждение: невозможно установить период sck.пожалуйста, проверьте обновление прошивки usbasp.
 
Итак, чтобы это исправить, вам понадобятся два (или больше!) USBasp-ключа, и хотя бы один из них должен работать! Соедините их 10-контактной лентой. Пин 1 к контакту 1 и так далее, никакого обезьяньего дела. Вы наверняка получили такой ленточный кабель, даже с правильным ключом, вместе с вашим устройством. и все думали, что с этим делать. Убедитесь, что оба блока настроены на 5 вольт. (или установите то же самое на любом мероприятии).

Теперь запустите avrdude, чтобы прочитать старую прошивку (или попробуйте), и вы увидите:

avrdude: error: программа включена: цель не отвечает.1
avrdude: инициализация не удалась, rc = -1
         Дважды проверьте соединения и попробуйте еще раз, или используйте -F для отмены
         этот чек.
 
Выходом здесь является установка «перемычки программирования». На моем устройстве это JP1 и есть контакты. уже припаян, мне просто нужно найти и установить перемычку.

После этого мы действительно можем считать вспышку. Обратите внимание, что я добавляю параметр «: i», чтобы сохранить файл в шестнадцатеричном формате Intel.

avrdude -p m8 -c usbasp -U flash: r: flash.hex: i
 

Получите новую прошивку

Получите это отсюда: Любопытно, что самая последняя версия датирована 28 мая 2011 года.Это вызывает удивление, что AVRdude жалуется на старую версию. Задержите пока эту мысль.

Как только я скачиваю tarball и расширяю файл, я перехожу в bin / firmware и найдите файл usbasp.atmega8.2011-05-28.hex. Получив это, я пытаюсь проверить это на моем устройстве:

avrdude -p m8 -c usbasp -U flash: v: usbasp.atmega8.2011-05-28.hex: i
 
На самом деле это указывает на то, что проверка не удалась. Итак, прошиваем новую прошивку.

Прошить новую прошивку

avrdude -p m8 -c usbasp -U flash: w: usbasp.atmega8.2011-05-28.hex
 
Это происходит следующим образом:
avrdude: предупреждение: невозможно установить период sck. пожалуйста, проверьте обновление прошивки usbasp.
avrdude: устройство AVR инициализировано и готово принимать инструкции
Чтение | ########################################################################## | 100% 0,00 с
avrdude: подпись устройства = 0x1e9307 (возможно, m8)
avrdude: стирающий чип
avrdude: чтение входного файла "usbasp.atmega8.2011-05-28.hex"
avrdude: входной файл usbasp.atmega8.2011-05-28.hex автоматически определяется как Intel Hex
avrdude: запись flash (4700 байт):
Написание | ########################################################################## | 100% 5.64 с
avrdude: записано 4700 байт флеш-памяти
avrdude: проверка флэш-памяти на usbasp.atmega8.2011-05-28.hex:
avrdude: загрузить данные флеш-памяти из входного файла usbasp.atmega8.2011-05-28.hex:
avrdude: входной файл usbasp.atmega8.2011-05-28.hex автоматически определяется как Intel Hex
avrdude: входной файл usbasp.atmega8.2011-05-28.hex содержит 4700 байт
avrdude: чтение данных флеш-памяти на кристалле:
Чтение | ########################################################################## | 100% 2,93 сек
avrdude: проверяем ...
avrdude: проверено 4700 байт флэш-памяти
avrdude: safemode: Предохранители исправны (E: FF, H: D9, L: 9F)
avrdude сделано.Спасибо.
 
Очень хорошо. Я сделал это со своим блоком «C1», теперь мы можем отключить два блока, переверните его, чтобы подключить только что обновленное устройство, и используйте его для обновления другого устройства. Обязательно установите «перемычку программирования» на целевое устройство. Действительно, это работает нормально, кажется несколько быстрее, и нет никаких претензий к невозможность установить период sck.

Я повторяю это на своем третьем блоке, который занимает всего несколько секунд, и теперь 3 из моих 4 блоков обновлены (E1, E2 и C1). У меня все еще есть мой DOA-блок C2, который нужно исследовать.

Я устанавливаю перемычку для программирования на C2 и подключаю кабель. Никаких кубиков. Этот агрегат просто мертвый. Я поискал под микроскопом паяные перемычки или явные недостатки. Выглядит нормально. За 3 доллара это не стоит моего времени, особенно когда у меня есть 3 других рабочих агрегата!

Как это сделали другие люди


Обратная связь? Вопросов? Напишите мне!
Информация о Tom’s Light / [email protected]

Замена Atmega8 на Atmega328P на плате USBasp | Детали

Не особо хакерский, но веселое приключение.На прошлой неделе я получил по почте еще один дешевый USBasp. Я подумал, черт возьми, я заменю Atmega8A, который идет на плате, на Atmega328P.


Первым шагом была сборка микропрограммы USBasp для Atmega328P. Я взял исходный код с сайта Томаса Фишля. Затем я изменил Makefile и изменил целевое значение на atmega328p. Когда я запустил make, у меня возникли ошибки, связанные с файлами в папке usbdrv. Я быстро исправил это, заменив usbdrv обновленным со страницы vusb GitHub.Я запустил make и на этот раз получил хороший файл main.hex (который я помещу в раздел файлов этого проекта для загрузки).

Пришло время достать мою паяльную станцию ​​и дешевую термовоздушную станцию ​​858D и поменять чипы. Я наклеил каптоновую ленту на соседние пассивы и добавил немного флюса к Atmega8.

У меня был опыт пайки QFP, но я ни разу не снимал их. Я был удивлен, сколько времени мне потребовалось, чтобы снять эту чертову штуку. Позже я проверил, какую температуру должна установить на станции горячего воздуха.Это было на 300С. Набрал это в Google, и он переведен на 572F; Что ж, это может объяснить, почему эта чертова штука оторвалась так долго! Удивительно, что мне удалось его снять, тем более что он, вероятно, был припаян той бессвинцовой хренью. Еще чудо, что колодки не оторвал. После того, как я снял его, я счистил большую часть остатков припоя на контактных площадках с помощью фитиля и смыл часть флюса с помощью IPA.

Затем наступила сложная часть; пайка на 328П.Сама пайка на корпусе QFN несложна, если немного потренироваться, НО на плате было несколько препятствий, которые мешали; кристалл, закрытый контактный разъем 5×2 и, в меньшей степени, разъем USB. Техника, которую я использую для пайки QFN, заключается в нанесении флюса на контакты, нанесении небольшого количества припоя на наконечник паяльника и нанесении паяльником нескольких контактов за раз под небольшим углом.

Кристалл, который был наихудшим препятствием, можно было удалить, но мне не удалось удалить сквозные компоненты из металлических сквозных отверстий с помощью ручной присоски для припоя.В трюме, который держит компонент на всю жизнь, всегда остается достаточно. Возможно, мне наконец-то стоит купить Hakko FR-301, но это немного дороговато — около 260 долларов США (возможно, мне стоит поставить GoFundMe? Это немного похоже на просьбу.)

Я держал паяльник близко к перпендикуляру, где был препятствие и сделал, что мог. Я немного очистил его послесловие с помощью фитиля и обработал его горячим воздухом, чтобы очистить еще немного. Это не моя лучшая работа (несколько контактов можно было бы использовать еще припоя, но я убедился, что все было связано с моим мультиметром.Я также заменил самопрограммируемые перемычки, которые ужасно погнулись (что было проблемой из-за металлических сквозных отверстий). Затем я очистил флюс с помощью некоторого количества IPA.

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

Сначала я проверил, можно ли увидеть мой Atmega 328P с помощью этой команды:

 avrdude -p atmega328p -c usbasp -vv -B 3 

Команда, которую я использовал для установки предохранителей:

 avrdude -c usbasp - p atmega328p -U hfuse: w: 0xD9: m -U lfuse: w: 0xDE: m -U efuse: w: 0xFF: m -B 3
 

Команда, которую я использовал для прошивки:

 avrdude -c usbasp -p atmega328p -U flash: w: main.hex 

После того, как я проделал вышеописанное, я протестировал недавно запрограммированный USBasp с одной из моих целевых плат Atmega328P, и он работал нормально.

Филип Доминек

Исследования

Моделирование электромагнитных волн с помощью питона-мипа

Вычисления FDTD могут быть интересными! Практическое руководство по рассеянию волн, дифракции, поверхностным плазмонам, поведению метаматериалов и т. Д.

Модели диэлектрической проницаемости материалов Лоренца-Друде

Модели диэлектрической проницаемости золота, кремния, кремнезема, сапфира и т. Д., готовый к отправке в python-meep для получения количественно точных результатов моделирования.

Тестирование алгоритма FDM на экспериментальных данных

Метод диагонализации с фильтром (FDM) иногда может превосходить преобразование Фурье для спектрального анализа, хотя он используется гораздо реже. Я сравниваю эти методы по терагерцовым спектрам водяного пара, показывающим точность FDM. Исходные коды включены.

Проектов

USB-спектрометр

Используя линейный ПЗС сканера, дифракционный элемент (например, компакт-диск), микроконтроллер ATMega8 и некоторую базовую оптику, можно легко создать портативный USB-спектрометр с прибл.Спектральное разрешение 5 нм

Отливка оптического стола из бетона

Жесткая платформа для механического монтажа чувствительных оптических экспериментов может быть изготовлена ​​в любой мастерской с помощью описанной процедуры. Демонстрируется интерферометр Майкельсона, который обнаруживает движение на нескольких атомных расстояниях.

FiDoStepper

Удивительно простая плата, способная одновременно управлять тремя (униполярными / биполярными) шаговыми двигателями.Микрошаговый, инструментальный ШИМ-контроль и связь по USB реализованы в прошивке ATMega8. Схема и прошивка прилагаются.

FiDoCNC — робот для изготовления печатных плат

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

Точное просеивание микрочастиц

Представлен новый подход к просеиванию субмиллиметровых частиц, который выбирает очень узкую фракцию размеров и форм с использованием интенсивной звуковой вибрации.

Программное обеспечение

Генератор ежемесячного календаря формата A4 для печати

на основе Reportlab сохраняет пригодную для печати таблицу формата A4 с днями в виде строк и часами в виде столбцов. Весь 2015-2025 годы доступны в виде 12-страничных PDF-файлов.

Оптическая гранулометрия микрочастиц

Скрипт, который преобразует микроскопическую фотографию в статистику размеров частиц и эллиптичности

Как сделать пакет DEB с диакритическими знаками и пробелами в именах файлов

Программа установки Debian / Ubuntu не может обрабатывать «небезопасные» имена файлов, но позволяет запускать сценарии после установки для изменения имен по мере необходимости.Пример процедуры упаковки для PPA.

Обучение / výuka

Семинар Python 2011/12 [cz]

DFR0331 Лист данных на DFRobot | Digi-Key Electronics

Страница 23 из 24 смокинг — мм » u. u .— u u. Ила-Хр- . __, ._… l a … «1. lwikiflndex‘phpl Файл: DFR0350jnskalLedisan, 7

Q1. 1 Open Boards Manager

(/ wiki / index.php / Файл: DFR0350_install_edison_in_arduino_1.6_2.png

Q1. 2 Установите i686 Edison

(/wiki/index.php/File:DFR0350_install_edison_in_arduino_1.6_3.png)

Q1. 3 Ожидание завершения установки

(/wiki/index.php/File:DFR0350_install_edison_in_arduino_1.6_4.png

Q1. 4 Выберите целевую плату, Intel® Edison

Q2. Win XP / Win 7 Проблема несовместимости.

У Interl Edison есть проблема совместимости с Win 7 / Win XP, пожалуйста, обновите вашу операционную систему до

Win 8/10.

3 кв. Мои моторы теряют управление / Ошибка аналогового считывания / Плохая связь TWI (IIC).

A. Это связано с проблемой TWI (IIC), пожалуйста, обновите микропрограмму Atmega8 до последней версии и используйте соответствующую новейшую библиотеку

.

4 кв. Я не могу отлаживать через COM-порт без подключенного OTG.

A. Внутренний Edison определит значение вывода «VBUS» и не разрешит отладку, пока «VBUS» имеет значение

LOW. Это означает, что вам нужно подключить кабель OTG к порту OTG.(Не нужно ничего подключать к кабелю

OTG), когда вы хотите отлаживать Edison через COM-порт.

Q5. Я использую Intel XDK для разработки вашей платы Romeo версии 1.0. У меня есть код из библиотеки примеров

, и я отлично работаю с платой Intel Edison Breakout Kit (комплект Groove), но когда я запускаю его на плате Romeo, возникает ошибка пожара

. Я проверил все порты и они смешанные. У вас есть таблица где порты?

A. Распределение контактов отличается от Eclipse / Intel XDK и Arduino IDE.И вы можете опустить проблему сопоставления

, просто используйте маркировку D0-D13, A0-A5 на Romeo для Edison и используйте Arduino IDE для

разработки вашей программы в соответствии с нашей вики. Если вам действительно нужна таблица сопоставления для разработки Intel XDK / Eclipse

, обратитесь на официальный сайт Intel (http://www.intel.com/content/www/us/en/support/boards-

and-kits.

alexxlab

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *