Страница 7 из 8
Re: WLMotion
Добавлено: 17 июн 2018, 05:50
MX_Master
При 80 КГц с плавностью все в порядке. Но идея моего совета не в поднятии частоты, а в правильном и уже проверенном способе генерации.
Какая от штурвала максимальная входная частота? Какая максимальная частота вывода S?
Re: WLMotion
Добавлено: 17 июн 2018, 06:27
wldev
MX_Master писал(а):При 80 КГц с плавностью все в порядке. Но идея моего совета не в поднятии частоты, а в правильном и уже проверенном способе генерации.
Правильный - это который работает. А там уже неважно как генерируется.
От таймера там свои нюансы...
Нам же надо выдать не просто частоту, а определенное количество импульсов.
MX_Master писал(а):Какая от штурвала максимальная входная частота? Какая максимальная частота вывода S?
Там и там Макс около 6 КГц.
Re: WLMotion
Добавлено: 17 июн 2018, 06:58
MX_Master
Bender писал(а):Там и там Макс около 6 КГц.
В моем умножителе step/dir я обрабатывал входные сигналы до 20 КГц с помощью внешних прерываний,
EXTI. Там можно до 16 каналов использовать. Я, к примеру, использовал 8 каналов
EXTI. Решение проверенное и работает как часы.
Bender писал(а):Правильный - это который работает. А там уже неважно как генерируется.
От таймера там свои нюансы...
Нам же надо выдать не просто частоту, а определенное количество импульсов.
С точки зрения процессора, правильный - это тот, который работает и отнимает минимум времени процессора. Что касается кол-ва импульсов, я ж не зря про сервопериод упоминал. В нём мы считываем показания всех счётчиков и на их основе (и траектории) выдаём задания генераторам на следующий сервопериод. Это очень распространенная практика оптимизации процесса.
Re: WLMotion
Добавлено: 17 июн 2018, 08:52
Prav
Bender писал(а):А современные системы уже отходят , а может и отошли, от шаг направление... Там все передается по сети(can,ethercat и прочее.) а именно каждому сервоприводу передается перемещение и скорость...
Дело не в современности, а в стоимости.
Re: WLMotion
Добавлено: 17 июн 2018, 09:48
wldev
MX_Master писал(а):В моем умножителе step/dir я обрабатывал входные сигналы до 20 КГц с помощью внешних прерываний, EXTI. Там можно до 16 каналов использовать. Я, к примеру, использовал 8 каналов EXTI. Решение проверенное и работает как часы.
Для штурвала да.
А для выхода S 6КГц это несущая частота ШИМ. На генератор идёт больше..не помню точно..
Re: WLMotion
Добавлено: 18 июн 2018, 18:19
wldev
Bender писал(а):Надо подумать и попробовать дергать таймер ом...на другом контроллере
Попробую на неделе для одной оси... А там посмотрим...
Re: WLMotion
Добавлено: 22 июн 2018, 10:46
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мкс)
Re: WLMotion
Добавлено: 22 июн 2018, 12:27
MX_Master
Связка таймера в режиме ШИМ + DMA не ошибается в генерации вплоть до 1 МГц.
На больших частотах вручную отрубить таймер на нужном импульсе не получится. Таймер успеет убежать вперёд. Я использую DMA, чтобы в точный момент времени перенсти в управляющий регистр таймера значение, отключающее таймер полностью. Счётчиком импульсов по совместительству выступает тот же DMA.
Самый лучший вариант в плане точной выдачи шагов получается при использовании 2х таймеров на 1 канал STEP. Когда второй таймер тактируется от события переполнения счётчика первого.
Re: WLMotion
Добавлено: 24 июн 2018, 17:47
wldev
Мне поэтому и не нравиться генерировать импульсы счётчиками таймера.... Велика вероятность ошибиться с импульсами.
Ещё нужны большие ресурсы для подсчёта тайминга каждого импульса для каждой оси...
Re: WLMotion
Добавлено: 25 июн 2018, 14:11
wldev
Bender писал(а):Отлаживаю работу контроллера с использованием dma. Удалось значительно сократить сервоцикл и увеличить максимальную частоту до 72КГц.
Выложил новую прошивку...
- максимальная частота 100КГц.
Re: WLMotion
Добавлено: 27 июн 2018, 08:34
wldev
CrazyUser писал(а):Добрался наконец то я сегодня до "попилить", попробовал новую версию. Да, той ошибки больше нет. Но случилась другая беда - начали срываться все оси. Конфиг скопировал их предыдущей версии, так что настройки теоретически остались те же самые. Но не заехало. По звуку, похоже ускорение сильно увеличилось почему то. Специально перешил на старую версию - там всё нормально.
Дошли мои руки до анализатора.... нашёл где ошибка, скоро исправлю и выложу новую версию прошивки....
И потом ещё все хвосты подправлю....
Re: WLMotion
Добавлено: 05 июл 2018, 19:01
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
Вот....
Re: WLMotion
Добавлено: 24 сен 2018, 12:07
wldev
Добавил возможность вкл/выкл шпинделя и охлаждения...
выложил
Re: WLMotion
Добавлено: 13 ноя 2018, 14:56
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 писал(а):
Добрался наконец то я сегодня до "попилить", попробовал новую версию. Да, той ошибки больше нет. Но случилась другая беда - начали срываться все оси. Конфиг скопировал их предыдущей версии, так что настройки теоретически остались те же самые. Но не заехало. По звуку, похоже ускорение сильно увеличилось почему то. Специально перешил на старую версию - там всё нормально.
Наконец, то я победил этот существенный недочет в генерации....
Re: WLMotion-Mill
Добавлено: 22 ноя 2018, 14:15
wldev
Делаю плату - прототип для испытания...
Re: WLMotion-Mill
Добавлено: 12 янв 2019, 06:01
wldev
Скоро будет перезапуск проекта.
Re: WLMotion-Mill
Добавлено: 12 янв 2019, 07:54
MX_Master
С блэкджеком и шлю..? (: Что нового будет?
Re: WLMotion-Mill
Добавлено: 12 янв 2019, 15:17
wldev
В обзорах все расскажу...
Re: WLMotion-Mill
Добавлено: 14 апр 2019, 14:01
wldev
Небольшие новости в конец этой темы.
У нас образовалась компания и мы решили заниматься разработкой контроллеров....
На данный момент все отлаживаем....
т.е. будут отдельно контроллеры, как для разработчиков так и для пользователей. также будет бесплатное ПО для работы с каким либо оборудованием...
Re: WLMotion-Mill
Добавлено: 14 апр 2019, 14:14
selenur
Успехов вам
