Авторизация
Регистрация

Напомнить пароль

avatar
RSS блога Подписка

Atmega8A в корпусе TQFP-32 прошивка через Arduino ISP

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

В обзоре будет описана возможность использования Arduino в качестве программатора далее по тексту Arduino ISP. Кому интересно, прошу под кат.

Наигравшись с различными модулями к Arduino, у меня возникло желание создать полноценное устройство, которое будет полезно в повседневной жизни.
Случайно наткнувшись в интернете на проект Эмулятор домофонных ключей iButton/Cyfral/Metacom — ibutton от ClusterM, решил попытаться его повторить.

Прочитав описание проекта, были сформулированы основные для меня проблемы или как принято говорить подводные камни:
— Создание печатной платы;
— Прошивка микроконтроллера Atmega8A в корпусе TQFP-32.

До этого я не вытравил ни одной платы и прошивал только встроенный в Arduino микроконтроллер в корпусе DIP.

Atmega8 в корпусе TQFP-32 помимо достоинств, таких как более низкая цена и меньший размер по сравнению с DIP, имеет и недостаток — это неудобство прошивки микроконтроллера и более сложный монтаж на плату.

Устранить первый недостаток можно различными способами:
— Приобрести переходник TQFP32 TO DIP32, который имеет механизм зажима. Стоимость около 1 тыс. рублей;
— Приобрести переходник TQFP32 TO DIP32, который не имеет механизма зажима, рассчитан на припаивание микроконтроллера. Стоимость около 100 рублей за 5 штук;
— Сделать печатную плату-переходник TQFP32 TO DIP32 своими руками;
— Припаять тонкие провода к нужным ножкам и отпаять после прошивки.

Выбрав предпоследний вариант, чтобы не ждать еще месяц доставки, я приступил к созданию печатной платы по методу ЛУТ. Информации и роликов в интернете о данном методе очень много и каждый без труда сможет повторить его дома. Вытравив плату в хлорном железе и припаяв штырьки, получился вот такой переходник:



Исходные файлы для Sprint Layout, можно скачать здесь.

Припаиваем Atmega8 феном или паяльником. Можно «прихватить», только 8 ножек, которые участвуют в прошивке. Не рекомендую использовать различные зажимы или «колхозить» с прищепками.

Подключаем Arduino Uno к компьютеру по USB и загружаем скетч Arduino ISP. Компилируем и прошиваем Arduino Uno. В комментариях, есть подсказка по подключению для прошивки через Arduino ISP, нам потребуются пины MOSI, MISO, RESET, GND, GND, VCC, VCC, SCK.

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




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



Для прошивки будем использовать консольную утилиту avrdude:

avrdude -p m8 -P USB15 -c arduino -b 19200 -U lfuse:w:0xE4:m -U hfuse:w:0xDA:m -U flash:w:main.hex


где -p m8 — Прошиваемый микроконтроллер в нашем случаи Atmega8;
-P USB15 — Имя порта, под которым опеределяется программатор Arduino ISP;
-с arduino — Тип программатора;
-b 19200 — Скорость USB порта;
-U flash:w:main.hex — Прошивка;
-U lfuse:w:0xE4:m -U hfuse:w:0xDA:m — Фьюзы.

После успешной прошивки, можно дополнительно сравнить код на flash с исходным hex файлом:

avrdude -p m8 -P USB15 -c arduino -b 19200 -U flash:v:main.hex


Если у Вас нет в наличии Arduino, то в качестве дешевого программатора, можно использовать USBasp. Его стоимость порядка 100 руб.

В заключении, продемонстрирую фотографии устройства, которое я собрал по проекту ClusterM.

Фотографии




Особенности:
— Эмуляция iButton/Cyfral/Metacom;
— Считывание iButton/Cyfral;
— Синхронизация базы ключей с компьютером по USB;
— Компактный размер платы;
— Низкое энергопотребление, автор проекта сообщал, что от одного комплекта батареек устройство работает около года;

Моя кошка
Планирую купить +25 Добавить в избранное
+37 +59
свернутьразвернуть
Комментарии (79)
RSS
+
avatar
+1
> Компактный размер платы;
Ну, можно и меньше.
Но вот винт под «таблеткой» как-то вид портит. :)
А вообще, конечно, подобные статьи (ибо это уже не обзор товара) более уместны на easyelectronics, geektimes / habrahabr, etc…
+
avatar
+3
  • mcshel
  • 05 мая 2015, 08:28
Винт под таблеткой нужен для считывания с ключей. Центр ключа на винт, а корпус к корпусу.

Коробку под проект нашел только такую, меньших размеров у нас видимо в городе не продают или я плохо искал)
+
avatar
+1
  • Xizel
  • 05 мая 2015, 12:41
А сколько максимально можно чипов загнать?
+
avatar
+2
  • mcshel
  • 05 мая 2015, 12:53
Наверно имелось ввиду ключей в памяти. Из-за «диспеля» в 1 семисегментник из 7 SMD светодиодов. Можно сказать что 9 ключей. Но вообще у микроконтроллера 8Кб памяти, так что влезет много.
+
avatar
0
  • Xizel
  • 05 мая 2015, 16:41
Только как их переключать если много. Я так понял что индикация толькр 9 ключей.
+
avatar
0
  • mcshel
  • 05 мая 2015, 17:40
Я точно исходный код не помню, надо пересмотреть. Можно сделать еще один светодиод, который будет обозначать десятки, т.е. выбранное число > 9. Думаю 99 всем хватит)

Можно хоть дисплей подключать, но вся проблема в энергопотреблении. Не думаю, что с OLED дисплеем проработает год от таких батареек.
+
avatar
+12
Иногда лень делать плату, да и долго. И тогда делаю так:

А потом заливаю готовое термоклеем. Получается компактнее. Очень часто от атмеги бывает нужно два-три вывода, не больше, и кварц не всегда нужен. Пайка держится крепко, отрывается только с ногами, проводки от IDE шлейфа. Сначала ставлю микруху на площадку, заливаю скеттч, потом пайка.
P.S. Оно потрёпанное и с оторванными ногами потому, что котэ поигрался.
+
avatar
+6
Хватит ныть, нормальный обзор, всяко поинтереснее ваших обзоров.
+
avatar
+3
  • yurok
  • 05 мая 2015, 08:27
По моему, из всех вариантов выбран самый не технологичный ). Если уж планируете работать с данной версией контроллера, то можно приобрести за 900 руб https://aliexpress.com/item/item/Free-shipping-Universal-IC-Adapter-Socket-LQFP-TQFP-QFP-32-to-DIP-28-TQFP32-QFP32-to/1861890028.html, у меня именно такой. Многократная пайка smd на одни и те же дорожки ни к чему хорошему не приведет. Про прошивку тема не раскрыта что за прошивку выбрали, какие фьюзы ставили и зачем. Да и про само устройство можно было бы подробнее как им пользоваться и тп, зачем оно простому человеку ). За выбор сложного пути и кропотливую работу руками +. Про ЛУТ можно было бы чуть подробней все его едят по своему, что используете Вы, какую бумагу, какую температуру и тп
+
avatar
+4
  • mcshel
  • 05 мая 2015, 08:31
Проект описан на github ClusterM — github.com/ClusterM/ibutton там и прошивка есть и про фьюзы информация.

По поводу ЛУТ'а выходит за рамки этого обзора. Про переходник, мне кажется это не целесообразно платить 900-1000 руб для того чтобы мне прошить 1-2 микроконтроллера.
+
avatar
+2
  • yurok
  • 05 мая 2015, 08:42
посылать пользователя на github чтобы узнать что вы делали, по моему, не лучший вариант. Впрочем как хотите. Про Лут под спойлером особенности использования Вами — вполне бы вписался. Есть кстати еще один вариант прошивки — в вашем готовом устройстве предусмотреть возможность цепляться к данным пинам и все
+
avatar
+1
  • mcshel
  • 05 мая 2015, 08:54
Просто не хотел раздувать статью. Про хорошее видео про ЛУТ под катом, думаю Вы правы.
+
avatar
0
  • yurok
  • 05 мая 2015, 09:09
лучше не хорошее видео, ссылку на него конечно можно, лучше про то с какими трудностями столкнулись именно Вы и как их решили, что конкретно использовали и как и с какими результатами, тоже самое и про устройство — вам понадобилось для таких-то целей, проект взят там-то — такие то отличия
+
avatar
+14
  • Motto
  • 05 мая 2015, 09:18
Муська медленно, но верно превращается в филиал Хабра. :-)))
+
avatar
+4
  • metal
  • 05 мая 2015, 11:38
Так это ж не плохо, имхо…
+
avatar
+1
Неплохо, но не тут.
Смотрите, товар — Atmega за $0.99, но в «обзоре» «будет описана возможность использования Arduino в качестве программатора далее по тексту Arduino ISP.»
Это всё же согласитесь, немного не «обзор товара».
А сайт, напомню, "— место, где люди обмениваются впечатлениями от покупок, сделанных в различных интернет-магазинах".
+
avatar
+8
А, давайте оставим эти заботы для администрации сайта, она и будет решать чему тут место, а чему нет.
p.s.Я не понимаю, вы, что завидуете, что сами ничего хорошего написать не можете? :)
+
avatar
+3
  • zair
  • 05 мая 2015, 09:55
Не совсем понял, а почему через Ардуину? Есть ведь USBasp программатор за 1.5$ который замечательно шьет семейство Atmel… К тому же софт для него есть родной и в репозиториях и для винды.

Попробуйте. Облегчите себе жизнь.
+
avatar
+2
  • BestMC
  • 05 мая 2015, 10:16
Наш народ не ищет легких путей)
+
avatar
+3
  • mcshel
  • 05 мая 2015, 10:28
В статье я написал про этот замечательный программатор. Но он есть не у всех и иногда не хочется ждать месяц доставки.
+
avatar
+1
ардуина тоже как-бы не у всех есть ;) на этот случай есть avreal, представляющий из себя 5 проводов на LPT-порт. правда, к сожалению, и LPT порты уже не у всех есть :(
+
avatar
+1
  • mcshel
  • 06 мая 2015, 16:15
Я исходил из того, что было в наличии у меня. Конечно проще всего купить USBasp, но когда занимаешься каким-то проектом и тебе нравится, ждать 20-40 дней мучительно больно) А так через Arduino можно быстро прошил.
+
avatar
0
согласен, каждый выбирает наиболее оптимальный ДЛЯ СЕБЯ метод.

просто разумным было бы и приобратение программатора одновременно с микросхемой. тут время ожидания микрухи и программатора были бы примерно одинаковыми, и лишнего ожидания бы не было.
+
avatar
0
  • old
  • 21 февраля 2018, 07:18
«ждать 20-40 дней мучительно больно» — а зайти в ближайший (интернет) магазин и купить на родине религия не позволяет
+
avatar
+1
[Не по теме ] Ох, я бы таких эмуляторов на фонарях развешивал, за ноги… Подъезд превращается в проходной двор и филиал туалета с рекламной площадкой. Правильно я на ironlogic защищенный перевел все свои домофоны.
[По теме]. Товарищ автор, а можешь разработать устройство для логирования нажатий клавиш домофона? Какая квартира вызывалась в определенное время, с подключением к ПК?
+
avatar
+3
  • mcshel
  • 05 мая 2015, 10:27
Устройство не для взлома домофонов, а для использование одного устройства, вместо нескольких ключей, чтобы не таскать их с собой.

У меня 1 ключ от дома, 2 от работы. Теперь только 1 устройство.

Про устройство, думаю это не сложно, но у меня опыта мало. Даже данный проект я повторил, а не разработал.
+
avatar
+5
Чем не угодили эмуляторы и их владельцы?
Эмулятор не откроет же все двери (про «проходные» коды умолчим), он только избавит от кучи физических ключей.
Я очень надеюсь, что люди, способные сделать такое, уже не мочатся в подъездах…
А подъезд превращается «в филиал туалета» чаще всего из-за подростков, которые в нём собираются (и, к слову, приходят к детям тех же жильцов).
+
avatar
0
  • klloo
  • 05 мая 2015, 14:00
А зачем молчать о «проходных» кодах.
Именно это и вызывает недовольство.
А те люди, которые способны такое делать, хоть и не мочатся в подъездах, но продают свои изделия тем, кто откровенно там гадит.
Жильцы поставили замок, эмулятор это фактически отмычка.
Интересно как можно относиться к магазину торгующими отмычками ???
+
avatar
+5
> эмулятор это фактически отмычка.

Эмулятор — это дубликат ключа, ибо так же делается с оригинала.
Жильцы сами, каждый самостоятельно, в праве решать — кто к ним приходит, и как. В том числе — давать ключ. Если они кому-то сделают дубликат за 100 руб. в ближайшем «ларьке» — Вы тоже скажете, что это отмычка? С чего Вы вообще это взяли? Человек явно написал: «один от дома, два — от работы».
Да даже если бы от друзей.
Никто кроме суда, не имеет право препятствовать гражданам распоряжаться своим имуществом, в том числе — доверять это управление другим лицам.
А порядок в подъездах (клозетах, мозгах) надо наводить иначе…
+
avatar
0
Просто ради интереса хочу спросить, почему бы в готовом проекте не предусмотреть разводку с процессора дополнительных площадок (reset, MOSI, MISO, SCK) куда разово подпаивать программатор?
+
avatar
0
Присмотритесь- они разведены. Ресет выведен на пад, А остальные на падах светодиодов. До впайки светодиодов можно легко подпаяться программатором.
+
avatar
0
  • ufaman
  • 05 мая 2015, 11:56
Вот и я сначала запаиваю процессор на плату, а потом через разъём ISP программирую.
+
avatar
0
  • mcshel
  • 05 мая 2015, 12:41
Проект предполагает прошивку через USB для этого в контроллер прошивается bootloader и нужные фьюзы.
+
avatar
+1
Так согласитесь, что бут проще на родной плате прибора прошивать, чем ваять для этого еще одну плату. Посмотрите, на вашей плате эмулятора есть пятачок к 29 ноге. Как думаете, зачем он там? Изначально плата эмулятора заточена под то, что впаяв только атмегу, вы можете прошить ее первоначально прямо на месте, хоть бут, хоть всю прошивку, подкинув только шесть проводков. Места для подпайки на плате есть.
+
avatar
0
  • mcshel
  • 05 мая 2015, 17:42
Спасибо за замечание, надо будет более подробнее разобраться.
+
avatar
0

Вот, прошил прямо на этой платке. Точек подключения достаточно.
+
avatar
0
  • mcshel
  • 09 мая 2015, 12:54
Думаю данный метод подходит, для тех у кого нет фена. Тогда действительно лучший вариант или проводками. Вы тоже решили повторить проект кластера?
+
avatar
0
  • zinsas
  • 20 мая 2019, 14:46
Подскажите пожалуйста, через какой программатор прошиваетесь? Сам пробую через avr mk2. Мк не видится.
+
avatar
0
Через USPasp вроде шил. Давно это было.
+
avatar
0
На конечной плате можно сделать пятаки под ISP и к ним припаиваться. Если собираетесь много раз прошивать, отлаживать, то лучше гребёнку впаять. А впаивать и выпаивать SMD с 32 ногами по четырём сторонам, чтобы сразу же выпаять как-то геморно.
+
avatar
+4
  • TRAViS
  • 05 мая 2015, 11:30
можно сделать проще

залили прошивку и пошел паять
+
avatar
+1
  • mcshel
  • 05 мая 2015, 12:40
Да, но не всегда бывает контакт. Я первый раз так же прищепкой зажал не прошилось. Прихватил паяльником и тогда все норм.
+
avatar
0
  • TRAViS
  • 05 мая 2015, 12:52
слабенькие у вас прищепочки. а вообще, думаю, можно разок подшаманить контактные площадки «понажористее», да поровнее. тогда прилегать должно исправно. ну только если контакты на микрухе не врастопырку
+
avatar
+1
  • mcshel
  • 05 мая 2015, 13:13
Просто намучился уже с прищепками. У меня контроллер был виден, а после прошивки ошибка типа контрольная сумма не совпадала. так же видел видео на youtube, где у человека проблемы с переходником за 900-1000 руб. были.
+
avatar
0
  • mcshel
  • 05 мая 2015, 12:43
Del
+
avatar
+1
  • mcshel
  • 05 мая 2015, 12:45
Проект предполагает прошивку через USB для этого в контроллер прошивается bootloader и нужные фьюзы. Я все делал в первый раз поэтому описанные действия не претендуют на самые правильные.
+
avatar
+2
  • Dim32
  • 06 мая 2015, 08:49
Такой девайс никто не пробовал?

+
avatar
0
забавная штука. погопины видел, а чтобы вот так вот корпусировать — не встречал. где покупается?
+
avatar
+1
Вот, навскидку, ebay.com/itm/261566993526

+
avatar
0
  • mcshel
  • 07 мая 2015, 05:33
Прикольная штука, но как-то не дешево если нужно прошить 1-2 контроллера. Скорее это для людей, которые прошивают по 100-300 в день.
+
avatar
0
Сорри за небольшой оффтоп. Нужен такой же вот переходник с гребенкой, только не tqfp32, а под чип bga48.
В продаже нигде не нашел, а как самому сделать (в частности разводку под чип) пока не придумал. Может у кого есть идеи?
+
avatar
0
В домашних условиях- только проводками каждый пин отдельно распаивать. Вот такой адаптер еще в поиске вылазит.
+
avatar
+1
Т. к. по при переходе по ссылке выдаётся вот это:

скопирую:
+
avatar
0
В продаже нигде не нашел
www.proto-advantage.com/store/product_info.php?products_id=4000014
+
avatar
0
Но цена…
+
avatar
0
bga54, а нужен bga48 (6x8)
+
avatar
+1
а как самому сделать (в частности разводку под чип)

+
avatar
0
Видать я неправильно немного выразился, проблема не в самой разводке (что куда), а как её развести.
Для ЛУТа по-мне вроде как мелковато (внутренняя часть, что под чипом), а ничем другим пока не пользовался.
Но за картинку спасибо, сохранил.
+
avatar
0
энтузиасты ЛУТом получают 0.2/0.2, всё что мельче — это уже фоторезист и прочие профессиональные штуки.
+
avatar
0
Опять же bga54, а нужен bga48 ;)
+
avatar
0
Я собирал такой же переходник на DIP, спокойно держится, если сверху прижать
+
avatar
0
  • mcshel
  • 05 мая 2015, 19:41
А как вы добиваетесь, чтобы сам микроконтроллер не съехал с дорожек?
+
avatar
+1
Облуживать нужно так площадки, что бы полуда не образовывала горочки. Можно химическим оловом, можно сплавом розе с помощью щетки или ракиля. Можно припоем с помощью оплетки. Вообшем нужно получить плоское покрытие на площадках, тогда ноги микрухи не будут сьезжать.
+
avatar
0
можно по периметру изолентой оклеить. она не даст уезжать.
+
avatar
0
Паяльником залудил, под мегу двухсторонний скотч, и сверху прижал
+
avatar
+1
По поводу припаивания чипов не могу не поделиться шедевральным видео — пайка методом «удар»
+
avatar
0
может быть, конечно, но я бы все же микроволну сделал. делается 5 минут, производительность повышает ан порядок. такой вот корпус микроволной паяется секунд 10 от силы. нужно просто прихватить пару ног, чтобы не съезжал, а потом аккуратно провести жалом по всем сторонам микрухи. всё. как правило за один раз без спаев. спай убирается прикосновением. если набить руку — будет с первого раза получаться. и, кстати, расход припоя сильно меньше.
+
avatar
0
  • mcshel
  • 06 мая 2015, 16:19
Я просто прихватывал микросхемы феном, а потом паяльником с тонким жалом проходил по ножкам. Видел видео с пайкой микроволной, впечатляет, но и без такого жала вполне можно все сделать.
+
avatar
0
ну 8 мега еще допускает такие эксперименты, у нее ноги более-менее редко стоят. а вот какая-нить ft232 — уже только микроволна, потому что обычным жалом там только методом удара можно что-то сделать ;)

микроволна делается из обычной комплектной «иголки» при помощи наждака и дремеля за пару минут.
+
avatar
0
  • mcshel
  • 06 мая 2015, 20:50
ft232 так же паял этим же паяльником. В проекте и данная микросхема присутствует. Стандартно, если где-то коротыш, то флюс и опять подносишь паяльник.
+
avatar
0
Вот еще вариант феном и паяльной пастой.
+
avatar
0
эх, если б можно было с той сборки еще и ключи клонировать, чтобы не бегать в ларек за 100 рублей…
+
avatar
0
  • mcshel
  • 10 мая 2015, 15:51
ibutton без проблем можно клонировать, просто покупаете болванку RW1990 на неё легко записывам.

А вот как с Cyfral, я даже и не знаю. Думаю тоже есть болванки, но количество примеров в интернете очень мало, почти все на ibutton.
+
avatar
0
  • unisols
  • 26 февраля 2016, 17:02
Подскажите, обязательно ли нужно выводить светодиоды rx и tx, и вешать кондер на ресет минус? Если светодиоды на ардуинке присутствуют?
+
avatar
0
  • Patr1ot
  • 02 марта 2016, 14:15
А на про мини можно же сделать подобное? Отдельно мп не хочу покупать.
+
avatar
0
  • zinsas
  • 20 мая 2019, 14:39
Здравствуйте, обязательно использовать все gnd и vcc?.. Пытаюсь прошить через avr mk2 оригинальный но МК не видится.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.