Опрос датчика холла в arduino

Sunder
Offline
Зарегистрирован: 01.02.2019

Добрый день, возникла задача с вращением магнита (скорость вращение ~16000 об/мин) и снятие с него показаний с помощью датчика холла и записи и построение графика зависимости значений с аналогового канала от времени в python,

вопрос в том, с какой скорости arduino опрашивает датчик и от чего это зависит? 

в документации на русском я прочитал такую строчку (https://doc.arduino.ua/ru/prog/AnalogRead

"Для считывания значения с аналогового входа требуется около 100 микросекунд (0.0001 с), поэтому максимальная частота опроса вывода приблизительно равна 10 000 раз в секунду."

для меня необходимо частота снятие 10мс

но когда я пытаюсь опрашивать датчик и смотреть значения в COM портве выдаёт такое:

14:54:19.676 -> 789

14:54:19.710 -> 803

14:54:19.744 -> 793
(время -> значение с аналогового входа) 
 
 
посчитав эти значения я получил что опрос у  меня происходит каждые 34 милисекунды
 
вот код  прошивки
 
int analogPin = 0;
int data = 0;

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  data = analogRead(analogPin);
  Serial.println(data);
}

при изменение скорости с 9600 на любую другую выдает примерно такое же значение 34 мс

 
подскажите что я не так делаю?

 

rkit
Offline
Зарегистрирован: 23.11.2016

A Serial.println, по-твоему, времени не занимает?

Olger
Offline
Зарегистрирован: 28.02.2015

Аналоговый вход сам по себе шумит, надо использовать аппаратные и программные фильтры, по хорошему.

Возьмите датчик Холла с цифровым выходом, типа А3144

ВН
Offline
Зарегистрирован: 25.02.2016

Sunder пишет:

Добрый день, возникла задача с вращением магнита (скорость вращение ~16000 об/мин) и снятие с него показаний с ......

для меня необходимо частота снятие 10мс

ТС, как нетрудно посчитать  обороты 16000/60 = 267 , а заявленная частота снятия 100  и все это в секунду

Нужно или привести в порядок терминологию, или хоть как-то на пальцах постараться таки объяснить, что тебе нужно