подсчёт последовательности меняющую знак и направление.

Старик Похабыч

★★★★★★★
14 Авг 2019
4,272
1,303
Москва
Записал себе новое слово в словарик.

Но все равно немного не понимаю. Как высчитывается 2000 ? Почему именно 2000, а не 1987 ? Ведь неплохой год был..
 

серёга73

✩✩✩✩✩✩✩
16 Сен 2020
20
1
Частота 500Гц это период 2000мкс .
Сдвиг фазы при полном повороте вала идёт от 0 до 2000 мкс -отсюда и это число.
Если считать например в нс , то будет 2000000.
 

серёга73

✩✩✩✩✩✩✩
16 Сен 2020
20
1
C++:
void signal_1()

{     
time_old = micros();
}
//////////////////////////////
void signal_2()
{ 
ttime =micros()-time_old;
nzn=ttime;//измеренное время
}
 

серёга73

✩✩✩✩✩✩✩
16 Сен 2020
20
1
Два прерывания 2 и 3 пин вызывают эти функции по очереди с началом импульса на каждом входе.
Это время между началом первого и началом второго импульса (предварительно сформированных из синусоид м/с уд608) двух меандров 500Гц.
 

kostyamat

★★★★★★✩
29 Окт 2019
1,098
632
@серёга73, а почему бы вам саму ардуино не заставить меандры формировать, это же очевидно? Если вам нужна повышенная точность. Аналоговый генератор + аналоговый же формирователь меандра... а потом вы фильтры приделываете.
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,272
1,303
Москва
Я почитал про сельсил, пишут точность у него не очень. А так он получается многооборотным чтоль. Вот есть у меня датчик угла - потенциометр , который не имеет крайних положений. Именно такую схему и придется делать, что бы считать обороты, не теряя в разрешении.
 

серёга73

✩✩✩✩✩✩✩
16 Сен 2020
20
1
а почему бы вам саму ардуино не заставить меандры формировать
На данный момент Ардуина генерирует три фазы 500Гц , и по началу хотел начинать подсчёт импульсов с самой ардуины (начало одной из фаз), а заканчивать уже сигналом с сельсина, но на практике получается так ,что это начало все время "плывёт" и фаза при стоячем вале сельсина "убегает".

Я почитал про сельсил, пишут точность у него не очень.
погрешность +/- 5 минут на оборот. И того если будет врать10 минут, то 360*6=2160 точек на оборот .
Но пока таких результатов не получается...
 

kostyamat

★★★★★★✩
29 Окт 2019
1,098
632
@серёга73, при желании датчик холла поставить, и на вал магнит. Ресетить каждый полный оборот. С него же можно и отсчеты плюсовать. Скажем 2000 + срабатывание датчика = {
steep ++;
}
А дальше 2000*step + новые показания. Соответственно обратно. step--;
2000 *step + новые показания. Так как плюс на минус даёт минус, то эту формулу можно вынести за условия. И ни фильтры не нужны, ни махаться с переходом через 0.
 
Изменено: