BigCoster 0 11 апреля, 2007 Опубликовано 11 апреля, 2007 (изменено) · Жалоба Подскажите, что делать с дребезгом, если датчик положения (у меня крыльчатка + оптический датчик "на просвет") подключен к счётчику контроллера. Проблема втом что имеется ошибка которая пстоянно имеет разное значение. Я так понимаю что програмно тут ни чем не поможешь. Частота сигнала с датчика около 200 Гц. пытался делать RC-фильтр но при ёмкости С=1мкФ не помогает, а при 2.2 не работает при номинальных оборотах двигателя. Я начинающий, сильно не ругайте... Изменено 11 апреля, 2007 пользователем BigCoster Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Visor 0 11 апреля, 2007 Опубликовано 11 апреля, 2007 · Жалоба Подскажите, что делать с дребезгом, если датчик положения (у меня крыльчатка + оптический датчик "на просвет") подключен к счётчику контроллера. Проблема втом что имеется ошибка которая пстоянно имеет разное значение. Ошибка в "плюс" или в "минус"? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BigCoster 0 11 апреля, 2007 Опубликовано 11 апреля, 2007 · Жалоба Ошибка в "плюс" или в "минус"? Ошибка в "плюс", поэтому и грешу на дребезг забыл сказать, энкодер стоит на мотор-редукторе Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Visor 0 11 апреля, 2007 Опубликовано 11 апреля, 2007 · Жалоба 200Гц довольно много. Крыльчатка правильно рассчитана? Фотодатчик имеет достаточное быстродействие? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 11 апреля, 2007 Опубликовано 11 апреля, 2007 · Жалоба Надо посмотреть осциллографом. Тогда будет понятнее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CD_Eater 0 11 апреля, 2007 Опубликовано 11 апреля, 2007 (изменено) · Жалоба датчик положения (у меня крыльчатка + оптический датчик "на просвет") подключен к счётчику контроллера.Поясните, что мешает тупо опрашивать обычный цифровой (или аналогово-компараторный) вход и обрабатывать дребезг как обычно? Если Вы подключились к внешнему входу таймера, то там бороться с дребезгом программно невозможно - дребезг обрабатывается аппаратно (внутри чипа) и с несоответствующей данной задаче задержкой (порядка нескольких тактов вместо требуемых нескольких сотен мкс). Изменено 11 апреля, 2007 пользователем CD_Eater Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DogPawlowa 0 11 апреля, 2007 Опубликовано 11 апреля, 2007 · Жалоба Подскажите, что делать с дребезгом, если датчик положения (у меня крыльчатка + оптический датчик "на просвет") подключен к счётчику контроллера. Обычно нужно, чтобы на счетный вход поступал практически идеальный сигнал (с крутыми фронтами). Иначе на пологом фронте возможно срабатывание счетчика несколько раз от незначительных помех. Простое добавление интегрирующей цепочки не помогает, естественно. Попробуйте включить триггер Шмитта между интегрирующей цепочкой и счетным входом, или обработать сигнал программно, как Вам советовали выше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stas633 0 11 апреля, 2007 Опубликовано 11 апреля, 2007 · Жалоба Подскажите, что делать с дребезгом, если датчик положения (у меня крыльчатка + оптический датчик "на просвет") подключен к счётчику контроллера. .. Считаю, что "дребезгом" называют неустойчивое (быстроменяющееся от min до беск.) сопротивление контактной группы при замыкании/размыкании. В случае использования оптического датчика дребезг не возможен по определению. Если предположить, что ложные срабатывания вызваны датчиком положения, то на мой взляд возможны две причины. Первая, наиболее вероятная - это очень малый (или отсутсвующий вовсе) гистерезис усилителя тока фотоэлемента. Вторая, очень маловероятная - это малый размер отверстий (прорезей) в крыльчатке. Вторая причина может рассамриваться, если размер отверстий сопоставим с "биениями" (дрожанием) крыльчатки, вызванными вращением двигателя. Также возможно, что ошибка в подсчете импульсов вызвана ошибкой в программе. Опубликуйте программу.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bgc 0 12 апреля, 2007 Опубликовано 12 апреля, 2007 · Жалоба много раз делал подобные схемы - заводил на вход таймера ( в том числе и квадратичного ) проблем с дребезгом не бывает . На входе процессора ставил обычно 2н2 (убрать наведенные иголки) Частоты от 0Гц до 300КГц. Ищите проблему в другом. При верхних частотах возникает проблема с подбором оптопары. На таких частотах (время порядка 5мкс) необходим фотодиод с усилителем, а обычные фотоприемники без него. Либо надо брать быстрый с встроенным усилителем (имеющий задержку меньше 1 мкс) либо городить внешний каскад (я бы так делать не стал) что стоит у Вас. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BigCoster 0 12 апреля, 2007 Опубликовано 12 апреля, 2007 · Жалоба Считаю, что "дребезгом" называют неустойчивое (быстроменяющееся от min до беск.) сопротивление контактной группы при замыкании/размыкании. В случае использования оптического датчика дребезг не возможен по определению. Если предположить, что ложные срабатывания вызваны датчиком положения, то на мой взляд возможны две причины. Первая, наиболее вероятная - это очень малый (или отсутсвующий вовсе) гистерезис усилителя тока фотоэлемента. Вторая, очень маловероятная - это малый размер отверстий (прорезей) в крыльчатке. Вторая причина может рассамриваться, если размер отверстий сопоставим с "биениями" (дрожанием) крыльчатки, вызванными вращением двигателя. Также возможно, что ошибка в подсчете импульсов вызвана ошибкой в программе. Опубликуйте программу.. У меня осцилографом работает звуковая карточка, надеюсь скоро обзавестись настояшим, так что дребезга особо я заметить не могу. :( Но он проявляется когда крыльчатка останавливается на границе срабатывания оптопары. Я это вижу на дин. индикации (считает, а двигатель стоит :blink: ) много раз делал подобные схемы - заводил на вход таймера ( в том числе и квадратичного ) проблем с дребезгом не бывает . На входе процессора ставил обычно 2н2 (убрать наведенные иголки) Частоты от 0Гц до 300КГц. Ищите проблему в другом. При верхних частотах возникает проблема с подбором оптопары. На таких частотах (время порядка 5мкс) необходим фотодиод с усилителем, а обычные фотоприемники без него. Либо надо брать быстрый с встроенным усилителем (имеющий задержку меньше 1 мкс) либо городить внешний каскад (я бы так делать не стал) что стоит у Вас. Сейчас у меня датчик подключен так: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ZAO 0 12 апреля, 2007 Опубликовано 12 апреля, 2007 · Жалоба Я так понимаю что програмно тут ни чем не поможешь. Частота сигнала с датчика около 200 Гц. Как раз программно эту проблему решить проще всего. Запустите таймерное прерывание с периодом раза в два меньше минимального периода датчика и опрашивайте в нем сигнал с датчика. Если в последовательных прерываниях считываются разные значения - то это является дребезгом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BigCoster 0 12 апреля, 2007 Опубликовано 12 апреля, 2007 · Жалоба Как раз программно эту проблему решить проще всего. Запустите таймерное прерывание с периодом раза в два меньше минимального периода датчика и опрашивайте в нем сигнал с датчика. Если в последовательных прерываниях считываются разные значения - то это является дребезгом. Всего два таймера/счётчика Одно из прерываний по таймеру занято индикацией, другое паузами при достижении счетчиком заданого количества тиков. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ZAO 0 12 апреля, 2007 Опубликовано 12 апреля, 2007 · Жалоба Всего два таймера/счётчика Одно из прерываний по таймеру занято индикацией, другое паузами при достижении счетчиком заданого количества тиков. А что за индикация используется? Ее можно посадить, допустим, и на прерывание таймера для датчика или использовать в основном цикле программы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BigCoster 0 12 апреля, 2007 Опубликовано 12 апреля, 2007 (изменено) · Жалоба А что за индикация используется? Ее можно посадить, допустим, и на прерывание таймера для датчика или использовать в основном цикле программы. Индикация используется вот такая вот: и не знаю как посадить её на прерывание от счётчика энкодера, потому что при обработке прерывания от счётчика выполняется пауза (пустой цикл) в этом же прерывании, а основная программа занята тем что считает сколько было остановок, в какую сторону крутится двигателю, перемещение по вектору пауз и тд Изменено 12 апреля, 2007 пользователем BigCoster Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ZAO 0 12 апреля, 2007 Опубликовано 12 апреля, 2007 · Жалоба Вы вполне можете завести одно таймерное прерывание, которое будет фильтровать дребезг и обновлять индикаторы. При каждом вызове обрабатывается один из индикаторов и определяется сигнал от датчика. Если для обновления индикатора период таймера слишком маленький, Вы можете организовать внутри прерывания счетчик, по достижении определенного значения которого и обрабатывать индикатор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться