Массовый расходомер

Nethervid
Offline
Зарегистрирован: 27.02.2017

Здравствуйте уважаемы форумчане!

Хочу обратиться к вам с помощью, поскольку сам в ардуино пока не разбираюсь, а мне нужно сделать небольшой проект, и был бы благодарен любой помощи. У меня есть 2 аналоговых сигнала , с немного различными фазами, и мне для подсчёта моего расхода топлива необходимо подсчитать временной интервал (пометил красным на рисунке ниже) между двумя этими же сигналами.

У меня есть небольшие наброски, но они на логике, а именно, взять 2 компаратора преобразовать синусоидальный сигнал в прямоугольный, а далее по фронту спада, используя генератор кратковременных импульсов, через RS триггер выдавать на выходе единицу при улавливании 1ого сигнала, и сбросе, при улавливании 2ого сигнала, а далее длину импульса на выходе триггера считать при помощи генератора тактовых импульсов, и кол-во импульсов записывать в счётчик, далее по формуле преобразовать в нужны мне расход. 

Ребята подскажите как подобную систему можно реализовать через ардуино? Может есть какие, полезные статьи, а я по своей невнимательности проморгал, и если уже как-то повторяюсь, то сильно не сердитесь на меня) буду рад любой вашей помощи!=)

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

1. А почему возникла мысль использовать именно Ардуино?

2. Какие характерные времена и напряжения? Какая нужна точность?

Nethervid
Offline
Зарегистрирован: 27.02.2017

Извиняюсь, что сразу не написал характеристики. А точность сильной роли не играет.

Диапозон напряжения(U): 50-3000мВ
Временное интервал(τ): 2-102,5мс
Период следования(Т): 100-300мс

А решил делать на ардуино вместо логики, т.к. мне предъявили требования актуальности, что то на современных образцах собрать. И ардуино вроде неплохо вписывается в данные рамки, поскольку в ней практически есть всё необходимое, осталось только разобраться как всё это дело реализовать)

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

Ардуино - прекрасный проект, который позволяет снизить порог вхождения в робототехнику до уровня старшеклассника. И с другой стороны позволяет плавно перейти от "игрушечной" робототехники к "взрослой".

Но не следует заблуждаться: Ардуино позволяет легко собрать несколько десятков учебных примеров, но как только речь заходит о реальном (не учебном) проекте, оказывается, что концепции Ардуино недостаточно, и нужно переходить на AVR. Если Вы перед этим сделали несколько десятков учебных проектов, то реальный не доставит Вам больших сложностей. Ни никто не может гарантировать, что попытка начать сразу с реального проекта приведет к успеху.

И, хотя ничего сложного в Ваших хотелках нет, это может оказаться намного сложнее любого учебного проекта.

Волшебник
Offline
Зарегистрирован: 22.12.2016

Для низких частот можно без ассемблера наверное, если взять готовую библиотеку TimerOne или ей подобную, позволяющую выполнять периодические действия. Потом по таймеру делать аналогРеад двух входов. Сигналы предварительно подвесить

ну а как определить пересечение через 0 подумайте сами, или погуглите

gena
Offline
Зарегистрирован: 04.11.2012

   Начать, видимо, нужно с создания схемы, чётко срабатывающей по Вашим сигналам. А уже имея верные импульсные сигналы, обрабатывать их на ардуино. Например,  подсчитывать количество импульсов в счётчике ардуно "протикавших" за время тау.

Представьте Вашу схемотехнику.

Alex_Sk
Offline
Зарегистрирован: 06.01.2015

Да тут же все просто реализуется как два пальца об асфальт.

Парой компараторов из положительных полуволн сделать прямоугольные импульсы которые подать на входы аппаратных прерываний с прерыванием по RISE. По прерыванию с одного входа запускаем таймер, по прерыванию с другого останавливаем. Таймер программируем на 10-20-50 мкс в зависимости от требуемой точности и прибавляем единичку к переменной в которой окажется длительность по каждому прерыванию от таймера. Ардуина вообще бОльшую часть времени будет простаивать в безделье если ей еще какую работу не придумать. Какой ассемблер )))

Nethervid
Offline
Зарегистрирован: 27.02.2017

Подскажите пожалуйста, как реализовать компаратор, а то перерыл кучу форумов, и до сих пор не понял как через компаратор сделать.
 

Alex_Sk
Offline
Зарегистрирован: 06.01.2015

Например, так как в этой статье на рис10 и 11

http://electrik.info/main/praktika/696-shemy-na-komparatorah.html