Форум программистов, компьютерный форум, киберфорум
Цифровая обработка сигналов
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/61: Рейтинг темы: голосов - 61, средняя оценка - 4.57
kirkiryshyy
1

многоканальный счетчик импульсов

20.01.2012, 12:17. Просмотров 11331. Ответов 17
Метки нет (Все метки)

Доброго времени суток!
Возникла необходимость собрать устройство подсчета импульсов с инкрементальных энкодеров (причем при сдвиге как в одну сторону, так и в другую). Количество - энкодеров от 20 шт. и выше.
Т.к. я в электронике настоящий про.... хм... прафин =), по этому прошу совета у Гуру =)

Условия задачи таковы:
Минимальная цена, минимальное количество радиоэлементов (т.к. все устройство должно, примерно, умещаться на ладони)
Желательно чтобы работала на одном МК. Возможность модульно добавлять энкодеры.
А самое главное: частота импульсов может достигать 2-2,5кГц но НЕЛЬЗЯ упустить НЕ ЕДИНОГО импульса! Это самое важное условие. Не должно накапливаться погрешностей. =)

Энкодеры будут ленточные (т.е. перфорированная лента с оптическими датчиками. Как в струйниках)

Я не прошу принципиальных схем =) мне важно понять как вообще это можно реализовать, с помощью каких компонентов.

За ранее спасибо!
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.01.2012, 12:17
Ответы с готовыми решениями:

Многоканальный аппаратный ШИМ
Доброго времени суток! Что требуется: 1) от 8 независимых ШИМ каналов. Для каждого канала...

ADCLab S-Recorder-L (электронный многоканальный самописец)
Добрый день. На просторах интернета (и этот форум не исключение) практически нет информации о...

Генератор импульсов
Доброе время суток всем! В 90-х годах в библиотеке однажды нашёл схему генератора постоянных...

Распределитель импульсов на 35 каналов
Помогите спроектировать распределитель импульсов на 35 каналов

17
0 / 0 / 0
Регистрация: 11.02.2011
Сообщений: 287
20.01.2012, 13:13 2
по 2 сигнала на энкодер => 40 входов = 5 байтовых регистров
Наверное полученные данные позиций надо будет куда то как то передавать ?
0
0 / 0 / 0
Регистрация: 13.10.2009
Сообщений: 3
20.01.2012, 13:19 3
частота импульсов нормальная, ничего страшного. остается вопрос о длительности импульсов.
про регистры написали правильно, их можно дофига повесить на контроллер.

вобщем для ТЗ не хватает
1) минимальная длительность импульсов
2) прочий функционал (дисплеи, кнопки, сохранение данных при выключении питания,... )
3) масшатбируемость (20? 50? 100 датчиков?)
0
kirkiryshyy
20.01.2012, 13:49 4
woddy На счет длительности импульсов: Датчик долгое время может находиться в покое а потом очень резко (около полусекунды) изменить свое положение. (Т.е. лента может изменить свое положение кардинальным образом =) т.к. энкодер ленточный. длинна перфорированной ленты ~1100 перфораций (не знаю как назвать=) т.е. длинна импульса может составить: 1с/2*1100перф. = 0,4 мс.

На счет регистров: я так понимаю с параллельным входом и последовательным выходом? (с логическими элементами у меня еще пока пробел =))

На счет передачи данных: эти данные буду пересылаться через USB на ПК либо в виде ID датчика:его дельты, либо в виде вектора пары датчиков (каждый датчик является вержиной (узлом) сложной геометрической системы) еще пока не решил =)

А вообще, в идеале, хорошо было бы так: Датчики собирать в модули по 1-20 штук на модуль. А модули опрашивать по какому ни будь интерфейсу типа y2s =) был бы идеальный вариант =)
kirkiryshyy
20.01.2012, 13:50 5
А! =) точно! Масштабируемость =))) До 100 датчиков =) в модулях по 1-20 датчиков на модуль =)
Дисплеи, кнопки по данной задаче не нужны =) с этим, если понадобится, я справлюсь легко (благо все доскональна уже обмусолено в нете не один раз =)))
Минимум - просто отправлять данные (дельты передвижений) на комп.
0 / 0 / 0
Регистрация: 13.10.2009
Сообщений: 3
20.01.2012, 13:56 6
регистры для чайников http://robocraft.ru/btog/arduino/520.html (это самое простое)

максимальная скорость ленты 1100 перфораций в секунду? размер "дырки" через которую светит датчик где-то в 3 раза меньше расстояния между ними? итого надо опрашивать датчики 10тыс раз в секунду (умножаем на 3). значит говорим что импульсы менее 0.1мс мы имеем право не замечать.
при частоте контроллера 16мгц мы в идеале успеем опросить 1000 датчиков. ограничим до 200 (100 туда+100 обратно), чтоб заведомо успевать при низком качестве кода.
историю изменений можно слать в som порт, но боюсь не пролезем по скорости. предлагаю раз в секунду сливать статус всех датчиков в виде списка.
0
kirkiryshyy
20.01.2012, 14:12 7
Динные должны поступать на компьютер не менее 15 раз в сек. Можно больше, но не меньше =)
Получается так: разрешение датчика 1100 - это 11 бит... округлим до 12. Туда-же можно запаковать ID датчика.
датчиков 100 - это 150 байт - один пакет. таких нужно передать 15 штук + служебная информация = примерно 2,5 кБ в секунду. =)

За ссылку - спасибо! =)
Сейчас хочу съездить на радио рынок, закупиться мелочевкой. Собрал для экспериментов простецкую платку на мега16.
Можете посоветовать какие регистры купить для экспериментов (модели)?
А приеду, буду изучать =)
0 / 0 / 0
Регистрация: 13.10.2009
Сообщений: 3
20.01.2012, 14:37 8
> Можете посоветовать какие регистры купить для экспериментов (модели)?
те, на которых есть подробно описанные примеры
0
0 / 0 / 0
Регистрация: 11.02.2011
Сообщений: 287
20.01.2012, 15:27 9
Можете посоветовать какие регистры купить для экспериментов (модели)?
Для обработки с твоим контроллером проще использовать параллельные регистры с 3-им состоянием типа 74HC573.
Ну типа как тут,
но повернуть регистры наоборот типа так

<Изображение удалено>


Запомнил по &1 на ALE(С) на все регистры сразу,
а затем считать 8 входов за раз по подаче &0 на OE конкретного регистра.
Вообще бы я выбрал для этих целей контроллер с аппаратным USB - atmego32u4 - программируется прямо через USB.
А также есть возможность приспособить LUFA примеры под свои нужды.
0
MCSD: APP BUILDER
8787 / 1065 / 104
Регистрация: 17.06.2006
Сообщений: 12,604
20.01.2012, 22:41 10
to kirkiryshii
может Вам лучше пересылать на компьютер "сырые" данные - просто с определённой частотой посылаем состояния входов МК (регистов) на комп. А всю обработку делаем на компе - так можно легко повысить частоту опроса
0
0 / 0 / 0
Регистрация: 13.10.2009
Сообщений: 3
21.01.2012, 17:08 11
щас в блоге насоветовали PCF8574 / PCF8575 (8/16 линий)
0
0 / 0 / 0
Регистрация: 11.02.2011
Сообщений: 287
21.01.2012, 20:03 12
Цитата Сообщение от woddy
щас в блоге насоветовали PCF8574 / PCF8575 (8/16 линий)
Преимущества параллельной шины при достаточном наличии свободных ног по сравнению протокольной 100 КГц I?C-шиной неочевидны ?
0
0 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 806
21.01.2012, 20:42 13
Цитата Сообщение от woddy
щас в блоге насоветовали PCF8574 / PCF8575 (8/16 линий)
PCF8574 отпадает сразу – I2C 100кГц. PCF8575 (400кГц) опрашивать можно 3х байтовой посылкой плюс ASK(и), плюс СТАРТ/СТОР с частотой ~13.7кГц, это последовательный опрос пяти чипов при максимально ожидаемой частоте 2.5кГц, !НО! при условии, что все «енкодеры» работают синхронно, если нет, то и с одним чипом будут проблемы.
0
kirkiryshyy
25.01.2012, 01:24 14
Всем спасибо кто ответил... Пока эксперементирую с регистрами сдвига... купил 1533ИР24. Спаял схемку... пока разбираюсь с ассемблером... (начиная с компилятора под линукс, заканчивая структурой МК =)) Потихонечку двигаюсь вперед... Как что-то заработает, отпишусь....
А вообще, пока все это паял, читал форумы, статьи, подумал... а ведь по цене, на пример те-же тинки, стоят так-же как и регистры с интерфейсами.... может на каждый модуль по тинке повесить, ну или подобному контроллеру =) а еще мне посоветовали посмотреть в сторону программируемых матриц...
В общем, буду экспериментировать...
0 / 0 / 0
Регистрация: 13.10.2009
Сообщений: 3
25.01.2012, 01:27 15
и реализовывать общение тинек между собой? тут не в цене дело, а в удобстве. если по производительности пролазишь то лучше на одном контроллере и регистрах делать.
если бы у тебя требования к быстродействию оказались в 100 раз выше например - тогда пришлось бы чесать голову.
0
kirkiryshyy
25.01.2012, 01:29 16
tyzord66 А почему энкодеры должны синхронно работать? ведь если один стоит а другие работают это можно легко выислить... или я чего-то упускаю из виду?

К стати, woddy - спасибо за ссылку, ptsyst Спасибо за схему.... очень помогли разобраться в теме регистров =) не думал что сейчас электроника на столько элементарна =)
kirkiryshyy
25.01.2012, 01:32 17
woddy - хм.. ок... пока поэкспериментирую с регистрами.... до того как моя схем оживет =) еще нужно много навыков новых преобрести =)))) но суть ясна... Поигрался ручками с регистрами (кнопки, светодиоды) - понравилось =)
kirkiryshyy
25.01.2012, 01:34 18
Johmmy0007 - по сути, я и не собираюсь какую-то сложную обработку в МК делать... только считать смещение от инициализированного состояния... и все.
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.01.2012, 01:34

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Генератор прямоугольных импульсов на ОУ
Здравствуйте! Необходима помощь с курсовой работой. Есть схема генератора прямоугольных...

Распределитель импульсов на счётчике
Помогите разработать распределитель импульсов на три канала на счётчике. Нужна именно схема. Ну и...

Формирователь коротких импульсов
Задание (оригинал): Запропонуйте формувач коротких імпульсів тривалістю t = 8 · N (мкс) по ...

Формирователь коротких импульсов
Вопрос по микросхемотехнике: привести схему формирователя «коротких» импульсов. Описать работу. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.