Перейти к содержанию
    

Как получить генерацию импульса при изменении состояния линий управления?

Здравствуйте. Прошу помощи. Есть некое устройство из него выходят 4 линии управления на которых циклический меняются комбинации сигналов. Мне нужно при смене с одной комбинации на другую получить импульс. Если это важно, то комбинации не любые, а в частности не бывает так что одновременно есть сигнал на 1 и 3 или 2 и 4. Чувствую что решение гдето рядом с триггером но возможно ошибаюсь.

За ранее благодарю за советы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сколько всего разных состояний бывает на выходах?

Состояния всегда меняются циклически или могут и в произвольном порядке?

Требуется обнаружить:

- переход из одного определённого состояния в другое определённое; "2"->"5"

- переход из одного определённого состояния в любое другое; "4"->"не 4"

- переход из любого состояния в одно определённое; "не 1"->"1"

- просто обнаружить любое изменение выходов?

К триггеру в помощь возможно потребуется дешифратор

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

состояний всего восемь, это полушаговый режим работы шд. состояния меняются последовательно. 1,12,2,23,3,34,4,41.

Соответственно шд может остановиться в любом положении и потом может начать крутиться в обратную сторону или продолжить в том же направлении.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На первые 2 вопроса вы ответили, а дальше? Что требуется обнаружить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обнаружить надо факт начала вращения шд, в одну или другую сторону.

Тоесть из текущего состояния в любое соседнее либо вообще любое изменение относительно текущего, как проще.

Изменено пользователем Bmax77

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Определить смену состояния одной линии можно 2-входовым логическим элементом "Исключающее ИЛИ" (XOR), 74HC86 и т.п., подав на один его вход прямой сигнал, а на другой задержанный. Длительность импульса на выходе будет равна этой задержке. Задержанный сигнал можно получить либо RC-цепью, либо тактуя D-триггер.

 

Для 4-х линий потребуется 4 таких схемы, 4 выхода которых надо объединить 4-входовым элементом ИЛИ (OR), который можно собрать из обычных 2-входовых 74HC32 и т.п.

 

На получившемся выходе будет появляться импульс логической "1" при любом изменении входов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

спасибо за подсказку.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

спасибо за подсказку...

Пока я рисовал, Plain уже ответил.

post-26695-1354364542_thumb.pngpost-26695-1354369330_thumb.png

Формирователь импульсов можно сделать только один, а 4 входа объединить по XOR.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Тактовый сигнал может быть любым желаемым. Только я не сказал выше, что в этом случае требуется все линии на входе синхронизировать ещё 4-мя D-триггерами, т.е. каждый из 4-х входных сигналов надо пропустить через два последовательно соединённых D-триггера, выходы которых подать на элемент XOR.

 

Т.е. всего для решения задачи надо 8 D-триггеров. Подойдут 74HC273, 74HC374, 74HC574 и т.п. У последней наиболее удобная разводка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обнаружить надо факт начала вращения шд, в одну или другую сторону.

А вы уверены, что смена состояния на линиях есть факт вращения ШД? Ведь механику не отменили и если ШД заклинит, то сигналы могут меняться сколь угодно, но ШД будет стоять.

Может имеет смысл подключить к валу энкодер - коэффициент передачи вряд ли будет 1:1 (так ка зависит и от числа шагов ШД и от числа шагов энкодера), но зато точно увидите факт механического исполнения.

В качестве дополнения, прилагаю схему определения направления вращения на логике

post-51111-1354375489_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Александр77, да конечно хорошо бы поставить энкодер но это тут лишнее, ибо получится что пока с энкодера не поступит сигнал, шим не увеличит подачу тока а пока ток не возрастет шд может и не поехать. Так что тут первична необходимость отследить желание шд сдвинуться с места. А за схемку спасибо, в любом случае будет полезна.

Plain, ae спосибо за подсказку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

.. тут первична необходимость отследить желание шд сдвинуться с места...

Не знаю что стоит до формирователей фаз, но наверняка там есть либо сигнал старта, либо импульсная последовательность - можно их отслеживать а не фазовые сигналы

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

to Александр, Фазы формирует компьютер на котором работает прога по управлению чпу, контроллер примитивный не step/dir.

 

Попробовал в протеусе схему с R/C цепочкой, не работает эта цепочка, кто знаком с этой программой подскажите в чем может быть дело.

 

 

С протеусом разобрался. Похоже R/C не подойдет, частота шагов варьируется в очень широких пределах, а с R/C стабильно работает только в небольшом диапазоне.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

to Александр, Фазы формирует компьютер на котором работает прога по управлению чпу, контроллер примитивный не step/dir.

Почему-то никто не предложил еще микроконтроллер...

Я первая!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почему-то никто не предложил еще микроконтроллер...

Я первая!

Микроконтроллер у меня уже есть, он формирует шим и мне кажется что два микроконтроллера это будет слишком.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...