TTL и CMOS логика Цифровая схемотехника на логических микросхемах. Счетчики, сдвиговые регистры, простая логика... |
09.03.2011, 12:12
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.05.2008
Адрес: регион 63
Сообщений: 1,832
Сказал спасибо: 742
Сказали Спасибо 683 раз(а) в 386 сообщении(ях)
|
Делитель частоты sin/cos последовательности
Добрый день. Прошу помощи в решении следующей задачи-
Имеется два сигнала sin/cos уровня 5 вольт , с оптического энкодера, дребезга нет, сигнал прямоугольный. Сигнал подключается к микроконтроллеру , где определяется направление вращения и считаются импульсы.Требуется понизить частоту следования импульсов в 100 раз, при этом нужно сохранить последовательность sin/cos для определения направления вращения. (Т.е датчик выдает 100 импульсов на оборот или даже 1000 и при высокой частоте вращения МК не успевает обсчитать все импульсы ) Главная засада не допустить возможного проглатывания импульсов при смене направления вращения.
Видится несколько решений .
Взять два двоично-десятичных реверсивных счетчика , например К155ИЕ6, включить последовательно, через входные ИЛИ-НЕ завести на них sin/cos, а с выхода заема/переноса старшего счетчика завести сигнал в МК.
Второй вариант - взять так же реверсивные счетчики , но читать не выхода переноса, а непосредственно опрашивать состояние счетчика , и обнулять после опроса.
И третий вариант - счетчик-делитель отдельно на sin и отдельно на cos.
Пока писал придумал вариант четыре счетчик-делитель обрабатывает только один канал, плюс схема выделения знака переключает его на инкремент или декремент.
Возможно есть более простые решения ?
з.ы только без специализированных микросхем ,чистая логика.
__________________
Да здравствует Разум,да сгинет Маразм!
|
|
|
|
09.03.2011, 12:22
|
|
Супер-модератор
Регистрация: 08.09.2007
Адрес: Kyiv, Ukraine
Сообщений: 7,972
Сказал спасибо: 431
Сказали Спасибо 3,943 раз(а) в 1,693 сообщении(ях)
|
Re: Делитель частоты sin/cos последовательности
Уважаемый E_C_C, видится разделение задачи на две самостоятельных:
1. Определение направления вращения;
2. Подсчет к-ва импульсов.
Первую можно реализовать аппаратно. Вторую - возложить на МК. Прикидочно программа при этом существенно упрощается и, возможно, МК будет успевать их обсчитывать. Банальное прерывание. Недостаток - нужна ещё одна ножка МК. Зато не будет пропусков подсчета импульсов из-за делителей. Что-то по типу Вашего 4-го варианта, но без делителя.
Если такой путь подходит, будем думкать над реализацией.
Например, по типу, как у Шило "Популярные цифровые микросхемы", рис.2.45 для счетчика К561ИЕ14:
__________________
Выслушай и противную сторону, даже если она тебе и противна!..
Последний раз редактировалось Falconist; 09.03.2011 в 12:29.
|
|
|
Эти 2 пользователя(ей) сказали Спасибо Falconist за это сообщение:
|
|
|
09.03.2011, 14:42
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Делитель частоты sin/cos последовательности
Сначала вопросы:
- максимальная частота вращения двигателя
- при смене направления счётчик начинает вычитать или продолжает в ту же сторону
- результат должен быть в оборотах или в импульсах энкодера
? (общий )
Сообщение от E_C_C
|
чистая логика.
|
Схема определения направления и выработка счётных импульсов - один D-триггер и два элемента "И". Далее собственно счётчик(двоично/десятичный К155ИЕ6 или двоичный К155ИЕ7) по вкусу и количеству необходимых разрядов счёта...
Всё
Последний раз редактировалось omercury; 09.03.2011 в 14:45.
|
|
|
Эти 2 пользователя(ей) сказали Спасибо omercury за это сообщение:
|
|
|
09.03.2011, 16:35
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.05.2008
Адрес: регион 63
Сообщений: 1,832
Сказал спасибо: 742
Сказали Спасибо 683 раз(а) в 386 сообщении(ях)
|
Re: Делитель частоты sin/cos последовательности
Сообщение от omercury
|
максимальная частота вращения двигателя
|
Скорее датчика чем двигателя , 1500 об/сек плюс минус 500.
Сообщение от omercury
|
при смене направления счётчик начинает вычитать или продолжает в ту же сторону
|
вычитать
Сообщение от omercury
|
результат должен быть в оборотах или в импульсах энкодера
|
в количестве оборотов (сумма ) и в угловой скорости , но это чисто математическая функция .
Сообщение от Falconist
|
1. Определение направления вращения;
2. Подсчет к-ва импульсов.
|
Надо попробовать , количество импульсов возрастет вдвое, но если описать прерывание в ассемблере и только INC DEC возможно и хватит быстродействия.
Все это как продолжение https://kazus.ru/forums/showthread.php?t=19505 , там у меня частота вращения была в пять раз ниже и быстродействия в принципе хватало ,
а вот более скоростной счет не идет. В целом устройство задумано как замена штатной индикации стенда проверки ТНВД (топливных насосов высокого давления), но это непринципиально и в перспективе.
__________________
Да здравствует Разум,да сгинет Маразм!
|
|
|
|
09.03.2011, 16:42
|
|
Почётный гражданин KAZUS.RU
Регистрация: 21.03.2007
Адрес: М.(осква)
Сообщений: 4,317
Сказал спасибо: 2,137
Сказали Спасибо 1,734 раз(а) в 986 сообщении(ях)
|
Re: Делитель частоты sin/cos последовательности
E_C_C, а охота руками попробовать или готовое устройство?
Это я про что: 1. А разве насосы вращаются не в одном, строго заданном напрвлении?
2. Промышленный ПЛК (IMHO) имеют высокоскоростные счётные входы, если только индикацией ограничиваться - может стоит поставить ПЛК? Да, дорого. (от 10 т.р.). Да, не из этой отрасли.
__________________
+ 7 903 641 87 25// 1. Иногда отвечаю "по памяти" 2. Часто заблуждаюсь >> Критикуйте, не обижусь.
|
|
|
Эти 2 пользователя(ей) сказали Спасибо mtit за это сообщение:
|
|
|
09.03.2011, 16:49
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Делитель частоты sin/cos последовательности
Сообщение от E_C_C
|
Скорее датчика чем двигателя , 1500 об/сек плюс минус 500.
|
Вы в цифрах не ошиблись? Это безумная скорость, какой там ТНВД. Турбина наддувная куда тормознее, а она самый быстровращающейся узел в авто.
|
|
|
|
09.03.2011, 16:56
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Делитель частоты sin/cos последовательности
Сообщение от E_C_C
|
Скорее датчика чем двигателя , 1500 об/сек плюс минус 500.
|
Сообщение от E_C_C
|
Надо попробовать , количество импульсов возрастет вдвое, но если описать прерывание в ассемблере и только INC DEC возможно и хватит быстродействия.
|
Сообщение от E_C_C
|
Тактовая частота 4Мгц.
|
Счётные импульсы следуют с частотой 1-2kHz. Всего. При тактовой 4MHz МК остаётся "всего лишь" 4000kHz/2kHz= 2000! тактов минимум. На любом, даже самом кривом, языке программирования без всяких дополнительных аппаратных ухищрений можно писать обработку, делать все расчёты, выводить индикацию и ещё много чего...
Upd: Стоп! 100-1000 импульсов на оборот... Это же до 2MHz...
Сообщение от E_C_C
|
с оптического энкодера
|
Что-то гложат меня смутные сомнения...
А зачем? Зубья у датчика проредить можно?
Последний раз редактировалось omercury; 09.03.2011 в 17:28.
|
|
|
Сказали "Спасибо" omercury
|
|
|
09.03.2011, 17:00
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.05.2008
Адрес: регион 63
Сообщений: 1,832
Сказал спасибо: 742
Сказали Спасибо 683 раз(а) в 386 сообщении(ях)
|
Re: Делитель частоты sin/cos последовательности
Сообщение от mtit
|
охота руками попробовать
|
Если сейчас я смогу , даже с помощью форума, решить эти задачи, то дальше будет проще,да и идти надо от простого к сложному. Именно поэтому
Сообщение от E_C_C
|
без специализированных микросхем ,чистая логика.
|
ПЛК слов нет хорошо, даже очень , но хочется поизвращатся с рассыпухой.
__________________
Да здравствует Разум,да сгинет Маразм!
|
|
|
|
09.03.2011, 17:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.05.2008
Адрес: регион 63
Сообщений: 1,832
Сказал спасибо: 742
Сказали Спасибо 683 раз(а) в 386 сообщении(ях)
|
Re: Делитель частоты sin/cos последовательности
Сообщение от kison
|
Вы в цифрах не ошиблись? Это безумная скорость, какой там ТНВД
|
Упс ,да об/мин . Датчик будет не на выходном валу, а на двигателе или на промежуточном шкиве.
Сообщение от omercury
|
Счётные импульсы следуют с частотой 1,5-2kHz
|
1000 об/мин*1000 имп/оборот = 1000.000. имп/мин или 1000.000/60 = 16.666 гц =16 Кгц ? может я что не допонимаю , но вроде так ?
Сообщение от omercury
|
А зачем? Зубья у датчика проредить можно?
|
Нет ибо датчики ВЕ178 100 или ВЕ 178 1000.
__________________
Да здравствует Разум,да сгинет Маразм!
Последний раз редактировалось E_C_C; 09.03.2011 в 19:17.
|
|
|
|
09.03.2011, 17:10
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Делитель частоты sin/cos последовательности
Сообщение от E_C_C
|
Упс ,да об/мин
|
Уже лучше. Всего до 33,33kHz(при 1000 импульсов на оборот). Период 120 тактов МК. Вполне реально.
Сообщение от E_C_C
|
хочется поизвращатся с рассыпухой.
|
Про рассыпуху в #3
наверху апдейтил...
Последний раз редактировалось omercury; 09.03.2011 в 17:30.
|
|
|
Эти 2 пользователя(ей) сказали Спасибо omercury за это сообщение:
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:38.
|
|