Падение напряжения на пине Arduino UNO.

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

К пину подключена последовательная цепочка: "пин -> резистор 160 ом -> светодиод оптрона 4N25  -> светодиод  -> GND

Все элементы проверены, звонятся как надо, резитор именно 160 ом.

При подаче на пин "digitalWrite(pin,HIGH)" без цепочки вольтметр показывает честные 4,58 в.

При подключении цепочки напряжение на пине падает до 2,51 в.

Где беда?

Заранее спасибо!

SLKH
Offline
Зарегистрирован: 17.08.2015

Сразу, до этого моего текста, сообщить о схеме питания и напряжениях на клемме 5v, конечно же, никак нельзя было? 

bwn
Offline
Зарегистрирован: 25.08.2014

Sonologist пишет:

К пину подключена последовательная цепочка: "пин -> резистор 160 ом -> светодиод оптрона 4N25  -> светодиод  -> GND

Вопрос не по теме, а нахуа так оптрон жарить?

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

bwn пишет:

Вопрос не по теме, а нахуа так оптрон жарить?

В каком смысле жарить? На каждом светодиоде падает по 1,2 в. В результате по цепочке идет 0,13 мА. 

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

SLKH пишет:

 сообщить о схеме питания и напряжениях на клемме 5v, конечно же, никак нельзя было? 

Сообщаю: питание от писишного БП, на клемме 5,13в

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

Sonologist пишет:

В каком смысле жарить? На каждом светодиоде падает по 1,2 в. В результате по цепочке идет 0,13 мА. 

Плохо с математикой?

5.1в - (1.2 + 1.2) = 2.7в

2.7в / 160 Ом = 17 мА

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

Sonologist пишет:

При подаче на пин "digitalWrite(pin,HIGH)" без цепочки вольтметр показывает честные 4,58 в.

При подключении цепочки напряжение на пине падает до 2,51 в.

Где беда?

я бы уже на первой фразе насторожился бы - с чего это без нагрузки вольтметр показывает "честные 4.58в" ? Откуда такое дикое падение? - полвольта это очень много

А строчку pinMode(pin, OUTPUT); вы. случайно, не забыли в сетап вставить?

bwn
Offline
Зарегистрирован: 25.08.2014

b707 пишет:

Sonologist пишет:

В каком смысле жарить? На каждом светодиоде падает по 1,2 в. В результате по цепочке идет 0,13 мА. 

Плохо с математикой?

5.1в - (1.2 + 1.2) = 2.7в

2.7в / 160 Ом = 17 мА

Сорри, второй светик просмотрел. Но больше 5мА, вообще никогда не делаю. ИМХО.

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

b707 пишет:

А строчку pinMode(pin, OUTPUT); вы. случайно, не забыли в сетап вставить?

Ох, старый я козел! забыл, конечно. Завтра перепрошьюсь с ней, отпишусь, что стало....

Кстати, отсутствие этой строчки при наличие в сетапе же команды "digitalWrite(pin,HIGH)" действительно столь погано действует на работу пина?

SLKH
Offline
Зарегистрирован: 17.08.2015

b707 пишет:

Sonologist пишет:

При подаче на пин "digitalWrite(pin,HIGH)" без цепочки вольтметр показывает честные 4,58 в.

При подключении цепочки напряжение на пине падает до 2,51 в.

Где беда?

я бы уже на первой фразе насторожился бы - с чего это без нагрузки вольтметр показывает "честные 4.58в" ? Откуда такое дикое падение? - полвольта это очень много

причем полвольта между питанием (5,13) и выходным пином без нагрузки. куда они деваются?

 

или порт палёный, или косяки в монтаже (включая подключение измерителя). 

 

 

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

bwn пишет:

Но больше 5мА, вообще никогда не делаю. ИМХО.

что означает эта фраза? - вы не согласны, что 2.7в / 160 Ом дает 17 мА?

Вообще, уже по одной величине резистора 160 Ом без всяких калькуляторов видно, что никаких 0.13 мА тут быть не может

SLKH
Offline
Зарегистрирован: 17.08.2015

Sonologist пишет:

b707 пишет:

А строчку pinMode(pin, OUTPUT); вы. случайно, не забыли в сетап вставить?

Ох, старый я козел! забыл, конечно. Завтра перепрошьюсь с ней, отпишусь, что стало....

Кстати, отсутствие этой строчки при наличие в сетапе же команды "digitalWrite(pin,HIGH)" действительно столь погано действует на работу пина?

почему погано? пин работает, как приказано: 

pinMode(pin, INPUT);           // делается по умолчанию при включении питания

digitalWrite(pin, HIGH);       // включить подтягивающий резистор

картина полностью соответствует: и 4,5 вольта, и 2,5 под нагрузкой.

 

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

Sonologist пишет:

Кстати, отсутствие этой строчки при наличие в сетапе же команды "digitalWrite(pin,HIGH)" действительно столь погано действует на работу пина?

Применение digitalWrite(pin,HIGH) без предварительного pinMode(pin, OUTPUT) включает подтягивающий резистор на этом пине. Это всё, что она делает.

Т.е. пин остаётся в режиме входа, но начинает течь ток через внутренний резистор.

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

SLKH пишет:

или порт палёный, или косяки в монтаже (включая подключение измерителя). 

1. Проверил это с несколькими портами. Картина одинаковая.

2. Косяков в монтаже и при измерении нет. Проверил.

Скорее всего - из-за забытой строчки назначения пина как "output". Хотя, сказано ему, дескать, pinMode (pin, HIGH). Я полагал (видимо, совершенно необоснованно), что этого достаточно, чтобы на нем появилась логичсекая 1. Насколько я смог выудить из описания функции, "INPUT" или "OUTPUT" - чисто определяет, что будет делать пин: читать или выдавать, но на мощностные (вольтажные) свойства не влияет. Наверное, я не прав.

Пока писал - пришло пояснение. Спасибо друзья, все встало на место. Пропишу этот OUTPUT обязательно!

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

Sonologist пишет:

Насколько я смог выудить из описания функции, "INPUT" или "OUTPUT" - чисто определяет, что будет делать пин: читать или выдавать, но на мощностные (вольтажные) свойства не влияет. Наверное, я не прав.

при "INPUT" и потом "HIGH" пин соединяется с +5в через резистор 20к, а при OUTPUT - напрямую. Как вы думаете, влияет наличие 20к резистора на мощностные характеристики? :)

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

Sonologist, поэтому на форуме существует правило - обязательно выкладывать скетч и схему при создании темы. Тогда бы Вам дали правильный ответ значительно раньше.

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

b707 пишет:

 Как вы думаете, влияет наличие 20к резистора на мощностные характеристики? :)

Безусловно! Просто в доступных инструкциях про "OUTPUT - напрямую" не нашел. Теперь все ясно. Еще раз спасибо!

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

Jeka_M пишет:

Sonologist, поэтому на форуме существует правило - обязательно выкладывать скетч и схему при создании темы. Тогда бы Вам дали правильный ответ значительно раньше.

Да, это мой промах: приведенный (хоть и примитивный) скетч сразу бы все просянил.

bwn
Offline
Зарегистрирован: 25.08.2014

b707 пишет:

что означает эта фраза? - вы не согласны, что 2.7в / 160 Ом дает 17 мА?

Вообще, уже по одной величине резистора 160 Ом без всяких калькуляторов видно, что никаких 0.13 мА тут быть не может

Вас, ни в коей мере не критиковал. Все сказанное адресовалось исключительно ТС, цитата оставлена чтобы было понятно, что речь шла о 17мА.))))

GarryC
Offline
Зарегистрирован: 08.08.2016

И все таки - зачем 17 мА, меньше ( то есть резистор больше на порядок) нельзя?

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

bwn пишет:

Вас, ни в коей мере не критиковал. Все сказанное адресовалось исключительно ТС, цитата оставлена чтобы было понятно, что речь шла о 17мА.))))

ой. сорри... перепутал Вас с  ТС. Мое высказывание тоже было адресовано ему :)

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

Sonologist пишет:

Просто в доступных инструкциях про "OUTPUT - напрямую" не нашел.

Видите ли, такое поведение - это специфическая функция контроллеров AVR (для экономии). Собственно, к Ардуино никакого отношения не имеет, а потому в документации по Ардуино обычно не описывается. А в документации по AVR, естественно, все есть. Но в AVR нет "OUTPUT" - это специфика Ардуино.

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

andriano пишет:

Видите ли, такое поведение - это специфическая функция контроллеров AVR (для экономии). Собственно, к Ардуино никакого отношения не имеет, а потому в документации по Ардуино обычно не описывается. А в документации по AVR, естественно, все есть. Но в AVR нет "OUTPUT" - это специфика Ардуино.

Спасибо. Вот тот самый случай, когда не программист сходу и не разберется. Но, хорошо, что гуру подсказали.