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

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

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

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

UAVpilot писал(а):Здесь выдрано из кнтекста, но повторю суть:
звуковая карта не умеет генерить конкретное количество импульсов, Serg-tmn предложил совать в неё уже сгенерённый сигнал, но его негде взять, кроме как сгенерить программно, точно так-же как сейчас и работают LinuxCNC и Mach3 через LPT.
Что она не умеет? все она прекрасно умеет. Что дали - то и воспроизводит. Протокол ASIO позволит передать сигнал абсолютно точно и без искажений и задержек.
Serg-tmn не мне предложил, а вам объяснил.
Конечно, генерировать сигнал программно, больше никак. Но программно! а не аппаратно. Почти так же, как это делает Mach, только использовать для этого звуковую карту.
Генерировать сигнал программно компьютером намного проще, чем аппаратным устройством. И не будет проблем с интерфейсом передачи данных и т.п.
И, главное, не придется использовать LPT для тех задач, на которые он не способен.
А если развивать идею до аналогового сигнала управления - то вообще шикарные возможности вырисовываются.

А про фильтр - Бармалей спрашивал:
Бармалей писал(а):Будет ли она дешевле контроллеров движения для mach3 и - насколько?
А вы предлагаете Месу. Я еще раз спрошу - Mesa работает только с EMC2? Если так, то она не подойдет для Mach3.
А я за 2-4 т.р. предполагал продавать полноценную интерфейсную плату с фильтром, а не контроллер.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

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

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

UAVpilot писал(а):звуковая карта не умеет генерить конкретное количество импульсов, Serg-tmn предложил совать в неё уже сгенерённый сигнал
michael-yurov предложил совать не последовательность импульсов Step/Dir, а сгенеренную синусоиду, точнее две синусоиды на двигатель, со сдвигом на 90 градусов - по каналу на фазу. Или не совсем синусоиды, и не совсем на 90 - для компенсации неидеальности двигателя и преобразователя напряжение-ток.
(Конечно, если я правильно всё понял).
Кстати, звуковую карту на этом форуме уже предлагали так использовать http://cnc-club.ru/forum/viewtopic.php? ... %2A#p43659
Последний раз редактировалось Сергей Саныч 27 фев 2013, 20:10, всего редактировалось 1 раз.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11626
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

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

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

Serg-tmn, я не раз замечал, что вы ловите мысль на лету, и смотрите далеко вперед.

Еще раз повторюсь - это лишь идея. Которую я мог бы реализовать, но довести функциональность до уровня Mach3 все равно не получится.
Работа эта очень большая и очень сложная, а результат - крайне экономичная система, которую легко повторить, имея ворованную программную оболочку.
С сервами с обратной связью работать, вероятно, не получится. Это явный недостаток развития системы.
Сейчас уже существует много хороших систем управления и сочинять еще одну нет смысла.

Ну, чтож, раз уже предлагали использовать аудиоустройство, значит я не "самый умный".
С той микросхемой есть ряд проблем
- usb подключение - большая задержка.
- 2 канала
- максимальная частота только 48 кГц, т.е. 24 кГц для Step/Dir режима.
- нет возможности синхронизировать несколько моторов.
- нет возможности использовать ASIO.
- нужно изготовление устройства,
- нужно написание драйверов.
- и с ценой проблемы, а я предлагал что то такое: http://market.yandex.ru/model.xml?model ... &hid=91027
или вот такoe, если уж припрет USB http://market.yandex.ru/model-spec.xml? ... &hid=91027
Или вот, без поддержки ASIO: http://market.yandex.ru/model.xml?model ... &hid=91027
но можно попробовать установить какую-то хитрую программку для обхода этой проблемы.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

michael-yurov писал(а):Конечно, генерировать сигнал программно, больше никак. Но программно! а не аппаратно. Почти так же, как это делает Mach, только использовать для этого звуковую карту.
Но ведь все разработчики и пользователи линуксцнц и мач плакают, что программно не получается сгенерить ровный сигнал, частотой более ~30 кГц, ибо не хватает быстродействия. А таже меса позволяет получить мегагерц, или сколько там, не помню.
michael-yurov писал(а):А вы предлагаете Месу. Я еще раз спрошу - Mesa работает только с EMC2? Если так, то она не подойдет для Mach3.
А я за 2-4 т.р. предполагал продавать полноценную интерфейсную плату с фильтром, а не контроллер.
Она работает и LinuxCNC и с Mach3. Сколько тут флудим уже можно было нагуглить. :)
http://www.mesanet.com/
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

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

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

michael-yurov писал(а):- максимальная частота только 48 кГц, т.е. 24 кГц для Step/Dir режима.
Идея выдачи Step/Dir через звуковую карту, пмсм, не самая удачная. Хотя позволяет использовать стандартные драйверы. При выдаче синусоиды на обмотки достаточно будет 2000 Гц, чтобы крутить обычный ШД (200 имп/оборот) со скоростью 2400 об/мин. А вот в области очень низких частот - увы :(
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

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

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

UAVpilot писал(а):Но ведь все разработчики и пользователи линуксцнц и мач плакают, что программно не получается сгенерить ровный сигнал, частотой более ~30 кГц, ибо не хватает быстродействия
Нагенерить значений проблем нет, проблема их выдать в реалтайме.
Чудес не бывает. Бывают фокусы.
495
Новичок
Сообщения: 29
Зарегистрирован: 04 окт 2011, 22:44
Репутация: 0
Откуда: г... москва
Контактная информация:

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

Сообщение 495 »

хотел написать к 1 апреля приблуду которая делает из Gкода .wav файл на 8каналов (4 шаговика), но теперь это уже не смешно.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11626
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

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

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

495, честное слово, не воровал вашу идею :eh:
Давно уже задумывался над этим. А тут как-то разрослась тема.
495
Новичок
Сообщения: 29
Зарегистрирован: 04 окт 2011, 22:44
Репутация: 0
Откуда: г... москва
Контактная информация:

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

Сообщение 495 »

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

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

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

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

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

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

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

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

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

Serg-tmn писал(а):michael-yurov, если не секрет, как моделировали работу устройства осреднения?
Оно не усредняет, оно несколько по другому работает, и первый и второй вариант.
Сейчас сигнал генерируется аппаратным таймером, а частота/интервал рассчитывается по аналогии с ПИД регулировкой.
Это позволяет генерировать импульсы с очень точным интервалом и позволяет полностью проглатывать довольно большие всплески неравномерности.
К тому же это снимает ограничения с максимальной частоты step, и позволяет использовать любые множители для более мелкого микрошага.

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

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

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

Ясно, спасибо.
Чудес не бывает. Бывают фокусы.
Yur_ra
Опытный
Сообщения: 161
Зарегистрирован: 04 мар 2013, 16:09
Репутация: 8
Контактная информация:

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

Сообщение Yur_ra »

Когда я задумывался о такой штуке, то моя схемотехника сводилась к аналоговому 2х фазному генератору управляемому по напряжению+ фазовый детектор на основе реверсивного счётчика.
Получалось так, что если фазовый детектор выкинуть, на вход подать +/- 10В ,выходы АВ генератора подать на вход скажем месы как от энкодера, то получим почти полноценный сервопривод. А вот если и вправду прикрутить энкодеры на вал, то практически полная серва.

Обслуживаю полтора десятка китайских, польских, и ещё каких то нонейм станков , на большинстве стоит NCstudio. тарахтят себе помаленьку.
К самой карточке претензий особых нет. То что частота прыгает по 100Гц не фонтан, но особо и не напрягает. Пусть себе работают погуркивая
посмотрел видео отсюда: http://www.cnc-club.ru/forum/viewtopic. ... =60#p58588 -заслушался. Прям Музыка для моих ушей.
KFlop-у такой фильтр только навредит.

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

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

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

Не, серву из шаговика городить, думаю, не стоит. Полагаю, это очень непростая задача. И если уж городить, то через KFlop + KAnalog, обязательно с поддержкой изменения амплитуды тока.
Я хочу поставить на новый станок леадшайновские шаговики с энкодерами в паре с шаговми драйверами, поддерживающими обратную связь. Считаю, что это хороший вариант там, где не нужны высокие обороты, но нужна точность и момент на низких оборотах.

Конечно, я не собирался ставить свой фильтр к KFlop-у. В этом нет никакого смысла. А вот, когда я подключил фильтр к NCStudio - я получил практически такую же мягкую и плавную работу, такую же "музыку". Я видео не снял потому то все это было сделано навесным монтажом, и я спаял только один канал, да и частоты у тестового фильтра были в пределах 20 кГц.

Я бы тоже не стал заморачиваться с выправлением "кривого" сигнала, но на практике оказалось, избыточность сигнала настолько высока, что результат становится практически идеальным.
Yur_ra
Опытный
Сообщения: 161
Зарегистрирован: 04 мар 2013, 16:09
Репутация: 8
Контактная информация:

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

Сообщение Yur_ra »

michael-yurov писал(а):Не, серву из шаговика городить, думаю, не стоит. Полагаю, это очень непростая задача. ...
Для практического применения может и не стоит, а как эксперимент самое оно. мож потом наработка кому где и пригодится.

Я когда сунулся оциллографом на выход степ от мача так и ох.. :freak: Сколько народу работает и не подозревает. А бедные моторчики это еле переваривают. И тоже поползли мысли как с этим бороться. Результаты измышлений уже писал.

Вот к примеру станок на ШД в работе не "поёт" а тарахтит. Если при помощи небольшой дешёвой платки вклиненной в цепь управления шаговиками получить практически все пюшки сервоприводов, то может таки стоит заморочиться?

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

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

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

Если строить синусоиду, то, как раз в этой теме активно обсуждали использование звуковой карты в качестве источника сигнала - тогда и стабильность скорости, и любая форма "синусоиды" для корректировки неравномерностей ШД, и регулировка амплитуды для усиления крутящего момента во время ускорений.

А если бороться с неравномерностью импульсов LPT, то тут обратная связь не принципиальна, она как бы ничем не поможет. Серва так же будет тарахтеть, если исходный сигнал неравномерный.

С помощью дешевой платки все плюшки сервоприводов не получить, хотя бы потому, что для этого нужен сложный интерфейс для точной настройки, т.е. подключение сервопривода к компьютеру, к сервисной программе.
Вот, например, описание сервисной программы для настройки Леадшайновских шаговых драйверов с обратной связью:
HBSsm.pdf
(738.79 КБ) 8466 скачиваний
Yur_ra
Опытный
Сообщения: 161
Зарегистрирован: 04 мар 2013, 16:09
Репутация: 8
Контактная информация:

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

Сообщение Yur_ra »

звуковая карта может не пройти по двум соображениям: нужна постоянная составляющая для удержания когда ШД стоит. Нужно избавляться от проходных емкостей. (на моей материнке в звуковом канале на первый взгляд их 4 шт) Ну и на каждую ось кроме первой вешать по дополнительной звуковой?
Когда студентом был звуковая стоила как сегодня компьютер, а мегабайт памяти помню кто то по 200$ покупал.
Помню мы ковоксеры и адлибы всякие паяли - тыкаеш в лпт порт кучку спаяных резюков и в усилок. Пиписьками мерялись в точности ЦАП и у кого лучше звучит :D потом даже два 1битовых ЦАПа какой то програмист к лпт прилепил, стерео получил.
Используя этот 1битный метод с LPT как раз 3-5 осей подключить можно.
Получить дёшево и сердито серву из ШД самая большая проблема не в настройках всяких- резюки подстроечные как в старой технике никто не отменял
и интерфейс сводится к отвёртке. Да и управление по степ/дир к такой серве городить лишено всякого смысла, писал уже.
Если к примеру взять ту же месу для серв с интерфейсом +/- 10В , добавить 2х фазный ГУН и Нмосты , обратная связь либо через триггеры шмидта прямо с выхода
ГУНа, либо с честного энкодера, то получим сервопривод с управлением по скорости, где все коэффициенты PID и прочие настраиваются в EMC.
А фильтр для сглаживания неравномерности(дабы не было резких скачков скорости, которые ШД не переварит) представляет собой в таком случае обычную RC цепочку.
То есть железо станка мы вообще не трогали, не крутили, а управление получили серво.
Будет ли от этого какая выгода или проще тот же KFlop влепить и не париться покажет только практика, ну и смотря что кому доступнее/,быстрее.
Ломается всё, даже то что в принципе никогда не ломается... А я чиню.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11626
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

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

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

Графики расхождения позиции через отвертку не увидишь.
Mesa - сразу же дает стабильный сигнал, его не нужно фильтровать.
Для обратной связи потребуется скорость реакции ГУНа намного меньше одного периода.
RC цепочка тоже может не справиться с задачей.
И вообще - можно просто моторы постоянного тока использовать - так проще будет, получится бюджетная серва.

Но, второй по важности косяк, после увеличения цены - потеря основного преимущества шаговиков - возможности точного позиционирования.
Бармалей
Мастер
Сообщения: 1205
Зарегистрирован: 14 янв 2013, 16:46
Репутация: 144
Контактная информация:

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

Сообщение Бармалей »

michael-yurov писал(а):но на практике оказалось, избыточность сигнала настолько высока, что результат становится практически идеальным.
Интересно, как удалось определить "идеальность" сигнала? И что значит "симметричное сглаживание"?
michael-yurov писал(а):м, а частота/интервал рассчитывается по аналогии с ПИД регулировкой.
что-то типа метода наименьших квадратов удалось реализовать?
Закрыто

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