WLMotion-Mill

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7478
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: WLMotion

Сообщение MX_Master »

При 80 КГц с плавностью все в порядке. Но идея моего совета не в поднятии частоты, а в правильном и уже проверенном способе генерации.

Какая от штурвала максимальная входная частота? Какая максимальная частота вывода S?
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: WLMotion

Сообщение wldev »

MX_Master писал(а):При 80 КГц с плавностью все в порядке. Но идея моего совета не в поднятии частоты, а в правильном и уже проверенном способе генерации.
Правильный - это который работает. А там уже неважно как генерируется.
От таймера там свои нюансы...
Нам же надо выдать не просто частоту, а определенное количество импульсов.
MX_Master писал(а):Какая от штурвала максимальная входная частота? Какая максимальная частота вывода S?
Там и там Макс около 6 КГц.
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
MX_Master
Мастер
Сообщения: 7478
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: WLMotion

Сообщение MX_Master »

Bender писал(а):Там и там Макс около 6 КГц.
В моем умножителе step/dir я обрабатывал входные сигналы до 20 КГц с помощью внешних прерываний, EXTI. Там можно до 16 каналов использовать. Я, к примеру, использовал 8 каналов EXTI. Решение проверенное и работает как часы.
Bender писал(а):Правильный - это который работает. А там уже неважно как генерируется.
От таймера там свои нюансы...
Нам же надо выдать не просто частоту, а определенное количество импульсов.
С точки зрения процессора, правильный - это тот, который работает и отнимает минимум времени процессора. Что касается кол-ва импульсов, я ж не зря про сервопериод упоминал. В нём мы считываем показания всех счётчиков и на их основе (и траектории) выдаём задания генераторам на следующий сервопериод. Это очень распространенная практика оптимизации процесса.
Аватара пользователя
Prav
Мастер
Сообщения: 827
Зарегистрирован: 14 июл 2015, 05:10
Репутация: 138
Настоящее имя: Петр Раввинский
Откуда: Москва
Контактная информация:

Re: WLMotion

Сообщение Prav »

Bender писал(а):А современные системы уже отходят , а может и отошли, от шаг направление... Там все передается по сети(can,ethercat и прочее.) а именно каждому сервоприводу передается перемещение и скорость...
Дело не в современности, а в стоимости.
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: WLMotion

Сообщение wldev »

MX_Master писал(а):В моем умножителе step/dir я обрабатывал входные сигналы до 20 КГц с помощью внешних прерываний, EXTI. Там можно до 16 каналов использовать. Я, к примеру, использовал 8 каналов EXTI. Решение проверенное и работает как часы.
Для штурвала да.
А для выхода S 6КГц это несущая частота ШИМ. На генератор идёт больше..не помню точно..
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: WLMotion

Сообщение wldev »

Bender писал(а):Надо подумать и попробовать дергать таймер ом...на другом контроллере
Попробую на неделе для одной оси... А там посмотрим...
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: WLMotion

Сообщение wldev »

Bender писал(а):Попробую на неделе для одной оси... А там посмотрим...
Стал рассчитывать как будут обстоять дела если будем генерировать таймерами....

Дано:
сервопериод 1мс.
делаем простой шим с заполнением 50%.

подаем на вход счётчика 36МГц

тогда для того чтобы сделать 100 шагов за один цикл (результирующая 100Кгц)

36000/100=360 все хорошо ... записываем в счётчик 360 и он нам за 1мс делает 100 шагов...

делаем таблицу (см прикрепл. файле)

умножаем(шаги на счётчик таймера)- это воставнавливаем сколько тиков (36МГц) будет за сервоцикл
разница(36000 - "умножаем")- это сколько у нас не хватит тиков для "закрытия" сервопериода.

Видно что на частоте 170Кгц. опасная ситуация, а именно у нас разница больше половины периода. То есть до закрытия сервоцикла у нас сработает шим и будет сделан лишний импульс!.
На частоте 130Кгц также есть опасность генерации ошибочного импульса, т.к. время остается оч. мало (276/2-120=18 18/36000000=0,5мкс)
Вложения
Табл.jpg (5652 просмотра) <a class='original' href='./download/file.php?id=141612&sid=bc26c1c322d422715da7b43ef6ec45e1&mode=view' target=_blank>Загрузить оригинал (58.35 КБ)</a>
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
MX_Master
Мастер
Сообщения: 7478
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: WLMotion

Сообщение MX_Master »

Связка таймера в режиме ШИМ + DMA не ошибается в генерации вплоть до 1 МГц.

На больших частотах вручную отрубить таймер на нужном импульсе не получится. Таймер успеет убежать вперёд. Я использую DMA, чтобы в точный момент времени перенсти в управляющий регистр таймера значение, отключающее таймер полностью. Счётчиком импульсов по совместительству выступает тот же DMA.

Самый лучший вариант в плане точной выдачи шагов получается при использовании 2х таймеров на 1 канал STEP. Когда второй таймер тактируется от события переполнения счётчика первого.
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: WLMotion

Сообщение wldev »

Мне поэтому и не нравиться генерировать импульсы счётчиками таймера.... Велика вероятность ошибиться с импульсами.
Ещё нужны большие ресурсы для подсчёта тайминга каждого импульса для каждой оси...
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: WLMotion

Сообщение wldev »

Bender писал(а):Отлаживаю работу контроллера с использованием dma. Удалось значительно сократить сервоцикл и увеличить максимальную частоту до 72КГц.
Выложил новую прошивку...
- максимальная частота 100КГц.
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: WLMotion

Сообщение wldev »

CrazyUser писал(а):Добрался наконец то я сегодня до "попилить", попробовал новую версию. Да, той ошибки больше нет. Но случилась другая беда - начали срываться все оси. Конфиг скопировал их предыдущей версии, так что настройки теоретически остались те же самые. Но не заехало. По звуку, похоже ускорение сильно увеличилось почему то. Специально перешил на старую версию - там всё нормально.
Дошли мои руки до анализатора.... нашёл где ошибка, скоро исправлю и выложу новую версию прошивки....
И потом ещё все хвосты подправлю....
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: WLMotion

Сообщение wldev »

Исправил. Но все равно есть частоты биения.
Например если у нас шд должен переместиться на 0.6 за сервопериод то получается неравномерность шага
0.6 0
1.2 1
1.8 0
2.4 1
3.0 1
3.6 0
4.2 1
4.8 0
5.4 1
6.0 1
6.6 0

Вот....
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: WLMotion

Сообщение wldev »

Добавил возможность вкл/выкл шпинделя и охлаждения...
выложил
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: WLMotion

Сообщение wldev »

Bender писал(а):Исправил. Но все равно есть частоты биения.
Например если у нас шд должен переместиться на 0.6 за сервопериод то получается неравномерность шага
0.6 0
1.2 1
1.8 0
2.4 1
3.0 1
3.6 0
4.2 1
4.8 0
5.4 1
6.0 1
6.6 0
Bender писал(а):CrazyUser писал(а):
Добрался наконец то я сегодня до "попилить", попробовал новую версию. Да, той ошибки больше нет. Но случилась другая беда - начали срываться все оси. Конфиг скопировал их предыдущей версии, так что настройки теоретически остались те же самые. Но не заехало. По звуку, похоже ускорение сильно увеличилось почему то. Специально перешил на старую версию - там всё нормально.
Наконец, то я победил этот существенный недочет в генерации....
Вложения
До.jpg (4791 просмотр) <a class='original' href='./download/file.php?id=150349&sid=bc26c1c322d422715da7b43ef6ec45e1&mode=view' target=_blank>Загрузить оригинал (12.93 КБ)</a>
После.jpg (4791 просмотр) <a class='original' href='./download/file.php?id=150350&sid=bc26c1c322d422715da7b43ef6ec45e1&mode=view' target=_blank>Загрузить оригинал (14.75 КБ)</a>
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: WLMotion-Mill

Сообщение wldev »

Делаю плату - прототип для испытания...
Вложения
Контроллер W35.jpg (4664 просмотра) <a class='original' href='./download/file.php?id=150970&sid=bc26c1c322d422715da7b43ef6ec45e1&mode=view' target=_blank>Загрузить оригинал (152.65 КБ)</a>
Контроллер W35b.jpg (4663 просмотра) <a class='original' href='./download/file.php?id=150971&sid=bc26c1c322d422715da7b43ef6ec45e1&mode=view' target=_blank>Загрузить оригинал (179.17 КБ)</a>
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: WLMotion-Mill

Сообщение wldev »

Скоро будет перезапуск проекта.
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
MX_Master
Мастер
Сообщения: 7478
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: WLMotion-Mill

Сообщение MX_Master »

С блэкджеком и шлю..? (: Что нового будет?
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: WLMotion-Mill

Сообщение wldev »

В обзорах все расскажу...
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
wldev
Мастер
Сообщения: 1639
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: WLMotion-Mill

Сообщение wldev »

Небольшие новости в конец этой темы.

У нас образовалась компания и мы решили заниматься разработкой контроллеров....
На данный момент все отлаживаем....

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

Re: WLMotion-Mill

Сообщение selenur »

Успехов вам ;-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Закрыто

Вернуться в «Windows / Mach»