WLMotion-Mill
- MX_Master
- Мастер
- Сообщения: 7478
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: WLMotion
При 80 КГц с плавностью все в порядке. Но идея моего совета не в поднятии частоты, а в правильном и уже проверенном способе генерации.
Какая от штурвала максимальная входная частота? Какая максимальная частота вывода S?
Какая от штурвала максимальная входная частота? Какая максимальная частота вывода S?
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMotion
Правильный - это который работает. А там уже неважно как генерируется.MX_Master писал(а):При 80 КГц с плавностью все в порядке. Но идея моего совета не в поднятии частоты, а в правильном и уже проверенном способе генерации.
От таймера там свои нюансы...
Нам же надо выдать не просто частоту, а определенное количество импульсов.
Там и там Макс около 6 КГц.MX_Master писал(а):Какая от штурвала максимальная входная частота? Какая максимальная частота вывода S?
- MX_Master
- Мастер
- Сообщения: 7478
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: WLMotion
В моем умножителе step/dir я обрабатывал входные сигналы до 20 КГц с помощью внешних прерываний, EXTI. Там можно до 16 каналов использовать. Я, к примеру, использовал 8 каналов EXTI. Решение проверенное и работает как часы.Bender писал(а):Там и там Макс около 6 КГц.
С точки зрения процессора, правильный - это тот, который работает и отнимает минимум времени процессора. Что касается кол-ва импульсов, я ж не зря про сервопериод упоминал. В нём мы считываем показания всех счётчиков и на их основе (и траектории) выдаём задания генераторам на следующий сервопериод. Это очень распространенная практика оптимизации процесса.Bender писал(а):Правильный - это который работает. А там уже неважно как генерируется.
От таймера там свои нюансы...
Нам же надо выдать не просто частоту, а определенное количество импульсов.
- Prav
- Мастер
- Сообщения: 827
- Зарегистрирован: 14 июл 2015, 05:10
- Репутация: 138
- Настоящее имя: Петр Раввинский
- Откуда: Москва
- Контактная информация:
Re: WLMotion
Дело не в современности, а в стоимости.Bender писал(а):А современные системы уже отходят , а может и отошли, от шаг направление... Там все передается по сети(can,ethercat и прочее.) а именно каждому сервоприводу передается перемещение и скорость...
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMotion
Для штурвала да.MX_Master писал(а):В моем умножителе step/dir я обрабатывал входные сигналы до 20 КГц с помощью внешних прерываний, EXTI. Там можно до 16 каналов использовать. Я, к примеру, использовал 8 каналов EXTI. Решение проверенное и работает как часы.
А для выхода S 6КГц это несущая частота ШИМ. На генератор идёт больше..не помню точно..
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMotion
Попробую на неделе для одной оси... А там посмотрим...Bender писал(а):Надо подумать и попробовать дергать таймер ом...на другом контроллере
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMotion
Стал рассчитывать как будут обстоять дела если будем генерировать таймерами....Bender писал(а):Попробую на неделе для одной оси... А там посмотрим...
Дано:
сервопериод 1мс.
делаем простой шим с заполнением 50%.
подаем на вход счётчика 36МГц
тогда для того чтобы сделать 100 шагов за один цикл (результирующая 100Кгц)
36000/100=360 все хорошо ... записываем в счётчик 360 и он нам за 1мс делает 100 шагов...
делаем таблицу (см прикрепл. файле)
умножаем(шаги на счётчик таймера)- это воставнавливаем сколько тиков (36МГц) будет за сервоцикл
разница(36000 - "умножаем")- это сколько у нас не хватит тиков для "закрытия" сервопериода.
Видно что на частоте 170Кгц. опасная ситуация, а именно у нас разница больше половины периода. То есть до закрытия сервоцикла у нас сработает шим и будет сделан лишний импульс!.
На частоте 130Кгц также есть опасность генерации ошибочного импульса, т.к. время остается оч. мало (276/2-120=18 18/36000000=0,5мкс)
- MX_Master
- Мастер
- Сообщения: 7478
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: WLMotion
Связка таймера в режиме ШИМ + DMA не ошибается в генерации вплоть до 1 МГц.
На больших частотах вручную отрубить таймер на нужном импульсе не получится. Таймер успеет убежать вперёд. Я использую DMA, чтобы в точный момент времени перенсти в управляющий регистр таймера значение, отключающее таймер полностью. Счётчиком импульсов по совместительству выступает тот же DMA.
Самый лучший вариант в плане точной выдачи шагов получается при использовании 2х таймеров на 1 канал STEP. Когда второй таймер тактируется от события переполнения счётчика первого.
На больших частотах вручную отрубить таймер на нужном импульсе не получится. Таймер успеет убежать вперёд. Я использую DMA, чтобы в точный момент времени перенсти в управляющий регистр таймера значение, отключающее таймер полностью. Счётчиком импульсов по совместительству выступает тот же DMA.
Самый лучший вариант в плане точной выдачи шагов получается при использовании 2х таймеров на 1 канал STEP. Когда второй таймер тактируется от события переполнения счётчика первого.
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMotion
Мне поэтому и не нравиться генерировать импульсы счётчиками таймера.... Велика вероятность ошибиться с импульсами.
Ещё нужны большие ресурсы для подсчёта тайминга каждого импульса для каждой оси...
Ещё нужны большие ресурсы для подсчёта тайминга каждого импульса для каждой оси...
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMotion
Выложил новую прошивку...Bender писал(а):Отлаживаю работу контроллера с использованием dma. Удалось значительно сократить сервоцикл и увеличить максимальную частоту до 72КГц.
- максимальная частота 100КГц.
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMotion
Дошли мои руки до анализатора.... нашёл где ошибка, скоро исправлю и выложу новую версию прошивки....CrazyUser писал(а):Добрался наконец то я сегодня до "попилить", попробовал новую версию. Да, той ошибки больше нет. Но случилась другая беда - начали срываться все оси. Конфиг скопировал их предыдущей версии, так что настройки теоретически остались те же самые. Но не заехало. По звуку, похоже ускорение сильно увеличилось почему то. Специально перешил на старую версию - там всё нормально.
И потом ещё все хвосты подправлю....
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMotion
Исправил. Но все равно есть частоты биения.
Например если у нас шд должен переместиться на 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
Вот....
Например если у нас шд должен переместиться на 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
Вот....
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMotion
Добавил возможность вкл/выкл шпинделя и охлаждения...
выложил
выложил
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMotion
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 писал(а):
Добрался наконец то я сегодня до "попилить", попробовал новую версию. Да, той ошибки больше нет. Но случилась другая беда - начали срываться все оси. Конфиг скопировал их предыдущей версии, так что настройки теоретически остались те же самые. Но не заехало. По звуку, похоже ускорение сильно увеличилось почему то. Специально перешил на старую версию - там всё нормально.
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMotion-Mill
Делаю плату - прототип для испытания...
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMotion-Mill
Скоро будет перезапуск проекта.
- MX_Master
- Мастер
- Сообщения: 7478
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: WLMotion-Mill
С блэкджеком и шлю..? (: Что нового будет?
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMotion-Mill
В обзорах все расскажу...
- wldev
- Мастер
- Сообщения: 1639
- Зарегистрирован: 24 янв 2012, 16:04
- Репутация: 510
- Настоящее имя: Сергей Бочаров
- Откуда: Новосибирск
- Контактная информация:
Re: WLMotion-Mill
Небольшие новости в конец этой темы.
У нас образовалась компания и мы решили заниматься разработкой контроллеров....
На данный момент все отлаживаем....
т.е. будут отдельно контроллеры, как для разработчиков так и для пользователей. также будет бесплатное ПО для работы с каким либо оборудованием...
У нас образовалась компания и мы решили заниматься разработкой контроллеров....
На данный момент все отлаживаем....
т.е. будут отдельно контроллеры, как для разработчиков так и для пользователей. также будет бесплатное ПО для работы с каким либо оборудованием...
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: WLMotion-Mill
Успехов вам
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/