посчитать импульсы за еденицу времени

Аватара пользователя
MANGUST
Рядовой
Сообщения: 8
Зарегистрирован: 20.05.2018{, 22:05}
Репутация: 0
Имя: Дионисий

посчитать импульсы за еденицу времени

#1

Сообщение MANGUST » 20.05.2018{, 22:27}

Здравствуйте!
Возникла необходимость ресурсами ардуино нано посчитать импульсы за еденицу времени (4 импульса за 6 секунд) и при привышении заданного значения отреагировать на выходе (допустим включить светодиод). Блок (SCT2) вроде не сложный, и алгоритм простейший, но не могу никак его реализовать… решил попросить помощи у знающих людей так как мои вариации в FlProg закончились ничем. Заранее спасибо всем кто откликнется (особенно с готовым решением в виде файла) :)

Serg_Grn
Лейтенант
Сообщения: 333
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 36
Имя: Сергей

посчитать импульсы за еденицу времени

#2

Сообщение Serg_Grn » 20.05.2018{, 22:40}

test.flp
(60.99 КБ) 116 скачиваний
Больше 4 импульсов за 6 сек. - на выходе "1"; меньше 3 имп. за 6 сек. - на выходе "0".

Аватара пользователя
MANGUST
Рядовой
Сообщения: 8
Зарегистрирован: 20.05.2018{, 22:05}
Репутация: 0
Имя: Дионисий

посчитать импульсы за еденицу времени

#3

Сообщение MANGUST » 20.05.2018{, 22:47}

ок. завтра попробую Вашу схему. Когда я делал с одним блоком сравнения - не работало...

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

посчитать импульсы за еденицу времени

#4

Сообщение pan » 21.05.2018{, 08:08}

MANGUST писал(а):
20.05.2018{, 22:27}
4 импульса за 6 секунд
а нахрена скоростной счетчик на прерываниях? чем обычный не угодил

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

посчитать импульсы за еденицу времени

#5

Сообщение seri0shka » 21.05.2018{, 10:49}

pan писал(а):
21.05.2018{, 08:08}
чем обычный не угодил
Возможно, в проекте есть и другие блоки. Без прерываний, если короткий импульс придёт во время обработки других блоков, он останется незамеченным.

Serg_Grn
Лейтенант
Сообщения: 333
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 36
Имя: Сергей

посчитать импульсы за еденицу времени

#6

Сообщение Serg_Grn » 21.05.2018{, 16:00}

Действительно, на такой мизерной частоте вполне можно на обычном счётчике сделать...
Выход, при необходимости, можно зафиксировать триггером или задержкой.
счётчик.flp
(70.1 КБ) 109 скачиваний

Serg_Grn
Лейтенант
Сообщения: 333
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 36
Имя: Сергей

посчитать импульсы за еденицу времени

#7

Сообщение Serg_Grn » 21.05.2018{, 16:10}

MANGUST писал(а):
20.05.2018{, 22:47}
Когда я делал с одним блоком сравнения - не работало...
Второй блок сравнения и триггер нужны только для формирования гистерезиса. Если гистерезис не нужен, то достаточно одного блока сравнения.

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

посчитать импульсы за еденицу времени

#8

Сообщение Sancho » 21.05.2018{, 16:19}

Serg_Grn писал(а):
21.05.2018{, 16:00}
Выход, при необходимости, можно зафиксировать триггером или задержкой.
Или кондёром по входу.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
MANGUST
Рядовой
Сообщения: 8
Зарегистрирован: 20.05.2018{, 22:05}
Репутация: 0
Имя: Дионисий

посчитать импульсы за еденицу времени

#9

Сообщение MANGUST » 21.05.2018{, 21:16}

pan писал(а):
21.05.2018{, 08:08}
MANGUST писал(а):
20.05.2018{, 22:27}
4 импульса за 6 секунд
а нахрена скоростной счетчик на прерываниях? чем обычный не угодил
Вообще в планах проект по отключению камеры переднего вида автомобиля при достижении скорости 15 км в час, импульсы думал взять с датчика АБС, какое их количество должно быть при такой скорости пока не считывал, т.к. если честно не уверен в стабильной работе ардуино в автомобиле, думал соберу на столе посмотрю как будет это всё работать, а потом уже "доработаю напильником" как говорится. Вариант Serg_Grn почему то не работает.

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

посчитать импульсы за еденицу времени

#10

Сообщение pan » 21.05.2018{, 21:25}

MANGUST писал(а):
21.05.2018{, 21:16}
Вариант Serg_Grn почему то не работает.
по идее должен работать. возможно нужно подправить под конкретную схему.

а вообще тут товарищи скорость по шине считывают. http://forum.flprog.ru/viewtopic.php?p=47756#p47756

Serg_Grn
Лейтенант
Сообщения: 333
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 36
Имя: Сергей

посчитать импульсы за еденицу времени

#11

Сообщение Serg_Grn » 21.05.2018{, 21:27}

MANGUST писал(а):
21.05.2018{, 21:16}
Вариант Serg_Grn почему то не работает.
Этот вариант (если Вы про первоначальную схему со скоростным счётчиком) у меня безотказно и точно работает - считает расход воды через теплообменник котла посредством датчика холла, примерно от 10 до 30 Гц частота. Если у Вас не работает, значит где-то ошибка.

Аватара пользователя
MANGUST
Рядовой
Сообщения: 8
Зарегистрирован: 20.05.2018{, 22:05}
Репутация: 0
Имя: Дионисий

посчитать импульсы за еденицу времени

#12

Сообщение MANGUST » 21.05.2018{, 21:32}

pan писал(а):
21.05.2018{, 21:25}
MANGUST писал(а):
21.05.2018{, 21:16}
Вариант Serg_Grn почему то не работает.
по идее должен работать. возможно нужно подправить под конкретную схему.

а вообще тут товарищи скорость по шине считывают. http://forum.flprog.ru/viewtopic.php?p=47756#p47756
Ну, до кан шины мне ещё не близко, с элементарным затыки, да и в авто по шине этот сигнал вряд ли проходит скорее всего, слишком простая

Отправлено спустя 1 минуту 9 секунд:
Serg_Grn писал(а):
21.05.2018{, 21:27}
MANGUST писал(а):
21.05.2018{, 21:16}
Вариант Serg_Grn почему то не работает.
Этот вариант (если Вы про первоначальную схему со скоростным счётчиком) у меня безотказно и точно работает - считает расход воды через теплообменник котла посредством датчика холла, примерно от 10 до 30 Гц частота. Если у Вас не работает, значит где-то ошибка.
https://yadi.sk/i/6YPENq_U3WJtWT

Serg_Grn
Лейтенант
Сообщения: 333
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 36
Имя: Сергей

посчитать импульсы за еденицу времени

#13

Сообщение Serg_Grn » 21.05.2018{, 21:44}

Скорее всего причина в том, что когда Вы вставляете/вынимаете провод из макетки, ардуина получает не один, а целую пачку импульсов, т.к. контакт при движении провода нестабилен, а входное сопротивление входов очень высоко и скорость обработки сигналов очень высокая. В итоге Вы вроде как просто замыкаете/размыкаете цепь, а ардуина получает на вход огромное количество импульсов с разной частотой и длительностью.
Во первых, нужно притянуть вход резистором к питанию, во вторых, замыкать не проводом, а чем-то более надёжным, кнопкой например.

Аватара пользователя
MANGUST
Рядовой
Сообщения: 8
Зарегистрирован: 20.05.2018{, 22:05}
Репутация: 0
Имя: Дионисий

посчитать импульсы за еденицу времени

#14

Сообщение MANGUST » 21.05.2018{, 21:51}

тоже думал что так может быть, но там вроде на аппаратном уровне уже стоит галка "подтягив. резистор"... попробую с доп резюком. но ведь у АБС думаю тоже не очень высокая скорость... получится ли вообще?

Serg_Grn
Лейтенант
Сообщения: 333
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 36
Имя: Сергей

посчитать импульсы за еденицу времени

#15

Сообщение Serg_Grn » 21.05.2018{, 21:58}

MANGUST писал(а):
21.05.2018{, 21:51}
тоже думал что так может быть, но там вроде на аппаратном уровне уже стоит галка "подтягив. резистор"... попробую с доп резюком. но ведь у АБС думаю тоже не очень высокая скорость... получится ли вообще?
Я именно тот аппаратный резистор и имел ввиду.
Дело в том, что источники импульсов (хоть абс, хоть как у меня - реле протока) - это микросхемы, которые дают на выходе чистый и красивый меандр, т.е. от них ардуина получает либо "1", либо "0" и ничего другого. А когда Вы замыкаете цепь проводом, то в моменты замыкания/размыкания на вход ардуины поступает куча мусора, который она воспринимает и считывает как импульсы.

Аватара пользователя
MANGUST
Рядовой
Сообщения: 8
Зарегистрирован: 20.05.2018{, 22:05}
Репутация: 0
Имя: Дионисий

посчитать импульсы за еденицу времени

#16

Сообщение MANGUST » 21.05.2018{, 22:12}

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

Отправлено спустя 4 минуты 50 секунд:
да, с кнопкой всё более менее стабильно пока :yahoo:

Отправлено спустя 43 минуты 22 секунды:
более чем стабильно. всё отлично. блин, а ведь сталкивался уже один раз с дребезгом, когда омыватель для фар обустраивал определённым алгоритмом работы (по количеству нажатий омывателя стекла - 8 раз на лобаш, 9-й 2 секунды на фары....)
спасибо огромное Serg_Grn. буду дальше сращивать , но вопросы будут в любом случае, не смог разобраться с аналоговым переключателем (SWITCH) который хочу задействовать для перенаправления видеосигнала то с одной камеры, то с другой поочерёдно (зад-перед) на монитор головного устройства авто, т.к. у магнитолы один видеовход предназначенный для камеры заднего вида, а через обычное реле видеосигнал в жару уже не хочет проходить.... теряется.

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

посчитать импульсы за еденицу времени

#17

Сообщение pan » 22.05.2018{, 08:17}

MANGUST писал(а):
21.05.2018{, 23:00}
(SWITCH) который хочу задействовать для перенаправления видеосигнала то с одной камеры, то с другой поочерёдно
вот вас понесло.. какой такой аналоговый сигнал? там имеется ввиду переменная,а не то что вы думаете.
вопросы по блокам в соседней теме.

Аватара пользователя
MANGUST
Рядовой
Сообщения: 8
Зарегистрирован: 20.05.2018{, 22:05}
Репутация: 0
Имя: Дионисий

посчитать импульсы за еденицу времени

#18

Сообщение MANGUST » 22.05.2018{, 11:05}

pan писал(а):
22.05.2018{, 08:17}
MANGUST писал(а):
21.05.2018{, 23:00}
(SWITCH) который хочу задействовать для перенаправления видеосигнала то с одной камеры, то с другой поочерёдно
вот вас понесло.. какой такой аналоговый сигнал? там имеется ввиду переменная,а не то что вы думаете.
вопросы по блокам в соседней теме.
почему же сразу понесло? прочитав описание блока я решил что он как раз и нужен для моего проекта... "Аналоговый переключатель служит для передачи на выход одного из аналоговых сигналов, подаваемых на вход "0" или "1" в зависимости от логического уровня на входе "S".
При логическом 0 на входе "S", на выход передается сигнал со входа "0", а при логической 1 - со входа "1".
"

file:///D:/Arduino/FLProg/Help_html/rus/fbdSwitchBlock.html

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

посчитать импульсы за еденицу времени

#19

Сообщение pan » 22.05.2018{, 11:14}

импульсы посчитали? ок )
повторюсь, вопросы по штатным блокам в соседней теме
MANGUST писал(а):
22.05.2018{, 11:05}
прочитав описание блока я решил что он как раз и нужен для моего проекта... "Аналоговый переключатель служит для передачи на выход одного из аналоговых сигналов
это , как говорится, для непрограмистов.
"аналоговый" сигнал, здесь имеется ввиду - переменная, отличная от boolean. т.е которая может принимать различные значения,
а не просто 0 или 1

Аватара пользователя
MANGUST
Рядовой
Сообщения: 8
Зарегистрирован: 20.05.2018{, 22:05}
Репутация: 0
Имя: Дионисий

посчитать импульсы за еденицу времени

#20

Сообщение MANGUST » 22.05.2018{, 11:31}

пока всё равно не понял, но спасибо Вам за подсказки, почитаю матчасть... Где мне лучше открыть новую тему для обсуждения на автомобильную тему, так думаю будет правильнее , чем плодить несколько тем в разных ветках?

Ответить

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