Логотип

Простой программатор для прошивки AVR контроллеров

Простой программатор для прошивки AVR контроллеров

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

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

Сейчас на рынке можно найти много разных микроконтроллеров с разрядностью от 8 до 64 бит. Более того в России тоже есть свой 8-разрадный микроконтроллер КР1878ВЕ1 выпускаемый заводом «Ангстрем». Но если присмотреться к этому изобилию по лучше, то оказывается, что достойную и не дорогую, а то и вообще бесплатную, поддержку осуществляют не многие. И из всего изобилия на настоящий момент остаются две компании Atmel (AVR) и Microchip (PIC). А если копнуть по глубже, то для реализации подавляющего большинства радиолюбительских проектов хватит и 8-ми битных микроконтроллеров.

Так все же с какого контроллера начать? По моему мнению для начала лучше всего взять ATmega8 в PDIP корпусе. Этот AVR контроллер оснащен практически всей возможной периферией, обладает достаточным количеством памяти, может работать в большом диапазоне частот (до 16МГц) и имеет три порта ввода/вывода. Также AVR микроконтроллеры выгодно отличаются от PIC тем, что используют расширенную систему команд, 32 регистра общего назначения и RISC ядро выполняющее большинство команд за один такт. А еще процессоры AVR хороши тем, что для их программирования, по большому счету, вообще не нужен программатор для них нужно всего «пять проводков».

А что же еще нужно для начала изучения микроконтроллеров? Еще, чтобы не делать разные платы, лучше приобрести гнездовую макетную плату, сделать несложный программатор, о котором мы поговорим дальше и установив две программки на старенький компьютер, вооружившись разной литературой, например М.Б Лебедев «CodeVision AVR пособие для начинающих», начать постигать азы программирования.

Почему «старенький» компьютер? Потому что, во-первых, в топовых моделях компьютеров LPT порт отсутствует как класс, а чтобы сделать USB программатор, надо уже иметь возможность прошивать микроконтроллеры, а во-вторых, простая, но достаточная программа, работающая с этим программатором работает только под ХР. Хотя прогресс не стоит на месте и может уже есть программы, которые заточены под Windows 10.

PonyProg для работы программатора и CodeVision AVR для написания программ можно свободно скачать в инете, а разобраться в них вообще никакой сложности не представляет.

Но вернемся к программатору. STK200-300 своей схемой не далеко у шел от «пяти проводков». Но так как «пятью проводками» спалить LPT порт как нефиг делать, то чтобы не случилось беды были приняты меры по установки буфера между портом и программируемым микроконтроллером. Этим буфером послужила SN74HC244N на Руси известная как КР1564АП5.

Схема STK-200-300

В этой схеме программатора нет ничего сложного и она не сильно отличается от классической схемы, вдохновившей меня собрать это устройство. Резисторы R1…R6 можно не устанавливать. Но мне с ними спокойней. Когда я делал этот программатор я еще не умел обращаться с планарными элементами и поэтому реализовал свой программатор на выводных, да еще и микросхему вставил в панельку, чтобы ее можно было быстро заменить если сильно накасячу и умудрюсь спалить.

Вот фотграфии этапов сборки.

Детали программатора

Детали программатора

Устройство LPT разъема

Устройство LPT разъема

Устройство программатора

Устройство программатора

Работа программатора

Работа программатора

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

Маркировка разъемов подключения

Маркировка разъемов подключения

Ну а если по каким-то причинам специальные разъемы на плате сделать не удается всегда можно подпаяться к ножкам контроллера.

В прилагаемых файлах схема в формате .spl7 и плата в формате .lay6. Также если есть желаняе сделать этот программатор с помощью планарных элементов, то можно посмотреть реализацию на сайте "Easy Electronics", или еще один радикальный способ здесь.


31.01.16


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


Приложение:
Скачать схему и плату.