Microlab - а это что такое???aftaev писал(а):Прикручивай2cme писал(а):Не против если я прикручу bootloader?И описывай как шить.
Есть у меня PicKit 2 имеется но с Microlab не работаю. Потому и HEX файл не помешает
Написание плагинов движения для mach3
Re: Написание плагинов движения для mach3
-
aftaev
- Зачётный участник

- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6194
- Откуда: Казахстан.
- Контактная информация:
Re: Написание плагинов движения для mach3
MpLab хотел сказать2cme писал(а):Microlab - а это что такое???
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Re: Написание плагинов движения для mach3
Понятно...но если быть точным то MPLAB это IDE среда, все написано на С.aftaev писал(а):MpLab хотел сказать2cme писал(а):Microlab - а это что такое???
Компельнул исходники, прошил вроде работает, пока на макетке, пришлось поменять кварц на 8МГц.
Плагин установил, включил, но не понятно какие еще нужны настройки??? Кто может подсказать?
-
ipr
- Кандидат
- Сообщения: 65
- Зарегистрирован: 13 ноя 2012, 17:03
- Репутация: 1
- Откуда: Екатеринбург
- Контактная информация:
Re: Написание плагинов движения для mach3
Давай на "ты" перейдем?2cme писал(а):Да вы правы
Прошивка: IDE - Microchip MPLAB.X, компилятор - Microchip C18aftaev писал(а):ipr, ты на чем все это писал?
Программатор: PICKIT2 (с красной кнопкой)
Плагин: Microsoft Visual C++ Express Edition
Я только за2cme писал(а):Не против если я прикручу bootloader?
Надеюсь, требования для USB с помощью фьюзов выставить не забыл? А то может и не заработать...2cme писал(а):пришлось поменять кварц на 8МГц.
Плагин не требует настроек. Настраивать нужно только MotorTuning в Mach3, то есть максимальные скорость и ускорение моторов.2cme писал(а):Плагин установил, включил, но не понятно какие еще нужны настройки??? Кто может подсказать?
Re: Написание плагинов движения для mach3
ок.ipr писал(а):Давай на "ты" перейдем?2cme писал(а):Да вы правы
(; Хорошо, и хорошо что мне удалось в доступной форме это донести.ipr писал(а):Я только за2cme писал(а):Не против если я прикручу bootloader?Что-то я вчера вечером ерунды про бутлоадер написал, его же можно взять готовый (а я подумал, что ты мне предлагаешь его самому написать), и внедрение модификации прошивки почти не потребует. А свободной флеш-памяти полно осталось, сейчас прошивка процентов 15 всего занимает.
Да действительно есть готовый, достаточно только в главную программу внести данные адреса начала (который больше адреса крайней команды кода бутлоадера), и задать адреса прерываний (по факту прерывания падают в адреса из бутлоадера, и переадресовываются на новые адреса, при работе основной программы). Бутлоадер обычно не более 0x000800 0x001000.
Естественно. Но по факту проц работает на 48 МГц. Надо код посмотреть повлияет применение кварца 8МГц.ipr писал(а):Надеюсь, требования для USB с помощью фьюзов выставить не забыл? А то может и не заработать...2cme писал(а):пришлось поменять кварц на 8МГц.
-
ipr
- Кандидат
- Сообщения: 65
- Зарегистрирован: 13 ноя 2012, 17:03
- Репутация: 1
- Откуда: Екатеринбург
- Контактная информация:
Re: Написание плагинов движения для mach3
Значит, должно работать:2cme писал(а):Но по факту проц работает на 48 МГц.
1. настройки таймера, с помощью которого генерируются шаги (Timer0), расчитывались с условием работы процессора от 48МГц.
2. USB работает в FullSpeed, и тоже требует 48МГц.
-
ipr
- Кандидат
- Сообщения: 65
- Зарегистрирован: 13 ноя 2012, 17:03
- Репутация: 1
- Откуда: Екатеринбург
- Контактная информация:
Re: Написание плагинов движения для mach3
Нашел пару ошибок в прошивке, исправил, заодно сделал код более понятным. Плагин тот же, в нем ничего не менял.
- Вложения
-
- Pulse_20130201.zip
- (17.74 КБ) 1077 скачиваний
-
Darxton
- Мастер
- Сообщения: 2113
- Зарегистрирован: 17 янв 2013, 08:19
- Репутация: 623
- Контактная информация:
Re: Написание плагинов движения для mach3
В какой среде подготовлены исходники? Интересно будет посмотреть.ipr писал(а):Первая работающая версия нового контроллера готова.
Re: Написание плагинов движения для mach3
Похоже проектик в скором времени станет коммерческим....Darxton писал(а):В какой среде подготовлены исходники? Интересно будет посмотреть.ipr писал(а):Первая работающая версия нового контроллера готова.
-
Darxton
- Мастер
- Сообщения: 2113
- Зарегистрирован: 17 янв 2013, 08:19
- Репутация: 623
- Контактная информация:
Re: Написание плагинов движения для mach3
Да нет, думаю, Вы неправильно меня поняли. На нашу долю хватит уже развитых коммерческих проектов, тем более под Mach3 кто только не пишет.2cme писал(а):Похоже проектик в скором времени станет коммерческим....
Тут, скорее, научно-исследовательский интерес. К тому же перекликается с соседней темой про сравнение бюджетных систем. Плагин, например, можно использовать для съема траектории без счетчика импульсов.
-
ipr
- Кандидат
- Сообщения: 65
- Зарегистрирован: 13 ноя 2012, 17:03
- Репутация: 1
- Откуда: Екатеринбург
- Контактная информация:
Re: Написание плагинов движения для mach3
Я же выше писал:Darxton писал(а):В какой среде подготовлены исходники?
ipr писал(а):Прошивка: IDE - Microchip MPLAB.X, компилятор - Microchip C18
Программатор: PICKIT2 (с красной кнопкой)
Плагин: Microsoft Visual C++ Express Edition
Это вряд ли... Лично я не собираюсь никому продавать права на свои разработки (было бы что там продавать, честно говоря2cme писал(а):Похоже проектик в скором времени станет коммерческим....
Но если кто-то решит опубликованные исходники использовать в своих, пусть и коммерческих, целях - пожалуйста, я не против.
Обещанную статью, не получилось написать за выходные, экспериментировал с контроллером. Попробовал выбросить из него всю математику, и перенести ее в плагин. Правда, это не лучшим образом сказалось на объеме занимаемом в RAM контроллера (52%) - зато стало стабильнее работать.
Максимальную шагов пришлось уменьшить, обработчик прерывания по таймеру не успевал выполниться до следующего прерывания. Уменьшил частоту таймера в 2 раза - вроде стал успевать... (задумался о генерации шагов с помощью ПЛИС
Прикрутил обработку состояния входов и выходов контроллера. Остановился на 8 входах и 8 выходах, назначаются на любые свободные ноги микроконтроллера в прошивке. Работает привязка этих входов-выходов к нужным сигналам в настройках Mach3. Сделал обработку нажатия ESTOP в Mach, отрабатывает мгновенно (на глаз, конечно).
-
Dirk Diggler
- Новичок
- Сообщения: 20
- Зарегистрирован: 08 окт 2012, 11:46
- Репутация: 1
- Контактная информация:
Re: Написание плагинов движения для mach3
Так, кстати, сделано в SmoothStepper.ipr писал(а):Уменьшил частоту таймера в 2 раза - вроде стал успевать... (задумался о генерации шагов с помощью ПЛИС
-
ipr
- Кандидат
- Сообщения: 65
- Зарегистрирован: 13 ноя 2012, 17:03
- Репутация: 1
- Откуда: Екатеринбург
- Контактная информация:
Re: Написание плагинов движения для mach3
Это говорит о том, что я на правильном путиDirk Diggler писал(а):Так, кстати, сделано в SmoothStepper
Впрочем, тем, кто не гонится за большими частотами шагов, вполне хватит и версии на пике. Думаю, в скором времени я доведу этот проект до стабильно работающего состояния, и перейду к попытке сделать на плисе. Плагин - останется тем же, устройство не сильно изменится - так же для будет содержать в себе pic18 для обмена по usb, буферизации, и обработки входов-выходов, ПЛИС будет только непосредственно генерировать шаги...
-
Darxton
- Мастер
- Сообщения: 2113
- Зарегистрирован: 17 янв 2013, 08:19
- Репутация: 623
- Контактная информация:
Re: Написание плагинов движения для mach3
Многие пользователи применяют сервоприводы, там частоты нужны намного большие, чем в шаговых. Кроме того, мирокшаг часто используется для плавности, и в идеале - когда контроллер способен выдавать STEP с частотой, максимальной для большинства драйверов (200-300 кГц).ipr писал(а):Впрочем, тем, кто не гонится за большими частотами шагов, вполне хватит и версии на пике.
-
ipr
- Кандидат
- Сообщения: 65
- Зарегистрирован: 13 ноя 2012, 17:03
- Репутация: 1
- Откуда: Екатеринбург
- Контактная информация:
Re: Написание плагинов движения для mach3
Я все-таки ориентируюсь на шаговые двигатели. И достигнуть частоты более 50кГц я даже и пытаться не буду (и то, считаю, что это очень много - большинство людей используют только полушаг).
-
Darxton
- Мастер
- Сообщения: 2113
- Зарегистрирован: 17 янв 2013, 08:19
- Репутация: 623
- Контактная информация:
Re: Написание плагинов движения для mach3
Вот это Вы зря так считаете. Впрочем, 50 кГц для свободного проекта - уже успешный продукт.ipr писал(а):(и то, считаю, что это очень много - большинство людей используют только полушаг).
Re: Написание плагинов движения для mach3
Может хотябы простенькие наброски?ipr писал(а): Обещанную статью, не получилось написать за выходные, экспериментировал с контроллером.
-
ipr
- Кандидат
- Сообщения: 65
- Зарегистрирован: 13 ноя 2012, 17:03
- Репутация: 1
- Откуда: Екатеринбург
- Контактная информация:
Re: Написание плагинов движения для mach3
Я про то, как пишутся плагины к Mach небольшую статейку начал писать, но она еще не закончена. А наброски, боюсь, будут непонятны, я сам с этим сталкивался, когда начал свой проект. Подождите, скоро все будет...2cme писал(а):Может хотябы простенькие наброски?
-
ipr
- Кандидат
- Сообщения: 65
- Зарегистрирован: 13 ноя 2012, 17:03
- Репутация: 1
- Откуда: Екатеринбург
- Контактная информация:
Re: Написание плагинов движения для mach3
Вот небольшая незаконченная статья про устройство плагинов движения для мач3:2cme писал(а):Может хотябы простенькие наброски?
- Вложения
-
- article_mach3plugin.zip
- Описание устройства плагинов Mach3
- (4.86 КБ) 1359 скачиваний
-
Woodmaster
- Опытный
- Сообщения: 112
- Зарегистрирован: 10 сен 2011, 18:18
- Репутация: 11
- Контактная информация:
Re: Написание плагинов движения для mach3
Правильно ли я понял прочитав это тему и статью, что МАСН расчитывает текущие частоты шагов для всех осей каждые 10 мс, т.е. всего 100 раз в секунду? И в течение этих 10 мс частота шагов фиксирована?
Получается, что если например надо разогнать ШД с 0 до 1000 Гц за 100 мс (ускорение 10000 шаг/сек2), то МАСН сделает это за 10 итераций с шагом в 100 Гц?
Это типа называется линейный разгон или я что-то не догоняю?
Я если честно искренне верил, что скорость рассчитывается каждый шаг. Сделал шаг считаем следующий и т.д.
Получается, что если например надо разогнать ШД с 0 до 1000 Гц за 100 мс (ускорение 10000 шаг/сек2), то МАСН сделает это за 10 итераций с шагом в 100 Гц?
Это типа называется линейный разгон или я что-то не догоняю?
Я если честно искренне верил, что скорость рассчитывается каждый шаг. Сделал шаг считаем следующий и т.д.
