Страница 1 из 2
Трёхфазный датчик движения и направления на логике.
Добавлено: Вт сен 22, 2015 21:25:12
DjAndy
Всем привет!
Имеется исходный сигнал с трёхканального датчика вращения на оптических прерывателях:
Задача:
- схему сделать на обычной логике, TTL или CMOS,
- определить направление вращения по каждому следующему фронту (+/-) с каждого датчика,
- выделить импульсы с каждого фронта, положительного и отрицательного, для их подсчёта в прямом и обратном направлении.
Логика с датчиков переключений такая:
000
001
011
111
110
100
Три дня ломал голову, пришёл к такому решению:
После датчиков дешифратор состояний с шестью выходами (сколько состояний, столько и выходов).
С каждого фронта (любой полярности) любого из датчиков формируется короткий тактовый импульс с заданной длительностью (CLK).
С дешифратора состояний данные записываются в сдвиговый регистр (одна единица с одного из выходов дешифратора).
С поступлением CLK регистр сдвигает данные (единицу смещает по циклу) и если эта единица совпадает с состоянием дешифратора формируется сигнал "совпадение", т.е. счёт в плюс.
Если совпадения нет, - счёт в минус.
Далее по спаду CLK в регистр записывается текущее состояние дешифратора и цикл повторяется.
Что-то мне это решение не кажется очень изящным.
Может у кого будут замечания, или кто уже сталкивался с таким и есть решения попроще, буду благодарен за подзатыльники и подсказки.

Re: Трёхфазный датчик движения и направления на логике.
Добавлено: Вт сен 22, 2015 21:39:48
otest
а ты нарисуй свои мысли, а форум поправит.
Re: Трёхфазный датчик движения и направления на логике.
Добавлено: Ср сен 23, 2015 01:25:13
DjAndy
otest писал(а):а ты нарисуй свои мысли, а форум поправит.
Уже озвучил свои мысли, для схемотехников достаточно.
Схема разбросана по тетради, ошибки в ней искать не нужно, а перерисовывать целиком неохота.
Сама концепция мне кажется неправильной, и в итоге громоздкой в конечной реализации.
Структурную схему прилагаю:
Мысли изначально крутились вокруг дешифратора состояний датчиков, может в этом и есть моя ошибка.
Хотя не пришлось городить сложную схему сравнения, обошёлся простыми логическими элементами, т.к. сравнивается каждый раз только одна линия данных.
Если взять последовательности сигналов напрямую с датчиков и сдвигать их для сравнения, уберётся дешифратор, но усложнится схема сравнения.
Или я вообще напрасно сдвиг и сравнение использую?

Re: Трёхфазный датчик движения и направления на логике.
Добавлено: Ср сен 23, 2015 05:06:33
m.ix
DjAndy писал(а):Схема разбросана по тетради, ошибки в ней искать не нужно, а перерисовывать целиком неохота.
И что?
Юзер не обладает сканером?
ИЛИ не облабает умением рисования в splan?
одлада одлади ...
Наверное очередной ленивый курсач
Возьми шарового грызуна, он тебе подскажет направление и ускорение и прочее.
А ты знал. что оптической мышью можно сканировать документы не хуже сканера?
Сей прогой игрался много лет назад под win95
Re: Трёхфазный датчик движения и направления на логике.
Добавлено: Ср сен 23, 2015 06:08:49
DjAndy
m.ix писал(а):DjAndy писал(а):Схема разбросана по тетради, ошибки в ней искать не нужно, а перерисовывать целиком неохота.
И что?
Юзер не обладает сканером?
ИЛИ не облабает умением рисования в splan?
[...]
Наверное очередной ленивый курсач
Возьми шарового грызуна, он тебе подскажет направление и ускорение и прочее.
А ты знал. что оптической мышью можно сканировать документы не хуже сканера?
Сей прогой игрался много лет назад под win95
Уважаемый, Вы читать умеете надеюсь, - выше уже внятно сказал - схема получилась громоздкая и несуразная.
Вы хотите её увидеть? Зачем? Чтобы ошибки в ней поискать? Их там нет.
Сама концепция усложнена, что мне и не нравится, блок-схема выложена, кто работал с логикой прекрасно всё поймёт.
Сканер есть, и с CAD-ами по разводке ПП работал профессионально, из возраста писать "курсачи" давно вышел, ещё при Союзе.
В SPLAN рисуют схемы от лени освоить нормальную среду рисования схем, ORCAD например.
По поводу "шарового грызуна", там всё гораздо проще - 2 фотодатчика на одну плоскость вращения, и схем реализации детекторов направления с таких датчиков хватает.
Большинство этих схем считают фронты одной полярности:
или определяют направление с помощью делителей:
хотя есть и учитывающие фронты обоих полярностей с каждого из датчиков, и определяющие направление по каждому из фронтов:
но, всё это работа с двумя оптодатчиками.
В моём случае три оптодатчика и нужно считать по каждому фронту любой полярности, каждого из трёх датчиков, и определять направление по любому из фронтов.
Исходя из этих условий и свои сложности...
Re: Трёхфазный датчик движения и направления на логике.
Добавлено: Ср сен 23, 2015 07:07:45
akl
ПЗУ с обратными связями, в котором зашит описанный автомат состояний. Хотя, 8-ми ногий контроллер с такой задачей справился бы.
Re: Трёхфазный датчик движения и направления на логике.
Добавлено: Ср сен 23, 2015 07:32:29
DjAndy
akl писал(а):ПЗУ с обратными связями, в котором зашит описанный автомат состояний. Хотя, 8-ми ногий контроллер с такой задачей справился бы.
MCU если и справится с полной задачей, не считая этой, то очень мощный, - только с этих датчиков общая частота около 10кГц будет, плюс все заложенные в устройство постоянные realtime пересчёты.
Сам лично с MCU не дружу, не далось оно мне. Поэтому и уход к логике, чтобы загнать схему в последствии в ПЛИС.
Re: Трёхфазный датчик движения и направления на логике.
Добавлено: Сб сен 26, 2015 04:48:12
hrpankov
...припомню: Задача:
- схему сделать на обычной логике, TTL или CMOS,
- определить направление вращения по каждому следующему фронту (+/-) с каждого датчика,
- выделить импульсы с каждого фронта, положительного и отрицательного, для их подсчёта в прямом и обратном направлении."
....ЛП5 справиться с виделением импульсов, а небольшое ПЗУ с обратной связью - со всем остальним....
Re: Трёхфазный датчик движения и направления на логике.
Добавлено: Ср сен 30, 2015 16:32:15
DjAndy
Вот что у меня получилось на чистой логике, без ПЗУ:
Два импульсных дешифратора (отдельные для обоих направлений импульсов с датчиков), срабатывающих по любому из фронтов с любой полярностью.
Получилось 6 корпусов логики. Можно попробовать применить обычные дешифраторы вместо 7410 (ЛА4), корпусов будет меньше.
Кстати, наращивание ЛП5 на 3 входа и более, как рисуется во многих книжках, у Шило например, не работает как многовходовое "исключающее ИЛИ".
Re: Трёхфазный датчик движения и направления на логике.
Добавлено: Чт окт 01, 2015 18:02:42
Flasher
Насчет ЛП5 поподробнее, пожалуйста.
Re: Трёхфазный датчик движения и направления на логике.
Добавлено: Чт окт 01, 2015 20:09:58
DjAndy
Flasher писал(а):Насчет ЛП5 поподробнее, пожалуйста.
Если это ко мне по поводу
DjAndy писал(а):Кстати, наращивание ЛП5 на 3 входа и более, как рисуется во многих книжках, у Шило например, не работает как многовходовое "исключающее ИЛИ".
Отвечу. Смотрим известную многим книжку:
В.Л.Шило. Популярные цифровые микросхемы (Справочник, Радио и связь, 1987)
Логика работы ЛП5: -
совпадение лог.уровней на входах - на выходе "0":
А теперь смотрим предложенный вариант расширения входов,
Рис. 1.36.а
Получается, - при несовпадении лог.уровней на входах А и B и единице на входе C, на выходе Q
Рис. 1.36.а сформируется сигнал "0" (совпадение по трём входам).
Пример:
A=1
B=0
C=1
Q=0
А должна быть единица на выходе при разногласии на входах.
Разбор полётов:
A=1
B=0
на выходе первого элемента "1", приехали.
На входы второго элемента поступают "1", на входе "0".
Re: Трёхфазный датчик движения и направления на логике.
Добавлено: Чт окт 01, 2015 20:25:17
botchin
Ето на коленки придумал.
Вариант на одновибратирах. На каждъй вход по два одновибратора. Расмотрим верхние два. Положителнъй фронт на входе А установит одновибратора в 1 только если на входе D единица т.е. на въходе дешифратора 1 (код 000 - после кода 000 можем ожидать положителнъй фронт на входе А). Отрицателнъй фронт на А будем ожидат после 7. Далее как у тебя.
Для входа Б положительнъй фрон после 001, отрицательнъй после 110
И т.д.
Схема только на уме проигранная. Много от связей на схеме не сделанъ - я принимаю что ето дело объчное.
Re: Трёхфазный датчик движения и направления на логике.
Добавлено: Чт окт 01, 2015 20:46:11
Flasher
DjAndy писал(а):
Получается, - при несовпадении лог.уровней на входах А и B и единице на входе C, на выходе Q
Рис. 1.36.а сформируется сигнал "0" (совпадение по трём входам).
Пример:
A=1
B=0
C=1
Q=0
А должна быть единица на выходе при разногласии на входах.
Ээээ... Вы хоть понимаете функцию сложения по модулю 2 ? "должна быть единица на выходе при разногласии на входах" это частный случай 2-х входового элемента...
Re: Трёхфазный датчик движения и направления на логике.
Добавлено: Чт окт 01, 2015 21:33:07
DjAndy
botchin писал(а):Вариант на одновибратирах. На каждъй вход по два одновибратора. Расмотрим верхние два. Положителнъй фронт на входе А установит одновибратора в 1 только если на входе D единица т.е. на въходе дешифратора 1 (код 000 - после кода 000 можем ожидать положителнъй фронт на входе А). Отрицателнъй фронт на А будем ожидат после 7. Далее как у тебя.
Для входа Б положительнъй фрон после 001, отрицательнъй после 110
Ок. Вперёд схема возможно и будет работать, полностью не проверял. Диоды на выходе по моему перевёрнуты.

А вот обратный счёт, переход с 000 на 100:
- на выходе дешифратора переход с 0 на 4, ожидаем единицу на C, она поступает на вход 5-го одновибратора, куда подключен выход 3 дешифратора... и всё, не работает.
Re: Трёхфазный датчик движения и направления на логике.
Добавлено: Чт окт 01, 2015 21:47:22
botchin
Я не проверял схему. Я предлагаю идею. На вх А: с 000 на 001 - положителнъй и с 111 к 110 отрицательнъй, если толко въ не обращаете ос времени наоборот. Можно на D входъ и И/ИЛИ на диодах навесить. Но я опять говорю - ето только идея. Остальное ваше дело. Если мне попалась такая задача я бъ присобачил здесь МК.
Re: Трёхфазный датчик движения и направления на логике.
Добавлено: Чт окт 01, 2015 22:10:11
DjAndy
Flasher писал(а):DjAndy писал(а):
Получается, - при несовпадении лог.уровней на входах А и B и единице на входе C, на выходе Q
Рис. 1.36.а сформируется сигнал "0" (совпадение по трём входам).
Пример:
A=1
B=0
C=1
Q=0
А должна быть единица на выходе при разногласии на входах.
Ээээ... Вы хоть понимаете функцию сложения по модулю 2 ? "должна быть единица на выходе при разногласии на входах" это частный случай 2-х входового элемента...
Так. Давайте не будем отвлекаться на функции.
Расширение элемента "исключающее или" на те же три входа должно иметь следующую логику работы:
A B C Q
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
А имеем по рис.1.36.а такую:
A B C Q
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1

Re: Трёхфазный датчик движения и направления на логике.
Добавлено: Чт окт 01, 2015 22:18:49
Flasher
Re: Трёхфазный датчик движения и направления на логике.
Добавлено: Чт окт 01, 2015 22:24:42
Paguo-86PK
Схема использует код Джонсона? А
Мажоритальный клапан не пробовали?
Re: Трёхфазный датчик движения и направления на логике.
Добавлено: Чт окт 01, 2015 22:27:13
DjAndy
botchin, спасибо за участие, и за идею. Мне уже тоже хочется это сделать на 8-ми ногом МК.
Flasher писал(а):
Flasher, что-то не так?

Re: Трёхфазный датчик движения и направления на логике.
Добавлено: Чт окт 01, 2015 22:35:40
Flasher
Увы, не так...
Ваше видение работы трехвходового исключающего или не имеет ничего общего с реалиями. Видны серьезные пробелы в теории.