-
- а ты уверена, что вторая пара вообще ничего не делает когда крутишь в другую сторону? - LordN(22.01.2019 17:50)
- Уверена. - Ксения(22.01.2019 20:08)
- я плохо себе представляю механику мех.энкодера у которого в одну сторону мыкает одна пара, а в другую другая. это просто какой-то космос. - LordN(22.01.2019 20:20)
- В китайском даташите, что я приводила в топовом сообщении, есть чертеж, но я его не понимаю :) - Ксения(22.01.2019 20:37)
- кишки там не показаны - AlexG(22.01.2019 20:46)
- На валу зубчатый диск, межу зубьев коромысло. Вращая вал коромысло щёлкает по зубьям замыкая пару контактов, при вращении в обратную сторону работает вторая пара контактов. имхо. - m16_home(22.01.2019 20:33)
- Легко, допустим, внутри два контакта. Один перекидной, замыкается в зависимости от направления поворота вала, (дальше просто проскальзывает на валу) Второй щелкает при повороте на каждые n градусов в любую сторону. Соединены последовательно. Все AlexG(33 знак., 22.01.2019 20:28)
- В китайском даташите, что я приводила в топовом сообщении, есть чертеж, но я его не понимаю :) - Ксения(22.01.2019 20:37)
- я плохо себе представляю механику мех.энкодера у которого в одну сторону мыкает одна пара, а в другую другая. это просто какой-то космос. - LordN(22.01.2019 20:20)
- Уверена. - Ксения(22.01.2019 20:08)
- если ручное управление, скорость небольшая, обрабатывать как обычныую кнопку. Опрашивать раз в 5-10мс. и счетчик. Если 3-4 раза подряд одно значение - считаем фиксируем состояние. Как то так: AVF(3179 знак., 22.01.2019 06:50)
- Опрашивать в 5-10мс и счетчиком считать это моветон убогий, гораздо эффективней делать сдвиг в регистр и сравнивать регистр с масками. - Фу как все запущено(22.01.2019 20:51, )
- Программу для меня писать не надо. Мне и так ваша идея вполне ясна. Собственно, это именно тот отходной вариант, когда ничего лучшего не удается придумать. - Ксения(22.01.2019 14:56)
- Квадратурный, а не квадрупольный. Если у МК есть внешние прерывания,то назначить выходы CW и CCW на отдельные линии внешнего прерывания, при срабатывании определять линию и уменьшать/увеличивать счетчик соответственно. - H7H2V(21.01.2019 22:34)
- Простите, это у меня профессиональная оговорка. :) - Ксения(21.01.2019 23:02)
- Если бы вы ещё рассказали как с дребезгом бороться в прерываниях. - m16_home(21.01.2019 22:38)
- Выделяется одна линия внешнего прерывания, которая соединяется, для примера, с портом А1. При первом срабатывании линии энкодера запускается таймер антидребезга, по истечении которого на А1 выдается импульс, вызывающий искусственное срабатывание H7H2V(100 знак., 21.01.2019 22:59)
- Но аппаратный квадратурный энкодер справляется же с дребезгом. У него (на примере Х-Меги) фильтр задается от 1 до 8. У меня он на 2-ке идеально работает. А вот что делать со "странным" энкодером пока не придумала. Понимаю, что на прерываниях и Ксения(78 знак., 21.01.2019 23:10)
- Контроллер кнопки -> - H7H2V(22.01.2019 08:05, ссылка)
- А бывает ли такой же, но чтобы сразу на несколько кнопок? - Ксения(22.01.2019 14:58)
- например MAX7370 - m16_home(22.01.2019 15:20, ссылка)
- А бывает ли такой же, но чтобы сразу на несколько кнопок? - Ксения(22.01.2019 14:58)
- В обработчике прерывания сразу делаешь ++ или --, ждешь размыкания, и онумер(115 знак., 22.01.2019 00:15)
- а зачем тебе восемь таймеров? крути один таймер бесконечно, по прерыванию делай "фотку" таймера и далее уже обрабатывай как надо. лишьбы прерываний хватило и скорострельности мк. - LordN(21.01.2019 23:23)
- Пульт управления не мой - от фабричного прибора, а мне надо так к нему подстроиться, чтобы он оставался в своем качестве. Ну и рукоятки на другие менять не хочется. По мне так легче странные энкодеры поддержать, чем напильником всё это хозяйство Ксения(8 знак., 21.01.2019 23:37)
- Рукоятки за что отвечают, если не секрет? - evgeniy1294(21.01.2019 23:44)
- Вы не поймете :) - Ксения(21.01.2019 23:46)
- Ладно, спрошу по другому. Импульсы от энкодеров нужно считать точно или определять частоту и направление вращения? - evgeniy1294(21.01.2019 23:48)
- Каждый импульс энкодера перемещает шаговый двигатель на один шаг, а тот через редуктор двигает микроинструмент (типа внутриклеточная хирургия). За ситуацией наблюдают в микроскоп, а эти ручки крутят вручную. Пропуск шага - нестрашно, но дрожать Ксения(283 знак., 21.01.2019 23:56 - 22.01.2019 00:02)
- Это какой-то позор. Внутриклеточная хирургия и кетайский механический энкодер с ресурсом 10000 щелчков. При попытке поставить оптический энкодер задушила жаба :-) - SciFi(22.01.2019 12:15)
- Это не позор, это бизнес. Сколько можно заработать на замене энкодеров-то! - lloyd(22.01.2019 16:46)
- Забудьте про энкодеры, у вас две кнопки, одна вверх, другая вниз (условно). Работайте с ними как с кнопками. - AlexBi_(22.01.2019 09:18, )
- Это неудобно, когда требуется инструмент отодвинуть - быстро вывести из операционной области. Тогда оператор быстро крутанёт рукоятку сразу на несколько оборотов, вместо того, чтобы нажимать на кнопку 100 раз. Чтобы вам легче было понять задачу, Ксения(269 знак., 22.01.2019 14:46)
- речь про то, что этот энкодер, фактически, ведет себя как две кнопки и обработка сигналов может быть такой, как была бы для кнопок - AlexG(22.01.2019 15:59)
- Механический энкодер (во всяком случае, такой) не сможет отличить "крутанёт рукоятку" от обычного дребезга. Вернее, сможет при некоторой сноровке программизда, но число импульсов нормально посчитать точно невозможно. Повторяйте за мной: SciFi(22 знак., 22.01.2019 15:07)
- Почему невозможно? Опрашиваем энкодер 1000раз в секунду, ничего не пропускает даже если крутить со всей дури. Дребезг устраняется путем отбрасывания неправильных состояний, ну и фильтром цифровым на пару отсчетов. Удобно еще приращение величины на Yurasvs(288 знак., 22.01.2019 15:18)
- Частый опрос вполне заменим на прерывание от изменения уровня. Даже на целый порт бывает такое прерывания с маской на нужные биты. Т.е. на мой взгляд, так и следует действовать - ловить изменения состояния контактов через прерывание. Но вот что Ксения(233 знак., 22.01.2019 15:37)
- У вас не аварийный концевик, реалтайм вам не сдался тут. lloyd(85 знак., 22.01.2019 16:48)
- Вы, когда клавиатуру сканируете, тоже заводите дребезг на прерывание? - mse homjak(22.01.2019 15:39)
- Вы читали корень ветки про "странный" энкодер? - SciFi(22.01.2019 15:24)
- Частый опрос вполне заменим на прерывание от изменения уровня. Даже на целый порт бывает такое прерывания с маской на нужные биты. Т.е. на мой взгляд, так и следует действовать - ловить изменения состояния контактов через прерывание. Но вот что Ксения(233 знак., 22.01.2019 15:37)
- Почему невозможно? Опрашиваем энкодер 1000раз в секунду, ничего не пропускает даже если крутить со всей дури. Дребезг устраняется путем отбрасывания неправильных состояний, ну и фильтром цифровым на пару отсчетов. Удобно еще приращение величины на Yurasvs(288 знак., 22.01.2019 15:18)
- +100. 8 энкодеров - 16 кнопок, заводим их на 2 порта. maik-vs(213 знак., 22.01.2019 12:05)
- Я тоже самое предлагал, можно оставить один энкодер для задания скорости. Но тут, видимо, специфика работы не позволяет. - evgeniy1294(22.01.2019 10:41)
- Это неудобно, когда требуется инструмент отодвинуть - быстро вывести из операционной области. Тогда оператор быстро крутанёт рукоятку сразу на несколько оборотов, вместо того, чтобы нажимать на кнопку 100 раз. Чтобы вам легче было понять задачу, Ксения(269 знак., 22.01.2019 14:46)
- Если скорости вращения неатомные, то поступайте, как с подавлением дребезга клавиатуры. Если к порту подключены ноги энкодеров, просто вычитывайте состояние порта через милисекунду или скока вам понравится. если N выборок одинаковы, значит, mse homjak(59 знак., 22.01.2019 00:40)
- Ну вот, а вы говорили непонятно, я думал там токамак. Я бы вообще убрал энкодеры и заменил их генератором ШИМа. Вы сможете программно задавать шаг с точностью до импульса исключая любой дребезг. В stm-ку спокойно 8 влезет, даже код предоставить evgeniy1294(349 знак., 22.01.2019 00:03 - 00:11)
- Это какой-то позор. Внутриклеточная хирургия и кетайский механический энкодер с ресурсом 10000 щелчков. При попытке поставить оптический энкодер задушила жаба :-) - SciFi(22.01.2019 12:15)
- Каждый импульс энкодера перемещает шаговый двигатель на один шаг, а тот через редуктор двигает микроинструмент (типа внутриклеточная хирургия). За ситуацией наблюдают в микроскоп, а эти ручки крутят вручную. Пропуск шага - нестрашно, но дрожать Ксения(283 знак., 21.01.2019 23:56 - 22.01.2019 00:02)
- Ладно, спрошу по другому. Импульсы от энкодеров нужно считать точно или определять частоту и направление вращения? - evgeniy1294(21.01.2019 23:48)
- Вы не поймете :) - Ксения(21.01.2019 23:46)
- Рукоятки за что отвечают, если не секрет? - evgeniy1294(21.01.2019 23:44)
- Пульт управления не мой - от фабричного прибора, а мне надо так к нему подстроиться, чтобы он оставался в своем качестве. Ну и рукоятки на другие менять не хочется. По мне так легче странные энкодеры поддержать, чем напильником всё это хозяйство Ксения(8 знак., 21.01.2019 23:37)
- Контроллер кнопки -> - H7H2V(22.01.2019 08:05, ссылка)
- у Ксении задачка обслужить восемь энкодеров - m16_home(21.01.2019 23:04)
- Восемь этим способом тоже можно - говорят, что у STM32 аж 14 таймеров. Но я и говорю, что муторно. - Ксения(21.01.2019 23:13)
- Не все из них имеют входы. Они вообще не одинаковые. - evgeniy1294(21.01.2019 23:37)
- Восемь этим способом тоже можно - говорят, что у STM32 аж 14 таймеров. Но я и говорю, что муторно. - Ксения(21.01.2019 23:13)
- Но аппаратный квадратурный энкодер справляется же с дребезгом. У него (на примере Х-Меги) фильтр задается от 1 до 8. У меня он на 2-ке идеально работает. А вот что делать со "странным" энкодером пока не придумала. Понимаю, что на прерываниях и Ксения(78 знак., 21.01.2019 23:10)
- тиком и дидтаймом, но для этого скорострельность прерывания д.б. на пару порядкоа выше максимальной частоты энкодера. - LordN(21.01.2019 22:56)
- Выделяется одна линия внешнего прерывания, которая соединяется, для примера, с портом А1. При первом срабатывании линии энкодера запускается таймер антидребезга, по истечении которого на А1 выдается импульс, вызывающий искусственное срабатывание H7H2V(100 знак., 21.01.2019 22:59)
- Вот тут PICовская CLC была бы в тему: CLC1 -> xor, CLC2 -> RS триггер направление выставлять. - Shatun_(21.01.2019 16:50)
- Вполне доходчиво с примером --> - m16_home(21.01.2019 16:37 - 16:40, ссылка, ссылка)
- Механический же. Нельзя на таймер из-за дребезга. - SciFi(21.01.2019 16:30)
- а ты уверена, что вторая пара вообще ничего не делает когда крутишь в другую сторону? - LordN(22.01.2019 17:50)