Имеется устройство управления сервоприводом (схему прилагаю). У 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 В? Не удобно каждый раз переключать питание, чтобы подсоединиться к схеме (наверно, это даже и не логично).
Имеется устройство управления сервоприводом (схему прилагаю).
По схеме нарисовано +6,5 В подаётся на вывод VCC. Так ли это? Если так, то напряжение питания для МК семейства мега допустимо максимально лишь до 6 В. Кстати в схеме ошибка… + питание от внешнего БП подаётся на GND МК.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Заголовок сообщения: Re: Arduino mini Как залить скетч
Добавлено: Чт апр 30, 2020 20:02:16
Вход стабилизатора обозначается RAW, а не VCC. VCC это непосредственно вывод питания МК и выход стабилизатора. Который выведен на шильде для подачи напряжения на МК в обход стабилизатора, или можно питать от него периферию если задействован стабилизатор.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
А RESET кто подключать будет? CTS или DTR (забыл что именно, попробовать можно - не поплохее) переходника на RESET пин подключите. Сбросом оно переводит МК в бутлоадер, без которого не будет прошивки.
4. После завершения компиляции (среда возвращает лог) передергиваю внешнюю кнопку reset.
Долго так будете пытаться попасть в бут. Он всего 0.5с ожидает запроса на переход в режим программирования, а прога для прошивки только один раз подает сигнал. Нужно совпасть. Или нормально подключить вывод RESET.
Да можно конечно вручную попасть. Сам так делал. Но это обычно не с 1го раза получается ) И делать это надо ДО запуска avrdude, прям перед самым его запуском.
4. После завершения компиляции (среда возвращает лог) передергиваю внешнюю кнопку reset.
Долго так будете пытаться попасть в бут. Он всего 0.5с ожидает запроса на переход в режим программирования, а прога для прошивки только один раз подает сигнал. Нужно совпасть. Или нормально подключить вывод RESET.
Повторюсь
Цитата:
Проблемы с загрузкой скетча появились после того, в схему был добавлен конденсатор. До этого момента в результате описанных выше действий скетч заливался без ошибок.
Что значит "один из"? Нужен тот, что на ногу МК идет.
Я так понимаю, оба контакта идут на ноги МК- каждый на свою. Один на GND, а второй, видимо, на RST. Иначе, как ещё кнопка может перезапустить МК? Подключал по одереди, сначала один контакт - и пробовал прошить МК, затем, вместо первого - второй. Идея была в том, чтобы переходник usb-ttl своим выводом RST подал сигнал сброса в нужный момент. Раньше, в том числе, и до подключения конденсатора в схему, такой вариант я не пробовал.
И обратите внимание на слова Самсусамыч, питание выше 6В должно подключаться на вывод RAW, а не VCC.
К чему, в данной схеме, приведет это переподключение: На процесс прошивки может повлиять?
Добавлено after 16 minutes 54 seconds: Грешу на конденсатор. Можно предположить, что с ним - как-то изменилась крутизна фронта сигнала сброса. И теперь arduino mini от кнопки перезапускается (это точно, передача данных на ПК останавливается), но "как-то недостаточно". И поэтому, процесс прошивки заканчивается ошибкой. Правда, насколько это правдоподобно?
Я так понимаю, оба контакта идут на ноги МК- каждый на свою. Один на GND, а второй, видимо, на RST. Иначе, как ещё кнопка может перезапустить МК?
Ну как общепринято, что земля - это земля, она общая. Она везде есть, а не только у МК. Поэтому один из контактов кнопки у вас на землю идет, а второй на ногу REST. Вот ко второму и надо подключаться.
Цитата:
Идея была в том, чтобы переходник usb-ttl своим выводом RST подал сигнал сброса в нужный момент. Раньше, в том числе, и до подключения конденсатора в схему, такой вариант я не пробовал.
Это не ваша идея, оно так и работает. Прошивальщик при прошивке на вывод DTR программатора на 250 мс подает низкий уровень, чтобы разрядить конденсатор и сбросить МК. Когда МК запускается, загрузчик проверят причину сброса - и только если она по сбросу через пин RESET (это называется внешний сброс), то он в течение 500мс ожидает комманду на прошивку. Иначе сразу прыгает в основную программу. Т.е. без сброса по сигналу RESET в режим прошивки вы никак не войдете. Если ваш конденсатор в схеме между 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 МК - он из сброса не выходит, вот и не работает.
Поправьте, если ошибаюсь, но задействованный переходник USB-TTL это не совсем прошивальщик. Не могу сказать, для чего предназначен его вывод RST (может ли он действовать как сбрасыватель, распознает ли он такую команду от IDE Arduino?) Поэтому отношусь к этой затее именно как к идее)
Цитата:
... кнопку "внешнюю" поставили небось параллельно кнопке на плате... Так работать не будет.
Цитата:
Как же раньше вы прошивали тогда? Вручную сброс нажимали, ловя момент после компиляции?
Да, с использованием внешней кнопки, параллельной внутренней кнопке RESET - писал об этом в самом начале. Процедура не хитрая, по ней вопросов нет.
Задачи заменить кнопку RESET на сигнал DTR для целей прошивки - не стоит.
Цитата:
К чему, в данной схеме, приведет это переподключение: На процесс прошивки может повлиять?
Цитата:
К тому, что МК и остальное не спалите... Схему смотрите, платка аруино - не голый МК:...
По данной схеме в части стабилизатора, можно предположить следующий эффект. За счет внутренних емкостей С19 и С13 отпадает надобность во внешнем конденсаторе. И, соответственно, появляется шанс его убрать
Однако, этот внешний конденсатор справляется со своей задачей отлично. Поясню. Без него Arduino реально отказывает. Это из-за просадки напряжения (может еще и от каких-то помех) при работе сервопривода. Не располагаю осциллографом, цифры привести не получится. В связи с этим вопрос, сможет ли указанный внутренний стабилизатор в известном смысле "заменить" собой внешний конденсатор?
Для справки, используется серво типа DS3225MG.
Кстати,
Самсусамыч писал(а):
На плате написано RST, а на схеме DTR.
на плате моей adruino mini используются оба эти обозначения. Выводы шилда разные Если нужно, могу выложить фото моей adruino (естественно, китайский клон) и переходника USB-TTL.
Поправьте, если ошибаюсь, но задействованный переходник USB-TTL это не совсем прошивальщик. Не могу сказать, для чего предназначен его вывод RST (может ли он действовать как сбрасыватель, распознает ли он такую команду от IDE Arduino?) Поэтому отношусь к этой затее именно как к идее)
Прошивальщий = программа из комплекта avrdude в данном случае. Да, по железу просто переходник, но им же и прошивается, т.к. на ардуино не голый МК, там изначально уже прошит бутлоадер, умеющий прошивать по UART. На перехондиках USB-UART нет обычно никаких RESET. Там есть DTR. Это в вашем назвали так, потому что под ардуино заточен надписью просто. Подключайте, оно именно так и расчитано работать. Всегда. Все ардуино прошиваются именно переходником USB-UART (или USB-TTL как вы его назвали, это неважно). Даже старшие модели, где есть USB - там просто аналогичный переходник на плате "встроен" и всё. И именно через DTR<->RESET они переходят в режим прошивки.
Цитата:
В связи с этим вопрос, сможет ли указанный внутренний стабилизатор в известном смысле "заменить" собой внешний конденсатор? Для справки, используется серво типа DS3225MG.
Чудес не бывает. Если и без стаба проседает, то сам по себе он помочь не может. Серву через него не подключить - там всего 150мА максимум тока он может выдавать, если такой стоит. А китайцы с разными конечно делают бывает. Ну может конечно конденсатор на входе стаба поможет, если хватит его.
на плате моей adruino mini используются оба эти обозначения. Выводы шилда разные Если нужно, могу выложить фото моей adruino (естественно, китайский клон) и переходника USB-TTL.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения