Arduino Nano - питание USB & Vin

Forvad
Offline
Зарегистрирован: 09.02.2016

Возможно ли програмно определить откуда запитана адруинка от разъёма  USB или от пина Vin

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Нет. Всё питание приходит на одну ножку (VCC) микроконтроллера. USB - напрямую, Vin - через линейный стабилизатор.

UPD: Разве что подключить к Vin другой пин МК (через делитель, т.к. больше VCC) и считывать на Vin напряжение.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

В принципе есть способ, подходящий для Нано (и только для неё). Ибо у неё есть особенность - напряжение от USB идёт через диод, сответссно при питании от USB на шине Vcc примерно 4,6 вольта. А при питании через стабилизатор -5 вольт. Анализируя эту разницу можно сделать вывод откуда идёт питание.

Forvad
Offline
Зарегистрирован: 09.02.2016

dimax пишет:

при питании от USB на шине Vcc примерно 4,6 вольта. А при питании через стабилизатор -5 вольт.

а я тут голову ломаю почему Vcc програмно намерялось 5в и вдруг стало 4.6 .. а 5в то было на Uno, а ща переехал из-за размера на Nano.

Большое спасибо ... ща буду проверять, если всё так как вы сказали - то просто замечательно. Этот вариант мне подходит :)

Forvad
Offline
Зарегистрирован: 09.02.2016

Получилось .. правда немного не в ту сторону :)

При питании NANO от порта USB: Vcc = 4.57в, а при подачи внешних 5в на Vin: Vcc = 4.15в

 

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

Forvad пишет:

Получилось .. правда немного не в ту сторону :)

а при подачи внешних 5в на Vin: Vcc = 4.15в

 

Туда надо подавать минимум 6.5 вольт.

Так LDO устроены.

Forvad
Offline
Зарегистрирован: 09.02.2016

как говорится за не имением лучшего :) ну нет у меня 6.5В, пляшем от того что есть 

Пока вроде бы работает, а там посмотрим ..

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

Forvad пишет:

как говорится за не имением лучшего :) ну нет у меня 6.5В, пляшем от того что есть 

Постановка задачи тогда не понятна, крону купите на крайняк.

Forvad
Offline
Зарегистрирован: 09.02.2016

xDriver пишет:

Постановка задачи тогда не понятна, крону купите на крайняк.

Оффтоп конечно - но если Вам интересно ;)

ваяю измеритель ёмкости 18650. По завершени теста сделал переключение разряженного аккума на зарядничек TP4056, а т.к. от ардуинки запитать 1А зарядку нельзя, а напрямую подпаяться к УСБ разъёму Nan-ы я не смогу (мелкое там всё до безобразия) то поступил наиборот. Запитал ардуинку от УСБ порта этого зарядничка, там и контакные площадки под пайку нормальные есть  ... Ну и вот, добавил определение откуда запитана ардуинка. Если от  зарядника - то после переключаем аккум на зарядку , а если от УСБ (если сливаем измерения на комп) - то не заряжаем ... так что крона тут не вариант.

можно конечно прикрутить DC-DC преобразователь .. только зачем? если так всё  вроде работает :) ... вылезет если какая из-за этого проблема - добавлю.

Вот только что допилил скетч .. и поставил аккум на измерения - утром посмотрим как всё пройдет

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Forvad, вы уже работали с этими модулями на tp4056? Они весьма критичны к питанию, учитывая что зарядный ток там залудили по дефолту на 1 ампер.  При существенной просадке напряжения зарядка никогда не окончится,  а просадка обязательно будет. Да и не каждый порт компьютера отдаст такой ток. Лучше сразу делать под внешний БП, и что б напряжение было чуть выше -5,2в Как в современных зарядниках для смартофонов/планшетов. Как раз с запас уйдёт на просадку напряжения в кабеле.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Forvad пишет:

При питании NANO от порта USB: Vcc = 4.57в, а при подачи внешних 5в на Vin: Vcc = 4.15в

Подавай внешние 5в на пин +5V, а не Vin.

Forvad
Offline
Зарегистрирован: 09.02.2016

dimax пишет:

 Да и не каждый порт компьютера отдаст такой ток. Лучше сразу делать под внешний БП, и что б напряжение было чуть выше -5,2в Как в современных зарядниках для смартофонов/планшетов. Как раз с запас уйдёт на просадку напряжения в кабеле.

да не планировал я с компа работать на зарядку ... я tp4056 подключаю к заряднику от смарта - там 2А . Измерял тестилкой - 1А берет. Утром проверил стоящий с вечера аккум  ~3000мАч слилось ... тест продолжался.

А на USB-порт компа я подключаю саму ардуинку (вернее планирую подключатся) только для перезаливки скетча и теста с отправкой данных на ком-порт. Вот тут да :) токи  на отдачу низкие - но эта тема как раз и поднята  чтобы эту ситуацию определять и автоматом аккум на зарядку не ставить :)

Forvad
Offline
Зарегистрирован: 09.02.2016

Jeka_M пишет:

Подавай внешние 5в на пин +5V, а не Vin.

а что так можно?! :)

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Задам и свой вопрос тут:

У Наны стоит защитный диод по питанию от USB в результате чего как тут уже было сказано, на плате вместо +5в бегает чутка меньше 4.6в из-за падения на диоде при питании от USB. Получается что если на плату подавать >4.6в от внешнего стабилизатора напрямую, и при этом иметь подключенный USB кабель, то диод будет защищать USB и все будет работать.

Вопрос: если на плату подается меньше 4.6в (ну так получилось из-за просадок) и при этом подключен USB-кабель, то последний через диод все равно будет стараться "подтянуть" питание платы до 4.6в через диод, так ведь? .. если так, то получается что он будет подкармливать тот источник, который подсоиденен к плате и .. что будет в этом случае: сгорит порт компа или что?

Вопрос не праздный, а экспериментировать как-то не хочется ..

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Forvad пишет:

При питании NANO от порта USB: Vcc = 4.57в, а при подачи внешних 5в на Vin: Vcc = 4.15в

Если у вас есть источник питания 5 вольт, -подключайте его сразу к пину Vcc.

 

Arhat109-2 пишет:

Вопрос: если на плату подается меньше 4.6в (ну так получилось из-за просадок) и при этом подключен USB-кабель, то последний через диод все равно будет стараться "подтянуть" питание платы до 4.6в через диод, так ведь? .. если так, то получается что он будет подкармливать тот источник, который подсоиденен к плате и .. что будет в этом случае: сгорит порт компа или что?

Смотря как вы подали внешнее питания, если через Vin, то обратного тока не будет. Если сразу на Vcc, тогда да -питание с USB пойдёт в обратку к "ослабшему" внешнему источнику питания. Но порты USB обычно не горят, там по стандарту самовосстанавливающийся предохранитель, да и диод на плате Нано обычно быстрей выгорает чем тот предохранитель :)

Forvad
Offline
Зарегистрирован: 09.02.2016

dimax пишет:

Если у вас есть источник питания 5 вольт, -подключайте его сразу к пину Vcc.

вечером попробую ... никак я не мог подумать, что питание можно подать в выходной пин :)

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Forvad пишет:

Jeka_M пишет:

Подавай внешние 5в на пин +5V, а не Vin.

а что так можно?! :)


Не можно, а нужно.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Forvad пишет:

dimax пишет:

Если у вас есть источник питания 5 вольт, -подключайте его сразу к пину Vcc.

вечером попробую ... никак я не мог подумать, что питание можно подать в выходной пин :)


Это не выходной пин. Это пин, который подключён напрямую к пину питания (Vcc) микроконтроллера. Естественно, там всегда будет напряжение питания самого микроконтроллера.

Поэтому, с него можно как снимать напряжение питания МК (при подключении через USB или Vin), так и подавать туда 5В напрямую.

Forvad
Offline
Зарегистрирован: 09.02.2016

да, всё как в начале и говорил "dimax". USB -  4,6 вольта. А при подачи питания от TP4056 в пин "+5" - 5 вольт

Большое спасибо всем за советы

DmitryN
Offline
Зарегистрирован: 23.04.2018

dimax пишет:

В принципе есть способ, подходящий для Нано (и только для неё). Ибо у неё есть особенность - напряжение от USB идёт через диод, сответссно при питании от USB на шине Vcc примерно 4,6 вольта. А при питании через стабилизатор -5 вольт. Анализируя эту разницу можно сделать вывод откуда идёт питание.

Для моих Arduino Nano это не работает. На VCC стабильно 5V, в любом случае.

Barny
Offline
Зарегистрирован: 23.01.2015

Некропостинг, но в тему :-).

Nano подключен к питанию устройства через GND и VIN. Если запитать Nano через USB, то программа работает. Но если подключить питание устройства, то Nano включается, но программа не выполняется. В чем может быть проблема ?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Если работоспособность нарушается при замене питания, значит, в нем, родимом, и проблема.

Barny
Offline
Зарегистрирован: 23.01.2015

Заменить стабилизатор ? Просто других плат в наличии нет, не могу проект откатать. Для проверки соорудил обычную мигалку. На D3 повесил фет и моргаю им светодиодом. От USB работает, но как только подключаю внешнее питание, диод горит постоянно, не моргая. Не могу понять причину...

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Мы пока не видели ни схемы, ни скетча.

А без них конкретную причину угадать вряд ли удастся - остается лишь отделываться общими соображениями - как в сообщении №21.

sadman41
Offline
Зарегистрирован: 19.10.2016

Предлагаю подать 5V на 5V.

Barny
Offline
Зарегистрирован: 23.01.2015

Скеч самый простой, чисто для проверки.

#define LED_PIN 3 // Включить свет
int i=0;
void setup()
{
    pinMode(LED_PIN, OUTPUT); // инициализируем PinD3 как выход
 }

void loop() // процедура loop
{
 // плавное включение освещения

for(i=0; i<=255; i++)
    {
   analogWrite(LED_PIN, i);
 delay(10); // ставим задержку для эффекта
   Serial.println(i); 
    }

for(i=255; i=0; i--)
   {
    analogWrite(LED_PIN, i);
   delay(10); // ставим задержку для эффекта
   Serial.println(i); 
     }
}

Схема подключения: GND Nano подпаян к минусу, VIN к плюсу P-канального транзистора, к которому подключен диод. D3 подпаян к затвору фета. Дальше, как уже говорил - используя USB все работает, используя питание фета, горит диод не меняя яркости. 

Barny
Offline
Зарегистрирован: 23.01.2015

sadman41 пишет:

Предлагаю подать 5V на 5V.

Проверял, так работает, но в рабочем устройстве нету 5В, только 8.4В.

sadman41
Offline
Зарегистрирован: 19.10.2016

Если вы такие названия знаете, то, полагаю, сможете подключить мультиметр между VIn и GND... 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Есть подозрение, что мультиметр нужно подключать не между Vin и GND, а между 5V и GND.

 

Но, вообще-то, вот это:

Barny пишет:

Схема подключения: GND Nano подпаян к минусу, VIN к плюсу P-канального транзистора, к которому подключен диод. D3 подпаян к затвору фета. Дальше, как уже говорил - используя USB все работает, используя питание фета, горит диод не меняя яркости. 

ни разу не схема.

sadman41
Offline
Зарегистрирован: 19.10.2016

andriano пишет:

Есть подозрение, что мультиметр нужно подключать не между Vin и GND, а между 5V и GND.

Это второй шаг...

Barny
Offline
Зарегистрирован: 23.01.2015

С утра подумал на выспавшуюся голову... А не пробит ли транзистор ? На затровре подозрительно уровень батареи звонится. Надо проверить.

Стрит_Ежик
Offline
Зарегистрирован: 23.03.2022

Добрый день! У меня внешнее питание платы реализовано почти как у автора темы: с модуля tp4056 +5v на VIN. Сегодня при включенном внешнем питании подключил плату к USB, после этого плата не запускается от внешнего питания, но от USB функционирует нормально. Что там выгорело, я не понимаю, но по амперметру какое-то потребление тока имеется... Это ладно...
У меня вопрос: если я теперь буду давать питание на VCC, как рекомендуют выше, и всё заработает... Чем мне грозит в будущем случайное включение одновременно и VCC, и USB?

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Питание будет оттуда, откуда предпочтительнее.

_Igor_
Offline
Зарегистрирован: 10.01.2022

tp4056 это не блок питания. Это спец микросхема. На сколько помню - малые токи НЕ дает. Отключается.

Стрит_Ежик
Offline
Зарегистрирован: 23.03.2022

Она работает.

_Igor_
Offline
Зарегистрирован: 10.01.2022

Померьте напряжение на выходе НИКУДА НЕ ПОДКЛЮЧЕННОЙ tp4056 

b707
Offline
Зарегистрирован: 26.05.2017

Стрит_Ежик пишет:
Она работает.

TP4056 НЕ УМЕЕТ отдавать 5в при питании от Lioh - вы что-то перепутали. поэтому использовать ее для батарейного питания на пин 5в НЕЛЬЗЯ

Стрит_Ежик
Offline
Зарегистрирован: 23.03.2022

b707 пишет:

Стрит_Ежик пишет:
Она работает.

TP4056 НЕ УМЕЕТ отдавать 5в при питании от Lioh - вы что-то перепутали. поэтому использовать ее для батарейного питания на пин 5в НЕЛЬЗЯ


Я извиняюсь, немного неверно сформулировал... Модуль у меня сдвоенный, 4056 отвечает за зарядку лития, а ещё одна нонейм-микросхема+дроссель за повышение до 5в.

Стрит_Ежик
Offline
Зарегистрирован: 23.03.2022

_Igor_ пишет:

Померьте напряжение на выходе НИКУДА НЕ ПОДКЛЮЧЕННОЙ tp4056 


Немного неправильно выразился, в сообщении выше объяснил. Напряжение в воздухе равно напряжению лития. Т. Е. Без нагрузки в районе 4,2в, под нагрузкой 5в.
Тем не менее, что-нибудь модет произойти, если я включу и +5v, и USB? Логика мне подсказывает, что нет, но и эта же логика не должна была ничего спалить, когда я подключался к VIN...