Можно-ли на 1200 контроллере получить 1000 отсчетов за 20 мс
-
- Posts: 8
- Joined: Tue Dec 21, 2010 10:24 am
Можно-ли на 1200 контроллере получить 1000 отсчетов за 20 мс
Есть два события, по времени отделенных друг от друга максимум на 20 мс, можно ли в этом интервале точно измерить время между событиями при помощи 1200 контролера? Хотя бы 1000-1200 отсчетов.
Если можно, то в какую сторону копать ?
-
- Faq & Info
- Posts: 428
- Joined: Wed Oct 05, 2005 9:00 am
Re: Можно-ли на 1200 контроллере получить 1000 отсчетов за 2
http://support.automation.siemens.com/W ... 4143537/td
manual ru http://support.automation.siemens.com/W ... 32465/0/rutech.data wrote:for counter/technological functions
Parameterizable Single phase : 3 at 100 kHz, differential: 3 at 80 kHz
их-то и юзайpage 347 wrote:Скоростные счетчики всего 4
Однофазные: 3 при тактовой частоте 100 кГц и 1 при тактовой частоте 30 кГц
Квадратурные: 3 при тактовой частоте 80 кГц и 1 при тактовой частоте 20 кГц
-
- Posts: 8
- Joined: Tue Dec 21, 2010 10:24 am
Re: Можно-ли на 1200 контроллере получить 1000 отсчетов за 2
Для использования скоростных счетчиков в качестве секундомера похоже понадобится внешний генератор?
А внешний генератор 100кГц, да еще и и со стабильностью +-100Гц - весьма незаурядная штука получится
В DTL есть наносекунды, может можно использовать внутренний таймер?
А внешний генератор 100кГц, да еще и и со стабильностью +-100Гц - весьма незаурядная штука получится
В DTL есть наносекунды, может можно использовать внутренний таймер?
-
- Site Admin
- Posts: 1387
- Joined: Sat Aug 13, 2005 6:15 am
Re: Можно-ли на 1200 контроллере получить 1000 отсчетов за 2
а причём генератор?
у тебя есть датчик,который регистрирует событие раз в 20 мс
вот его выход заводится на быстрый вход ПЛК,поэтому событию вызывается ОВ в нём есть время вызова(время события),от него отнимаешь время предыдущего события-вот тебе и интервал между событиями
у тебя есть датчик,который регистрирует событие раз в 20 мс
вот его выход заводится на быстрый вход ПЛК,поэтому событию вызывается ОВ в нём есть время вызова(время события),от него отнимаешь время предыдущего события-вот тебе и интервал между событиями
-
- Posts: 8
- Joined: Tue Dec 21, 2010 10:24 am
Re: Можно-ли на 1200 контроллере получить 1000 отсчетов за 2
Спасибо! Буду пробовать.sania wrote:а причём генератор?
у тебя есть датчик,который регистрирует событие раз в 20 мс
вот его выход заводится на быстрый вход ПЛК,поэтому событию вызывается ОВ в нём есть время вызова(время события),от него отнимаешь время предыдущего события-вот тебе и интервал между событиями
-
- Site Admin
- Posts: 1387
- Joined: Sat Aug 13, 2005 6:15 am
Re: Можно-ли на 1200 контроллере получить 1000 отсчетов за 2
может за 20 мс есть 1000-1200 событий? чёт не совсем понятно...
тогда, счётчик считает,а по событию раз в 20 мс сохраняется значение счётчика для своих рассчётов,обнуляется и считает по-новой.
таким образом получается 50-60 кГц вполне достаточно встроенного...
тогда, счётчик считает,а по событию раз в 20 мс сохраняется значение счётчика для своих рассчётов,обнуляется и считает по-новой.
таким образом получается 50-60 кГц вполне достаточно встроенного...
-
- Posts: 8
- Joined: Tue Dec 21, 2010 10:24 am
Re: Можно-ли на 1200 контроллере получить 1000 отсчетов за 2
Нет. Событий в период 20м нету. Вернее может быть 1-3 штуки. Тут два диска стоят на двух связанных пружиной осях. Надо мерить угол сдвига между осями. Оси вращаются с частотой 500-600 об./мин. Максимальный угол сдвига 50 градусов. Идея - просверлить по одной дырке в диске и мерить время между срабатываниями оптических датчиков.sania wrote:может за 20 мс есть 1000-1200 событий? чёт не совсем понятно...
тогда, счётчик считает,а по событию раз в 20 мс сохраняется значение счётчика для своих рассчётов,обнуляется и считает по-новой.
таким образом получается 50-60 кГц вполне достаточно встроенного...
Если с контроллера можно получить отсчеты времени с точностью 20-50 мкс, то этого вполне достаточно и без внешнего генератора. В общем надо пробовать.
-
- Site Admin
- Posts: 1387
- Joined: Sat Aug 13, 2005 6:15 am
Re: Можно-ли на 1200 контроллере получить 1000 отсчетов за 2
ага малость проясняется...
для точности надо юзать хардвар-прерывания (2датчика=2 прерывания) и быстрые входа(от счётчиков)
теперь: 600 об./мин= 10 об./сек=1 об/100миллисек.
т.е. 360 градусов за 100 мсек.(откуда 1-3 события в 20мсек?)
50град за 13 мсек
3.6 градуса за 1 миллисекунду ...
стандартный таймер имеет базу счёта в 1 мсек,т.е.если ошибка в +-3.6 градуса некритична,то можно юзать стандартный таймер
если надо точнее,то может попробовать считывать рантайм время проца и оттуда плясать...хотя на считывание тоже время теряется..
20-50 мксек??? этож 0.18 градуса точность....случаем не CNC изобретаем?
для точности надо юзать хардвар-прерывания (2датчика=2 прерывания) и быстрые входа(от счётчиков)
теперь: 600 об./мин= 10 об./сек=1 об/100миллисек.
т.е. 360 градусов за 100 мсек.(откуда 1-3 события в 20мсек?)
50град за 13 мсек
3.6 градуса за 1 миллисекунду ...
стандартный таймер имеет базу счёта в 1 мсек,т.е.если ошибка в +-3.6 градуса некритична,то можно юзать стандартный таймер
если надо точнее,то может попробовать считывать рантайм время проца и оттуда плясать...хотя на считывание тоже время теряется..
20-50 мксек??? этож 0.18 градуса точность....случаем не CNC изобретаем?
-
- Posts: 298
- Joined: Wed Sep 21, 2005 12:24 pm
- Location: Russia, Saint-Petersburg
Re: Можно-ли на 1200 контроллере получить 1000 отсчетов за 2
Я бы попробовал так...
Установить два многооборотных абсолютных энкодера на эти диски... по ним можно знать и точную скорость вращения и "рассогласование углов" единовременно... не забывайте, что у обычных датчиков тоже есть "время включения" и оно может плыть от температуры и т.д. на замере до 20мс это будет заметно...
А с энкодерами будет точнее и производительнее, мне кажется. скорость исполнения арифметической команды у 1200-го около 18-ти мкс... расчет рассогласования можно "уложить" в десяток функций... за 0,18мс вы можете узнать точный угол рассогласования.
хотя может быть я не совсем правильно понял задачу...
Установить два многооборотных абсолютных энкодера на эти диски... по ним можно знать и точную скорость вращения и "рассогласование углов" единовременно... не забывайте, что у обычных датчиков тоже есть "время включения" и оно может плыть от температуры и т.д. на замере до 20мс это будет заметно...
А с энкодерами будет точнее и производительнее, мне кажется. скорость исполнения арифметической команды у 1200-го около 18-ти мкс... расчет рассогласования можно "уложить" в десяток функций... за 0,18мс вы можете узнать точный угол рассогласования.
хотя может быть я не совсем правильно понял задачу...
-
- Posts: 8
- Joined: Tue Dec 21, 2010 10:24 am
Re: Можно-ли на 1200 контроллере получить 1000 отсчетов за 2
А зачем быстрые счетчики в этом случае? Если использовать внешний генератор на 50-100кГц, тогда понятно. Если внутренний таймер - то они, по моему не нужны.sania wrote:ага малость проясняется...
для точности надо юзать хардвар-прерывания (2датчика=2 прерывания) и быстрые входа(от счётчиков)
Точность в 1мс меня не устраивает. Надо получить хотя-бы 0.5% точность в измерении угла между валами, в интервале 50 градусов. В принципе, если вешать оба датчика на прерывания и быстро посчитать разность таймеров, то может все и получится. После измерения интервала, у меня остается 80-100 мс на фильтрацию, обработку и т.п. Тут должно все получится. А вот что будет считываться с таймера по прерываниям - не совсем понятно. Вернее какие там будут погрешности.sania wrote:теперь: 600 об./мин= 10 об./сек=1 об/100миллисек.
т.е. 360 градусов за 100 мсек.(откуда 1-3 события в 20мсек?)
50град за 13 мсек
3.6 градуса за 1 миллисекунду ...
стандартный таймер имеет базу счёта в 1 мсек,т.е.если ошибка в +-3.6 градуса некритична,то можно юзать стандартный таймер
если надо точнее,то может попробовать считывать рантайм время проца и оттуда плясать...хотя на считывание тоже время теряется..
CNC - это что? А вообще-то это модернизация концентратомера (1965г разработки, 1974г выпуска ). Есть сам датчик, а плата управления сгорела. Повторять плату - пол года НИОКОР )). Вот думаю приспособить контроллер.sania wrote:20-50 мксек??? этож 0.18 градуса точность....случаем не CNC изобретаем?
Last edited by kr1810bm86 on Sat Oct 01, 2011 10:50 am, edited 1 time in total.
-
- Posts: 8
- Joined: Tue Dec 21, 2010 10:24 am
Re: Можно-ли на 1200 контроллере получить 1000 отсчетов за 2
Может с энкодерами и точнее, только во первых, те энкодеры что у меня есть туда не влезут, во вторых - не совсем понятно, как на двух энкодерах можно получить угол сдвига, не следя за количеством импульсов одного и второго. А подсчет импульсов это довольно гиморно. Пропустил один - получил ошибку, да и направление надо учитывать. В общем если делать с нуля - может и оправданно, а для ремонта - по моему слишком сложно. Внешний генератор (в крайнем случае) - на порядок дешевле да и в обработке проще.Владимир wrote:Я бы попробовал так...
Установить два многооборотных абсолютных энкодера на эти диски... по ним можно знать и точную скорость вращения и "рассогласование углов" единовременно... не забывайте, что у обычных датчиков тоже есть "время включения" и оно может плыть от температуры и т.д. на замере до 20мс это будет заметно...
А с энкодерами будет точнее и производительнее, мне кажется. скорость исполнения арифметической команды у 1200-го около 18-ти мкс... расчет рассогласования можно "уложить" в десяток функций... за 0,18мс вы можете узнать точный угол рассогласования.
хотя может быть я не совсем правильно понял задачу...
У энкодеров есть огромный плюс, в данном случае. Нету необходимости закончить расчет угла за 20мс, вполне можно обрабатывать сигнал в течении 100-800 мс, т.к. мне не обязательно получать угол сдвига на каждый оборот, хватит и 1-2 измерения в секунду. Но вот как определить угол сдвига между фазами двух энкодеров..... ловить и писать в память все 1024 отсчета? И по меткам начала-конца? это грустно. (Хотя может я неправильно понимаю методику сьема данных с энкодера)
-
- Site Admin
- Posts: 3992
- Joined: Thu Feb 16, 2006 3:25 pm
- Location: Russia
Re: Можно-ли на 1200 контроллере получить 1000 отсчетов за 2
Если вариант бюджетный, то можно приспособить что-то микроконтроллерное - например 16 МГц Атмел ATmega32U4-AU с USB интерфейсом для программирования и интерфейса с компом за 96 рублейkr1810bm86 wrote:А вообще-то это модернизация концентратомера (1965г разработки, 1974г выпуска ).
Есть сам датчик, а плата управления сгорела. Повторять плату - пол года НИОКОР )).
Вот думаю приспособить контроллер.
или АРМ STM32F100C4T6B за 33 р..
viewtopic.php?f=7&t=16529
Подсчитаешь разницу и что с ней дальше делать ? Кому м как передавать или какие оргвыводы делать ?
-
- Posts: 8
- Joined: Tue Dec 21, 2010 10:24 am
Re: Можно-ли на 1200 контроллере получить 1000 отсчетов за 2
Амтел - вещь хорошая (так говорят). Но я их не знаю вообще Это надо будет месяца 2-3 на учебу потратить. (А метод изготовления плат - мне понравился, надо будет попробовать).CoMod wrote: Если вариант бюджетный, то можно приспособить что-то микроконтроллерное - например 16 МГц Атмел ATmega32U4-AU с USB интерфейсом для программирования и интерфейса с компом за 96 рублей
или АРМ STM32F100C4T6B за 33 р..
viewtopic.php?f=7&t=16529
Теоретически это получится уровень концентрации массы. После р_ас_ крутки основного вала, момент действующий на пробный вал пропорционален концентрации, ну а угол отклонения между двумя валами пропорционален моменту. Имея значение концентрации в реальном времени можно управлять клапаном и поддерживать заданное значение. Так что нужен будет ПИ или ПИД регулятор и выход на 4-20мА. Затем калибровка нуля в воде, калибровка в воздухе, калибровка по образцовому, учет температуры (желательно), индикация на главном пульте, и сохранение журнала. В общем для Амтела, по моему многовато писать придется, оно того не стоит.CoMod wrote: Подсчитаешь разницу и что с ней дальше делать ? Кому и как передавать или какие оргвыводы делать ?
-
- Posts: 298
- Joined: Wed Sep 21, 2005 12:24 pm
- Location: Russia, Saint-Petersburg
Re: Можно-ли на 1200 контроллере получить 1000 отсчетов за 2
Энкодеры нужно пользовать не инкрементальные, а абсолютные. с них не надо считать импульсы, они всегда показывают угол... есть всякие габариты, разрешение и интерфейс...
http://www.posital.com/us/products/POSI ... _base.html
или SICK... доки на русском... да сейчас только ленивый их не делает... Та же Дельта китайская...
http://www.sick-automation.ru/images/Fi ... _AFM60.pdf
http://www.posital.com/us/products/POSI ... _base.html
или SICK... доки на русском... да сейчас только ленивый их не делает... Та же Дельта китайская...
http://www.sick-automation.ru/images/Fi ... _AFM60.pdf
Last edited by Владимир on Mon Oct 03, 2011 8:39 pm, edited 1 time in total.
-
- Posts: 8
- Joined: Tue Dec 21, 2010 10:24 am
Re: Можно-ли на 1200 контроллере получить 1000 отсчетов за 2
Спасибо! Не знал про такие. Я знаком только с синусно-косинусными трансформаторами, которые стояли в "Шилке"Владимир wrote:Энкодеры нужно пользовать не инкрементальные, а абсолютные. с них не надо считать импульсы, они всегда показывают угол... есть всякие габариты, разрешение и интерфейс...
http://www.posital.com/us/products/POSI ... _base.html