Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.11.23;
Скачать: [xml.tar.bz2];

Вниз

Измерить отрезок времени   Найти похожие ветки 

 
Vinum   (2008-10-11 09:13) [0]

Добрый день. Возможно ли реализовать таймер, который был бы точнее чем 0,001 сек? То есть у которого цена деления была бы меньше 0,001 сек?
Криво спросил. В общем задача такая: есть станок. Некоторый вал на этом станке крутится с частотой около 5 об/сек. Требуется построить кривую частот вращения (вал крутится неравномерно, а точнее не особо равномерно), и надо отразить эти частоты на каждый градус оборота. То есть нужен таймер с ценой деления 1/360*5 = 1/1800 секунды. Или точнее.
А если возможно, то как :)


 
turbouser ©   (2008-10-11 09:20) [1]


> Vinum   (11.10.08 09:13)  


> таймер, который был бы точнее чем 0,001 сек?

Невозможно. Всегда будет погрешность.


 
Юрий Зотов ©   (2008-10-11 10:27) [2]

Разрешение в 1 миллисекунду (то есть, 1.8 градуса) получить можно (см. в MSDN темы Multimedia timer и Waitable timer). Далее кривую придется интерполировать - что, конечно, внесет некую погрешность. Но поскольку механика - штука инерционная, то можно надеяться, что кривая получится достаточно плавной - то есть, что погрешность интерполяции не окажется слишком большой.


 
Юрий Зотов ©   (2008-10-11 10:32) [3]

Кстати, тут возникает вопрос - а какова точность самого датчика частоты вращения и какова периодичность его показаний? Неужели он настолько хорош, что позволяет получать достаточно точные данные за такое малое время измерения? Слабо верится, честно говоря.


 
Anatoly Podgoretsky ©   (2008-10-11 12:07) [4]

> Vinum  (11.10.2008 9:13:00)  [0]

То есть ты хочешь получить прерывания примерно каждые 555 мксек, при такте системы 10 мсек и в многозадачной системе.
Во первых надо сменить ОС, на такую у которой такт как минимум 100 мксек, возможно тебе поможет QNX я только не помню чему там равен системный такт (тик).
Далее свести многозадачность до минимумаю
Вот ДОС одназначно справится с этой задачей, если удастся вывести с такой скоростью на дисплей.
Правда мне непонятно зачем отражать такие частоты, когда человек не реагирует на частоты выше 10 гц. Или ты собираешься накапливать в буфере и выводить раз в секунду?


 
Наиль ©   (2008-10-11 15:37) [5]

Если подать (как-нибудь) сигнал на линейный вход звуковой карты, то можно будет записать результат в виде звукового файла.
Учитывая, что максимальная частота 20 КГц, то получишь достаточно хорошую картину.
Можно получить очень интересные результаты анализируя файл хорошим аудиоредактором.
PS. И почему мне кажется, что глупость сморозил?


 
Anatoly Podgoretsky ©   (2008-10-11 16:19) [6]

> Наиль  (11.10.2008 15:37:05)  [5]

Правильно кажется, максимальная частота 5 гц (об/сек)ю


 
Vinum   (2008-10-11 16:55) [7]

> Кстати, тут возникает вопрос - а какова точность самого датчика частоты вращения и какова периодичность его показаний?

Датчик снимает 2000 показаний на оборот, то есть за 1 секунду будет около 10000 показаний. Но все 10000 показаний не нужны.
На счет точности - не знаю)

Изначально и подразумевал решать задачу в DOS.
Спасибо за ответы и советы)


 
Юрий Зотов ©   (2008-10-11 17:10) [8]

> Vinum   (11.10.08 16:55) [7]

> Датчик снимает 2000 показаний на оборот

То есть, через каждые 360/2000 = 0.18 градуса (10.8 угловых минут). Похоже, это военный датчик, выполненный по нанотехнологиям.
:о)

Итого получаем частоту сигнала: 2000 измерений/на оборот * 5 об/сек = 10000 измерений в секунду, или 10 кГц.

Мне кажется, будет лучше подавать сигал датчика не сразу на компьютер, а на какую-нибудь измерительное (и/или записывающее) аппаратное устройство (частотомер, звуковая карта, еще что угодно). Железяка с задачей приема (первичной обработки и т.д.) такого сигнала справится точно, для электроники 10 кГц - это не проблема.

А обрабатывать можно уже потом, действительно на компьютере.


 
Юрий Зотов ©   (2008-10-11 17:20) [9]

> Vinum   (11.10.08 16:55) [7]

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

А для таймеров Windows 10 кГц (0.1 мс) - это уж слишком.


 
Vinum   (2008-10-11 17:35) [10]

> Похоже, это военный датчик, выполненный по нанотехнологиям.

А мне и в голову не приходило)
Действительно, датчик фирмы Litton, глянул в интернете, на самом деле какая-то военная/космическая промышленность)

А мы такой датчик к станку древнему присобачить собираемся))


 
Юрий Зотов ©   (2008-10-11 19:09) [11]

> Vinum   (11.10.08 17:35) [10]

> А мы такой датчик к станку древнему присобачить собираемся

И маленький люфт в подшипниках этого древнего станка запросто может сожрать всю нанотехнологию этого суперточного военно-космического датчика со всеми потрохами.


 
KilkennyCat ©   (2008-10-12 02:46) [12]

Любой PIC или Atmel


 
Германн ©   (2008-10-12 03:27) [13]


> KilkennyCat ©   (12.10.08 02:46) [12]
>
> Любой PIC или Atmel
>

+1
Платите деньгу и я решу сию проблему. Но вот пост Юрий Зотов ©   (11.10.08 19:09) [11] меня весьма смущает.
Против люфта никакой лом не поможет.
Но за особые деньги наше трио старпёров может и возьмётся за сию задачу.


 
KilkennyCat ©   (2008-10-12 12:37) [14]


> Против люфта никакой лом не поможет.

большое количество измерений в большинстве случаев даст характеристику люфта и в как результат, таблицу поправок.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.11.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.007 c
3-1209663336
trubin
2008-05-01 21:35
2008.11.23
Дерево в БД - проблема при удалении узла


8-1187006365
Dio
2007-08-13 15:59
2008.11.23
Изменить уровень звука


2-1223626290
asders
2008-10-10 12:11
2008.11.23
Преобразование вирт. кода HotKey в строковые значения комб.клавиш


15-1222355428
БарЛог
2008-09-25 19:10
2008.11.23
Алгоритмы поиска частей лица


15-1222320877
Кое кто
2008-09-25 09:34
2008.11.23
Google празднует своё десятилетие...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский