Не работает pin10

Работа pin10 в дискретном режиме с подтягивающим резистором

Ответить
Аватара пользователя
Goosr
Сержант
Сообщения: 184
Зарегистрирован: 07.06.2016{, 08:25}
Репутация: 16
Откуда: Тольятти
Имя: Дмитрий

Не работает pin10

#1

Сообщение Goosr » 11.03.2019{, 14:52}

Доброго времени суток.
Подаю сигнал в 24В на pin10 UNO, NANO (нужное подчеркнуть) через оптрон 817, выход оптрона сажает пин10 на минус. В скетче соответственно, включен подтягивающий резистор и пин выставлен нормально закрытым. Схема с оптроном работать не хочет, а вот если пин10 перемычкой посадить на минус то работает. Такое наблюдается только с пин10. Сопротивление оптрона в открытом состоянии примерно 90-100 Ом. Может есть какие либо нюансы с pin 10 кроме того что он SPI?
Схемку подключения прилагаю.
СпойлерПоказать
Снимок экрана от 2019-03-11 15-38-52.jpg
FLProg 6.3.1 - 7.3.4 - Linux

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Не работает pin10

#2

Сообщение Phazz » 11.03.2019{, 14:58}

А с другим пином нормально работает?

Аватара пользователя
Goosr
Сержант
Сообщения: 184
Зарегистрирован: 07.06.2016{, 08:25}
Репутация: 16
Откуда: Тольятти
Имя: Дмитрий

Не работает pin10

#3

Сообщение Goosr » 11.03.2019{, 15:01}

С остальными пинами нормально, только с десятым. Причем пробовал UNO и NANO, так что это больше на фичу похоже.
FLProg 6.3.1 - 7.3.4 - Linux

fsergei70
Капитан
Сообщения: 786
Зарегистрирован: 17.11.2015{, 20:36}
Репутация: 54
Имя: Сергей

Не работает pin10

#4

Сообщение fsergei70 » 11.03.2019{, 15:05}

А если подтягивающий резистор дополнительно поставить?

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Не работает pin10

#5

Сообщение Phazz » 11.03.2019{, 15:09}

А если плюс подать через оптрон на пин убрав внутреннюю подтяжку?

Аватара пользователя
Ivan_Kornege
Лейтенант
Сообщения: 342
Зарегистрирован: 29.04.2017{, 08:24}
Репутация: 27
Откуда: гАндурас
Имя: Ivan

Не работает pin10

#6

Сообщение Ivan_Kornege » 11.03.2019{, 15:23}

Goosr писал(а):
11.03.2019{, 14:52}
Сопротивление оптрона в открытом состоянии примерно 90-100 Ом.
Надо не сопротивление мереть а напряжение на 10 ноге когда открыт опторон.
Лучше осциллографом с высокоомным щупом.

Аватара пользователя
Goosr
Сержант
Сообщения: 184
Зарегистрирован: 07.06.2016{, 08:25}
Репутация: 16
Откуда: Тольятти
Имя: Дмитрий

Не работает pin10

#7

Сообщение Goosr » 11.03.2019{, 15:32}

Да тут эффект наоборот. Если накоротко проводком посадить на минус, то отрабатывает. А у оптрона есть сопротивление.
Замерил сейчас, на всех пинах, при включенном подтягивающем резисторе, ток срабатывания составил 0,14mA, что примерно соотвествует 20кОм. На десятом пине ток срабатывания 81mA, значит подтягивающий резистор 60 Ом.
FLProg 6.3.1 - 7.3.4 - Linux

seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09.04.2016{, 12:17}
Репутация: 22
Откуда: Кременчуг
Имя: Сергей

Не работает pin10

#8

Сообщение seri0shka » 11.03.2019{, 15:50}

Goosr писал(а):
11.03.2019{, 15:32}
На десятом пине ток срабатывания 81mA
Нихфига себе! Внутри 80 ом точно быть не может. Больше похоже на ток короткого замыкания при установке выхода в 1. Нужно смотреть скетч (именно скетч, не проект).

Отправлено спустя 3 минуты 27 секунд:
Кстати, для светодиода оптрона маловато 0,8 мА, мне кажется. Хотя не в этом дело.

renat85
Рядовой
Сообщения: 29
Зарегистрирован: 06.09.2015{, 20:48}
Репутация: 2

Не работает pin10

#9

Сообщение renat85 » 11.03.2019{, 17:01}

А случайно сетевая карта не используется в проекте?

Аватара пользователя
Goosr
Сержант
Сообщения: 184
Зарегистрирован: 07.06.2016{, 08:25}
Репутация: 16
Откуда: Тольятти
Имя: Дмитрий

Не работает pin10

#10

Сообщение Goosr » 11.03.2019{, 17:10}

Нет. Это сугубо эксперимент. Две платы Уно и Нано, макетка, мультиметр, оптрон с резистором.
FLProg 6.3.1 - 7.3.4 - Linux

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Не работает pin10

#11

Сообщение Phazz » 11.03.2019{, 21:02}

Может всё-таки так попробуете подключить?
b540dd391816.jpg
b540dd391816.jpg (8.35 КБ) 1114 просмотров

Аватара пользователя
Goosr
Сержант
Сообщения: 184
Зарегистрирован: 07.06.2016{, 08:25}
Репутация: 16
Откуда: Тольятти
Имя: Дмитрий

Не работает pin10

#12

Сообщение Goosr » 11.03.2019{, 21:10}

Со стягивающим резистором? Мне вот паять эти резисторы не охота если есть встроенные подтягивающие. А реально мне интересно почему пин10 такой.
FLProg 6.3.1 - 7.3.4 - Linux

Аватара пользователя
nalnik
Подполковник
Сообщения: 1324
Зарегистрирован: 14.05.2016{, 17:12}
Репутация: 100
Откуда: Кисловодск
Имя: Александр

Не работает pin10

#13

Сообщение nalnik » 11.03.2019{, 21:15}

Goosr писал(а):
11.03.2019{, 21:10}
А реально мне интересно почему пин10 такой.
Может стоит просто прозвонить ноги от 8 до 12,
при отключенном питании и без нагрузки на этих ногах - тестером от +5 и GND
Я хочу быть добрее, но люди сами нарываются.

Аватара пользователя
Grafsaxar
Лейтенант
Сообщения: 377
Зарегистрирован: 06.09.2015{, 16:04}
Репутация: 6
Откуда: Маркс-Энгелс
Имя: Alexander

Не работает pin10

#14

Сообщение Grafsaxar » 12.03.2019{, 10:40}

Goosr писал(а):
11.03.2019{, 21:10}
А реально мне интересно почему пин10 такой.
Камни с Али? С одной серии?
Был у меня такой косяк с PWM пином 11.

3 нано с одной покупки и от одного продавца.
Купил у другого и всё нормально заработало:)))
Качество — это делать что-либо правильно, даже когда никто не смотрит

Аватара пользователя
Goosr
Сержант
Сообщения: 184
Зарегистрирован: 07.06.2016{, 08:25}
Репутация: 16
Откуда: Тольятти
Имя: Дмитрий

Не работает pin10

#15

Сообщение Goosr » 12.03.2019{, 12:38}

С утра экспериментировал и собственно вот какие результаты.
Если скетч простой, например
СпойлерПоказать

Код: Выделить всё

bool _kPin0 = 0;
void setup()
{
pinMode(10, INPUT_PULLUP); 
pinMode(12, INPUT_PULLUP); 
pinMode(14, OUTPUT); 

}
void loop()
{

//Плата:1
digitalWrite (14, (((!(digitalRead (10)))) || ((!(digitalRead (12))))));

}
То пин 10 работает корректно, ток срабатывания 0,14мА как и на соседних пинах.

Если добавить в программу сдвиговый регистр, то активируется SPI
СпойлерПоказать

Код: Выделить всё

#include <SPI.h>
byte _74HC5951OB1 = 0;
byte _74HC5951TB = 0;
bool _74HC5951NS = 0;
bool _kPin0 = 0;
void setup()
{
pinMode(10, INPUT_PULLUP); 
pinMode(12, INPUT_PULLUP); 
pinMode(14, OUTPUT); 

SPI.begin();
pinMode(10, OUTPUT);
pinMode(0, OUTPUT);
}
void loop()
{

//Плата:1
digitalWrite (14, (((!(digitalRead (10)))) || ((!(digitalRead (12))))));
_74HC5951NS = 0;
bitWrite(_74HC5951TB, 0, 0);
bitWrite(_74HC5951TB, 1, 0);
bitWrite(_74HC5951TB, 2, 0);
bitWrite(_74HC5951TB, 3, 0);
bitWrite(_74HC5951TB, 4, 0);
bitWrite(_74HC5951TB, 5, 0);
bitWrite(_74HC5951TB, 6, 0);
bitWrite(_74HC5951TB, 7, 0);
if(! (_74HC5951TB == _74HC5951OB1)){_74HC5951OB1 = _74HC5951TB; _74HC5951NS = 1;}
if (_74HC5951NS) {
digitalWrite(0, 0);
SPI.transfer(_74HC5951OB1);
digitalWrite(0, 1);}

}
начинаются чудеса, ток срабатывания становится 81 mA, на соседних пинах ток срабатывания остался 0,14мА

Проверялось это на двух Nano V3 от Robodyn, купленных с интервалом 1,5 месяца. Год назад у меня была такая же история с UNO от неизвестного китайца, то-же не срабатывало с включенным подтягивающим резистором на десятом пине, но тогда я разбираться не стал, т.к. все уже было смонтировано на станке и время поджимало, просто провод на соседний пин кинул.
Как-то вот так. Сегодня вечером попробую на оригинальной UNO от Амперки.
Еще добавлю. На первой Nano, после всех испытаний, 10 пин при включении подтягивающего стал вести себя иначе, как будто ему подают внешний сигнал минус и он все время включен. Может я его уже и подпалил. :smile37:
FLProg 6.3.1 - 7.3.4 - Linux

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Не работает pin10

#16

Сообщение pan » 12.03.2019{, 12:52}

лучше его не использовать как вход вместе с спи

http://arduino.ru/Reference/Library/SPI
51-34.png

Аватара пользователя
Goosr
Сержант
Сообщения: 184
Зарегистрирован: 07.06.2016{, 08:25}
Репутация: 16
Откуда: Тольятти
Имя: Дмитрий

Не работает pin10

#17

Сообщение Goosr » 12.03.2019{, 12:59}

pan писал(а):
12.03.2019{, 12:52}
лучше его не использовать как вход вместе с спи

http://arduino.ru/Reference/Library/SPI
51-34.png
Ну собственно к этому и пришел. :smile9:
FLProg 6.3.1 - 7.3.4 - Linux

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Не работает pin10

#18

Сообщение Sancho » 12.03.2019{, 13:10}

Goosr, Ну Вы и даёте - только спустя 15 постов заявить об использовании SPI в проекте.........
Выражение
Goosr писал(а):
11.03.2019{, 14:52}
Может есть какие либо нюансы с pin 10 кроме того что он SPI?
никак Вас не оправдывает.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
Goosr
Сержант
Сообщения: 184
Зарегистрирован: 07.06.2016{, 08:25}
Репутация: 16
Откуда: Тольятти
Имя: Дмитрий

Не работает pin10

#19

Сообщение Goosr » 12.03.2019{, 13:15}

:smile44: ну эта, учимся. И еще рядовой пока.
FLProg 6.3.1 - 7.3.4 - Linux

Аватара пользователя
Goosr
Сержант
Сообщения: 184
Зарегистрирован: 07.06.2016{, 08:25}
Репутация: 16
Откуда: Тольятти
Имя: Дмитрий

Не работает pin10

#20

Сообщение Goosr » 13.10.2020{, 08:54}

Продолжу немного старую тему. :smile390:
Начиная с FLProg 6.3, если задействован в проекте SPI нельзя PIN10 и PIN12 использовать как вход так и на выход, программа просто их не назначает. Если глянуть скетч с SPI, то видно, что PIN10 притянут к выходу а PIN12 нет. С PIN10 понятно, о том чтоб его к выходу привязать указано в библиотеке. А вот на счет PIN12 непонятно, это так задумано или ошибка? У меня в старых проектах одновременно работали PIN12, работающий как вход, и SPI. Вроде глюков не наблюдалось.
СпойлерПоказать
#include <SPI.h>
byte _74HC5951OB1 = 0;
byte _74HC5951TB = 0;
bool _74HC5951NS = 0;
void setup()
{
SPI.begin();
pinMode(10, OUTPUT);
pinMode(4, OUTPUT);
}
void loop()
{
//Плата:1
_74HC5951NS = 0;
bitWrite(_74HC5951TB, 0, 0);
bitWrite(_74HC5951TB, 1, 0);
bitWrite(_74HC5951TB, 2, 0);
bitWrite(_74HC5951TB, 3, 0);
bitWrite(_74HC5951TB, 4, 0);
bitWrite(_74HC5951TB, 5, 0);
bitWrite(_74HC5951TB, 6, 0);
bitWrite(_74HC5951TB, 7, 0);
if(! (_74HC5951TB == _74HC5951OB1))
{
_74HC5951OB1 = _74HC5951TB;
_74HC5951NS = 1;
}
if (_74HC5951NS)
{
digitalWrite(4, 0);
SPI.transfer(_74HC5951OB1);
digitalWrite(4, 1);
}
}
FLProg 6.3.1 - 7.3.4 - Linux

Ответить

Вернуться в «Помогите, а то я "нимагу"»