feonor12Темы / СоветыДобавлено 9 комментариев Первым делом хочу сказать, что это не гайд по решению всех на свете проблем с ардуино, а лишь тех, с которыми пришлось столкнуться мне. Тем не менее сталкиваясь с этими проблемами я потратил немало времени на поиски информации по их решению, так что думаю, статья будет полезна. Так же я не буду рассматривать проблемы, связанные с компиляцией. Ошибки компиляции — это ошибки программирования, это уже частные случаи и рассматривают их так же в частном порядке на всевозможных форумах.Способ 1. Стандартная прошивкаНесмотря на всю простоту ардуино в плане программирования, даже на этом этапе могут возникнуть проблемы. Возникают они, как правило, при использовании китайских клонов. Но будем планомерными. Для программирования ардуино так, как это замышлялось разработчиками, необходимо скачать и установить с оффсайта среду разработки Arduino IDE и провести установку в соответствии с указаниями. Об этом есть сотни, если не тысячи, статей даже в русскоязычном сегменте интернета, по этому останавливаться на этом не буду. При использовании оригинальных ардуино проблем возникнуть не должно. Но у нас, как правило, все используют куда более дешевые китайские клоны. Они, в общем то, ничем не отличаются от оригинала, по крайней мере в плане производительности. Лично мне китайская компоновка Arduino Pro Mini с контактами А4 и А5 в ряду с остальными, нравиться куда больше, чем компоновка оригинальной платы. Но в ту же очередь китайцы, несмотря на коммунистический строй, по сути самые настоящие капиталисты, и экономят для экспорта на всем, на чем только можно. Под эту экономию подпадают и чипы USB интерфейса тех самых ардуино. Тут и начинаются проблемы. Дело в том, что в китайских клонах используется не оригинальный чип CH340. И так, будем считать, что Вы выполнили все стандартные процедуры установки ПО и драйверов, но ардуино так и не шьется. Первым делом идем в ПУСК>Панель управления>Диспетчер устройств. Тут обращаем внимание на два пункта: Контроллеры USB и COM LPT порты.Если пункта Порты (COM и LPT) нет вообще, это первая подсказка в решении проблемы. Если все хорошо, то в ком портах должен появляться новый порт при подключении ардуино. Если этого не происходит, то смотрим что творится в «Контроллеры USB». При подключении ардуино должно появляться новое устройство с надписью USB 2.0 Serial. Это, на самом деле, хороший знак. Если комп видит, что к нему подключились, но не может понять кто — значит ардуинка у нас живая, а проблема в дровах. Если же этого не происходит — читаем способ 2 и способ 3. Для решения же этой проблемы необходимо установить новый драйвер вручную. Скачиваем драйвер, папку с ним кладем в удобное место. Идем снова в Диспетчер устройств, далее USB 2.0 Serial>ПКМ>Свойства>Драйвер>Обновить>Выполнить поиск драйверов на этом компьютере и выбираем папку с драйвером. После этого система может начать ругаться, что драйвер не из проверенных источников. Жмем все равно установить.
Скачать драйверВы скачали драйвер, установили, но ардуино все равно не шьется. Проблема может быть как и с завода, так и по вине пользователя, это не суть важно. Что делаем. Переходим ко второму способу.Способ 2. Прошивка через TTL конвертерВсе платы ардуино, начиная с серии Nano, имеют USB интерфейс. Серия Mini и Pro Mini его не имеет, и прошивается исключительно TTL конвертером. Но дело в том, что и любая другая ардуинка шьется этим программатором. Если у Вас его нет — настоятельно рекомендую купить, тем более цена у него 50-60 рублей (на момент написания статьи), это универсальный программатор, который может еще не раз пригодится. Так я, например, при помощи него перепрошил свою аппаратуру радиоуправления FlySky i6 и рацию Kenwood T2000, не покупая специальных фирменных программаторов, которые стоят куда дороже. Но я отошел от темы. В общем, на всех платах ардуино есть выводы RX и TX (это интерфейс общения, «передача/прием»), при помощи которых можно прошить ардуино в обход чипа USB интерфейса. Эти конвертеры, однако, тоже есть разных версий. Когда я покупал свой, самый распространенный и самый дешевый был конвертер, без вывода reset. Особенность программирования ардуино таким программатором заключается в том, что ровно по окончанию компиляции и началу загрузки нужно жать кнопку reset на плате. Тут, на самом деле, нужна некая сноровка. Если первый раз пропустили — продолжайте жать кнопку с периодичностью примерно в 2 секунды. Среда дает 10 запросов, если удастся попасть в один из них — вуаля, мы прошили ардуинку. Более современные программаторы имеют пятый вывод, который подключается к тому самому ресету, и дергает его автоматически. Но главное, нюанс я описал. Ещё момент. Как правило, RX нужно подключать к TX и наоборот. Но в редких случаях (ну китайцы) нужно подключать RX в RX, а TX в TX. Просто неправильно подписывают. И так, если и это не помогает, переходим к способу 3. Но на всякий прикрепляю дрова для CP2102Особенности.Программатор требует установки драйверов, проблем с этим не у меня, не у других замечено не было, просто ставьте драйвер на CP2102, либо тот, который предлагает производитель. Способ 3. Прямое программирование чипаНачиная с версии Nano платы Arduino имеют разъем внутрисхемного программирования ISP . Это шести контактный разъем, на который, как правило, никто не обращает внимание. При помощи него можно прошить микроконтроллер непосредственно, напрямую, в обход всего, что только можно обойти, как физической части, так и программной. Именно таким образом мне пришлось прошивать свою последнюю плату arduino. Собственно, при помощи этого метода можно создавать и свои клоны ардуино, прошивая в атмегу ардуиновский бутлоадер. Об этом я писал в своей статье про авионику спортивной ракеты. Но снова же, не об этом. Для прошивки потребуется вот такой вот программатор:Это обычный USBasp, самый распространённый программатор AVR микроконтроллеров. Стоит на али те же копейки.ОсобенностиПрограмматор имеет стандартный 10-ти контактный разъем, однако в комплекте можно купить переходник на 6-ти контактный. Его конечно можно изготовить и самому или подключить просто проводами, однако так значительно проще и удобнее.Прошивка осуществляется не стандартным способом. Для начала идем в Инструменты>Программатор>USBaspДалее Скетч/Загрузить через программатор. ПроблемыКак и говорил, тут я описываю проблемы, с которыми столкнулся я. Этот программатор так же требует драйверов. Найти их не сложно. Однако связываясь с китайцами с целью экономии, нужно быть готовым к неожиданным поворотам. Лично я, при работе с этим программатором, столкнулся со следующей проблемой, которую когда-то описывал на радиокоте:avrdude.exe: error: could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc
Над решением беды бился долго, и нашел лишь на забугорных форумах. И так:1)По следующей ссылке скачиваем архив LibUSB-64bit.zip 2)Подключаем программатор к USB порту.3)Распаковываем архив и переходим по пути куда распаковалиLibUSB-64bitlibusb-win32-bin-1.2.1.0binx864) Запускаем inf-wizard.exe5)Жмем Next6)Выбираем USBasp и жмем Next7)Следующие поля заполняем таким образом:Жмем Next8 )Сохраняем сгенерированный файл по пути:LibUSB-64bitlibusb-win32-bin-1.2.1.0binamd64 — если у вас 64-х разрядная система илиLibUSB-64bitlibusb-win32-bin-1.2.1.0binx86 — если 32-х разрядная 9)Жмем install now10) Система уведомит, что драйвер не из проверенных источников. Жмем «Все равно установить» 11)Начнется установка драйвера. В процессе установки услышим звук отключения и подключения USB устройства. По окончанию установки жмем ОК.Ещё несколько советовОчень распространенные модули NRF24L01 имеют большой косяк. Для нормальной и стабильной работы этих модулей необходимо по питанию повесить конденсатор хотя бы на 10 мкФ 5 В. Меньше не желательно, больше — бесполезно. Но если нет на 10, конечно, ставьте на 22 или 47. Так же советуют параллельно нему повесить еще один керамический на 10-100 нФ. При чем как можно ближе к самому модулю, в идеале — на выводы. В противном случае модуль вроде и видится, но нормально не передает.Если на выводах RX и TX висит какое-то исполняющее устройство — ардуинка не прошьется. Сначала прошивайте, потом подключайте на эти выводы необходимое устройство.На этом все, Надеюсь информация будет кому-то полезна.Всем удачи в творчестве!
Arduino
В жизни начинающего ардуинщика рано или поздно наступает момент, когда хочется сэкономить на размере своего изделия, не жертвуя при этом функциональностью. И тогда Arduino Pro Mini – отличное для этого решение! За счёт того, что у этой платы отсутствует встроенный USB-разъём, она в полтора раза меньше Arduino Nano. Но для того, чтобы её запрограммировать, придётся приобрести дополнительный – внешний – USB-программатор. О том, как «залить» написанную программу в память микроконтроллера и заставить Arduino Pro Mini работать, и пойдёт речь в этой статье.
Нам понадобится:
- Arduino Pro Mini;
- USBasp-программатор;
- соединительные провода (рекомендую вот такой набор проводов);
- макетная плата;
- компьютер c Arduino IDE.
1Программатор для Arduino
Сначала пара слов о самом программаторе. Купить такой можно за 2 доллара в любом китайском интернет-магазине, например, в этом.
- Разъём типа USB-A используется, понятно, для подключения программатора к компьютеру.
- ISP-соединитель нужен для подключения к программируемой плате.
- Джампер JP1 контролирует напряжение на выводе VCC ISP-коннектора. Оно может быть 3,3 В или 5 В. Если целевое программируемое устройство имеет собственный источник питания, нужно убрать перемычку.
- Джампер JP2 используется для перепрошивки самого программатора; в данной статье этот вопрос не рассматривается.
- Перемычка JP3 нужна, если тактовая частота целевого устройства ниже 1,5 МГц.
- Светодиоды показывают: G – питание подаётся на программатор, R – программатор соединён с целевым устройством.
2Установка драйвера для программатора
Подключим программатор к USB-порту компьютера. Скорее всего, через какое-то небольшое время операционная система сообщит, что ей не удалось найти драйвер для данного устройства.
В этом случае скачаем драйвер для программатора с официального сайта. Распакуем архив и установим драйвер стандартным способом. В диспетчере устройств должен появиться программатор USBasp. Теперь программатор готов к работе. Отключаем его от компьютера.
Если вы испытываете трудности с установкой драйвера для USBasp программатора, то вам поможет статья «Как установить драйвер для программатора USBasp в Windows 8 и Windows 10».
3Схема подключенияArduino к программатору
Соединяем ISP-разъём программатора с выводами на Arduino Pro Mini согласно приведённой схеме.
Воспользуемся макетной платой и соединительными проводами – это будет быстро и надёжно.
Если вы планируете часто использовать платы Arduino Pro или Pro Mini в своей работе, то удобно будет спаять специальный переходник для быстрого подключения платы Arduino к программатору. На фото представлен мой вариант такого переходника.
3Настройка Arduino IDEдля работы с программатором
4Загрузка скетча в Arduinoс помощью программатора USBasp
Подключаем программатор с подключённым к нему Arduino Pro Mini к компьютеру. Для того чтобы загрузить скетч в Ардуино с помощью программатора, можно поступить несколькими способами.
- Используя сочетание клавиш Ctrl + Shift + U.
- Зажав клавишу Shift, нажать на кнопку со стрелкой вправо , которая обычно используется для загрузки скетча в память Ардуино стандартным способом.
Это абсолютно эквивалентные способы, выбирайте самый удобный для себя. Это всё, программа «залита» в память микроконтроллера.
Обратите внимание
Если Arduino IDE выдаст предупреждение: warning: cannot set sck period. please check for usbasp firmware update. Не паникуйте, скетч всё равно записался в память микроконтроллера и будет работать.
Последнее изменениеЧетверг, 24 Октябрь 2019 20:42 Прочитано 37566 разДомойСтатьиКак прошить Arduino Pro Mini
Загрузить прошивку на этот микроконтроллер можно несколькими способами:
- Через другую плату ардуино, у которой есть встроенный USB-UART
- С помощью специального программатора
- Используя USBasp-программатор
Последние два способа очень похожи. Они отличаются лишь типом программатора. Поэтому в этой статье мы рассмотрим только прошивку с помощью другой Arduino и с помощью специального программатора.
Прошивка ардуино про мини с помощью Arduino Uno или Nano
Для того что бы прошить одну ардуинку через другую, нам понадобятся 2 платы Arduino, соединительные провода, USB кабель и компьютер. Я покажу как прошить Arduino Pro Mini с помощью Arduino Nano, но по этой же инструкции можно использовать и другие платы Arduino, такие как Uno, Mega и тд.
Для начала надо настроить нашу плату, которая будет выступать в роли программатора. Для этого подключим ее к USB компьютера и перейдем в Arduino IDE. В примерах уже есть готовый скетч, написанный специально для этой цели.
Выбираем этот скетч и прошиваем. Теперь мы готовы подключать Arduino Pro Mini. Подключаем следующим образом:
Arduino Nano -> Arduino Pro Mini
- +5v -> Vcc
- GND -> GND
- D10 -> RST
- D11 -> D11
- D12 -> D12
- D13 -> D13
У меня это выглядит так:
Далее нам нужно выставить в меню «Инструменты» нашу прошиваемую плату и тип программатора «Arduino as ISP»:
Теперь мы можем прошить нашу Arduino Pro Mini. Откройте или напишите нужную вам прошивку. Будьте внимательны! Стандартная кнопка загрузки скетча нам не подходит. По умолчанию она заливает прошивку без использования программатора. Таким образом мы прошьем микроконтроллер, который должен выступать в качестве программатора. Чтобы этого не произошло нужно перейти в меню Скетч >> Загрузить через программатор.
Готово!
Прошивка Arduino Pro Mini с помощью специального программатора
Купить специальный программатор можно здесь. Стоит он меньше одного доллара. Если вы часто используете ардуино про мини, то этот программатор сильно упростит и ускорит прошивку.
Для преобразования USB-to-Serial используется микросхема CH340. Что бы она определялась компьютером правильно необходимо установить специальный драйвер. Скачать и установить драйвер CH340
Прошить ардуино с помощью программатора очень просто. Нужно подключить программатор к Arduino Pro Mini следующим образом:
Arduino <-> Программатор
- Vcc <-> Vcc
- GND <-> GND
- RX1 <-> TXD
- TX0 <-> RXD
Подключаем программатор к компьютеру и проверяем, что он не требует драйверов. Если же он определяется как «неопознанное устройство» скачайте и установите драйвер. Его легко найти, набрав в поисковике «*модель вашего программатора* драйвер». Например «CP2102 драйвер». Далее запускаем Arduino IDE. Выбираете модель вашей платы. Потом переходим в меню Инструменты -> Программатор и выбираете ваш программатор. Далее открываете нужный вам скетч и загружаете его с помощью пункта в меню Скетч -> Загрузить через программатор.
Если ваш программатор не поддерживает программный сброс, то вам придется вручную нажать кнопку перезагрузки на вашей Arduino Pro Mini в момент компиляции скетча. Это нужно сделать сразу как только в Arduino IDE появится строка, что скетч скомпилирован.
Вот и все. Мы успешно прошили Arduino Pro Mini с помощью программатора.
Используемые источники:
- https://usamodelkina.ru/14782-neskolko-sposobov-proshivki-arduino-i-reshenie-problem-svjazannyh-s-jetim.html
- https://soltau.ru/index.php/arduino/item/368-kak-zaprogrammirovat-arduino-pro-mini-s-pomoshchyu-programmatora
- https://all-arduino.ru/kak-proshit-arduino-pro-mini/