Site Loader

У Вас есть Arduino? Значит у Вас есть программатор! – RoboCraft

Все таки, поговорка «Век живи — век учись!» придумана неспроста! В свое время, начав интересоваться микроконтроллерами семейства AVR (и в частности, Arduino) я забеспокоился об инструменте для программирования оных. Т.е., программаторах. А ведь программатор (ну, может не в столь явном виде) у меня всегда был под рукой. Это плата Arduino.
ISP (In-system programming) — это способность микроконтроллера получать прошивку находясь уже непосредственно в собранной схеме. Программатором (устройством передающим прошивку от компьютера в контроллер) в нашем случае будет выступать Arduino.
Аргументы для сомневающихся (делать/не делать)
За:
1) этот шилд даст вторую жизнь «морально устаревшим» платам Arduino на Atmega8
2) У Вас появиться прекрасная возможность писать программы для микроконтроллеров серии Attiny в привычном Arduino IDE
3) это самый «копеечный» программатор (при условии наличия у Вас Arduino)
4) этот шилд ОЧЕНЬ прост в изготовлении, не содержит дефицитных деталей и не требует настройки

5) позволяет (в какой-то мере) сохранить порядок на Вашем рабочем месте 🙂
Против:
— я не нашел

Если готовы, то поехали.
Чтобы Arduino стала ISP программатором на нее необходимо залить специальную прошивку. Эта прошивка поставляется вместе с Arduino IDE. Напомню. Еще без какой-либо периферии Arduino подключаем к компьютеру и загружаем Arduino IDE. Выбираем [File] -> [Examples] -> [ArduinoISP]

Ну и далее, люди делают что-то примерно такое:

Кстати, я тоже так делал :). Собственно, после чего и появилась эта задумка. Вариант «клубкового» соединения, естественно, имеет право на жизнь. Но, скажем так:


-> Неудобно
-> ненадежно
-> некрасиво и все такое 🙁

Логично было бы предположить, что умные люди смекнули «что к чему» и наладили выпуск готовых ARDUINO ISP Shield-ов. Вот парочка примеров:

Я тоже хочу такую вещь! Но, «Это не наш метод! Мы все сделаем сами!!!»
Итак, я вспомнил все микроконтроллеры, с которыми мне приходилось сталкиваться. Это были Atmega8 (168/328), Atmega16, Attiny2313(4313), Attiny13(45/85). Итого, (для меня, по крайне мере) ограничимся корпусами DIP8, DIP20 и DIP28. Здоровенная Atmega16 — «пока нервно курит в сторонке». Поставим дополнительно стандартный ICSP разъем на 10 контактов, для возможности подключения внешнего адаптера. И для красоты установим светодиоды, отображающие текущее состояние программатора. Распиновку берем из скетча

ArduinoISP:

// This sketch turns the Arduino into a AVRISP
// using the following arduino pins:
//
// pin name:    not-mega:         mega(1280 and 2560)
// slave reset: 10:               53
// MOSI:        11:               51
// MISO:        12:               50
// SCK:         13:               52
//
// Put an LED (with resistor) on the following pins:
// 9: Heartbeat   - shows the programmer is running
// 8: Error       - Lights up if something goes wrong (use red if that makes sense)
// 7: Programming - In communication with the slave

Схема. Хм, конечно сложно это назвать схемой, но все же:

Разводка печатной платы много времени не заняла. Я фактически расположил нужные корпуса и разъемы на плату, подписал нужные выводы и тупо их соединял 🙂 Вот, что получилось:

Лут:

После запайки:

Вторая сторона:

Обращаю Ваше внимание, на наличие трех SMD перемычек (резисторы 0R).

Вот готовое изделие:

!!!ВАЖНЫЙ МОМЕНТ!!! Очень рекомендую установить панельки с цанговыми контактами!


Итак, все у нас готово для проведения «ходовых» испытаний. Подключаем наш шилд к ЗАРАНЕЕ «прошитую» Ардуино
.

Проверяем работоспособность с помощью GUI оболочки для AVRDUDE:

Для «гурманов», зеленой полоской я выделил соответствующие параметры для консольного варианта 🙂

Обращаю ваше внимание на правильный выбор типа программатора и типа соединения. Уточнить можно в IDE (выше приведен скриншот для самопальной COM-портовой платы).

Ниже картинки для варианта с CraftDuino (у меня CraftDuino общается через виртуальный COM N14. Естественно, у Вас может быть другой)

Все хорошо!! Радуемся и хлопаем в ладоши 🙂 (честно говоря, получившаяся плата мне ОЧЕНЬ нравится. Я пишу эту статью и верчу ее в руках

).
Пара полезных ссылок, о том, как подружить микроконтроллеры Attiny со средой программирования Arduino:
Attiny13
Attiny2313
Ну а дальше уже сами 🙂 Как говорится, Google Вам в помощь!

Весь материал проекта забираем ТУТ.
Все удачи и хорошего настроения!

Универсальный мини программатор из Ардуино Uno своими руками, прошивка ArduinoISP

Какое-то время у меня валялась 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:

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


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

На этом заканчиваю. Спасибо всем, кто дочитал до конца! Надеюсь, что кому-то приведенная информация окажется полезной. Всех со странным праздником: Старым Новым Годом!

avrdude: stk500_recv(): программатор не отвечает

Вы когда-нибудь сталкивались с этим сообщением об ошибке при попытке загрузить скетч?

avrdude: stk500_recv(): программатор не отвечает
avrdude: stk500_getsync() попытка 1 из 10: не синхронизировано: resp=0x00

Это какая-то шутка? Кто этот загадочный AVR Dude, почему он такой некрутой, и — самое главное — что он имеет против того, чтобы вы попытались загрузить скетч в свою Arduino? Это очень расстраивает.

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

 

Итак, кто такой AVR, чувак, и почему возникает ошибка?

AVRDude расшифровывается как AVR Downloader Uploader и представляет собой утилиту, используемую Arduino IDE. Основная задача утилиты довольно проста — она позволяет загрузить код на плату Arduino.

Так вот кто чувак, но почему ошибка?

Сообщение об ошибке avrdude: stk500_recv() предупреждает вас об общей ошибке соединения между вашим компьютером и Arduino. Я бы хотел, чтобы это было просто и сказать вам, что эта ошибка возникает из-за одной единственной проблемы, но это было бы слишком просто. Эта общая ошибка может появляться по множеству причин.

Но не волнуйся, я тебя прикрою. В этом уроке я пройдусь по «прачечному списку» возможных решений. (Большое спасибо «Парню в шляпе» с Arduino Stack Exchange за составление этого замечательного списка исправлений. ) Я подробно рассмотрю каждое, начиная с наиболее распространенных и простых и переходя к более подробным задачам по устранению неполадок, если они не работают.

Вот так.

 

Давайте начнем с простого

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

  • Отсоедините и снова подключите USB-кабель: Я же говорил, что мы начнем с простого.
  • Нажмите кнопку сброса: Если на вашей плате Arduino есть кнопка сброса, нажмите ее и посмотрите, сможете ли вы теперь загружать без ошибки avrdude: stk500_recv().
  • Закройте и снова откройте среду разработки Arduino: Новый запуск среды разработки Arduino может решить множество проблем, включая ошибки avrdude stk500_recv.
  • Убедитесь, что выбрана правильная плата Arduino: В среде разработки Arduino перейдите в «Инструменты» > «Плата» и выберите из списка используемую плату Arduino.

  • Убедитесь, что выбран правильный порт: В Arduino IDE перейдите в Tools>Port и выберите порт, соответствующий вашей плате. На ПК он начнется с COM. На Mac он должен начинаться с cu.usb.

Полезный совет: Если вы не уверены в правильности порта, запишите все порты, которые вы указали. Затем отсоедините плату Arduino от USB-кабеля и снова проверьте меню портов. Порт, который сейчас отсутствует в списке, — это порт, который использовала ваша Arduino.

  • Удалите подключения к контактам RX и TX: Контакты приема (RX) и передачи (TX) (контакты 0 и 1) используются при загрузке скетчей на плату Arduino. Отключение соединений с этими выводами может устранить ошибку загрузки avrdude: stk500_recv().
  • Удалите все экраны: Если к вашей плате Arduino подключен экран Arduino, удалите экран и повторите попытку загрузки. Экран может иметь схему, создающую помехи для передающих и приемных контактов.

 

Все еще возникает ошибка avrdude: stk500_recv()?

Если вы по-прежнему получаете сообщение об ошибке avrdude: stk500_recv(), значит, не все еще потеряно. Пришло время заняться реальным устранением неполадок.

Так что же здесь может быть не так? Мы знаем, что проблема может быть в трех возможных местах: USB-кабель, плата Arduino или ваш компьютер . Мы будем использовать процесс исключения, чтобы выяснить точку отказа.

  • Проверка USB-кабеля: USB-кабели выходят из строя, причем на удивление часто. Проверьте, не устраняет ли использование другого USB-кабеля ошибку avrdude: stk500_recv().
  • Проверьте другую плату Arduino: Если у вас есть такая под рукой, попробуйте выполнить загрузку на другую плату Arduino. Ошибка avrdude: stk500_recv() внезапно исчезла? Ваша исходная плата является вероятным виновником.
  • Проверьте другой компьютер: Если вы исключили свой USB-кабель и плату Arduino, попробуйте загрузить свой скетч на другой компьютер с установленной на нем Arduino IDE. Если вы можете успешно загрузить скетч на другой компьютер, ошибка avrdude: stk500_recv(), вероятно, возникла на вашем компьютере.

Если у вас есть достоверные данные о точке сбоя, вы можете прочитать один из следующих трех разделов, чтобы разобраться в устранении ошибки avrdude: stk500_recv().

 

Виноват кабель USB!

Ну, я пойду вперед и изложу очевидное решение. Используйте другой кабель 🙂

 

Проблема в моем компьютере

Вот три решения, которые вы можете попробовать.

  • Переустановите Arduino IDE: Просто зайдите на сайт Arduino, загрузите самую последнюю версию IDE и установите ее снова. Не волнуйтесь, это не повлияет на ваши старые эскизы. Они по-прежнему будут храниться в папке вашего скетчбука.
  • Переустановите драйверы: Если вы все еще получаете ошибку avrdude: stk500_recv(), вам необходимо проверить правильность установки драйверов. Они должны быть установлены автоматически при установке Arduino IDE, но вы всегда можете попробовать установить их вручную.
  • Проверьте, нужны ли вам другие драйверы: Для некоторых клонов Arduino требуются специальные драйверы. Вы должны иметь возможность загрузить эти драйверы с веб-сайта компании, производящей плату. Если вы не можете, свяжитесь с компанией напрямую.

 

Моя плата Arduino вызывает ошибку stk500_recv():

Здесь все становится немного рискованно. Возможно, ваша плата Arduino замурована — электроника говорит о поломке таким образом, что ее нельзя починить. Но попробуйте выполнить следующие действия, прежде чем выбрасывать ее и покупать новую плату:

  • Убедитесь, что микроконтроллер установлен правильно: Некоторые платы Arduino имеют съемный чип микроконтроллера — например, Arduino UNO. Убедитесь, что он правильно установлен на печатной плате.
  • Запишите новый загрузчик: Загрузчик — это программа на микроконтроллере, которая позволяет запускать скетчи. Поврежденный загрузчик может вызвать ошибку stk500_recv(). Попробуйте записать новый загрузчик на микроконтроллер.
  • Замена запасного микроконтроллера: У вас есть под рукой запасной микроконтроллер? Если на неисправной плате Arduino есть съемный микроконтроллер, вы всегда можете заменить его резервным микроконтроллером. Вам нужно будет загрузить микроконтроллер с загрузчиком — как описано в предыдущем шаге.

 

Вы изгнали чувака?

К тому времени, когда вы доберетесь сюда, вы, надеюсь, изгоните чувака из AVR обратно в темное царство хаоса, из которого он возник. Если повезет, вы больше никогда его не встретите. Но если вы это сделаете, теперь у вас есть несколько трюков в рукаве, чтобы быстро и эффективно избавиться от ошибки avrdude: stk500_recv().

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

И, конечно же, если вы нашли другое решение, пожалуйста, оставьте комментарий — это может помочь кому-то еще.

Потому что иногда изгнание злого чувака забирает деревню.

Кабель для программирования Arduino Uno/Mega — Купить кабель Arduino онлайн на сайте QuartzComponents.com

  • Дом
  • Кабель для программирования Arduino Uno/MEGA

рупий 35.00 (без НДС)

  • Описание
  • Доставка + Возврат
  • Отзывы
Описание

Это стандартный кабель USB Type-A — USB Type-B для программирования Arduino , который можно использовать для программирования плат Arduino UNO, Arduino MEGA или Arduino DUE. Это необходимо для установления связи между платой Arduino и вашим компьютером, чтобы вы могли отправлять и получать данные с платы и программировать их в соответствии с вашими потребностями.

Кабель длиной 1 фут. Вам нужно подключить один конец к компьютеру, а другой — к макетной плате Arduino, чтобы запрограммировать Arduino . Вам необходимо использовать высококачественный соединительный кабель, потому что неисправные кабели могут привести к ошибкам и даже к короткому замыканию при неправильном использовании, что приведет к повреждению вашей платы без возможности ремонта.

 

Технические характеристики

  • Совместимость с ПК (от USB Type-A до USB Type-B)
  • Длина: 30,48 см
  • Формованная разгрузка от натяжения и покрытие из ПВХ для обеспечения безошибочной передачи данных в течение всего срока службы.
  • Алюминий под защитой пресс-формы.
  • Экран из фольги и оплетки для уменьшения помех EMI/FRI.

 

Комплект поставки:

1 × стандартный USB Type-A на USB Type-B Кабель для программирования Arduino .

Подробнее

Меньше

Доставка + Возврат
Политика возврата

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

1. Производственный брак

Если вы получили продукт с производственным дефектом, пожалуйста, сообщите нам в течение 3 дней с момента получения продукта, подкрепленного надлежащими фотографиями и описанием. Как только наша служба поддержки примет возврат, мы предоставим замену или полный возврат средств, включая стоимость обратной доставки. Обратите внимание, что если ваш товар уже перепаян или изменен каким-либо образом, мы не сможем принять его к возврату.

2. Отправлен неправильный товар

Если ваш товар выглядит не так, как показано на изображении на нашем веб-сайте, мы примем товар обратно и вернем деньги или заменим товар по вашему выбору.

Ограничение возврата

Мы не принимаем возврат продуктов, поврежденных в результате неправильного использования продукта. Кроме того, мы не принимаем возврат, если заказанный товар не подходит для какого-либо конкретного применения. Пожалуйста, ознакомьтесь со спецификациями продукта и техническим описанием, прежде чем выбрать и заказать продукт. Возвраты принимаются только в течение 3 дней с момента доставки.

Доставка

Мы осуществляем бесплатную доставку всех предоплаченных заказов по всей Индии. Для заказов наложенным платежом взимается 70 индийских рупий для заказов на сумму менее 599 индийских рупий и 20 индийских рупий для заказов на сумму более 599. Пожалуйста, свяжитесь с нашей службой поддержки по адресу support@quartzcomponents. com по любым вопросам, связанным с доставкой.

Обратите внимание, что минимальная стоимость заказа составляет 200 индийских рупий как для заказов с предоплатой, так и для заказов с наложенным платежом.

🙏 хорошо 🙏

Очень хороший товар

Кабель для программирования Arduino Uno/MEGA

Отзывы

🙏 хорошо 🙏

Очень хорошо

Кабель для программирования Arduino Uno/MEGA

{{/если}} {{if compare_at_price_min > price_min}}

Продажа

{{/если}} {{если доступно}}

Распродано

{{/если}} {{if tagLabelCustom}}

Пользовательская этикетка

{{/если}}
${название}

{{if compare_at_price_min > price_min}} {{html Shopify.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *