Какое-то время у меня валялась 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
Вам нужно распаивать все(не поштучно же заказываете) платы сразу и рассылать их выразившим желание купить Муськовчанам. Вам окупаемость очередного проекта, нам, экономия на штучном заказе рассыпухи и PCB.
ИМХО после перехода из ЛУТ в PCB ваши некоторые идеи вполне интересны не только самоделкиным(принтер/фен/утюг дома), но и простым пользователям.
Призываю Администраторов. Откройте раздел для продажи DYI комплектов, а то иногда под очередной пост приходится покупать рассыпуху десятками штук с разных площадок.
Наш шилд позволит прошивать популярные контроллеры: Atmega8 (168/328), Attiny13(45/85), причем, как в DIP корпусах, так и в QFP и SOIC, используя адаптеры.
Не проще ISP программатор купить? Он даже в оффлайне два доллара стоит. Доплатить еще доллар и AVR-USBasp будет.
Ладно бы HV программирование было, или параллельное, а так получился по сути тот же ISP, только без GUI.
По крайней мере я так понял, если ошибаюсь, поправьте.
и куда там вставлять контроллеры? для проверки например :)
ардуина проводками и так умеет быть программатором — дело в том, что в этот шилд разные контроллеры можно вставить неприпаянные — прошить и проверить, это гораздо удобнее
а программаторы безусловно у меня есть и вместо ардуины можно его в разъем прицепить и шить, только без светодиодов и не всем удобная портянка будет: кабель от компа к программатору, кабель от программатора к шилду
а если надо контроллер прошить, не имея платы и желательно проверить его
Что-то я туплю. Вернее слабо представляю себе подобную ситуацию, зачем контроллер без платы?
Если кому-то нужен только зашитый контроллер, то просто проверить что записалось. А если есть целевая плата, то зачем проверять в шилде?
я так понял, тут все не очень с пониманием…
стоит плата, там куда с ноутбуком неудобно лезть и к ней подключена куча периферии, прошили — контроллер и заменили — все работает — мне удобно, подобных примеров немало
Про понимание — в точку. Передернуть в панельке МК проще, чем подключиться 6 пиновым IDC.
Оглянитесь вокруг, уже лет 15 DIP корпуса можно встретить только в DIY поделках от китайцев. Боюсь представить Вашу печаль, при попытке подступиться, например, к STM/
если нет панельки, то передергивать нечего, если посмотрите мои поделки из обзоров — там она есть, но довольно много ситуаций где их нет, я привел примеры в каких случаях пригождается
STM иная ниша, я с ними работаю — но не в своих поделках, так что не печальтесь
да именно так, только остается проводками прицепиться к дип версии контроллера или к переходнику для qfp корпуса — фото этого чуда есть в обзоре — заменится ардуино уно — на этот программатор — общая картина останется прежней…
данную платку можно использовать и с программатором — разъем есть — дело то не в этом…
это не тоже самое совсем, я писал что можно купить — но другое
1 — у меня можно ставить широкую панельку и подключать адаптер, там только узкий дип
2 — у меня можно сразу подключать и дип28 (как широкий так и узкий) и дип8 — там этого нет — только узкая атмега в дип корпусе
3 — эту штука потребует проводов для подключения к программатору (хоть к ардуине хоть к другому — итог портянка проводов)
4 — эта плата не имеет узкого разъема icsp — а он сейчас наиболее часто используется, значит потребуется еще и переходник
5 — дешевый zif разъем служит существенно хуже цанговой панельки…
и тд
а так да — почти тоже самое )
Очень напомнило анекдот: «Дорогая редакция — спасибо за рецепт салата Авокадо с креветками, получилось очень вкусно, только авокадо у нас не было заменили картошкой, а вместо креветок заюзали сало»
Учитывая, что в здравом рассудке МК в DIPе использовать никто не будет и сколько стоит QFP32 кровать (эх, еще же QFN есть и не только 32..) — это проект для «скучающих безумных миллионеров»… Ну тех, кому лень кинуть пять проводков до таргета.
Надо понимать:
1. Ардуина это далеко не профессиональная вещь;
2. Ардуина сделана из говна и палок что бы было дешевле. По хорошему для внутрисхемного программирования должны использоваться разъёмы как на шильде из обзора либо контакты на плате под иголки, но у китайцев на этот счёт своё мнение.
И?
что мешает прошить контроллер на этом шилде, а заодно и проверить?
а если требуется на плате, то разъем или контактные площадки — это типовое решение
интересная штука. Если на плате под программирование к пятачкам трём прицепиться надо — они подойдут? если да — то как пользоваться?
А то паять микроразъемчики для прошивки мелких регуляторов так себе удовольствие…
Спасибо за обзор! Только начал разбираться с Ардуиной и стал немного понимать Ваши обзоры :)
Сожалею, что Муська превратилась по кол-ву снобов в комментариях в программерские форумы начала 00-х.
Все замечательно кроме того, что пример Arduino isp не идеален. Я бы даже сказал что он с ошибкой. Попробуйте прошить им атмегу 64 — сильно удивитесь.
Насколько я понял оно не может 64к. 32к шьет нормально :)
Для того чтобы шить разово на коленке весь огород с ардуиной не нужен, а если заниматься профессионально то покупается программатор нормальный.
Поскольку интерфейс последовательный и как источник используется комп, то всё реализуется софтом, подать питание и данные на то куда надо залить инфу, можно более простым способом, без лишних деталей, но опять же всё в софт упирается. Писать самому под свой огород никто не запрещает, но это когда есть много лишнего времени и руки занять нечем. Но при наличии массы готовых отработаных вариантов смысл этого действия не понятен. Время, усилия, деньги можно потратить на то что нельзя купить.
ваше мнение по всем моим поделкам давно известно — ничего другого и не ожидалось.
У меня есть подозрение, что вам занять нечем эти самые руки — писать вот такие комменты они только и способны — польза от которых стремится к нулю.
Я сделал полезную для себя штуку, которая экономит много времени — решил этим поделиться — возможно, пригодится кому то еще.
Каким софтом вы прошьете голый контроллер? как вы к нему подсоеденитесь?
довольно часто, то что можно купить по каким то причинам не подходит (возможности изделия, деньги, габариты и тп), и удачнее решить задачу применив свою поделку — это один из таких случаев
Согласен. Именно поэтому и сам считаю, что «масса готовых отработанных вариантов» не всегда лишает смысла сделать самому. Просто потому, что сделанным самому пользоваться даже приятнее.
Ну это типичный совок, когда на работе времени и возможностей дофига и это ничего не стоит. Вот и лепили кто что мог из того что было. Сейчас в садоводствах такие чудеса найти можно, которые ещё на металл не сдали, типа водопровода из труб нержи или титана, парники из титановых труб. Сам страдал этим в 80-90е, но всё это прошло.
Ну фиг с ним ради удовольствия слепить что-то в единичном экземпляре, но на фига серию плат то заказывать поделки на коленке? Тем более программатора который один возможно нужен, да и то не всем. Если на продажу, то ещё можно как-то понять, хотя выгода весьма сомнительна, китайцы делают всё дешевле.
Тут вопрос на самом деле скорее психологический.
какое отношение к лепке в садоводствах имеет данный шилд?
платы мне таких нужно минимум 3 — и они используются… именно того что мне нужно китайцы не делают, делают иное кому-то подходит то, кому то удобнее так…
Если подход отличный от вашего вызывает у вас поток негатива — то это сугубо ваши проблемы
про психологические подоплеки комментов ваших я понял — и написал об этом — лучше потратьте время на что-то полезное
Лучше его потратить на бессмысленные комменты к чужому творчеству — вы на верном пути. Вполне вероятно, что время тех кому вы пишите стоит существенно дороже, вы же этого не знаете… И они находят его чтобы поделится с другими людьми тем, что приносит пользу им
Своеобразный взгляд, впрочем вполне имеет право на существование.))
По моему создавать, дык что-то совершенное, а не лепить как получится и из чего придётся, но это лишь мое мнение.)))
очень бы хотелось взглянуть на «совершенное „- созданное вами, но все время у вас видимо уходит на критику чужого — на создание “совершенного» не остается столь ценного времени.
Не сомневаюсь что для автора это достижение, и возможно это может быть монетизировано, но к сожалению не он один идёт таким путём, в результате купить что-то приличное сейчас большая проблема. У китайцев туго с разработкой и Инженерами, они дерут конструкции нередко не понимая что к чему. А поскольку они мировой производитель, то всё заполнено поделками массово тиражироваными. И хочешь найти что-то приличное, даже деньги не принципиальны, но нет и всё.
Эта поделка никак не является достижением, это удобная штука облегчающая определенные операции. Философские мысли, думаю, стоит научиться удерживать в себе и заняться чем то простым и полезным, благо проблем, даже с ваших слов, хватает )
Дык ножки гнуться. Особенно если раньше были погнуты.
Но дело вкуса конечно. Хотя что может быть неудобного в ZIF разъеме специально разработанном для многократных соединений?
возможно мне попался некачественный, через некоторое время залипать пластинки начинают.
а цанговый разъем — гораздо удобнее для дип корпусов — не гнуться ножки.
не цанговый — я использую для вставки переходника на контроллеры в корпусах для поверхностного монтажа — там они вставляются и живут в шилде — вытаскивать не нужно
ИМХО после перехода из ЛУТ в PCB ваши некоторые идеи вполне интересны не только самоделкиным(принтер/фен/утюг дома), но и простым пользователям.
Ладно бы HV программирование было, или параллельное, а так получился по сути тот же ISP, только без GUI.
По крайней мере я так понял, если ошибаюсь, поправьте.
ардуина проводками и так умеет быть программатором — дело в том, что в этот шилд разные контроллеры можно вставить неприпаянные — прошить и проверить, это гораздо удобнее
а программаторы безусловно у меня есть и вместо ардуины можно его в разъем прицепить и шить, только без светодиодов и не всем удобная портянка будет: кабель от компа к программатору, кабель от программатора к шилду
Повторю коммент выше, для предложенного Вами решения нужна еще как минимум ардуина.
Если Вы так считаете, то поверю, сам не программист. Но ИМХО, ISP куда удобнее, поставил проц в плату, сразу там же прошил и забыл.
Если кому-то нужен только зашитый контроллер, то просто проверить что записалось. А если есть целевая плата, то зачем проверять в шилде?
или например, заменить контроллер в плате, в связи с обновлением прошивки или по другим причинам, если дип — то не отсоединяя периферию от платы
или можно этот шилд как макет использовать с уже подключенным программатором
впрочем, те кто не может купить переходник — могут припаять провода прям к контроллеру — а потом отпаять — это будет дешевле
И не нужен никакой переходник и уж конечно паять
стоит плата, там куда с ноутбуком неудобно лезть и к ней подключена куча периферии, прошили — контроллер и заменили — все работает — мне удобно, подобных примеров немало
Оглянитесь вокруг, уже лет 15 DIP корпуса можно встретить только в DIY поделках от китайцев. Боюсь представить Вашу печаль, при попытке подступиться, например, к STM/
STM иная ниша, я с ними работаю — но не в своих поделках, так что не печальтесь
изврхобби, теперь я могу спать спокойно.данную платку можно использовать и с программатором — разъем есть — дело то не в этом…
итого программатор usbasp + плата адептера = $3.17
да я понимаю что вам это в кайф. сам такой, но тут куча начинающих и с достатком ниже среднего, поэтому надо приводить дешевые альтернативы
1 — у меня можно ставить широкую панельку и подключать адаптер, там только узкий дип
2 — у меня можно сразу подключать и дип28 (как широкий так и узкий) и дип8 — там этого нет — только узкая атмега в дип корпусе
3 — эту штука потребует проводов для подключения к программатору (хоть к ардуине хоть к другому — итог портянка проводов)
4 — эта плата не имеет узкого разъема icsp — а он сейчас наиболее часто используется, значит потребуется еще и переходник
5 — дешевый zif разъем служит существенно хуже цанговой панельки…
и тд
а так да — почти тоже самое )
Очень напомнило анекдот: «Дорогая редакция — спасибо за рецепт салата Авокадо с креветками, получилось очень вкусно, только авокадо у нас не было заменили картошкой, а вместо креветок заюзали сало»
такое бывает )
и в чем проблема с папой?
если требуется что-то отладить, то эти пины удобно использовать
а то что рядом находятся питание и земля — так это удобно
в данном случае, если их закоротить сработает защита в ардуино и все
1. Ардуина это далеко не профессиональная вещь;
2. Ардуина сделана из говна и палок что бы было дешевле. По хорошему для внутрисхемного программирования должны использоваться разъёмы как на шильде из обзора либо контакты на плате под иголки, но у китайцев на этот счёт своё мнение.
что мешает прошить контроллер на этом шилде, а заодно и проверить?
а если требуется на плате, то разъем или контактные площадки — это типовое решение
А Нам Ардуина в самый раз. Просто, дёшево и сердито.
вроде таких:
А то паять микроразъемчики для прошивки мелких регуляторов так себе удовольствие…
Pogo pin, а уж поиск своё дело знает)
Но ещё раз спасибо.
Сожалею, что Муська превратилась по кол-ву снобов в комментариях в программерские форумы начала 00-х.
Насколько я понял оно не может 64к. 32к шьет нормально :)
Поскольку интерфейс последовательный и как источник используется комп, то всё реализуется софтом, подать питание и данные на то куда надо залить инфу, можно более простым способом, без лишних деталей, но опять же всё в софт упирается. Писать самому под свой огород никто не запрещает, но это когда есть много лишнего времени и руки занять нечем. Но при наличии массы готовых отработаных вариантов смысл этого действия не понятен. Время, усилия, деньги можно потратить на то что нельзя купить.
У меня есть подозрение, что вам занять нечем эти самые руки — писать вот такие комменты они только и способны — польза от которых стремится к нулю.
Я сделал полезную для себя штуку, которая экономит много времени — решил этим поделиться — возможно, пригодится кому то еще.
Каким софтом вы прошьете голый контроллер? как вы к нему подсоеденитесь?
Ну фиг с ним ради удовольствия слепить что-то в единичном экземпляре, но на фига серию плат то заказывать поделки на коленке? Тем более программатора который один возможно нужен, да и то не всем. Если на продажу, то ещё можно как-то понять, хотя выгода весьма сомнительна, китайцы делают всё дешевле.
Тут вопрос на самом деле скорее психологический.
платы мне таких нужно минимум 3 — и они используются… именно того что мне нужно китайцы не делают, делают иное кому-то подходит то, кому то удобнее так…
Если подход отличный от вашего вызывает у вас поток негатива — то это сугубо ваши проблемы
про психологические подоплеки комментов ваших я понял — и написал об этом — лучше потратьте время на что-то полезное
По моему создавать, дык что-то совершенное, а не лепить как получится и из чего придётся, но это лишь мое мнение.)))
aliexpress.com/store/product/TNM5000-USB-Universal-Programmer-48-Pins-ZIF-Socket-USB-2-0-High-Speed-Program-1-Gbit/1195728_2038881403.html
Но дело вкуса конечно. Хотя что может быть неудобного в ZIF разъеме специально разработанном для многократных соединений?
а цанговый разъем — гораздо удобнее для дип корпусов — не гнуться ножки.
не цанговый — я использую для вставки переходника на контроллеры в корпусах для поверхностного монтажа — там они вставляются и живут в шилде — вытаскивать не нужно