059-Исправляем AVR фьюзы при помощи «Atmega fusebit doctor».

Автор: | 03.11.2010

Титл

Внимание ! Автор устройства не стоит на месте — постоянно усовершенствует своего «Доктора». За изменениями слежу и я, внося обновления в статью.
В статье описана самая стабильная версия Update №9. от 13.03.2011.
В конце статьи есть последняя версия и  архив со всеми старыми версиями «Доктора».

Хочу спросить у читающих мой блог — много ли у Вас скопилось микроконтроллеров с неправильно прошитыми фьзами и непригодными для дальнейшего использования? Я думаю, если Вы довольно продолжительное время работаете с микроконтроллерами, то у Вас были случаи неправильной прошивки фьюзов. Свои «запорченные» микроконтроллеры я складывал в специальную коробочку с надеждой на то, что когда-то, в будущем, соберу высоковольтный параллельный программатор и верну их к жизни. Но высоковольтный программатор как-то особо не хотелось собирать. Схема довольно наворочена, да и применение такого программатора разовое – оживить ошибочно прошитый микроконтроллер. Короче, всегда проще (и дешевле) было купить новый микроконтроллер. Так и хранились бы и дальше «мертвые» микроконтроллеры если бы не случилась странная штука – при изготовлении нового устройства (скоро выложу) перестали подавать признаки жизни, сразу две тини2313 без особых на то причин. Подозрение пало на то, что при прошивке были неправильно выставлены фьюзы. Новых, в SOIC корпусе, быстро достать не получалось, а схемку закончить чесались руки. Так как, я все равно собирался, когда то делать высоковольтный программатор, решил, что пришло время это сделать. Но высоковольтный программатор я так и не сделал, а сделал устройство специально предназначенное для исправления ошибочно установленных фьюзов.

Некоторое время назад, по ссылке geovas , я поглядел на устройство под названием «Atmega fusebit doctor». Автор — поляк Pawel Kisielewski. Так как схема этого устройства относительно несложная решил вместо высоковольтного программатора собрать «доктора». И не ошибся – устройство оказалось замечательным! Не могу не поделиться своими впечатлениями о «Atmega fusebit doctor», так как в этом проекте есть много вещей, которые я ценю.

Что интересного есть в «Atmega fusebit doctor»?
Как Вы поняли – это не совсем высоковольтный программатор. Это устройство предназначено только для одной цели – вернуть к «жизни» микроконтроллер с неправильно прошитыми фьзами.

Такими фьюзами могут быть:
— CKSEL фьюзы выбора задающего генератора (выбран внешний генератор при его отсутствии или выбрана очень маленькая частота внутреннего);
— SPIEN запрет последовательного программирования;
— RSTDISBL использование ножки сброса как дополнительной линии ввода-вывода;
— установленные LOCK биты;
— другие, мешающие последовательному программированию. Читать далее

058-Делаем STK500/AVRISP из USB-программатора USBtiny.

Автор: | 22.10.2010

Как Вы помните, ранее нами была перепрошита плата преобразователя UART to USB для того, чтобы получить USB программатор USBtiny. USBtiny у нас получился, он отлично работает под AVRdude, но хочется большего – использовать его еще шире! Автор AVRtiny, вероятно, задавался такой же целью. В результате им была написана программа позволяющая использовать USBtiny в режиме совместимости с STK500/AVRISP. STK500/AVRISP является общепринятым программатором, поэтому он будет поддерживаться в любой среде программирования.

В общем это работает следующим образом:

 

Блок-схема

Читать далее

057-Программируем AVR-микроконтроллеры USBtiny + AVRdude + SinaProg.

Автор: | 13.10.2010

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

AVRdude консольная программа, что, несомненно, является ее плюсом, так как позволяет очень гибко себя использовать. Но консольные программы не очень удобны, так как нуждаются в прописывании длинных строк-ключей для задания всех необходимых для программирования параметров (а некоторые, например фьюзы, предварительно нужно еще и высчитать). Частично эту проблему можно решить прописыванием батников под каждое устройство (что я и планировать, поначалу, делать), но теряется гибкость и очень сложно работать с ошибками. Решение этой проблемы — GUI — графические оболочки для AVRdude. Их существует немало! Но мне очень понравилась оболочка SinaProg.

SinaProg очень приятная в использовании программа. Я думал, что проще UniProf программатора быть не может. Oказывается — может! Не смотря на простоту и доступность SinaProg, автор сохранил всю гибкость AVRdude и возможность тюнинговать саму SinaProg под свой вкус (например, можно запросто русифицировать описание фьюзов, создать свои пресеты и т.д.). Программа портативна — работает с любого места (как я люблю :)). SinaProg уже имеет в своем составе AVRdude — отдельно устанавливать не нужно. Из недостатков, пожалуй, можно отметить размер программы — чуть больше 20мБт (10 в архиве). Читать далее

056-USB-программатор-легко! (USBTiny)

Автор: | 10.10.2010

ТитлНу вот и пришло время нам соорудить USB программатор. Я долго не мог определиться какой бы программатор нам собрать. Выбирал по критериям простоты конструкции и удобства работы с ними, но ничего не нравилось. Выбрать программатор помог случай. Вернее я его не выбирал вообще – я его случайно собрал сам того не подозревая!

А дело было так. Некоторое количество постов назад мы собрали преобразователь USB to UART на ATtiny2313 (а в прошлой статье мы даже улучшили печатную плату). Еще при выборе схемы преобразователя я планировал на его базе (при помощи заливки различных прошивок) получать устройства различного назначения. Тогда я не подозревал, что данный преобразователь можно использовать шире, чем я планировал. Увидев схему USB программатора — USBtiny на ATtiny2313 я понял, что я уже имею готовый программатор! Читать далее

055-UART to USB – простой преобразователь на ATtiny2313 (Версия 2).

Автор: | 01.10.2010

ТитлКак я уже писал раньше, спалил я дорожку питания на плате преобразователя UART-USB (на ATtiny2313) и, так как все равно решил травить новую, было принято решение внести изменения в разводку платы.

Что нового в измененной разводке?
1 Появился светодиод, светящийся при подключении к USB. Отсутствие какой либо индикации подключения очень напрягало.
2 Появилась возможность подтянуть ножку сброса к плюсу питания. Конечно, сброс можно подтянуть и внутренним резистором, но для очень «шумных» условий, я думаю, будет не лишним подтянуть внешним резистором (5-10 кОм).
3 Сделав плату немного шире, добавил к выходному разъему «землю» и плюс 5 вольт от USB. Если внешнее устройство необходимо будет запитать от USB, будет удобно это делать с одного разъема.
4 Ножки 11, 12, 13 выведены на отдельные площадки. Это сделано для того, чтобы плату можно было использовать как универсальную для различных устройств с использованием USB (термометры, даталогеры, устройства управления, сигнализации и т.д.).

Все остальное (прошивка, фьюзы, драйвер) осталось прежними.

Думаю не лишним будет еще раз описать процедуру установки драйвера и работу с преобразователем. Читать далее

054-Выпаиваем SMD компоненты.

Автор: | 24.09.2010

Случилась тут на днях одна неприятность – спалил дорожку питания на плате преобразователя UART-USB (на ATtiny2313). Пришлось сгоревшую дорожку заменить проводком-перемычкой. Вроде бы и работает все как надо, но этот проводок меня начал раздражать. Решил под это дело обновить платку преобразователя, так сказать проапгрейдить до версии №2. А раз микроконтроллер цел его можно выпаять и переставить на новую плату. Так как я, много постов назад, в статье про пайку SMD компонентов, обещал показать, как их выпаивать, то, заодно, и выполню свое обещание.

Отпайка (desoldering) SMD компонентов.
Конечно же, для отпайки SMD компонентов лучшим инструментом является фен, но за неимением фена приходится выкручиваться подручными средствами. Способов существует множество, начиная от изготовления специальных насадок на паяльник (чтоб греть все ножки одновременно), применения слюды, химического травления и заканчивая экзотическими методами, вроде прогрева платы вплотную приставленным мощным прожектором. В большинстве своем эти методы не отличаются особой гуманностью к плате и дорожкам. Они безбожно перегреваются и становятся плохо пригодными к повторному применению.
Для себя я выбрал способ, максимально щадящий как для платы и дорожек, так и для отпаиваемых компонентов. Кроме того, для этого способа не нужно каких-либо особенных материалов или технологий. Читать далее

053-Практичный шнур для применения в электронных проектах.

Автор: | 16.09.2010

ТитлСегодняшняя статья будет о том, как сделать надежный кабель для отладки устройств на макетных платах.
Как, наверное, и Вы я часто использую в своих проектах штыревые разъемы типа PLS. Они очень удобны для применения, так как имеют стандартный шаг, можно устанавливать штырьки в любом количестве и в любом месте платы. Я таким способом даже программатор подключаю. Для соединения плат между собой я использую разъемы типа BLS припаянные к кабелю. Если платы нужно соединить большим количеством линий, то удобно для этого использовать шлейф. Но если линий мало и необходимо подключаться в разные точки платы (как программатор, например) шлейф становиться непрактичным, тонкие проводки быстро ломаются от частого использования, а изоляция плавится от случайных прикосновений паяльника.

Нужен кабель для UART?

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

052-Как запустить неработающий часовой кварц (32768 Гц).

Автор: | 09.09.2010

Титл
Казалось-бы, банальное дело, запустить часовой кварц. Какие могут быть проблемы? Есть микроконтроллер и две его ножки, которые специально предназначены для подключения кварца. Есть часовой кварц. Припаять кварц – дело двух секунд. Еще минута нужна для того, чтобы добавить пару строк инициализации таймера в программу. Вот вроде и все. НО, после того как я три дня запускал этот долбанный часовой кварц, я понял, что вопрос не так прост, как я думал.

А предыстория была такой. Друг попросил меня сделать ему простые часики, без наворотов, на 7-сегментных индикаторах. Плевое дело. Микроконтроллер был взят ATmega48 (умеет работать с часовым кварцем), быстренько написана программа, вытравлена печатка. После сборки часов и отладки программы (динамическая индикация, кнопки и т.д.) дошла очередь до часового кварца. До этих часиков я уже пару раз применял часовой кварц в своих проектах и ничего не предвещало беды :), но случилось непредвиденное – часовой кварц наотрез отказался запускаться. Вообще!
Читать далее

051-Демострация: 049-Драйвер линейки 7-сегментных индикаторов на ATtiny13 (бегущая строка).

Автор: | 02.09.2010

Ранее я описал устройство вывода — драйвер линейки 7-сегментных индикаторов. В этой статье я покажу, как работает данное устройство «в живую», предложу возможные применения данного девайса и приведу несколько примеров.

Для начала
НЕМНОГО ОБ ИСПОЛЬЗУЕМЫХ КОМПОНЕНТАХ ЛИНЕЙКИ

Для демонстрации работы устройства я выбрал дюймовые индикаторы, 6 зелененьких и 2 красненьких :).

Читать далее

050-Как собрать электронное устройство с блога GetChip.net? Пошаговая инструкция.

Автор: | 12.08.2010

Я осознаю, что формат блога не очень способствует упорядочению материала, и так как я не собираюсь менять формат ресурса, то, чтобы как-то скомпенсировать этот недостаток решил делать что-то вроде «реперных точек-статей».
Эта статья призвана объединить разбросанную по блогу информацию о том, как самостоятельно собрать электронное устройство. Итак если Вы нашли в блоге GetChip.net интересное устройство и хотите его повторить то,

ДЛЯ СБОРКИ УСТРОЙСТВА ВАМ ПОНАДОБИТСЯ: Читать далее