1. Главная страница » Компьютеры

Atmega168pa au как прошить

Автор: | 16.12.2019

Прошиваем микроконтроллер AVR.

Как и чем прошить avr микроконтроллер.

1)Прежде всего для прошивки микроконтроллеров Atmel AVR необходим программатор, например для прошивки через USB-порт такой — USB ASP Программатор микроконтроллеров ATmega AVR

2)Теперь нужно установить драйвера для вышеприведенного программатора

Для этого устанавливаем программу eXtreme Burner — AVR, в процессе установки она автоматически установит правильные драйвера

Скачать можно здесь eXtremeBurnerAV_LampCORE_ru

3) Дальше требуется соединить микроконтроллер с программатором , быстрее и проще это сделать с Беспаечная макетная плата MB102 и с проводами-радугой с типом наконечников Male to Male или если программатор без шлейфа с наконечниками Female to Male

Соединять в соответствии с картинкой , приведенной ниже(Это для микроконтроллеров ATMEGA8, у других мк смотрите соответствующую им распиновку!):

Если беспаечной платы и проводов-радуги нет — то можно напрямую припаяться к выводам разъема программатора и к ножкам микроконтроллера для прошивки.

Обратите внимание, что контакт 22 — GND находится напротив по другую сторону мс контакта 7 — VCC, исходя из этого не нужно отсчитывать ножки микросхемы, а просто соединить контакт напротив по другую сторону микросхемы соответственно.

Соединение без макетной платы и с помощью обычных проводов

Смотрим распиновку разъема программатора:

Паяем к микроконтроллеру в соответствии с распиновкой.

Удобнее паять таким паяльником — Паяльник GJ 907.

Или можно просто запихать в разъем шлейфа обычные провода, но при таком соединении возможен плохой контакт или его отсутствие.

Запускаем eXtreme Burner AVR , во вкладке Chip выбираем свой микроконтроллер(у нас ATmega8):

(Если при запуске у вас выдается сообщение — «не удается продолжить выполнение кода поскольку система не обнаружила libusb0.dll» то необходимо скачать и установить эти драйвера

вручную, запустив файл InstallDriver.exe )

Затем выбираем вкладку Read и нажимаем Flash(считать прошивку(на многих коммерческих устройствах устанавливают бит защиты от считывания))

(Если выдается ошибка Power On Failed

Cannot Communicate with Target Chip! значит , что какая или какие-либо ножки микроконтроллера не контактируют с программатором, логично проверить наличие контактов и исправить их отсутствие)

Flash — это прошивка

EEPROM — энергонезависимая память

Fuse Bits and Lock Bits — это настройка фьюзов, защиты, параметров микроконтроллера(например работать микроконтроллеру от внутренней частоты или от внешнего кварцевого резонатора, откуда брать опорное напряжение для АЦП и т.д.)

Если драйвера установлены, подсоединено всё правильно то имеем такой результат:

Мы считывали еще не прошитый микроконтроллер ATMEGA8, поэтому у нас будут считаны только нули(FFFF):

Попробуем прошить микроконтроллер

Прошивка микроконтроллера представляется в виде формата .HEX

Она мигает светодиодом на любом выводе D микроконтроллера ATmega, так как в прошивке задана установка всех портов D как выход.

Запускаем eXtreme Burner

Нажимаем Open и в файлах выбираем прошивку в формате HEX

Дальше должно быть так:

Для запуска прошивки выбираем вкладку Write(Запись) и нажимаем Flash, должен пойти процесс прошивки

Прошивка успешно завершилась:

Теперь считаем её

Жмем Read — Flash, получаем:

Как видно нули заменились другими цифрами и видно оставшееся пустое мето в памяти для прошивки.

Теперь отсоединим микроконтроллер от программатора и проверим работу прошивки на практике.

Собираем все по такой схеме:

Собрали, всё должно работать(светодиод мигает 2 раза в секунду):

Если светодиод не горит или наоборот горит постоянно — проверьте надежность контактов.

Внимание! Не вешайте напрямую нагрузку на ножки микросхемы с потреблением больше 25 мА!

Не подавайте на микросхему больше 5.5 Вольт.

Цикл перезаписи прошивки не бесконечен — есть определенный ресурс.Не стоит микроконтроллер использовать и перезаписывать как USB-флешку.

Прошиваем микроконтроллер AVR.

Как и чем прошить avr микроконтроллер.

1)Прежде всего для прошивки микроконтроллеров Atmel AVR необходим программатор, например для прошивки через USB-порт такой — USB ASP Программатор микроконтроллеров ATmega AVR

2)Теперь нужно установить драйвера для вышеприведенного программатора

Для этого устанавливаем программу eXtreme Burner — AVR, в процессе установки она автоматически установит правильные драйвера

Скачать можно здесь eXtremeBurnerAV_LampCORE_ru

3) Дальше требуется соединить микроконтроллер с программатором , быстрее и проще это сделать с Беспаечная макетная плата MB102 и с проводами-радугой с типом наконечников Male to Male или если программатор без шлейфа с наконечниками Female to Male

Соединять в соответствии с картинкой , приведенной ниже(Это для микроконтроллеров ATMEGA8, у других мк смотрите соответствующую им распиновку!):

Если беспаечной платы и проводов-радуги нет — то можно напрямую припаяться к выводам разъема программатора и к ножкам микроконтроллера для прошивки.

Обратите внимание, что контакт 22 — GND находится напротив по другую сторону мс контакта 7 — VCC, исходя из этого не нужно отсчитывать ножки микросхемы, а просто соединить контакт напротив по другую сторону микросхемы соответственно.

Соединение без макетной платы и с помощью обычных проводов

Смотрим распиновку разъема программатора:

Паяем к микроконтроллеру в соответствии с распиновкой.

Удобнее паять таким паяльником — Паяльник GJ 907.

Или можно просто запихать в разъем шлейфа обычные провода, но при таком соединении возможен плохой контакт или его отсутствие.

Запускаем eXtreme Burner AVR , во вкладке Chip выбираем свой микроконтроллер(у нас ATmega8):

(Если при запуске у вас выдается сообщение — «не удается продолжить выполнение кода поскольку система не обнаружила libusb0.dll» то необходимо скачать и установить эти драйвера

вручную, запустив файл InstallDriver.exe )

Затем выбираем вкладку Read и нажимаем Flash(считать прошивку(на многих коммерческих устройствах устанавливают бит защиты от считывания))

(Если выдается ошибка Power On Failed

Cannot Communicate with Target Chip! значит , что какая или какие-либо ножки микроконтроллера не контактируют с программатором, логично проверить наличие контактов и исправить их отсутствие)

Flash — это прошивка

EEPROM — энергонезависимая память

Fuse Bits and Lock Bits — это настройка фьюзов, защиты, параметров микроконтроллера(например работать микроконтроллеру от внутренней частоты или от внешнего кварцевого резонатора, откуда брать опорное напряжение для АЦП и т.д.)

Если драйвера установлены, подсоединено всё правильно то имеем такой результат:

Мы считывали еще не прошитый микроконтроллер ATMEGA8, поэтому у нас будут считаны только нули(FFFF):

Попробуем прошить микроконтроллер

Прошивка микроконтроллера представляется в виде формата .HEX

Она мигает светодиодом на любом выводе D микроконтроллера ATmega, так как в прошивке задана установка всех портов D как выход.

Запускаем eXtreme Burner

Нажимаем Open и в файлах выбираем прошивку в формате HEX

Дальше должно быть так:

Для запуска прошивки выбираем вкладку Write(Запись) и нажимаем Flash, должен пойти процесс прошивки

Прошивка успешно завершилась:

Теперь считаем её

Жмем Read — Flash, получаем:

Как видно нули заменились другими цифрами и видно оставшееся пустое мето в памяти для прошивки.

Теперь отсоединим микроконтроллер от программатора и проверим работу прошивки на практике.

Собираем все по такой схеме:

Собрали, всё должно работать(светодиод мигает 2 раза в секунду):

Если светодиод не горит или наоборот горит постоянно — проверьте надежность контактов.

Внимание! Не вешайте напрямую нагрузку на ножки микросхемы с потреблением больше 25 мА!

Не подавайте на микросхему больше 5.5 Вольт.

Цикл перезаписи прошивки не бесконечен — есть определенный ресурс.Не стоит микроконтроллер использовать и перезаписывать как USB-флешку.

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

А теперь по теме: я заметил, что некоторые участники направляют свои минусометы на пост "вопросов и ответов" по неизвестным мне причинам.. Но я догадываюсь, что скорее всего это происходит потому, что пост не несет им какой-либо полезной нагрузки и я их, конечно же, понимаю, но от помощи, пока есть люди, которым она нужна, мы отказаться тоже не можем, поэтому, по возможности, вместе с картинкой из рубрики я буду иногда добавлять под нее что нибудь полезное. Итак, попробуем..

Зачастую бывает ситуация когда вам нужно поставить в плату Arduino новый микроконтроллер ATmega328P, купленный, например, в Китае или радиомагазине. Но просто вставить чистый мк в плату нельзя, точнее можно, но пользы от него будет как с козла молока — загрузить какой-нибудь код через Arduino IDE как ни пытайся, не получится. А дело тут в том, что помимо самого мк, для Arduino нужно что бы в этом мк уже был зашит специальный код — так называемая программа-загрузчик (bootloader), более подробно о которой можно почитать, например, здесь: http://easyelectronics.ru/avr-uchebnyj-kurs-ispolzovanie-boo.

И тут встает вопрос прошивки чистого мк этой самой программкой, для последующего использования его в связке с Arduino..

К счастью, сделать это очень просто — вам понадобится сама плата Arduino, заметьте, с уже вставленным в неё "хорошим" оригинальным мк (на картинке отсутствует), кварцевый резонатор на 16МГц, макетная плата, чистый мк и 6-8 проводков.

По сути, плата Arduino будет выполнять роль обычного ISP-программатора.

Далее по пунктам:

1. Выбираем «Файл>>Примеры>>Arduino ISP»

2. Загружаем в нашу Arduino выбранный пример.

3. Далее «Сервис>>Плата» и выбираем тип платы для которой хотим записать загрузчик, в нашем случае — «Arduino UNO»

4. Далее «Сервис>>Программатор>>Arduino as ISP»

5. Подключаем наш ATmega328P согласно пинам из Arduino ISP

// pin name: not-mega: mega(1280 and 2560)
// slave reset: 10: 53
// MOSI: 11: 51
// MISO: 12: 50
// SCK: 13: 52

6. Между ногами 9 и 10, прошиваемого контроллера, подключаем резонатор номиналом 16 MHz

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

7. В меню сервис выбираем «Записать загрузчик».

Arduino начнет мигать лампочками и через некоторое время порадует нас сообщением об успешной загрузке bootloader-а в наш чистый мк. Все готово, теперь можно вынуть оригинальный мк из платы и вставить туда наш "свежеиспеченный" микроконтроллер, ну а оригинальный можно использовать, например, уже в конкретном проекте, где громоздкая отладочная плата Arduino больше не понадобится. Только перед этим, конечно, нужно не забыть обвязать этот мк необходимыми компонентами, схем подключения которых в сети большое количество.

На этом все, надеюсь кому-то эта информация будет полезной, всем добра и удачных компиляций! 🙂

Материал для поста был взят с сайта http://bigbarrel.ru/

Найдены возможные дубликаты

даа, давай пили) я сам столько всего хочу выложить да постоянно то одно, то другое, никак руки не доходят

Оу, очень интересно) ну все, ждем

и мой вопрос из предыдущего поста: кто знает о максимальном весе для беспилотников? протолкнули закон о 250 граммах или нет?

Вчера читал что подписали ограничение в 30 кг. Ссылку, увы, не сохранил.

Подтверждаю, тоже где-то читал что беспилотникам до 30 кг не нужно каких-то оформлений и прочего.

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

Как я понимаю "многозадачность" достигается отказом от функции Delay().

и с помощью millis() я их заставил таки работать независимо друг от друга.

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

я пробовал использовать millis() внутри цикла for(), вместо delay() , диоды загораются, но вполнакала и сразу.

кто занимается созданием плат с процессором ATmega? Нужен недорогой и рабочий вариант контроллера. Есть ардуинка, несколько модулей для нее и скетч рабочий, нужно все в одну плату соединить, но бюджет не больше 4,5 т.р /шт, и пока на очереди партия 6шт.

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

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

Искал схемы и разводку под самодельную ардуинку. Из годного нашел только nanino. Может у кого есть готовые lay файлы? Хочется протравить себе пару платок)

некоторые участники направляют свои минусометы на пост "вопросов и ответов" по неизвестным мне причинам

встречный вопрос: нафига тебе этот пост в горячем?! ВиО посты набирают

20 рейта, зато 100+ камментов, не это ли показатель востребованности?

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

Ну например я специально подписался на сообщество ардуино что бы минусить все посты в нем. И не потому что посты плохие, вовсе не в этом дело. Просто я считаю ардуино — наебкой века. "Мы взяли процессор и запихнули его в свою плату, что бы вы могли подключить нашу плату к макетке, вместо того что бы сразу впихнуть проц в макетку". А с тонны проектов которые выдаются за серьезные и идут на конкурсы, мой пукан вообще улетает в небеса.

Так что не принимайте на свой счет. Посты хорошие, люди говно. (Перефразировал: © Народ то у нас хороший, да только вот люди говно).

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

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

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

И да — попробуй воткни ATmega1280 в макетку.

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

Конечно, можете минусить, я понимаю, что мое мнение расходиться с общественным. Но тем не менее, на вопрос откуда минуса в посте я дал ответ, хотя и понимал, что словлю минусов.

На счет же машин, это не то же самое. Машину покупают в 99% для того что бы просто ездить с тем или иным уровнем комфорта, и абсолютно не важно из чего она состоит, главное что она цель свою выполняет. А в случае плат — ими занимаются те, кто разрабатывают "машины" для тех кто будет на них "ездить". Повторюсь, я не имею ниче против проектов кому к примеру нужно че нить простенькое что можно собрать без пайки и сразу пользоваться, когда найти проектировщика будет сложнее чем сделать самому на коленке за пол часа, но у меня дико подгорает когда появляются "проектировщики", которые делают на ардуино сложные системы и идут с этим делом на конкурсы. Если возвратиться к примеру с машинами, то это скорее так: проектировщик автомобиля вместо того что бы самостоятельно сделать хороший продукт, тупо заимствует уже готовые решения, которые осталось только соединить и вуаля. Ой простите, кажется я привел пример автоваза, с которого, напомню, подгорает у многих именно по этой причине.
Нет, конечно сборка из кусочков это то же работа и она то же требует умений, однако нужно понимать где что использовать, так например собирать компьютер по транзистору, естественно не будет иметь смысла, или в том же вазе с нуля разрабатывать модель руля для какой нить бюджетной линейки авто.

Читайте также:  Hi fi плеер с цап

Atmega168pa au как прошить: 1 комментарий

  1. Alex

    Ни хрена Ардуина Нано на 168Р не шьётся! Ни один программатор не имеет 168Р!!!!

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

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