Делаем шилд программатора, для валяющейся без дела Arduino Uno


Какое-то время у меня валялась Arduino Uno. И вот нашлось ей применение. Сделал удобный шилд для прошивки ходовых контроллеров в разных корпусах. Теперь данная отладочная плата активно используется. Шилд позволяет прошивать довольно много контроллеров от ATMEL, которые все еще популярны среди самодельщиков по многим параметрам. Итак, под катом изготовление шилда для прошивки микроконтроллеров Atmega8 (168/328), Attiny13(45/85), причем, как в DIP корпусах, так и в QFP и SOIC, используя адаптеры.

Ссылку я дал на похожую отладочную плату Arduini Uno, поскольку уже и не помню где брал свою. Моя платка с закосом под оргинал (конечно же это копия — поскольку брал в Китае):


Собственно, тут уже было немало обзоров на эту плату, поэтому перейдем сразу к шилду.
Схема шилда, довольно простая:

Конденсатор C4 позволяет не перезагружаться самой Arduino Uno во время прошивки, без него такое бывает и прошить не удается. На схеме видно два разъема для подключения контроллеров в корпусах dip28 и dip8. Для dip28 предусмотрен кварц с конденсаторами С2 и С3. Также на плате предусмотрен стандартный разъем ICSP для подключения, например, своих плат и их прошивки. Как и при типовом использовании, вывод 10 Arduino соединен с RESET программируемых контроллеров. Выводы 11, 12,13, представляющие ICSP соединены с аналогичными на подключаемых микроконтроллерах. На подключаемые контроллеры подается питание и земля от Arduino Uno. К выводам Arduino 7,8,9 через токоограничительные резисторы в 1КОм подключены индикационные светодиоды. Наш шилд позволит прошивать популярные контроллеры: Atmega8 (168/328), Attiny13(45/85), причем, как в DIP корпусах, так и в QFP и SOIC, используя адаптеры.

Платка получилась такая:


Желающие могут скачать файл платы, в формате для Sprint Layout. Также можно скачать готовые для заказа в Китае (или на местном производстве) gerber-файлы.

На плате видны две версии отверстий для dip28 в узком и широком корпусе, это сделано для подключения адаптера QFP32 в DIP28, обзор которого я делал здесь. Кроме того, если припаять разъем для узкой версии контроллера, то в отверстия для широкой версии можно припаять линейки штырьков и сразу тестировать прошитый контроллер. Для dip8 я также предусмотрел, помимо адаптера, отверстия для штырьков. Также имеются две версии ICSP разъемов широкий (10 контактов) и узкий (6 контактов), ну и все остальные детали, присутствующие на схеме. Светодиоды, резисторы и конденсаторы (22пФ) я использовал SMD 1206. Светодиоды распределил так: Зеленый — READY, Красный — ERROR, Желтый — PROG. Также предусмотрел штырьки для дополнительного питания и земли, которые могут потребоваться при тестировании прошиваемого контроллера.

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


Припаиваем детали, я изготовил 2 версии, для широкого dip28:


Здесь я не стал припаивать штырьки и разъемы, так как планирую эту плату использовать для прошивки контроллеров с помощью адаптеров в корпусах SOIC и QFP.
Для узкого dip28:


Как видно из фото, для подключения микросхем в dip корпусах я использовал цанговые разъемы, мне они нравятся больше.
Адаптер QFP32 в DIP28 для подключения в широкую версию шилда:

Встает отлично:

Весь бутерброд, включая Arduino Uno:


Для узкой версии со вставленным контроллером ATtiny85:

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


Для того чтобы наша конструкция стала программатором, следует без шилда загрузить в Arduino Uno прошивку ArduinoISP, идущую в комплекте с любой версией Arduino IDE:


С таким шилдом стало очень удобно и быстро прошивать и тестировать контроллеры в различных корпусах, не боясь нарушить соединения как здесь:

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

На этом заканчиваю. Спасибо всем, кто дочитал до конца! Надеюсь, что кому-то приведенная информация окажется полезной. Всех со странным праздником: Старым Новым Годом!
Планирую купить +22 Добавить в избранное +81 +123
+
avatar
  • chaloc
  • 14 января 2018, 02:54
+13
Вам нужно распаивать все(не поштучно же заказываете) платы сразу и рассылать их выразившим желание купить Муськовчанам. Вам окупаемость очередного проекта, нам, экономия на штучном заказе рассыпухи и PCB.
ИМХО после перехода из ЛУТ в PCB ваши некоторые идеи вполне интересны не только самоделкиным(принтер/фен/утюг дома), но и простым пользователям.
+
avatar
  • yurok
  • 14 января 2018, 02:58
0
дело в том, что у каждого свои потребности, кому то надо dip, кому то через адаптер — сам я использую 2 платки из пишедших 10
+
avatar
  • chaloc
  • 14 января 2018, 03:09
+2
8 первым заявившим, адаптер в комплект как опцию. Проект то хорош)
+
avatar
0
Тоже хотел бы себе, на крайний случай.
+
avatar
  • chaloc
  • 14 января 2018, 03:14
+26
Призываю Администраторов. Откройте раздел для продажи DYI комплектов, а то иногда под очередной пост приходится покупать рассыпуху десятками штук с разных площадок.
+
avatar
  • Corvax
  • 14 января 2018, 03:15
+2
На ISP 10pin MOSI и MISO перепутаны, должны быть наоборот.
+
avatar
  • yurok
  • 14 января 2018, 03:32
+1
спасибо, перезалил файлики
+
avatar
  • kirich
  • 14 января 2018, 03:25
+3
Наш шилд позволит прошивать популярные контроллеры: Atmega8 (168/328), Attiny13(45/85), причем, как в DIP корпусах, так и в QFP и SOIC, используя адаптеры.
Не проще ISP программатор купить? Он даже в оффлайне два доллара стоит. Доплатить еще доллар и AVR-USBasp будет.
Ладно бы HV программирование было, или параллельное, а так получился по сути тот же ISP, только без GUI.

По крайней мере я так понял, если ошибаюсь, поправьте.
+
avatar
  • Corvax
  • 14 января 2018, 03:30
+1
Так это будет замена ардуино, его можно подключать к ISP порту на шилде. Ну светодиоды не будут моргать, но они есть родные на USBASP.
+
avatar
  • kirich
  • 14 января 2018, 03:32
+1
Так это будет замена ардуино, его можно подключать к ISP порту на шилде.
Да, но здесь еще ардуина нужна, там нет.
+
avatar
  • Corvax
  • 14 января 2018, 03:35
+2
Шилд разрабатывался под ардуино, но никто не мешает использовать его отдельно, подключив программатор к разъему ISP на шилде.
+
avatar
  • yurok
  • 14 января 2018, 03:37
+1
да, можно и не паять штырьки подключения ардуины, просто у меня, да и у многих, есть неиспользуемая ардуина
+
avatar
  • yurok
  • 14 января 2018, 03:32
0
и куда там вставлять контроллеры? для проверки например :)
ардуина проводками и так умеет быть программатором — дело в том, что в этот шилд разные контроллеры можно вставить неприпаянные — прошить и проверить, это гораздо удобнее

а программаторы безусловно у меня есть и вместо ардуины можно его в разъем прицепить и шить, только без светодиодов и не всем удобная портянка будет: кабель от компа к программатору, кабель от программатора к шилду
+
avatar
  • kirich
  • 14 января 2018, 03:34
+5
и куда там вставлять контроллеры? для проверки например :)
В смысле для проверки? Для проверки чего?

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

прошить и проверить, это гораздо удобнее
Если Вы так считаете, то поверю, сам не программист. Но ИМХО, ISP куда удобнее, поставил проц в плату, сразу там же прошил и забыл.
+
avatar
  • yurok
  • 14 января 2018, 03:36
0
а если надо контроллер прошить, не имея платы и желательно проверить его — то так гораздо удобнее
+
avatar
  • kirich
  • 14 января 2018, 03:39
0
а если надо контроллер прошить, не имея платы и желательно проверить его
Что-то я туплю. Вернее слабо представляю себе подобную ситуацию, зачем контроллер без платы?
Если кому-то нужен только зашитый контроллер, то просто проверить что записалось. А если есть целевая плата, то зачем проверять в шилде?
+
avatar
  • yurok
  • 14 января 2018, 03:44
+1
например, меня часто просят выслать голую плату с прошитым припаянным контроллером, в этом случае — вариантов не много

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

или можно этот шилд как макет использовать с уже подключенным программатором
+
avatar
  • kirich
  • 14 января 2018, 03:46
0
Спорить не буду, возможно своя специфика. Просто мне такое решение кажется несколько неудобным.
+
avatar
  • yurok
  • 14 января 2018, 04:22
+1
добавил видео — где показано как можно прошить и сразу проверить
+
avatar
  • loole
  • 14 января 2018, 20:48
0
вариантов не много
Ну да, если на плате не развести ISP.
+
avatar
  • yurok
  • 14 января 2018, 20:58
0
я примеры привел…

впрочем, те кто не может купить переходник — могут припаять провода прям к контроллеру — а потом отпаять — это будет дешевле
+
avatar
  • loole
  • 14 января 2018, 22:36
0
я примеры привел…
заменить контроллер в плате, в связи с обновлением прошивки
?
дешевле
развести ISP
И не нужен никакой переходник и уж конечно паять
прям к контроллеру
+
avatar
  • yurok
  • 14 января 2018, 23:36
0
я так понял, тут все не очень с пониманием…
стоит плата, там куда с ноутбуком неудобно лезть и к ней подключена куча периферии, прошили — контроллер и заменили — все работает — мне удобно, подобных примеров немало
+
avatar
  • loole
  • 15 января 2018, 00:34
0
Про понимание — в точку. Передернуть в панельке МК проще, чем подключиться 6 пиновым IDC.
Оглянитесь вокруг, уже лет 15 DIP корпуса можно встретить только в DIY поделках от китайцев. Боюсь представить Вашу печаль, при попытке подступиться, например, к STM/
+
avatar
  • yurok
  • 15 января 2018, 00:47
0
если нет панельки, то передергивать нечего, если посмотрите мои поделки из обзоров — там она есть, но довольно много ситуаций где их нет, я привел примеры в каких случаях пригождается

STM иная ниша, я с ними работаю — но не в своих поделках, так что не печальтесь
+
avatar
  • loole
  • 15 января 2018, 01:03
0
я с ними работаю
В одном помещении. Ну конечно, а все вышеописанное просто извр хобби, теперь я могу спать спокойно.
+
avatar
  • Aostspb
  • 14 января 2018, 17:29
0
Тогда уж надо было делать что-то по типу lauchpad-а от TI (для msp430g2). Хотя, atmega, насколько я понимаю, не имеет таких средств отладки.
+
avatar
+1
Угу. Прям с языка сняли. Клон USBasp стиоит $1.5 без «регистрации и смс». Зачем городить ЭТО не понятно.
+
avatar
  • yurok
  • 14 января 2018, 20:25
-1
да именно так, только остается проводками прицепиться к дип версии контроллера или к переходнику для qfp корпуса — фото этого чуда есть в обзоре — заменится ардуино уно — на этот программатор — общая картина останется прежней…

данную платку можно использовать и с программатором — разъем есть — дело то не в этом…
+
avatar
+1
вместо вашей платки можно купить вот это — тоже самое что и у вас только с zif панелькой за $1.67

итого программатор usbasp + плата адептера = $3.17

да я понимаю что вам это в кайф. сам такой, но тут куча начинающих и с достатком ниже среднего, поэтому надо приводить дешевые альтернативы
+
avatar
  • yurok
  • 14 января 2018, 23:42
0
это не тоже самое совсем, я писал что можно купить — но другое

1 — у меня можно ставить широкую панельку и подключать адаптер, там только узкий дип
2 — у меня можно сразу подключать и дип28 (как широкий так и узкий) и дип8 — там этого нет — только узкая атмега в дип корпусе
3 — эту штука потребует проводов для подключения к программатору (хоть к ардуине хоть к другому — итог портянка проводов)
4 — эта плата не имеет узкого разъема icsp — а он сейчас наиболее часто используется, значит потребуется еще и переходник
5 — дешевый zif разъем служит существенно хуже цанговой панельки…
и тд

а так да — почти тоже самое )

Очень напомнило анекдот: «Дорогая редакция — спасибо за рецепт салата Авокадо с креветками, получилось очень вкусно, только авокадо у нас не было заменили картошкой, а вместо креветок заюзали сало»
+
avatar
0
убедили.
+
avatar
  • loole
  • 14 января 2018, 20:32
0
Учитывая, что в здравом рассудке МК в DIPе использовать никто не будет и сколько стоит QFP32 кровать (эх, еще же QFN есть и не только 32..) — это проект для «скучающих безумных миллионеров»… Ну тех, кому лень кинуть пять проводков до таргета.
+
avatar
0
сколько стоит QFP32 кровать
около 12 долларов она стоит на али)
+
avatar
  • Gidof
  • 14 января 2018, 03:37
-1
Как это понимать?
+
avatar
  • yurok
  • 14 января 2018, 03:38
+1
погнутый пин — вас смутил? )
такое бывает )
+
avatar
  • Gidof
  • 14 января 2018, 03:40
-1
Меня смущает разъём типа папа и то что питание находится впритык к земле.
+
avatar
  • yurok
  • 14 января 2018, 03:46
+3
а где притык?
и в чем проблема с папой?
если требуется что-то отладить, то эти пины удобно использовать
+
avatar
  • kirich
  • 14 января 2018, 03:47
+1
и в чем проблема с папой?
Видимо имеется в виду то, что исходящие контакты питания — гнезда, входящие — штыри, для безопасности.
+
avatar
  • yurok
  • 14 января 2018, 03:50
+3
так в слаботочке такое везде и используется — на на той же ардуине так для icsp разъема, а у многих типа нано и про мини — вообще все разъемы папа

а то что рядом находятся питание и земля — так это удобно
+
avatar
  • kirich
  • 14 января 2018, 03:54
0
на на той же ардуине так для icsp разъема
А там тоже земля и питание рядом? Тогда тоже опасно. :(
+
avatar
  • yurok
  • 14 января 2018, 03:55
+2
вон выше типовой шилд для подключения датчиков и прочего
в данном случае, если их закоротить сработает защита в ардуино и все
+
avatar
  • Gidof
  • 14 января 2018, 04:05
-6
+
avatar
  • yurok
  • 14 января 2018, 04:21
0
И?
что мешает прошить контроллер на этом шилде, а заодно и проверить?
а если требуется на плате, то разъем или контактные площадки — это типовое решение
+
avatar
  • skif31
  • 14 января 2018, 08:45
+3
Да мы поняли что Вы крутой профи. Покажите, что Вы сделали своими руками?
А Нам Ардуина в самый раз. Просто, дёшево и сердито.
+
avatar
0
А что за иголки? Они пружинят? Ссылкой поделитесь PLZ.
+
avatar
  • chaloc
  • 14 января 2018, 15:46
+1
Искать на Али и Ебей «pogo pin» на Муське тоже как-то обзор был
+
avatar
0
Спасибо.
+
avatar
0
а площадки под них никто не встречал?
вроде таких:
+
avatar
0
интересная штука. Если на плате под программирование к пятачкам трём прицепиться надо — они подойдут? если да — то как пользоваться?
А то паять микроразъемчики для прошивки мелких регуляторов так себе удовольствие…
+
avatar
  • vizart
  • 14 января 2018, 16:35
+1
+
avatar
0
Спасибо, я себе уже подобрал)
Pogo pin, а уж поиск своё дело знает)
Но ещё раз спасибо.
+
avatar
+7
Да. Ничего страшного.
+
avatar
+1
За файлик платы спасибо, пригодится в качестве базы.
+
avatar
  • vladius
  • 14 января 2018, 10:42
0
Совместима ли данная штука с другими Ардуино ( мини, нано, про)?
+
avatar
  • yurok
  • 14 января 2018, 15:22
0
совместима, но нужно соединять проводами
+
avatar
+1
Спасибо за обзор! Только начал разбираться с Ардуиной и стал немного понимать Ваши обзоры :)
Сожалею, что Муська превратилась по кол-ву снобов в комментариях в программерские форумы начала 00-х.
+
avatar
  • yurok
  • 14 января 2018, 15:22
0
спасибо
+
avatar
  • dm_a
  • 14 января 2018, 12:32
0
Все замечательно кроме того, что пример Arduino isp не идеален. Я бы даже сказал что он с ошибкой. Попробуйте прошить им атмегу 64 — сильно удивитесь.
Насколько я понял оно не может 64к. 32к шьет нормально :)
+
avatar
  • yurok
  • 14 января 2018, 15:23
0
прошил больше сотни… что я делаю не так )
+
avatar
  • dm_a
  • 14 января 2018, 18:52
0
Может шьете 32 к или меньше? :)
+
avatar
  • mike888
  • 14 января 2018, 14:47
0
Для того чтобы шить разово на коленке весь огород с ардуиной не нужен, а если заниматься профессионально то покупается программатор нормальный.
Поскольку интерфейс последовательный и как источник используется комп, то всё реализуется софтом, подать питание и данные на то куда надо залить инфу, можно более простым способом, без лишних деталей, но опять же всё в софт упирается. Писать самому под свой огород никто не запрещает, но это когда есть много лишнего времени и руки занять нечем. Но при наличии массы готовых отработаных вариантов смысл этого действия не понятен. Время, усилия, деньги можно потратить на то что нельзя купить.
+
avatar
  • yurok
  • 14 января 2018, 15:27
+3
ваше мнение по всем моим поделкам давно известно — ничего другого и не ожидалось.
У меня есть подозрение, что вам занять нечем эти самые руки — писать вот такие комменты они только и способны — польза от которых стремится к нулю.
Я сделал полезную для себя штуку, которая экономит много времени — решил этим поделиться — возможно, пригодится кому то еще.
Каким софтом вы прошьете голый контроллер? как вы к нему подсоеденитесь?
+
avatar
  • Am0k
  • 14 января 2018, 15:31
0
А в современном мире еще что-то осталось, что нельзя купить? Имеется ввиду конечно из того, что можно сделать руками.
+
avatar
  • yurok
  • 14 января 2018, 15:38
+1
довольно часто, то что можно купить по каким то причинам не подходит (возможности изделия, деньги, габариты и тп), и удачнее решить задачу применив свою поделку — это один из таких случаев
+
avatar
  • Am0k
  • 14 января 2018, 15:54
+1
Согласен. Именно поэтому и сам считаю, что «масса готовых отработанных вариантов» не всегда лишает смысла сделать самому. Просто потому, что сделанным самому пользоваться даже приятнее.
+
avatar
  • mike888
  • 14 января 2018, 17:15
-1
Ну это типичный совок, когда на работе времени и возможностей дофига и это ничего не стоит. Вот и лепили кто что мог из того что было. Сейчас в садоводствах такие чудеса найти можно, которые ещё на металл не сдали, типа водопровода из труб нержи или титана, парники из титановых труб. Сам страдал этим в 80-90е, но всё это прошло.
Ну фиг с ним ради удовольствия слепить что-то в единичном экземпляре, но на фига серию плат то заказывать поделки на коленке? Тем более программатора который один возможно нужен, да и то не всем. Если на продажу, то ещё можно как-то понять, хотя выгода весьма сомнительна, китайцы делают всё дешевле.
Тут вопрос на самом деле скорее психологический.
+
avatar
  • yurok
  • 14 января 2018, 17:35
0
какое отношение к лепке в садоводствах имеет данный шилд?
платы мне таких нужно минимум 3 — и они используются… именно того что мне нужно китайцы не делают, делают иное кому-то подходит то, кому то удобнее так…

Если подход отличный от вашего вызывает у вас поток негатива — то это сугубо ваши проблемы

про психологические подоплеки комментов ваших я понял — и написал об этом — лучше потратьте время на что-то полезное
комментарий скрыт

+
avatar
  • yurok
  • 14 января 2018, 17:59
+6
Лучше его потратить на бессмысленные комменты к чужому творчеству — вы на верном пути. Вполне вероятно, что время тех кому вы пишите стоит существенно дороже, вы же этого не знаете… И они находят его чтобы поделится с другими людьми тем, что приносит пользу им
+
avatar
  • mike888
  • 14 января 2018, 18:05
-3
Своеобразный взгляд, впрочем вполне имеет право на существование.))
По моему создавать, дык что-то совершенное, а не лепить как получится и из чего придётся, но это лишь мое мнение.)))
+
avatar
  • yurok
  • 14 января 2018, 18:08
+5
очень бы хотелось взглянуть на «совершенное „- созданное вами, но все время у вас видимо уходит на критику чужого — на создание “совершенного» не остается столь ценного времени.
+
avatar
  • sav13
  • 14 января 2018, 19:48
0
А вы не думаете, что когда человек создает что-то своими руками, он совершенствуется? И эти навыки вполне можно потом монетизировать.
+
avatar
  • mike888
  • 14 января 2018, 21:26
-2
Не сомневаюсь что для автора это достижение, и возможно это может быть монетизировано, но к сожалению не он один идёт таким путём, в результате купить что-то приличное сейчас большая проблема. У китайцев туго с разработкой и Инженерами, они дерут конструкции нередко не понимая что к чему. А поскольку они мировой производитель, то всё заполнено поделками массово тиражироваными. И хочешь найти что-то приличное, даже деньги не принципиальны, но нет и всё.
+
avatar
  • yurok
  • 14 января 2018, 21:52
0
Эта поделка никак не является достижением, это удобная штука облегчающая определенные операции. Философские мысли, думаю, стоит научиться удерживать в себе и заняться чем то простым и полезным, благо проблем, даже с ваших слов, хватает )
+
avatar
0
И хочешь найти что-то приличное, даже деньги не принципиальны, но нет и всё.
вот тут-то как раз расчехляешь компилятор и паяльник)
+
avatar
  • sav13
  • 15 января 2018, 05:47
+2
+
avatar
  • sav13
  • 14 января 2018, 19:40
0
ИМХО — в программаторе должен быть ZIF разъем
+
avatar
  • yurok
  • 14 января 2018, 20:15
0
у меня есть версия с ним, попользовался — неудобно — мне проще и быстрее в колодку вставить
+
avatar
  • sav13
  • 14 января 2018, 20:18
0
Дык ножки гнуться. Особенно если раньше были погнуты.
Но дело вкуса конечно. Хотя что может быть неудобного в ZIF разъеме специально разработанном для многократных соединений?
+
avatar
  • yurok
  • 14 января 2018, 20:22
0
возможно мне попался некачественный, через некоторое время залипать пластинки начинают.
а цанговый разъем — гораздо удобнее для дип корпусов — не гнуться ножки.

не цанговый — я использую для вставки переходника на контроллеры в корпусах для поверхностного монтажа — там они вставляются и живут в шилде — вытаскивать не нужно