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

ShaddarKo
Offline
Зарегистрирован: 04.04.2017

вообщем-то имеется  датчик ПРП-1М

задачей которого является преобразовать вращение металлического объекта в зоне действия в электрические сигналы в диапазоне от 0,1 до 0,6 вольт в зависимости от частоты вращения самого предмета

данные импульсы краковременны,сигнал представляет собой синусоиду

подскажите,пожалуйста, как при помощи этих импульсов получить частоту на ардуино УНО, и возможно ли это при столь маленьком выходном напряжении?

evgta
Offline
Зарегистрирован: 02.09.2016

частоту чего? вращения? да возможно с усилителем на 1 транзисторе

по скетчу гуглить про тахометры

ShaddarKo
Offline
Зарегистрирован: 04.04.2017

да, частоту вращения, мне нужно 2 варианта: либо он не вращается, либо вращается с любой частотой

как это проще всего реализовать программно? дайте наводки плиз

evgta
Offline
Зарегистрирован: 02.09.2016

если нужен тахометр

как -то так например

 
#include <Wire.h>               //Библиотека для работы с I2C
#include <LiquidCrystal_I2C.h>  //Библиотека для работы с экраном
LiquidCrystal_I2C lcd(63,16,2);  // Устанавливаем дисплей
long fff =0;
long yyy = 0;
long zzz = 0; 
int xxx;
void setup() 
{
 pinMode(2, INPUT);
 lcd.begin();                     
 lcd.clear(); 
  lcd.backlight();// Включаем подсветку дисплея 
}
void loop() 
{   
     zzz=0;
    for(xxx=0; xxx<20; xxx++)
    {
    yyy = pulseIn(2, LOW,20000);  // должно быстрее работать при неработающем движке
    fff=pulseIn(2, HIGH,20000);
yyy=yyy+fff;
     if (yyy==0){break;}  //или так
     yyy=1000000/yyy;
     yyy=yyy*60;
     yyy=yyy/108; 
    zzz =zzz+yyy;
    }
zzz=yyy; ///    
zzz=zzz/20;
   lcd.setCursor(0,0);
   lcd.print(zzz);
   lcd.print("      ");
} 

 

а если просто фиксировать наличие вращения, то мне лень

ShaddarKo
Offline
Зарегистрирован: 04.04.2017

а какой должен быть выходной сигнал минимальный?

evgta
Offline
Зарегистрирован: 02.09.2016

не менее 2,6в