Цифровой фильтр для коррекции неравномерности импульсов Step

Контроллеры, драйверы, датчики, управляющие устройства.
Woodmaster
Опытный
Сообщения: 112
Зарегистрирован: 10 сен 2011, 18:18
Репутация: 11
Контактная информация:

Re: Фильтр для сглаживания неравномерности импульсов Step

Сообщение Woodmaster »

Я с серебром не пробовал никогда. А что серебро дает?
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Фильтр для сглаживания неравномерности импульсов Step

Сообщение Сергей Саныч »

В основном работаем FELDER Sn63Pb37 ELR 0,75мм. Флюса в нем мало, он не активный, и отмывка практически не требуется.
Для особо тонких работ - 0,35 мм
Вложения
FELDER.pdf
(67.19 КБ) 2948 скачиваний
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Ershoff
Почётный участник
Почётный участник
Сообщения: 653
Зарегистрирован: 21 окт 2013, 11:49
Репутация: 241
Откуда: Киев. Украина
Контактная информация:

Re: Фильтр для сглаживания неравномерности импульсов Step

Сообщение Ershoff »

Woodmaster писал(а):Я с серебром не пробовал никогда. А что серебро дает?
а ещё его используют всяческие аудиофилы-маньяки любители "тёплого лампового" звука :)
"Авось" - в умелых руках, мощный инструмент снижения стоимости итогового изделия
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11730
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Фильтр для сглаживания неравномерности импульсов Step

Сообщение michael-yurov »

В общем - помыл в посудомойке.

Что-то нехорошее стало с винтиками и пластинками в дешевых китайских клеммах.
Видимо, стоило сразу же после мойки доставать, а я на ночь оставил "кваситься".
И один из конденсаторов немножко "подъело" сбоку, где алюминий не был покрыт лаком (посудомойка почему-то очень сильно разъедает алюминий).

Но в целом результат очень хороший.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11730
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Фильтр для сглаживания неравномерности импульсов Step

Сообщение michael-yurov »

Ура!!! Заработало!!!
2.png (2110 просмотров) <a class='original' href='./download/file.php?id=22685&mode=view' target=_blank>Загрузить оригинал (781.12 КБ)</a>
После четырех дней мучений удалось перенести прошивку в выбранный для платы микроконтроллер.
Так что на свет появился новый "контроллер" CNC Filter db25-4ax2r5in prototype.

Боялся, что придется заказывать новые фотошаблоны, но, большинство проблем удалось обойти, остались лишь несущественные мелочи, которые можно подправить.
Так что буду заказывать платы уже по обычным ценам без срочности (примерно месяц изготавливают), наверное, после праздников получится заказать.

Плату проверил в работе на станке. Работает.
Осталось привести в порядок прошивку (ну, чтобы ничего лишнего не было, немного оптимизировать по мелочи), рассчитать настройки для разных режимов фильтрации и можно будет выпускать в свет.

Кому обещал тестовые образцы - соберу и отправлю, но отправка - за ваш счет, как и договаривались.
тестовые платы без маркировки, без блока питания и без проводов (без USB для питания, и без провода DB25).

Деталей сейчас у меня только на две платы, потом при возможности докуплю, и соберу остальные.
Последний раз редактировалось michael-yurov 22 дек 2013, 23:19, всего редактировалось 2 раза.
nik1
Мастер
Сообщения: 8408
Зарегистрирован: 02 окт 2012, 07:37
Репутация: 3629
Откуда: Красногорск
Контактная информация:

Re: Фильтр для сглаживания неравномерности импульсов Step

Сообщение nik1 »

Поздравлямс :beer_blow:
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11730
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Фильтр для сглаживания неравномерности импульсов Step

Сообщение michael-yurov »

Что-то у меня LPT входящие сигналы не видит.
Вроде бы раньше я как-то работал. Странно.

LPT в стандартном режиме в биосе настроен.
Может есть какие-нибудь маленькие программки, которые показывают состояние пинов LPT?
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11730
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Фильтр для сглаживания неравномерности импульсов Step

Сообщение michael-yurov »

Спасибо.
Но мне бы хотя бы для Win7 X86.

Ставить XP проблематично.
Аватара пользователя
kod007
Кандидат
Сообщения: 80
Зарегистрирован: 06 апр 2013, 16:27
Репутация: 22
Контактная информация:

Re: Фильтр для сглаживания неравномерности импульсов Step

Сообщение kod007 »

Вот ещё, с индикаторами логического уровня, подаваемого на пять входных пинов LPT порта.

Операционная система: Windows 98/NT/ME/XP/2000/Vista/7/Seven
Платформа: 32/64 бит, (x86/x64)

http://mavius.mavjuz.com/projects/msvc/wndlpt/
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11730
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Фильтр для сглаживания неравномерности импульсов Step

Сообщение michael-yurov »

kod007, спасибо!, классная программа!
Проверил плату - все отлично работает, как и должно.
Gaspar
Кандидат
Сообщения: 91
Зарегистрирован: 06 апр 2013, 10:37
Репутация: 2
Откуда: Украина, Киев
Контактная информация:

Re: Фильтр для сглаживания неравномерности импульсов Step

Сообщение Gaspar »

Михаил вы будете выпускать только интерфейсную плату совместно с фильтром?
Так как у многих есть уже интерфейсная плата, вы не рассматриваете вариант выпустить отдельно фильтр?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Фильтр для сглаживания неравномерности импульсов Step

Сообщение Serg »

:silent:
;)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11730
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Фильтр для сглаживания неравномерности импульсов Step

Сообщение michael-yurov »

Gaspar писал(а):Михаил вы будете выпускать только интерфейсную плату совместно с фильтром?
Так как у многих есть уже интерфейсная плата, вы не рассматриваете вариант выпустить отдельно фильтр?
UAVpilot писал(а): :silent:
;)
Без проблем, можно отдельно фильтр.
Вопрос в том - как вы его планируете подключить?
У фильтра есть входы Step и Direction для каждой оси, и питание +5 В.
Т.е. отдельно это можно сделать в виде платы на два (4 /6 /8) каналов со входами Step/Dir и соответственно такими же выходами.
Как это подключить к существующей интерфейсной плате?

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

У меня, например, блок входов полностью гальванически отвязан, и позволяет без дополнительных блоков питания и без каких-то схем согласования подключать, как индуктивные датчики, так и обычные контакты, и не возникнет никаких проблем даже если подключить датчик автопоиска Z=0 связанного с корпусом шпинделя. В каких интерфейсных платах еще так сделано? А без этого очень вероятны проблемы в работе станка.
Gaspar
Кандидат
Сообщения: 91
Зарегистрирован: 06 апр 2013, 10:37
Репутация: 2
Откуда: Украина, Киев
Контактная информация:

Re: Фильтр для сглаживания неравномерности импульсов Step

Сообщение Gaspar »

michael-yurov писал(а):
Gaspar писал(а):Михаил вы будете выпускать только интерфейсную плату совместно с фильтром?
Так как у многих есть уже интерфейсная плата, вы не рассматриваете вариант выпустить отдельно фильтр?
UAVpilot писал(а): :silent:
;)
Без проблем, можно отдельно фильтр.
Вопрос в том - как вы его планируете подключить?
У фильтра есть входы Step и Direction для каждой оси, и питание +5 В.
Т.е. отдельно это можно сделать в виде платы на два (4 /6 /8) каналов со входами Step/Dir и соответственно такими же выходами.
Как это подключить к существующей интерфейсной плате?

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

У меня, например, блок входов полностью гальванически отвязан, и позволяет без дополнительных блоков питания и без каких-то схем согласования подключать, как индуктивные датчики, так и обычные контакты, и не возникнет никаких проблем даже если подключить датчик автопоиска Z=0 связанного с корпусом шпинделя. В каких интерфейсных платах еще так сделано? А без этого очень вероятны проблемы в работе станка.
Ого написали на мой простой вопрос, можно было просто ответить- "Отдельный фильтр не рассматривается, так как технически не возможно и не нужно."
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11730
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Фильтр для сглаживания неравномерности импульсов Step

Сообщение michael-yurov »

Gaspar писал(а):Ого написали на мой простой вопрос, можно было просто ответить- "Отдельный фильтр не рассматривается, так как технически не возможно и не нужно."
Рассматривался. 2/3 этой темы как раз и рассматривался. И технически возможно, но сложно и в реализации и, главное - в настройке.
Можно, конечно, сделать разные варианты для разных интерфейсных плат, но мне не хотелось бы вносить в свое устройство недостатки других конструкций.
Скорее всего я сделаю плату и для отдельного блока фильтра, но позже, и если, действительно в этом будет потребность.

На самом деле вопрос наболевший, но проблема вытекает из того, что фильтр не имеет программного интерфейса настройки и алгоритм работы принципиально отличается от большинства внешних контроллеров.
Отчасти проблема в том, что каналы фильтра жестко завязаны на аппаратные ресурсы микроконтроллера. За то это позволяет значительно поднять точность работы, производительность и стабильность (сейчас фильтр способен обрабатывать сигналы на частотах выше 10 МГц).
Moonglow
Опытный
Сообщения: 117
Зарегистрирован: 16 окт 2013, 09:24
Репутация: 108
Откуда: Москва
Контактная информация:

Re: Фильтр для сглаживания неравномерности импульсов Step

Сообщение Moonglow »

michael-yurov писал(а):обрабатывать сигналы на частотах выше 10 МГц).
А как фильтр успевает на таких частотах отработать внешний степ? ведь надо еще анализировать DIR ( для отслеживания направления движения )... если повесить ножку внешнего степа на прерывание, то на частоте 10МГц боюсь у процессора не хватит производительности для того чтобы зайти в прерывание и проверить ножку DIR... не говоря уже про какие либо расчеты, хотя если завести Step на таймер и по прерыванию отслеживать только DIR... но опять таки интересно как хватает производительности на таких частотах Step...
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11730
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Фильтр для сглаживания неравномерности импульсов Step

Сообщение michael-yurov »

Moonglow писал(а):А как фильтр успевает на таких частотах отработать внешний степ? ведь надо еще анализировать DIR ( для отслеживания направления движения )... если повесить ножку внешнего степа на прерывание, то на частоте 10МГц боюсь у процессора не хватит производительности для того чтобы зайти в прерывание и проверить ножку DIR... не говоря уже про какие либо расчеты, хотя если завести Step на таймер и по прерыванию отслеживать только DIR... но опять таки интересно как хватает производительности на таких частотах Step...
Не сразу понял вопрос.
Step обрабатывается аппаратно, без прерываний, так же как и генерируется без прерываний. Входящие импульсы подсчитывают таймеры без нагрузки на процессор. Генерируется сигнал тоже таймерами, частота корректируется каждые 100 мкс.
Самое сложное во всей этой схеме - корректно изменять частоту без задержек и без искажения сигнала.

Ну а Dir, конечно, с такой частотой менять не стоит :hehehe:
Была идея завести Dir на второй канал таймера, работающего в режиме измерения скважности ШИМ, т.о. при изменении сигнала на входе Dir - таймер перебрасывал бы состояние счетчика в регистр захвата. Т.е. сигнал бы обрабатывался бы аппаратно и мгновенно.
Вторая идея - использовать микросхемы стандартной логики для преобразования сигнала Step/Dir в сигнал CW/CCW,
но все же на частоте 10 МГц никто менять направление движения не будет. Фильтр в первую очередь предназначался для Mach3 и LinuxCNC, а эти программы и другие контроллеры ЧПУ типа NCStudio выдерживают достаточно большой интервал между сменой сигнала Dir и импульсами Step.
Учитывая что обработка смены сигнала направления происходит по прерыванию с наивысшим приоритетом и обрабатывается лишь за несколько тактов процессора на частоте 72 МГц, то на обработку смены сигнала Dir тратится менее 0,3 мкс,
Ну и учитывая, что смена направления движения у станка может происходить лишь на околонулевой скорости, то переживать явно не стоит, т.к. реакция моего фильтра в несколько сотен раз быстрее, чем у простеньких интерфейсных плат, и намного быстрее, чем у большинства драйверов.
Moonglow
Опытный
Сообщения: 117
Зарегистрирован: 16 окт 2013, 09:24
Репутация: 108
Откуда: Москва
Контактная информация:

Re: Фильтр для сглаживания неравномерности импульсов Step

Сообщение Moonglow »

Понятно, значит Step используется как внешний клок для таймера, а Dir заведен на прерывание... Да, я понимаю, что 10 и даже 1МГц не будет :hehehe: просто было интересно как сделан подсчет импульсов, я в своем анализаторе для чпу контроллеров конвертирую Step/Dir логикой ( она же дополнительно служит для согласования уровней ) в код грея и далее на таймер в режиме энкодера, таким образом он сам считает туда-сюда, что удобно в моем случае.

По поводу настроек и обновления микропрограммы в устройстве, как я понимаю это не предусмотрено... а что делать в ситуации когда устройство уже распространено среди пользователей и обнаружилась ошибка ? Конечно же тестирование опытной версии и тд - это хорошо, но такую ситуацию не стоит исключать... :roll:

п.с: спасибо за развернутый ответ
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Фильтр для сглаживания неравномерности импульсов Step

Сообщение selenur »

Обычно делают в МК загрузчик, и делают выводы для подключения через USART к МК преобразования интерфейса например rs232 или usb, и тогда обновление возможно, без использования спец программаторов. Но данная реализация конечно потребует времени, как мне кажется.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Закрыто

Вернуться в «Электроника»