Arduino mini Как залить скетч
Arduino mini Как залить скетч
Добрый день!
Имеется устройство управления сервоприводом (схему прилагаю).
У Arduino доступны Питание, Земля, UART и внешняя кнопка reset.
Проблемы с загрузкой скетча.
Мои действия:
1. Перевожу схему на питание от ноута (отключаю кнопку включения, подсоединяю питание и землю от переходника usb-ttl).
2. Подключаю UART.
3. В среде разработки IDE выбираю порт (у меня COM3) и нажимаю "Upload" - залить скетч.
4. После завершения компиляции (среда возвращает лог) передергиваю внешнюю кнопку reset.
Итог.
Среда разработки IDE возвращает ошибку.
Текст ошибки не сохранил, но смысл в том, что не получен верный ответ (либо, второй вариант - порт занят).
Проблемы с загрузкой скетча появились после того, в схему был добавлен конденсатор. До этого момента в результате описанных выше действий скетч заливался без ошибок.
Текущее состояние схемы:
1. управление сервоприводом осуществляется по программе текущего скетча в arduino - значит, arduino жива.
2. при передергивании внешней кнопки reset на arduino один раз мигает светодиод, как при нажатии на штатную кнопку - значит, внешняя кнопка работает.
3. при подключении ноута (перевод питания + подключение UART) в терминале получаю данные с arduino (согласно программе текущего скетча) - значит, связь ноута с arduino есть.
Прошу помощи у знатоков, как все-таки залить скетч в ардуино?
Второй вопрос тоже насущный, можно ли получать данные с arduino на ноут по UART при условии питания схемы от блока питания 6,5 В? Не удобно каждый раз переключать питание, чтобы подсоединиться к схеме (наверно, это даже и не логично).
Имеется устройство управления сервоприводом (схему прилагаю).
У Arduino доступны Питание, Земля, UART и внешняя кнопка reset.
Проблемы с загрузкой скетча.
Мои действия:
1. Перевожу схему на питание от ноута (отключаю кнопку включения, подсоединяю питание и землю от переходника usb-ttl).
2. Подключаю UART.
3. В среде разработки IDE выбираю порт (у меня COM3) и нажимаю "Upload" - залить скетч.
4. После завершения компиляции (среда возвращает лог) передергиваю внешнюю кнопку reset.
Итог.
Среда разработки IDE возвращает ошибку.
Текст ошибки не сохранил, но смысл в том, что не получен верный ответ (либо, второй вариант - порт занят).
Проблемы с загрузкой скетча появились после того, в схему был добавлен конденсатор. До этого момента в результате описанных выше действий скетч заливался без ошибок.
Текущее состояние схемы:
1. управление сервоприводом осуществляется по программе текущего скетча в arduino - значит, arduino жива.
2. при передергивании внешней кнопки reset на arduino один раз мигает светодиод, как при нажатии на штатную кнопку - значит, внешняя кнопка работает.
3. при подключении ноута (перевод питания + подключение UART) в терминале получаю данные с arduino (согласно программе текущего скетча) - значит, связь ноута с arduino есть.
Прошу помощи у знатоков, как все-таки залить скетч в ардуино?
Второй вопрос тоже насущный, можно ли получать данные с arduino на ноут по UART при условии питания схемы от блока питания 6,5 В? Не удобно каждый раз переключать питание, чтобы подсоединиться к схеме (наверно, это даже и не логично).
- Реклама
Re: Arduino mini Как залить скетч
питать можно внешним блоком, тогда +5в не присоединяйте от усб-уарт, только землю и tx/rx
-
Самсусамыч
Re: Arduino mini Как залить скетч
[uquote="Luki4G1",url="/forum/viewtopic.php?p=3834447#p3834447"]Имеется устройство управления сервоприводом (схему прилагаю).[/uquote]
По схеме нарисовано +6,5 В подаётся на вывод VCC. Так ли это? Если так, то напряжение питания для МК семейства мега допустимо максимально лишь до 6 В. Кстати в схеме ошибка… + питание от внешнего БП подаётся на GND МК.
По схеме нарисовано +6,5 В подаётся на вывод VCC. Так ли это? Если так, то напряжение питания для МК семейства мега допустимо максимально лишь до 6 В. Кстати в схеме ошибка… + питание от внешнего БП подаётся на GND МК.
Re: Arduino mini Как залить скетч
дык то питание ардуины, а не самой атмеги, там еще стабилизатор стоит
-
Самсусамыч
Re: Arduino mini Как залить скетч
Вход стабилизатора обозначается RAW, а не VCC.
VCC это непосредственно вывод питания МК и выход стабилизатора. Который выведен на шильде для подачи напряжения на МК в обход стабилизатора, или можно питать от него периферию если задействован стабилизатор.
VCC это непосредственно вывод питания МК и выход стабилизатора. Который выведен на шильде для подачи напряжения на МК в обход стабилизатора, или можно питать от него периферию если задействован стабилизатор.
- Реклама
Re: Arduino mini Как залить скетч
[uquote="arkhnchul",url="/forum/viewtopic.php?p=3834480#p3834480"]питать можно внешним блоком, тогда +5в не присоединяйте от усб-уарт, только землю и tx/rx[/uquote]
Подсоединил - работает, спасибо за совет.
Данные на ноут передаются нормально,
но скетч по-прежнему не загружается.
Пробовал вместо внешней кнопки соединить один из ее контактов с ножкой rst переходника usb-ttl. Еффекта ноль. Вернул кнопку на место.
Подсоединил - работает, спасибо за совет.
Данные на ноут передаются нормально,
но скетч по-прежнему не загружается.
Пробовал вместо внешней кнопки соединить один из ее контактов с ножкой rst переходника usb-ttl. Еффекта ноль. Вернул кнопку на место.
Re: Arduino mini Как залить скетч
А RESET кто подключать будет? CTS или DTR (забыл что именно, попробовать можно - не поплохее) переходника на RESET пин подключите. Сбросом оно переводит МК в бутлоадер, без которого не будет прошивки.
Re: Arduino mini Как залить скетч
[uquote="Самсусамыч",url="/forum/viewtopic.php?p=3834800#p3834800"]...в схеме ошибка… + питание от внешнего БП подаётся на GND МК.[/uquote]
Вижу, так и есть, нарисовано с ошибкой.
Рисунок поправлю, если это ускорит решение
Вижу, так и есть, нарисовано с ошибкой.
Рисунок поправлю, если это ускорит решение
Re: Arduino mini Как залить скетч
Что значит "один из"? Нужен тот, что на ногу МК идет.Пробовал вместо внешней кнопки соединить один из ее контактов с ножкой rst переходника usb-ttl. Еффекта ноль. Вернул кнопку на место.
И обратите внимание на слова Самсусамыч, питание выше 6В должно подключаться на вывод RAW, а не VCC.
-
Самсусамыч
Re: Arduino mini Как залить скетч
На плате написано RST, а на схеме DTR. 
Re: Arduino mini Как залить скетч
Долго так будете пытаться попасть в бут. Он всего 0.5с ожидает запроса на переход в режим программирования, а прога для прошивки только один раз подает сигнал. Нужно совпасть. Или нормально подключить вывод RESET.4. После завершения компиляции (среда возвращает лог) передергиваю внешнюю кнопку reset.
-
Самсусамыч
Re: Arduino mini Как залить скетч
Я умудрялся успевать кнопкой на шильде сбросить МК… 
Re: Arduino mini Как залить скетч
Да можно конечно вручную попасть. Сам так делал. Но это обычно не с 1го раза получается ) И делать это надо ДО запуска avrdude, прям перед самым его запуском.
Re: Arduino mini Как залить скетч
[uquote="NStorm",url="/forum/viewtopic.php?p=3835005#p3835005"]
Повторюсь
[uquote="NStorm",url="/forum/viewtopic.php?p=3835002#p3835002"]Что значит "один из"? Нужен тот, что на ногу МК идет.[/uquote]
Я так понимаю, оба контакта идут на ноги МК- каждый на свою. Один на GND, а второй, видимо, на RST. Иначе, как ещё кнопка может перезапустить МК?
Подключал по одереди, сначала один контакт - и пробовал прошить МК, затем, вместо первого - второй.
Идея была в том, чтобы переходник usb-ttl своим выводом RST подал сигнал сброса в нужный момент. Раньше, в том числе, и до подключения конденсатора в схему, такой вариант я не пробовал.
Добавлено after 5 minutes 17 seconds:
[uquote="NStorm",url="/forum/viewtopic.php?p=3835002#p3835002"]И обратите внимание на слова Самсусамыч, питание выше 6В должно подключаться на вывод RAW, а не VCC.[/uquote]
К чему, в данной схеме, приведет это переподключение: На процесс прошивки может повлиять?
Добавлено after 16 minutes 54 seconds:
Грешу на конденсатор.
Можно предположить, что с ним - как-то изменилась крутизна фронта сигнала сброса. И теперь arduino mini от кнопки перезапускается (это точно, передача данных на ПК останавливается), но "как-то недостаточно". И поэтому, процесс прошивки заканчивается ошибкой.
Правда, насколько это правдоподобно?
Добавлено after 4 minutes 15 seconds:
[uquote="Самсусамыч",url="/forum/viewtopic.php?p=3835003#p3835003"]На плате написано RST, а на схеме DTR.
[/uquote]
Вы какую схему имеете ввиду?)
Долго так будете пытаться попасть в бут. Он всего 0.5с ожидает запроса на переход в режим программирования, а прога для прошивки только один раз подает сигнал. Нужно совпасть. Или нормально подключить вывод RESET.[/uquote]4. После завершения компиляции (среда возвращает лог) передергиваю внешнюю кнопку reset.
Повторюсь
Добавлено after 19 minutes 6 seconds:Проблемы с загрузкой скетча появились после того, в схему был добавлен конденсатор. До этого момента в результате описанных выше действий скетч заливался без ошибок.
[uquote="NStorm",url="/forum/viewtopic.php?p=3835002#p3835002"]Что значит "один из"? Нужен тот, что на ногу МК идет.[/uquote]
Я так понимаю, оба контакта идут на ноги МК- каждый на свою. Один на GND, а второй, видимо, на RST. Иначе, как ещё кнопка может перезапустить МК?
Подключал по одереди, сначала один контакт - и пробовал прошить МК, затем, вместо первого - второй.
Идея была в том, чтобы переходник usb-ttl своим выводом RST подал сигнал сброса в нужный момент. Раньше, в том числе, и до подключения конденсатора в схему, такой вариант я не пробовал.
Добавлено after 5 minutes 17 seconds:
[uquote="NStorm",url="/forum/viewtopic.php?p=3835002#p3835002"]И обратите внимание на слова Самсусамыч, питание выше 6В должно подключаться на вывод RAW, а не VCC.[/uquote]
К чему, в данной схеме, приведет это переподключение: На процесс прошивки может повлиять?
Добавлено after 16 minutes 54 seconds:
Грешу на конденсатор.
Можно предположить, что с ним - как-то изменилась крутизна фронта сигнала сброса. И теперь arduino mini от кнопки перезапускается (это точно, передача данных на ПК останавливается), но "как-то недостаточно". И поэтому, процесс прошивки заканчивается ошибкой.
Правда, насколько это правдоподобно?
Добавлено after 4 minutes 15 seconds:
[uquote="Самсусамыч",url="/forum/viewtopic.php?p=3835003#p3835003"]На плате написано RST, а на схеме DTR.
Вы какую схему имеете ввиду?)
Re: Arduino mini Как залить скетч
Ну как общепринято, что земля - это земля, она общая. Она везде есть, а не только у МК. Поэтому один из контактов кнопки у вас на землю идет, а второй на ногу REST. Вот ко второму и надо подключаться.Я так понимаю, оба контакта идут на ноги МК- каждый на свою. Один на GND, а второй, видимо, на RST. Иначе, как ещё кнопка может перезапустить МК?
Это не ваша идея, оно так и работает. Прошивальщик при прошивке на вывод DTR программатора на 250 мс подает низкий уровень, чтобы разрядить конденсатор и сбросить МК. Когда МК запускается, загрузчик проверят причину сброса - и только если она по сбросу через пин RESET (это называется внешний сброс), то он в течение 500мс ожидает комманду на прошивку. Иначе сразу прыгает в основную программу. Т.е. без сброса по сигналу RESET в режим прошивки вы никак не войдете.Идея была в том, чтобы переходник usb-ttl своим выводом RST подал сигнал сброса в нужный момент. Раньше, в том числе, и до подключения конденсатора в схему, такой вариант я не пробовал.
Если ваш конденсатор в схеме между Vcc и GND, то повлиять он особо не может. Питание податеся всегда при включении, он всегда будет заряжен. Как же раньше вы прошивали тогда? Вручную сброс нажимали, ловя момент после компиляции?
К тому, что МК и остальное не спалите. Нельзя выше 6В (а лучше 5) подавать на схему. Для более высокого напряжения питания есть ногда RAW, которая идет на линейный стабилизатор напряжения до 5В.К чему, в данной схеме, приведет это переподключение: На процесс прошивки может повлиять?
Добавлено after 6 minutes 11 seconds:
А, я понял кажись в чем у вас дело. Вы кнопку "внешнюю" поставили небось параллельно кнопке на плате. И туда и вывод USB-TTL тулите. Так работать не будет. Программатор после подачи низкого уровня на вывод DTR-RESET, сразу подает высокий и ждет еще. Схему смотрите, платка аруино - не голый МК:

Обратите внимание на то, где DTR - там до ноги RESET еще стоит конденсатор. Так и надо подключать - через вывод RESET на плате Arduino Mini, а не на пин кнопки. Так конденсатор сначала разряжается, а потом через R2 начинает заряжаться, пока на DTR низкий уровень, формируя сигнал сброса. Программатор arduino на DTR держит всё время низкий уровень до окончания прошивки. Если вы подключите вместо кнопки, сразу на ногу RESET МК - он из сброса не выходит, вот и не работает.
-
Самсусамыч
Re: Arduino mini Как залить скетч
[uquote="Luki4G1",url="/forum/viewtopic.php?p=3835054#p3835054"]Вы какую схему имеете ввиду?)[/uquote]
Схему шильда ардуины мини.
Схему шильда ардуины мини.
Re: Arduino mini Как залить скетч
Спасибо NStorm за развернутый ответ!
[uquote="NStorm",url="/forum/viewtopic.php?p=3835086#p3835086"]... оно так и работает. Прошивальщик...[/uquote]
Поправьте, если ошибаюсь, но задействованный переходник USB-TTL это не совсем прошивальщик.
Не могу сказать, для чего предназначен его вывод RST (может ли он действовать как сбрасыватель, распознает ли он такую команду от IDE Arduino?) Поэтому отношусь к этой затее именно как к идее)
Процедура не хитрая, по ней вопросов нет.
Задачи заменить кнопку RESET на сигнал DTR для целей прошивки - не стоит.
За счет внутренних емкостей С19 и С13 отпадает надобность во внешнем конденсаторе.
И, соответственно, появляется шанс его убрать
Однако, этот внешний конденсатор справляется со своей задачей отлично.
Поясню. Без него Arduino реально отказывает. Это из-за просадки напряжения (может еще и от каких-то помех) при работе сервопривода. Не располагаю осциллографом, цифры привести не получится.
В связи с этим вопрос, сможет ли указанный внутренний стабилизатор в известном смысле "заменить" собой внешний конденсатор?
Для справки, используется серво типа DS3225MG.
Кстати,
Если нужно, могу выложить фото моей adruino (естественно, китайский клон) и переходника USB-TTL.
[uquote="NStorm",url="/forum/viewtopic.php?p=3835086#p3835086"]... оно так и работает. Прошивальщик...[/uquote]
Поправьте, если ошибаюсь, но задействованный переходник USB-TTL это не совсем прошивальщик.
Не могу сказать, для чего предназначен его вывод RST (может ли он действовать как сбрасыватель, распознает ли он такую команду от IDE Arduino?) Поэтому отношусь к этой затее именно как к идее)
... кнопку "внешнюю" поставили небось параллельно кнопке на плате... Так работать не будет.
Да, с использованием внешней кнопки, параллельной внутренней кнопке RESET - писал об этом в самом начале.Как же раньше вы прошивали тогда? Вручную сброс нажимали, ловя момент после компиляции?
Процедура не хитрая, по ней вопросов нет.
Задачи заменить кнопку RESET на сигнал DTR для целей прошивки - не стоит.
К чему, в данной схеме, приведет это переподключение: На процесс прошивки может повлиять?
По данной схеме в части стабилизатора, можно предположить следующий эффект.К тому, что МК и остальное не спалите...
Схему смотрите, платка аруино - не голый МК:...
За счет внутренних емкостей С19 и С13 отпадает надобность во внешнем конденсаторе.
И, соответственно, появляется шанс его убрать
Однако, этот внешний конденсатор справляется со своей задачей отлично.
Поясню. Без него Arduino реально отказывает. Это из-за просадки напряжения (может еще и от каких-то помех) при работе сервопривода. Не располагаю осциллографом, цифры привести не получится.
В связи с этим вопрос, сможет ли указанный внутренний стабилизатор в известном смысле "заменить" собой внешний конденсатор?
Для справки, используется серво типа DS3225MG.
Кстати,
на плате моей adruino mini используются оба эти обозначения. Выводы шилда разныеСамсусамыч писал(а):На плате написано RST, а на схеме DTR.
Если нужно, могу выложить фото моей adruino (естественно, китайский клон) и переходника USB-TTL.
Re: Arduino mini Как залить скетч
Прошивальщий = программа из комплекта avrdude в данном случае. Да, по железу просто переходник, но им же и прошивается, т.к. на ардуино не голый МК, там изначально уже прошит бутлоадер, умеющий прошивать по UART. На перехондиках USB-UART нет обычно никаких RESET. Там есть DTR. Это в вашем назвали так, потому что под ардуино заточен надписью просто. Подключайте, оно именно так и расчитано работать. Всегда. Все ардуино прошиваются именно переходником USB-UART (или USB-TTL как вы его назвали, это неважно). Даже старшие модели, где есть USB - там просто аналогичный переходник на плате "встроен" и всё. И именно через DTR<->RESET они переходят в режим прошивки.Поправьте, если ошибаюсь, но задействованный переходник USB-TTL это не совсем прошивальщик.
Не могу сказать, для чего предназначен его вывод RST (может ли он действовать как сбрасыватель, распознает ли он такую команду от IDE Arduino?) Поэтому отношусь к этой затее именно как к идее)
Чудес не бывает. Если и без стаба проседает, то сам по себе он помочь не может. Серву через него не подключить - там всего 150мА максимум тока он может выдавать, если такой стоит. А китайцы с разными конечно делают бывает. Ну может конечно конденсатор на входе стаба поможет, если хватит его.В связи с этим вопрос, сможет ли указанный внутренний стабилизатор в известном смысле "заменить" собой внешний конденсатор?
Для справки, используется серво типа DS3225MG.
-
Самсусамыч
Re: Arduino mini Как залить скетч
[uquote="Luki4G1",url="/forum/viewtopic.php?p=3835204#p3835204"]на плате моей adruino mini используются оба эти обозначения. Выводы шилда разные
[/uquote]
Теперь и я обнаружил этот вывод через увеличительное стекло… зрение подвело стазу обнаружить…
Теперь и я обнаружил этот вывод через увеличительное стекло… зрение подвело стазу обнаружить…
Re: Arduino mini Как залить скетч
Такая небось: https://cdn.compacttool.ru/images/docs/ ... b257ea.jpgна плате моей adruino mini используются оба эти обозначения. Выводы шилда разные
Если нужно, могу выложить фото моей adruino (естественно, китайский клон) и переходника USB-TTL.

Вот DTR там через конденсатор подключено, а RST вроде напрямую. Подключать переходник надо к DTR. Покажите фото переходника.
А вообще это сто раз уже описано везде. Вот, например: https://habr.com/ru/post/249391/


