Таxометр формула пересчета ?
Таxометр формула пересчета ?
S=(60*Fo*Nx*k)/nox ,
где
S - скорость вращения (об/мин)
Fo - тактовая частота контроллера (Гц)
Nx - целое число периодов измеряемой скорости
k - коеф. пропорциональности (сколько импульсов за 1 оборот)
nox - целое число периодов тактовой частоты микроконтролера
Вопрос: Fo/nox - это время измерения т е время за которое мы будем проводить измерение (подсчет Nx)?
Пусть
k=4
Fo/nox= 0.25 cek (1/4) cek
Nx=300
то S=60*300=18000 об/мин - правильно ?
где
S - скорость вращения (об/мин)
Fo - тактовая частота контроллера (Гц)
Nx - целое число периодов измеряемой скорости
k - коеф. пропорциональности (сколько импульсов за 1 оборот)
nox - целое число периодов тактовой частоты микроконтролера
Вопрос: Fo/nox - это время измерения т е время за которое мы будем проводить измерение (подсчет Nx)?
Пусть
k=4
Fo/nox= 0.25 cek (1/4) cek
Nx=300
то S=60*300=18000 об/мин - правильно ?
Здравствуйте.
Выражение для определения скорости вращения правильное. Далее
-nox/Fo=0.25[сек] время измерения, т.е. время за которое мы будем проводить измерение (подсчет Nx)
-k=1/4 - коэффициент пропорциональности; величина, обратная числу импульсов за 1 оборот.
S=60*4*300*1/4=18000 об/мин.
В принципе, правильно. Но, точное число периодов Nx за 0.25сек будет в очень редких случаях. Нельзя, при измерении этим методом, привязываться к времени измерения, которое, при этом, является вспомогательной величиной. Нужно всего лишь измерить величину nox за время прохождения целого Nx.
http://radiokot.ru/forum/viewtopic.php?p=152501#152501
Выражение для определения скорости вращения правильное. Далее
-nox/Fo=0.25[сек] время измерения, т.е. время за которое мы будем проводить измерение (подсчет Nx)
-k=1/4 - коэффициент пропорциональности; величина, обратная числу импульсов за 1 оборот.
S=60*4*300*1/4=18000 об/мин.
В принципе, правильно. Но, точное число периодов Nx за 0.25сек будет в очень редких случаях. Нельзя, при измерении этим методом, привязываться к времени измерения, которое, при этом, является вспомогательной величиной. Нужно всего лишь измерить величину nox за время прохождения целого Nx.
http://radiokot.ru/forum/viewtopic.php?p=152501#152501
akl писал(а):Здравствуйте.
Выражение для определения скорости вращения правильное. Далее
-nox/Fo=0.25[сек] время измерения, т.е. время за которое мы будем проводить измерение (подсчет Nx)
-k=1/4 - коэффициент пропорциональности; величина, обратная числу импульсов за 1 оборот.
S=60*4*300*1/4=18000 об/мин.
В принципе, правильно. Но, точное число периодов Nx за 0.25сек будет в очень редких случаях. Нельзя, при измерении этим методом, привязываться к времени измерения, которое, при этом, является вспомогательной величиной. Нужно всего лишь измерить величину nox за время прохождения целого Nx.
http://radiokot.ru/forum/viewtopic.php?p=152501#152501
Возникает второй вопрос выбор оптимального Nx
чтобы было приемлемое время измерения <= 1сек и не слишком
большое nox
В том-то и дело, что Вы сами выбираете оптимальное время измерения, в течение которого считается Nx и nox.
Вы выбрали примерно 0.25 секунды. Допустим, что меряется скорость вращения 17999 об/мин. Время измерения 301 периода этой скорости будет равно 250847,26xxx мксек, а nox будет равно 2'006'778 и результат будет равен S=17999.0 об/мин. Если же принять время измерения примерно 0.275 сек, то за это время пройдет Nx=331, но и nox будет равно 2'206'789 об/мин. Результат S=17'999.0 об/мин.
Вы выбрали примерно 0.25 секунды. Допустим, что меряется скорость вращения 17999 об/мин. Время измерения 301 периода этой скорости будет равно 250847,26xxx мксек, а nox будет равно 2'006'778 и результат будет равен S=17999.0 об/мин. Если же принять время измерения примерно 0.275 сек, то за это время пройдет Nx=331, но и nox будет равно 2'206'789 об/мин. Результат S=17'999.0 об/мин.
akl писал(а):В том-то и дело, что Вы сами выбираете оптимальное время измерения, в течение которого считается Nx и nox.
Вы выбрали примерно 0.25 секунды. Допустим, что меряется скорость вращения 17999 об/мин. Время измерения 301 периода этой скорости будет равно 250847,26xxx мксек, а nox будет равно 2'006'778 и результат будет равен S=17999.0 об/мин. Если же принять время измерения примерно 0.275 сек, то за это время пройдет Nx=331, но и nox будет равно 2'206'789 об/мин. Результат S=17'999.0 об/мин.
Расчет не совсем понял
Nx=301
S=17999
k=4
откуда=> (Fo/nox)=17999/(60*4*301)=>0.249155592 сек (0.3377%)
т.е 249155.59хх мксек откуда у вас взялось 250847,26xx
при Nx=300 (Fo/nox) =17999/(60*4*300)=>0.249986111 c (0.0055%)
при Nx=299 (Fo/nox) =17999/(60*4*299)=>0.250822185 c (0.32%)
Пусть за время T сек вал делает 1 оборот
И за это время на вход поступает 6000 импульсов с частотой 600 000 Hz
Ni-количество импульсов заполнеия
Fi-частота импульсов заполнения
Ti-период импульсов заполнения Ti=1/Fi
T=Ni*Ti=Ni/Fi
частота вращения Fv=1/T [ob/sec]
Fv=Fi/Ni [ob/sec]
тогда S=60*Fv=60*(Fi/Ni)
При исходных данных S=60*(600 000/ 6 000) = 6000 об/мин
Вопрос об эффективности использования первого или второго метода измерения применимо к MK
При использовании привязки по времени 0,25 с в первой формуле
мах при самых неблагоприятных случаях погрешность +/- 60 об/мин
При использовании целочисленной арифметики во 2 м случае
+/- 60 ob/min
однако при использовании с плавающей точкой во втором случае
точность измерения можно значительно повысить
Отсюда вывод о применении 16 разрядных МК для даной задачи - если хотим точность приблизить к истиному значению измеряемой величины
FUZZY_ писал(а):... откуда у вас взялось 250847,26xx
Вопрос об эффективности использования первого или второго метода измерения применимо к MK
При использовании привязки по времени 0,25 с в первой формуле
мах при самых неблагоприятных случаях погрешность +/- 60 об/мин
При использовании целочисленной арифметики во 2 м случае
+/- 60 ob/min
однако при использовании с плавающей точкой во втором случае
точность измерения можно значительно повысить
Отсюда вывод о применении 16 разрядных МК для даной задачи - если хотим точность приблизить к истиному значению измеряемой величины
Здравствуйте.
"т.е 249155.59хх мксек откуда у вас взялось 250847,26xx"
Если не отступать от обозначений из Вашего первого поста, то у меня получается,что при измерении скорости вращения вала S=17'999[об/мин] с помощью датчика, вырабатывающего 4 импульса/оборот период поступления этих импульсов будет равен
-17'999/60=299,98(3)[об/сек]
-299,98(3)[об/сек]*4[1/об]=1199,9(3)[1/сек]
-1/1199,9(3)[1/сек]=8,3337963220178898827712650702817e-4[1/сек] или 833,37963220178898827712650702817[мкс]
За принятое время измерения примерно! 0.25[сек] на вход контроллера поступит
250'000[мкс]/833,37963220178898827712650702817[мкс]=299,98(3) периода измеряемой скорости вращения.
Но! Хотя время измерения уже закончилось, контроллер не останавливает счет числа nox. Счет заканчивается при поступлении активного фронта сигнала от датчика. При этом Nx будет равно 300.
a Nx=300 300*833,37963220178898827712650702817[мкс]=250013,88966053669648313795210845[мкс] nox=2000111
b Nx=301 301*833,37963220178898827712650702817[мкс]=250847,26929273848547141507861548[мкс] nox=2006778
c Nx=299 299*833,37963220178898827712650702817[мкс]=249180,51002833490749486082560142[мкс] nox=1993444
Sa=60*8000000*0.25*300/2000111=17999,001055441423001023443198902~17'999.0
Sb=60*8000000*0.25*301/2006778=17999,001384308578228384006601627~17'999.0
Sb=60*8000000*0.25*299/1993444=17999,000724374499609720664337699~17'999.0
Т.е. хотя время измерения меняется, результат остается правильным.
Погрешность измерения этим методом (для частоты) определяется по выражению P[Гц]=Fx/Fo*Tизм. Для Вашего примера P=299,98(3)/8'000'000*0.25=1,49991(6)e-4[Гц]
или для скорости вращения P[об/мин]=60*Fx/Fo*Tизм=60*299,98(3)/8'000'000*0.25=0,0089994(9)[об/мин]
"Пусть за время T сек вал делает 1 оборот
И за это время на вход поступает 6000 импульсов с частотой 600 000 Hz
Ni-количество импульсов заполнеия
Fi-частота импульсов заполнения
Ti-период импульсов заполнения Ti=1/Fi
T=Ni*Ti=Ni/Fi
частота вращения Fv=1/T [ob/sec]
Fv=Fi/Ni [ob/sec]
тогда S=60*Fv=60*(Fi/Ni)
При исходных данных S=60*(600 000/ 6 000) = 6000 об/мин"
Вы получили выражение, являющееся частным случаем выражения из первого поста, только для измерения по одному периоду
и коэффициенте преобразования =1.
S=60*(Fi{Fx}*1{Nx}*1{k}/Ni{nox}), где в фигурных скобках подставлены обозначения из первого поста.
Погрешность измерения будет выше в 8'000'000(Fx)/600'000(Fi)=13.(3) раз, но тоже довольно низкая и ну никак не +-60 [об/мин]
Ниже немного в тему. В выдержке из книги кратко и емко описан собственно метод измерения и приводится выражение для определения погрешности измерения. А по программе и схеме порогового тахометра можно убедиться, что на ассемблере без всяких "плавучек" получается точный результат.
http://radiokot.ru/forum/viewtopic.php?p=193610#193610
Здраствуйте.
Эмуляция схемы в Proteuse sp3 rus
счетчик U2:A выделяет период сигнала с датчика оборотов
дающего 4 имп./оборот
счетчик U2:B - период тактовой частоты котроллера
При 600 об/мин => 10 об/с => наш датчик выдаст 40 импульсов
Получаем 60 000 импульсов показания счетчика
Время 1 оборота 60 000 * To=60 000 /600 000 = 0.1 c
то за 1 с - 10 оборотов а за минуту 10*60=600
Эмуляция схемы в Proteuse sp3 rus
счетчик U2:A выделяет период сигнала с датчика оборотов
дающего 4 имп./оборот
счетчик U2:B - период тактовой частоты котроллера
При 600 об/мин => 10 об/с => наш датчик выдаст 40 импульсов
Получаем 60 000 импульсов показания счетчика
Время 1 оборота 60 000 * To=60 000 /600 000 = 0.1 c
то за 1 с - 10 оборотов а за минуту 10*60=600
- Вложения
-
- m.rar
- (11.83 КБ) 377 скачиваний
при 610 об/мин 59017
Один оборот происходит за время
59017*to= 59017/ 600 000= 0.098361666 c
за 1 с 10.166562
за 1 мин 10.166562*60 = 609.993
При 8000 об/мин 4501
за 1 с 600 000 / 4501 =133.30367
за 1 мин 133.30367*60=7998.22 погрешлость=8000-7998,22=1,78
Общая формула для вышеприведеной схемы
S=60*(Fo/Ni) где
Fo -Частота заполнения
Ni количество импульсов за 1 полный оборот
Один оборот происходит за время
59017*to= 59017/ 600 000= 0.098361666 c
за 1 с 10.166562
за 1 мин 10.166562*60 = 609.993
При 8000 об/мин 4501
за 1 с 600 000 / 4501 =133.30367
за 1 мин 133.30367*60=7998.22 погрешлость=8000-7998,22=1,78
Общая формула для вышеприведеной схемы
S=60*(Fo/Ni) где
Fo -Частота заполнения
Ni количество импульсов за 1 полный оборот
Здравствуйте.
Привожу картинки работы AVR STUDIO 3.21, из которых видно время вычислений для получения результата, начиная от команды CLI и выполнением подпрограммы DIV.
-Fo=8'000'000Гц, S=610 об/мин
-Fo=600'000Гц, S=610 об/мин
Возможности подпрограмм MULT и DIV намного превышают требования, предложенные Вами.
У меня встречный вопрос
Время вычисления скорости вращения при Fo=8 Mhz и Fo=0.6 Mhz? Только, если не затруднит, в понятном формате (например gif).
Привожу картинки работы AVR STUDIO 3.21, из которых видно время вычислений для получения результата, начиная от команды CLI и выполнением подпрограммы DIV.
-Fo=8'000'000Гц, S=610 об/мин
-Fo=600'000Гц, S=610 об/мин
Возможности подпрограмм MULT и DIV намного превышают требования, предложенные Вами.
У меня встречный вопрос
Время вычисления скорости вращения при Fo=8 Mhz и Fo=0.6 Mhz? Только, если не затруднит, в понятном формате (например gif).
