Отключаемые счетчики электроэнергии на пульте. Все с документами пломбами, гарантией и без посредников!

Микроконтроллеры AVR для начинающих – 2

Микроконтроллеры AVR для начинающих – 2

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

Итак, после первой части статьи микроконтроллер у нас есть, теперь нам нужен программатор. Программатор советую собирать так называемый STK-200, состоит он всего лишь из одной микросхемы, данный программатор будет лучше чем PonyProg. У пони прога есть единственный плюс (а может быть и минус), он не дает запрограммировать некоторые фьюзы, которые иногда еще называют опасными (например RSTDSBL, DWEN, SPIEN). Если случайно запрограммировать такой опасный фьюз, то вы отключите возможность пользоваться ISP программатором, МК заблокируется, для восстановления МК нужен будет параллельный программатор (высоковольтный).

Пользоваться программаторами типа “5 проводков” не рекомендую, есть облегченный вариант программатора STK-200, который так-же построен на нескольких проводках, собирать его я так же не рекомендую, по той причине, что таким программатором очень легко спалить LPT порт, для сравнения – COM порт спалить в разы труднее. Да и потом, программируя “5ти проводками” можно случайно замкнуть эти провода между собой, спалить МК или опять же порт. Использование буферного повторителя в микросхеме улучшает крутизну фронтов сигнала, а так же бережет LPT порт, от случайных КЗ и перенапряжений.

Ниже представлена схема программатора STK200

Как видите, схема очень простая, построена всего лишь на 1 микросхеме, отечественный аналог этой микросхемы КР1533АП5. В схеме присутствуют 3 светодиода: питание, чтение, запись. Длина соединяющих проводов должна быть как можно короче.

На фото, на плате программатора присутствует кварц и конденсаторы. Кварц нужно ставить на 4 мГц, конденсаторы на 15-15 пФ, два штырька рядом со светодиодами на плате, используются для подачи питания, 5 вольт. Если вы будете собирать переходник, то питание подается с платы переходника, т.к. там стоит "кренка" на 5 вольт, она защитит микроконтроллер и схему от переполюсовки или превышения напряжения.

Собранный программатор выглядит вот так:

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

Ниже в архиве прикреплены все файлы для изготовления программатора, схема, печатная плата программатора и переходника для ATmega8/48/168, ATtiny2313, фотографии.

Для того чтобы проверить работает ли наш программатор, подключаем его в порт LPT, кликаем правой кнопкой мыши на значке “Мой компьютер”, в появившемся списке выбираем “диспетчере устройств”, откроется окошко, кликаем обновить конфигурацию оборудования и на программаторе моргнут светодиоды чтения/записи. Кстати, питание берется от внешнего источника, а не с LPT порта, будьте внимательны.

Главным преимуществом параллельного программатора является способность восстанавливать некоторые неправильно установленные биты. После этого интерфейс ISP отключается, и при программировании последовательным программатором в таких случаях выдается сообщение об ошибке.

Выбор программы и прошивка микроконтроллера

Популярными программами для записи программы в МК являются PonyProg и CodeVision AVR. Я пользуюсь Code Vision AVR (далее CVAVR), но рассмотрим мы обе программы. В принципе, можете пользоваться любыми другими программами, только запомните одно очень важное замечание, в разных программах фьюзы могут выставляться по разному, т.е. зеркально.

В первую очередь подключаем программатор в нужный нам порт, только сначала ставим микроконтроллер в панельку. Питание подавайте после того, как программатор будет подключен к порту. Для того, чтобы запрограммировать микроконтроллер нам нужны файлы прошивки, файл с расширением .hex, в некоторых проектах используется еще файл EEPROM .eep. (электрически изменяемая память данных, в нем хранятся различного рода константы).

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

Прошивка микроконтроллера с помощью PonyProg

1) Скачиваем и запускаем программу PonyProg, появится окошко (возможно проиграется звук), нажимаем ОК.

2) Далее в списке микроконтроллеров нужно выбрать наш МК, кликаем меню “Устройство”, затем выбираем AVRmicro -> ATmega8.

3) Далее, нам нужно выбрать файлы прошивки, для этого кликаем Файл -> Открыть файл программы (FLASH)… Откроется окошко, где нам нужно выбрать наш файл прошивки с расширением .hex.

4) В окошке не забываем в списке выбрать нужное нам расширение файла, иначе файл прошивки не обнаружится.

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

5) Теперь точно также нужно выбрать файл прошивки EEPROM с расширением .eep, если конечно он нужен и прилагается.

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

6) Кликаем Установки -> Настройка оборудования. Все настройки выставляем как на рисунке ниже, затем нажимаем кнопку “Проверка” – должно выйти окошко “Тест ОК”

Если этого не произошло и вышла окошко с надписью “Тест ОШИБКА”

Кликаем правой кнопкой мыши на значке “Мой компьютер” и выбираем “Диспетчер устройств” или можно зайти в Панель управления -> Система -> Оборудование -> Диспетчер устройств.

Появится такое окошко, в списке находим Порты (COM и LPT ), кликаем правой кнопкой мыши на нем и нажимаем “Обновить конфигурацию оборудования”

Затем закрываем окно, и возвращаемся к PonyProg, повторяем пункт 6, нажимаем “Проверка”, должно выйти окошко с надписью “Тест ОК”.

7) Нажимаем “ОК”, далее переходим в меню Установки -> Калибровка, нажимаем Yes.

Выйдет сообщение об успешно проведенной калибровке, нажимаем ОК

8) Сейчас нам нужно будет выставить фьюзы, если в вашей конструкции фьюзы не выставляются, переходите к следующему пункту. Кликаем Команды -> Security and Configuration Bits… откроется окошко для установки фьюзов

Ставим строго те галочки, которые нам нужно, для моего проекта нужно выставлять следующие фьюзы: BOOTSZ1, BOOTSZ0, BODEN, CKSEL3, CKSEL2. Затем нажимаем ОК. Фьюзы при программировании нужно выставлять только те, что указано, если запрограммируете ненужные вам фьюзы, МК может залочиться, разблокировать его потом будет очень сложно, нужен будет более сложный программатор чем наш, будьте внимательны! Записывать программу в МК можно без выставления фьюзов – заработает затем устройство или нет, это другой вопрос, если даже и заработает, может очень сильно тормозить, или будет работать частично, это ничем не грозит, МК лочится только после неправильно выставленных фьюзов. В некоторых проектах могут использоваться фьюзы, которых может не оказаться в PonyProg, например SPIEN, этот фьюз отключает возможность внутрисхемного программирования, поэтому во многих программах не показывается специально, чтобы вы случайно его не установили.

9) Теперь все готово, и можно прошить микроконтроллер, нажимаем Команды -> Записать все. Если вы еще не передумали, то в окошке которое вышло, нажимаем “Yes”, и начнется процесс записи и проверки.

После чего выйдет сообщение об успешном завершении операции

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

10) Если спустя какое то время вам захочется сменить прошивку, или использовать МК для другого проекта, то снова вставляем его в программатор, подключаем тот к ПК, открываем программу, кликаем Команды -> Стереть, программа сотрет все данные с МК.

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

Что касается программы PonyProg, в разных версиях свой список устройств, если в вашей версии программы вы не можете найти в списке МК скажем ATmega32, скачайте другую версию.

В следующей статье рассмотрим прошивку МК с помощью программы CodeVision AVR а так-же рассмотрим часто возникающие ошибки и проблемы связанные с МК, постараемся их решить Скачать печатные платы для программатора

Автор: Романов А.С (г. Чебоксары)


Категория: Микроконтроллеры
Метки:

Написать коментарий

*
= 4 + 3

Добавить изображение

Последние статьи