ЕСТЬ РЕШЕНИЕ Как правильно подключать Z-щуп

Не в момент касания, а через некоторое время - миллисекунду, положим. И не всегда - может быть, может не быть.
Никак не сказывается.
 
хотел бы я посматреть как физичиский дребезг от малейшего люфта можно устранить программно
 
хотел бы я посматреть как физичиский дребезг от малейшего люфта можно устранить программно
В микроконтроллерах дребезг устраняется легко. После смены состояния входа, программа на некоторое время фиксирует это изменение, не реагируя на происходящие в этот период события на входе.
Ваши сообщения автоматически объединены:

В жёсткой логике лепят конденсаторы или триггер.
 
nagrevatel, ну вот убейте меня нафиг, ну как механические колебания можно убрать програмно, раскажите, тогда и от землятресений избавимся при помощи пары программ
 
ну как механические колебания можно убрать програмно
убираются конечно же не колебания , а устраняется реакция на них . Если простым языком, то фиксируется факт первого срабатывания и далее в течении определенного времени изменения более не регистрируются ( это очень примитивное объяснение, на самом деле используются как правило более сложные алгоритмы)
 
Тут проблема дребезга не та, что в клавиатуре. Там важно не допустить многократного срабатывания, а тут - попадания при опросе в 0 вместо 1. Дело в том, что опрос состояния - это не аналоговый непрерывный процесс, можно и не поймать первую точку. Именно для этого я кондей и предлагал. Примерно так:
000000101101111111 - переключение с дребезгом
010010010010010010 - такты считывания
000000000000011111 - результат с опозданием на 2 такта

"Радиотехника - наука о контактах", как учили меня когда-то на РТФе ;)
Ваши сообщения автоматически объединены:

P.S. Программные методы debouncing обычно борются с первым случаем (клавиатура) и не могут физически побороть второй.
 
а тут - попадания при опросе в 0 вместо 1
если честно то не совсем понял что имелось ввиду , и да, опрос процесс не непрерывный , но имхо тут важно сразу определится с понятием времени ( я имею ввиду длительности такта о котором Вы говорите) , а то может статься так что он станет непрерывным. А по поводу конденсатора то тут он имхо скорее вреден , и может быть применен немного с другой целью. :)
 
Тут проблема дребезга не та, что в клавиатуре. Там важно не допустить многократного срабатывания, а тут - попадания при опросе в 0 вместо 1. Дело в том, что опрос состояния - это не аналоговый непрерывный процесс, можно и не поймать первую точку. Именно для этого я кондей и предлагал. Примерно так:
000000101101111111 - переключение с дребезгом
010010010010010010 - такты считывания
000000000000011111 - результат с опозданием на 2 такта

"Радиотехника - наука о контактах", как учили меня когда-то на РТФе ;)
Ваши сообщения автоматически объединены:

P.S. Программные методы debouncing обычно борются с первым случаем (клавиатура) и не могут физически побороть второй.
Не вижу абсолютно никакой разницы между клавиатурой и щупом. По первому же перепаду импульса срабатывает внутренний триггер в микроконтроллере и запускает подпрограмму игнорирующую дребезг.
 
По первому же перепаду импульса срабатывает внутренний триггер
Это вы вообще о чем? Если про прерывание, то оно в Ардуино организовано только для портов 2 и 3. Щуп вешается не туда.
Во всех остальных случаях используется функция опроса состояния порта, которая по сути цикл, имеющий определенную длительность. Длительность эта обычно больше, чем частота дребезга. Про что я и пытался объяснить.
 
В своем станке я использую бутерброд RAMPS 1.4 и mega2560. Прошивка grbl-RAMPS 0.9. Может кто подскажет где у меня в прошивке можно посмотреть какой пин отвечает за щуп.
 

Вложения

  • GRBL_RAMPS1_4_V1.1.zip
    522.8 KB · Просмотры: 38
Не вижу абсолютно никакой разницы между клавиатурой и щупом.
Разница огромная!!! Огромнейшая даже....:))
Для клавиатуры важно зафиксировать факт нажатия клавиши, учитывая что мы физически не можем нажимать чаще, чем через несколько десятков (сотней) миллисекунд. Именно это ограничение и используется программно или аппаратно, чтобы отделить ложные нажатия (дребезг контактов) от реальных.....
В случае с зондом надо зафиксировать не только сам момент касания, но и его время, так как зонд движется и нам нужно чётко узнать на какой микровысоте от измеряемой поверхности при своём движении он должен остановиться при касании.
Если зонд опускается слишком быстро, то вероятность дребезга меньше - хорошо, но он может "проскочить" точное место касания (наш станок это спокойно позволяет сделать - после нахождения зондом (не вашей любимой не дай Бог хрупкой фрезой!) нуля, можете, поставив шаг по Z 0.01 мм, сделать несколько опусканий шпинделя, чтобы убедиться в этом).
Если зонд опускается слишком медленно, то дребезг может быть значительным и проблема остается даже при программном решении - дребезг сказывается на повторяемости определения нуля по Z.
Опустите зонд несколько раз в ноль в одной и той же точке и увидите, что каждый раз будет небольшое отклонение. Это как раз влияние дребезга при контактах поверхности и зонда.

И ещё с точки зрение микронаблюдений. Поверхность фольгированного текстолита не всегда идеально ровная (повторяет структуру самого стеклотекстолита). Если карту высот делать тонким зондом, то он может попадать то на микровыпуклости меди, то на её впадины, которые строго чередуются с периодом в единицы миллиметров (дополнительный разброс по высоте). Если использовать щуп диаметром, близким к трём мм (под наши цанги основные), то сам зонд будет всегда опускаться только на микровыпуклости стеклотекстолита, но дребезг от касания соседних микрохолмов ( да и вообще из-за увеличения площади соприкосновения ) увеличится (дополнительный разброс от дребезга).
Так что просто нужно понимать, что и как мы делаем при работе с щупом при снятии карты высот.
 
В качестве щупа приспособил лишнюю насадку для дремеля (насадка для минифетровых кругов, окончание как у шурупа с заострением где-то 0,3мм, хвостовик подходит к цанге 3,17мм). После того, как сделал опторазвязку со светодиодной и звуковой индикацией, программным Z-щупом при фрезеровке плат пользоваться перестал. "0" по Z выставляю вручную с шагом 0,01 в конце.
При использовании программного Z-щупа микроконтроллер реагирует на минимальный (первый) контакт с фольгой. При ручном выставлении "0" заметно ,что этот первый контакт очень неустойчивый (пропадает чуть ли не от сквозняка:)). И это связано не с эффектом "дребезга", а с люфтами станка. Надежный контакт появляется при дополнительном опускании Z на 0,01мм. Стоит иметь это в виду.При фрезеровке плат ставлю заглубление 0,04мм, фрезеруется только фольга.
 
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

МЫ ДОГАДЫВАЕМСЯ, ЧТО РЕКЛАМА ВАС РАЗДРАЖАЕТ!

Конечно, Ваше программное обеспечение для блокировки рекламы отлично справляется с блокировкой рекламы на нашем сайте, но оно также блокирует полезные функции. Мы стараемся для Вас и не обязываем Вас донатить и скидывать денег на наши кошельки, чтобы пользоваться форумом, но реклама это единственное, что позволяет поддерживать проект и развивать его.

Спасибо за Ваше понимание!

Я отключил свой AdBlock    Нет, я не буду ничего отключать