Цитата(haker_fox @ Feb 7 2009, 20:24)

Ваша схема мне показалась все таки несколько сложной. Но может быть у нее есть преимущества перед схемами, которые приводились выше? …
Схема (рис.1) получила такой вид в процессе наладки. Сначала обработка сигналов производилась по опросам таймера (12мкс). И в схеме отсутствовали входные резисторы по 1кОм и элементы для «исключающего ИЛИ». Сигналы брал с самодельного энкодера (120имп/об) состоящего только из щелевых оптопар, фототранзистры были «подтянуты» к +5В через резистор = 4,7кОм. С двигателем на 24В всё прекрасно работало. Но как только подключил двигатель на 110В, то вся «красота» нарушилась. Не то, что пропуски, вообще движок не останавливался. По осциллографу были хорошо заметны наводки, провода были не экранированные. Пробовал с экранированными – помех становилось меньше. С уменьшением нагрузочного резисторов до 1кОм, также амплитуда наводок уменьшалось. С экранированным кабелем и резисторами 1кОм уже более-менее стало работать, но временами всё равно были пропуски (то «недоход», то «переход» позиции). На вход «вешал» кондёры – мало, что менялось. Кардинально помогло только расположение буфера с низким выходным сопротивлением (сначала на «запараллеленых» К561ЛА7, затем на CD4093) непосредственно около оптопар. И резисторы на входе на 1кОм поставил для уменьшения входного сопротивления.
Затем «пришла» мысль о «исключающем ИЛИ», а так как новую печ.плату неохота было делать, то решил обойтись «малой кровью» - использовать по возможности имеющиеся детали (внутренний компаратор) + навесной монтаж. Вот поэтому схема на рис.1 получилась немного «избыточной».
Теоретически с таким вариантом быстродействие выше, что потом косвенно подтвердилось во время одного трудно уловимого программного «глюка» (кратко опишу его проявления – во время «сбоя», перехода в ServoError с прошивкой с опросом по таймеру – ошибка рассогласования была около 20-30 тыс. шагов, а с прерываниями по компаратору – несколько миллионов).
Схема на рис.2 должна её полностью заменить с дополнительными преимуществами – меньше деталей, меньше используемых входов МК.
По сравнению с другими (выше) – я только нашёл «кусок» из микрочиповского AN696. На мой взгляд вариант из AN696 менее помехоустойчив, требует два входа прерывания или надо подавать на входа счётчиков-таймеров. У меня только один таймер свободен и я его «берегу» на будущее. Более лучшую помехоустойчивость схемы по рис.2, должны обеспечить триггеры Шмитта с регулируемыми порогами (за счёт их подстройки) по входам и «защита» от ложных переходов на «искл.ИЛИ».
Если Вы имеете ввиду ещё какие то схемы, то дайте пожалуйста непосредственные ссылки.
Цитата(_Pasha @ Feb 8 2009, 15:23)

Вопрос
с подвохом : а всегда ли сигналы с энкодера имеют амплитуду 5 вольт

Может, надо еще обратить внимание на стандартные входы IEC61131-2 или немножечко их сдвинуть в область 5-вольт ?
Всё делается и делалось для конкретного применения (для энкодера с Uпит.=5V) поэтому и такая схема, но для других напряжений ничто не мешает поставить защитный стабилитрон или BAV99 с токоограничивающим резистором.
При описанной выше настройке (еб…) мне так и хотелось «задрать» напряжение сигнальных линий до 24В и поставить оптроны для развязки, тем более входа управления (Step/Dir) уже были так подключены. Но потом получилось с буфером – и я не стал дальше «извращаться».
Сообщение отредактировал arisov - Feb 8 2009, 20:59