Делаю систему управления ЧПУ CNC

Контроллеры, драйверы, датчики, управляющие устройства.

Делаю систему управления ЧПУ CNC

Сообщение AlexSVC » 28 мар 2014, 00:53

Преамбула.


:controller:
Я понимаю, что таких систем сейчас достаточно много, но все-же я решил попробовать реализовать свой вариант, свои идеи и наработки.

Цели проекта и пути решения


Создать ЧПУ систему, которая позволяет:
1. Использовать весь потенциал привода (хоть шагового, хоть серво) на всем диапазоне подач.
- Достигается путем использования планировщиком программной модели электромагнитного привода, который использует зависимость момента от угловой скорости.
2. Адаптироваться к подключенному станку
- Достигается путем автоматического сканирования возможностей каждой оси станка и составлением зависимости момента от угловой скорости.
3.Наблюдать и изменять результат работы планировщика скорости обработки до запуска станка
- В интерфейсе присутствует график изменения скорости во времени на выделенном участке траектории движения.
- В свойствах строки G-кода присутствуют элементы изменения скорости.
4.работать как автономно так и в связке с внешним ПК
- Используется microSD карта для хранения подготовленных программ и LCD экран для их выбора.
5.быть не дорогой в производстве (до 100$ за комплект)
- Используется недорогой и мощный ARM контроллер STM32
6.подключатся к ПК по интерфесам USB\LAN\WiFi\BlueTooth\CAN\RS-232\RS-485...
- Используется высокоскоростной UART STM32 с нужным интерфейсным модулем + интерфейсный плагин для основной программы.
7.модульное наращивание осей и входов-выходов (как развитие системы)
- мультипроцессорная обработка. т.е. есть ведущий процессор на материнской плате а каждая ось подключается в виде отдельного модуля и несет на себе процессор для ее обработки и доп. каналы ввода-вывода, при этом кол-во осей ограничиваются пропускной скорость межпроцессорной шины.
8.мониторинг телеметрии всех компонентов системы (как развитие системы)
- лог температуры каждого элемента системы (драйвер\двигатель\БП...)
- лог напряжения и тока БП
- лог температуры, напряжения и тока шпинделя (воможно акустический датчик для контроля подшипников)

Предыстория.


Достаточно давно (года 2 назад) сделал небольшой фанерный станочек, в качестве системы управления использовал Planet USB CNC МК1, перед этим очпушил токарный станок (небольшой китайский) для него использовал мач. Был накоплен определенный опыт по всему этому делу, в результате мне не нравился ни мач ни планет. Поиски вывели на nc-studio, но для него нужен был отдельный комп. В общем хотелось что-то в виде планета, только нормально работающего. А тут еще и кризисы всякие появились, в результате у меня появилось время для написания собственного варианта.

История.


Начал писать эту систему достаточно давно где-то осенью 2010 когда основательно приболел и сидел дома две недели. Это были наброски N-осевого линейного интерполятора, визуализатора G-кода и попытки лукахеада.
Потом вышел работу и ни времени ни желания продолжать дальше небыло. Благодаря кризису у меня появилась возможность реализовать что-то свое, было решено возобновить работу над своей системой, т.к. недорогих альтернатив не наблюдалось, то что было - не устраивало по различным причинам (главня - неиспользование полно потенциала приводов) да и перспектива идти работать на дядю мне не нравилась, есть правда еще разные задумки, но реализация своей системы является ключевым элементом и без этого дальше двинутся не представлялось возможным.
Более-менее плотно я ее писал начиная с прошлого года и по нынешнее время. Сейчас написать о ней решил, т.к. начало уже что-то вырисовыватся, и хотелось пообсуждать, то что получается.

Описание системы.


Система состоит из двух элементов: контроллера и программы запущеной на ПК под XP(7..)Соединение программы с контроллером сейчас сделал через USB-COM перходник.
Как оказалось они могут изобразить до 5 Мбит, это слишком избыточно, как показала практика 115200 - много...
Протокол обмена (это первое что меня сподвигло на написание этой системы) подобран таким образом, что даже в своей наипростейшей реализации обеспечивает значительное сжатие данных для контроллера (для работы двух каналов расходуется 1 бит на степ трех 2-бита и т.д.).
Анализ и интерполяцию G-кода производит ПК, что дает возможность реализовать любые сколь-угодно сложные интерполяционые алгоритмы (это второе) без ущерба скорости отработки кода.

Алгоритм расстановки скоростей (это третье) достаточно интересно получилось реализовать.

Хотелось выделить, что это ключевой элемент системы и от него зависела вся система, поэтому эту часть я переписывал раз 7 почти с нуля, т.к. прошлые варианты не подходили своей идеологией и результатом работы (перебрал несколько алгоритмов). На этот алгоритм я потратил основную часть времени т.к. он определял итоговое время обработки кода.
В отличии от планета мой алгоритм не базируется на анализе углов между векторами, а отправной точкой служит зависимость момента от скорости шагового двигателя. В основе всего алгоритма лежит программная модель электро-магнитного привода, которая описывается с помощью нескольких вполне понятных параметров: максимальной скорости, минимальной скорости старта (реверса), максимального ускорения. Так-же используется значение микрошага для шагового двигателя.
Этот алгоритм сейчас позволяет достаточно правильно расставить скорости выполнения и снижает скорость только на тех участках, где движение с максимальной скоростью вызывает перегрузку привода, но снижает эту скорость не до стартовой как планет, а ровно на столько на сколько нужно, что-бы вписаться в возможности двигателя, что дает максимально возможную скорость обработки. Конечно-же нет предела совершенству и тут есть еще куда двигаться.
Скорость обработки так-же осталась на высоте ( 200 000 строк от слайсера обрабатывает в течении ~15 сек)

Программа для ПК, еще на стадии дописывания, сейчас делает визуализацию рабочего поля станка и на нем кода. Код может отбражатся в трех режимах ЧБ,Градации серого,Цветные градации. Визуализатор пока только 2D. Еще есть табличка со строками кода (как в планете) только расписывает времена исполнения и визуализирует скорость обработки выделенной строки.
Интерфейс как таковой не написан, большая часть действий через меню, я все силы пока сосредоточил на алгоритме обработки и алгоритме контроллера, а интерфейс на "потом", думаю что-то в стиле планета (уже на него похоже).
Для обозначения осей в программе ввел понятие канал. Каналы на контроллере пронумерованы от 0 до 3, а имя оси назначается через настройку. Получается можно всем каналам назначить одно имя и они тогда будут работать параллельно или можно использовать специфические названия оси для каждого канала.
Настройки программы обладают встроенной справкой, которая в виде html описывает выбранный параметр (что-бы не лезть в описание), правда справка еще далеко не для всех параметров написана, но это "пока".
По ресурсам - очень не требовательная, не нагружает видеосистему ПК , достаточно старенького ноута типа P2-600 128Мб.

Контроллер


Реализован на покупном HY-MINI STM32 с STM32F103 на борту, там-же и USB-COM. Не делал виртуальный USB-COM на самом STM потому-что это бы забрало больше ресурсов и лишило возможности "разогнать" контроллер (увы, частота привязана к модулю USB STMа), а так он уже был. Хотя может потом и на саму STMку повешу. Ручного пульта пока нет ни в каком виде, планирую прикрутить пульт от телевизора\DVD.. или можно как в планете.
Есть место под флешку микросд. В дальнейшем прикручу туда дисплей от сотового типа 3110 или что-то вроде него тока монохромный, для выбора файла с флешки для работы в автономном режиме.
Сегодня наконец увидел на выходе контроллера step\dirы и смог объективно оценить размер файла для автономного исполнения (так сказать не в теории а на практике) получилось около 1.4 Мбайт-а в час. Это если частота 4КГц максимум (у меня выходит что 266 шагов на 1мм, и макс скорость ~1М\мин). Как будет увеличиваться файл с ростом частоты пока сложно сказать, надо еще протестировать.
Максимальная частота генерируемая контроллером около 100КГц, в самом худшем режиме 25КГц(максимальное кол-во сервистной инфы при старте исполнения, но эта обработка один раз в начале и дальше только короткие посылки...).

Сводка параметров


- Количество каналов(осей) контроллера 4 (мне больше не надо, в перспективе до 256 и если надо-больше ограничение-быстродествие контроллера, соответсвенно зависит от его архитектуры)
- Количество каналов(осей) программы 8 (так-же может быть расширено)
- Максимально возможная частота 120КГц (худший режим 25КГц)
- Соединение с ПК USB-COM или COM порт. Можно что то типа RS485...
- Система ПК XP-32, WIN7-32

Планируется реализовать два вида скриптов, первый вид исполняется на ПК второй непосредственно на контроллере.

Вот такая системка у меня вырисовывается, обсуждение, коментарии и критика приветствуется.

P.S. Спасибо за внимание, особенно тем кто дочитал до конца, извиняюсь за многабукав.

UPD. 2014.08.12
Заснял видео текущей стадии разработки:

Последний раз редактировалось AlexSVC 27 авг 2014, 02:05, всего редактировалось 3 раз(а).
AlexSVC
Новичок
 
Сообщения: 37
Зарегистрирован: 27 мар 2014, 21:40
Откуда: Украина, г.Харьков.
Репутация: 14

Re: Делаю систему управления ЧПУ CNC

Сообщение aftaev » 28 мар 2014, 01:01

AlexSVC писал(а):P.S. Спасибо за внимание, особенно тем кто дочитал до конца, извиняюсь за многабукав.

пора делать :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 28823
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 4919
Медальки:

Re: Делаю систему управления ЧПУ CNC

Сообщение Сергей Саныч » 28 мар 2014, 01:51

Серьезно :good:
Вообще, когда разработка начинается с изучения существующих систем, их достоинств и недостатков, это вызывает уважение.

Особенно заинтересовало это:
AlexSVC писал(а):отправной точкой служит зависимость момента от скорости шагового двигателя.
Тоже задумывался, но применительно к LinuxCNC.
Последний раз редактировалось Сергей Саныч 28 мар 2014, 07:21, всего редактировалось 1 раз.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
 
Сообщения: 7935
Зарегистрирован: 30 май 2012, 14:20
Откуда: Тюмень
Репутация: 2465
Медальки:

Re: Делаю систему управления ЧПУ CNC

Сообщение asutpka » 28 мар 2014, 04:21

popcorm1.gif
popcorm1.gif (14.4 Кб) Просмотров: 7787
asutpka
Мастер
 
Сообщения: 292
Зарегистрирован: 17 апр 2013, 14:27
Репутация: 76

Re: Делаю систему управления ЧПУ CNC

Сообщение michael-yurov » 28 мар 2014, 05:27

Серьезная работа, и радует подход к написанию алгоритму предпросмотра.
Как я понял, логика близка к работе NCStudio - чем сильнее изменяется направление вектора движения - тем сильнее планировщик сбрасывает скорость.

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

Re: Делаю систему управления ЧПУ CNC

Сообщение selenur » 28 мар 2014, 05:50

вот тут http://www.cnc-club.ru/forum/viewtopic. ... 47#p101947 есть информация как почти недорого можно купить большой и классный экондер для пульта :-)
Так-что ещё пиши, всем интересно :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
 
Сообщения: 3669
Зарегистрирован: 21 авг 2013, 19:44
Откуда: Новый Уренгой
Репутация: 1277
Медальки:
Настоящее имя: Сергей

Re: Делаю систему управления ЧПУ CNC

Сообщение Baha » 28 мар 2014, 07:58

AlexSVC писал(а):В общем хотелось что-то в виде планета, только нормально работающего.

А можно услышать, что именно вам не понравился в PlanetCNC ?
А то общие фразы типа "не работает", "не нормально работает" ничего не означают.

AlexSVC писал(а):Соединение программы с контроллером сейчас сделал через USB-COM перходник.

Это в повсеместно используется в GRBL под Ардуино.

AlexSVC писал(а): а отправной точкой служит зависимость момента от скорости шагового двигателя.

Это штука без PID контроля никак "нормально работать" не будет. Потоу что как вы выразились для "программная модель электро-магнитного привода", тогда надо учитывать влияние диаметра фрезы, и инерционность системы в зависимости от конструкционного типа станков.

AlexSVC писал(а): но снижает эту скорость не до стартовой как планет, а ровно на столько на сколько нужно,

что за "скорость стартовая"?
Я думаю вы с 2011 года в PlanetCNC и не заглядывали.

AlexSVC писал(а):Скорость обработки так-же осталась на высоте ( 200 000 строк от слайсера обрабатывает в течении ~15 сек)

судя по терминологии и по вашим "идеям", идей черпали в GRBL.

AlexSVC писал(а): а интерфейс на "потом", думаю что-то в стиле планета (уже на него похоже).

основа стиля и идея PlanetCNC частично заимствовано из EMC.

AlexSVC писал(а):Реализован на покупном HY-MINI STM32 с STM32F103 на борту,

вот то же самое, на покупном STM32 (NETduino), на базе GRBL, по COM порту, с софтом на компе, https://github.com/jcphlux/DazCam

AlexSVC писал(а):планирую прикрутить пульт от телевизора\DVD.. или можно как в планете.

в Planete кроме своего, любой HIDUSB клавиши можно "прикрутить".

AlexSVC писал(а):Есть место под флешку микросд. В дальнейшем прикручу туда дисплей от сотового типа 3110 или что-то вроде него тока монохромный, для выбора файла с флешки для работы в автономном режиме.

Реализовано, и давно пользуют на основе GRBL.

AlexSVC писал(а):Это если частота 4КГц максимум (у меня выходит что 266 шагов на 1мм, и макс скорость ~1М\мин). Как будет увеличиваться файл с ростом частоты пока сложно сказать, надо еще протестировать.
Максимальная частота генерируемая контроллером около 100КГц, в самом худшем режиме 25КГц(максимальное кол-во сервистной инфы при старте исполнения, но эта обработка один раз в начале и дальше только короткие посылки...).

Darrin на STM32 не дал цифры,

I did find that there were 2 practical limits to the number of steps per second that I was able to attain. The first was how fast the Netduino could output steps, and the second was how fast the stepper could take them.
I found that the Netduino could output them faster than what the stepper could handle based on my low voltage drivers. Once I exceeded that limit, the motors stalled and missed steps and lost their position.
With a higher voltage driver, I'm sure I could output more torque at a faster step rate and at that point the Netduino would fall behind in what it could deliver. My code isn't very efficient in that regard, and is limited by the Netduino, but it's good enough for my application.
Сферический ватник в вакууме.
Baha
Мастер
 
Сообщения: 605
Зарегистрирован: 29 сен 2008, 17:37
Откуда: Тараз-Москва
Репутация: 26

Re: Делаю систему управления ЧПУ CNC

Сообщение Woodmaster » 28 мар 2014, 08:42

И все было хорошо, но вот пришел Baha ... :lol1:
Woodmaster
Опытный
 
Сообщения: 110
Зарегистрирован: 10 сен 2011, 18:18
Репутация: 11

Re: Делаю систему управления ЧПУ CNC

Сообщение Baha » 28 мар 2014, 09:07

Woodmaster писал(а):И все было хорошо, но вот пришел Baha ...

да!
Просто один гуруcнс, который и в глаза не видел PlanetCNC, утверждал что PlanetCNC повороты проезжает на максимальном ускорений и скорости, а теперь этот утверждает обратное что она на поворотах сбрасывает скорость до каких то "стартовых".
Оба не правы, PlanetCNC проезжает повороты, по тем значениям что выставлены в настройках для ускорения и скорости. Просто надо учиться и уметь пользоваться возможностями программы.
Сферический ватник в вакууме.
Baha
Мастер
 
Сообщения: 605
Зарегистрирован: 29 сен 2008, 17:37
Откуда: Тараз-Москва
Репутация: 26

Re: Делаю систему управления ЧПУ CNC

Сообщение aftaev » 28 мар 2014, 09:58

Woodmaster писал(а):И все было хорошо, но вот пришел Baha ...

счастье было не долгим :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 28823
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 4919
Медальки:

Re: Делаю систему управления ЧПУ CNC

Сообщение AlexSVC » 28 мар 2014, 10:17

Буду отвечать частями, т.к. обьем большой и набить сразу - сильно долго (возникают мысли о голосовом форуме или записи текста с распознаванием речи).

А можно услышать, что именно вам не понравился в PlanetCNC ?
А то общие фразы типа "не работает", "не нормально работает" ничего не означают.

Конечно расскажу с чем столкнулся. Только просьба не воспринимать мою критику как оскорбления, я очень уважаю автора планета, и благодарен ему за его труд, все замечания касаются МК1.
И так, первое что меня сильно огорчило - это неправильная расстановка скоростей соответствено удары-пропуски, скорость выше 350мм\мин поднять не удавалось, т.к. контроллер ПИК слабоват явно нехватает ресурсов для безпропусковой генерации степов , затыки при обмене по USB приводили к срыву моторов (ох нервов попортило иногда они становились сильно большыми и циклически повторялись помогал только ресет), причем ранние версии таким не страдали (это потому что был изменен протокол на полную интерполяцию средствами конроллера). Также хочу отметить значительную паузу в степах, которая возникает при окончании разгона и начале равномернго движения. Последней каплей стали паузы в степах прямо посреди траектории (приводили к срыву моторв). Переходить на МК2 я не хотел.
С углами и прочими невнятными настройками, о назначании которых можно было почерпнуть только основательно погуглив то-же не вызывало радости. Ну и поэтому настройка привращалась в "танцы с бубном" и велась в основном методом проб и ошибок. Мне так толком победить и не удалось.
Интересной "особенностью" была длительность степов при разгоне и она-же при равномерном движении сильно отличались, возможно это задел для драйвера (я так понял для умножения степов). Невозможность регулировать ширину степа при равномерном движении вызвала необходимость применения дорогой опторазвязки, т.к. дешевые типа PC817 не справлялись, причем делали это очень забавно (есть ипульсы на выходе кривые, но есть, потом хоп и посредине серии происходит пропуск 2-3 импульсов - ух я долго "вспоминал" всех производителей, потом правда побороть методом подбора сопротивлений диода и транзистора получилось, но все работало "на грани" запаса небыло, поэтому отказался). Мне жаль людей которые покупают "синие" и "красные" китайские платы, а потом вылазит такая вот неприятность с опторазвязкой.
Отсутсвие поддержки циклов (в матче есть, кривое косое но есть) поставило крест на идее поставить его на токарный станок. У меня программы для него в основном писаны ручками и используют циклы иначе я бы замахался их писать, а альтернативы на тот момент не-было.
Это то что с ходу вспомнилось, возможно еще что-то было, но это для меня уже не имеет значения, т.к. у меня теперь два пути или я закончу свою систему или отправлюсь пополнять ряды таксистов или айтишников, чего я очень не хочу т.к. это приведет к потере той материальной и производственной базы (мастерская, офис) которой я сейчас пока еще обладаю.
Возможно многое уже поправлено, но алгоритм расстановки скоростей и настройки которые были положены в основу этой программы с моей точки зрения перспектив не имеют, я могу ошибаться - это мое право.
AlexSVC
Новичок
 
Сообщения: 37
Зарегистрирован: 27 мар 2014, 21:40
Откуда: Украина, г.Харьков.
Репутация: 14

Re: Делаю систему управления ЧПУ CNC

Сообщение Baha » 28 мар 2014, 11:08

AlexSVC писал(а):и благодарен ему за его труд, все замечания касаются МК1.

это контроллер стоимостью 500 рублей, начального уровня, и для мелких станочков, от него много и не стоит ожидать, и по его возможностям судить о PlanetCNC, так как математика движения MK1 и МK2 это разные полюсы.
При этом за 500 рублей вы не найдете контроллер сравнимый возможностями MK1, кроме решений на базе GRBL.

AlexSVC писал(а): Переходить на МК2 я не хотел.

Все радости жизни начинаются как раз с MK2.

AlexSVC писал(а):С углами и прочими невнятными настройками, о назначании которых можно было почерпнуть только основательно погуглив то-же не вызывало радости. Ну и поэтому настройка привращалась в "танцы с бубном" и велась в основном методом проб и ошибок. Мне так толком победить и не удалось.

И где нашли погуглив, думаю в форуме в PlanetCNC, http://forum.planet-cnc.com , для этого гугул не нужен. :)

AlexSVC писал(а):Интересной "особенностью" была длительность степов при разгоне.....

с пропуском шагов из-за MK1 никогда не было проблем, даже с китайской опторазвязкой, даже в паре с хламом от YOOCNC, как драйвера T62-3AX. А проблемы с помехами это уже не проблема PlanetCNC, а ваших возможностей в схемотехнике MK1, и условий эксплуатации станка.
Вот связка MK1 и T62-3AX, максимальная подача без потери шагов 1500мм в мин. на шпильке M10 (движки NEMA17 на ток 1.2 ампера, питание 24 вольт, если взять движок на 1.5-1.7 ампера, питать 48 вольтами, подачу можно увеличить в 2 раза), там же в конце киношки фотки изделия.
Делаю систему управления ЧПУ CNC gallery_1_162_67497.jpg



AlexSVC писал(а):Отсутсвие поддержки циклов (в матче есть, кривое косое но есть) поставило крест на идее поставить его на токарный станок. У меня программы для него в основном писаны ручками и используют циклы иначе я бы замахался их писать, а альтернативы на тот момент не-было.

Это в Mach нет циклов даже кривого и косого, а есть подпрограммы кривые и косые.
Как я понимаю вы совсем не знаете PlanetCNC, не в ту степь. Вы для меня сделали открытие, я ЧПУ токаркой работаю с 2004 года, а на PlanetCNC в токарке с 2010 года, и всегда использовал циклы писанные в ручную, которые я использовал раньше в TurboCNC. Где то здесь на форуме я выкладывал образцы программ для PlanetCNC, с подпрограммами, с циклами, циклами с условным переходом, просто с условным переходом.
Для PlanetCNC, формат подпрограммы,
Код: Выделить всёРазвернуть
o100 sub
  .................
o100 endsub
...
o100 call
M2

для повтора, например 7 раз
Код: Выделить всёРазвернуть
o103 repeat [7]
...
o103 endrepeat

для цикла, пока не выполнено условие,
Код: Выделить всёРазвернуть
o101 while [#1 LT 10]
.....
o101 endwhile

для условного перехода,
Код: Выделить всёРазвернуть
o101 if [#31 EQ 3] 
  ....
o101 endif


AlexSVC писал(а):очень не хочу т.к. это приведет к потере той материальной и производственной базы (мастерская, офис) которой я сейчас пока еще обладаю.

Интересно как можно потерять то чем не обладаешь?!
Сферический ватник в вакууме.
Baha
Мастер
 
Сообщения: 605
Зарегистрирован: 29 сен 2008, 17:37
Откуда: Тараз-Москва
Репутация: 26

Re: Делаю систему управления ЧПУ CNC

Сообщение AlexSVC » 28 мар 2014, 11:29

Это в повсеместно используется в GRBL под Ардуино.
Судя по терминологии и по вашим "идеям", идей черпали в GRBL.

Не корректно сравнивать GRBL с моей системой. Я не сталкивался с GRBL и честно скажу сейчас просто бегло просмотрел его исходники, т.к. описания на русском не нашел. Как я понял GRBL предполагает передачу через COM порт непосредственно G-кодов, а все последующие этапы разбора возлагаются на микроконтроллер. У меня не так. У меня все вплоть до интерполяции выполняется на ПК и позволяет просмотреть\скорректировать результат этого до выполнения, потом все эти результаты сжимаются до размера сопоставимого с исходным размером G-кода и отсылаются на контроллер. По сути COM порт - лиш канал, вместо него можно пользовать хоть блутуз, хоть лан, хоть usb. Ну или использовать любой другой источник, абы выдавал поток достаточный для заданной частоты степов (500 байт\с для 4КГц в худшем случае).

Я буду ориентировать свою систему не только как ЧПУ с порталом, но и как 3D принтер.

------
Это штука без PID контроля никак "нормально работать" не будет. Потоу что как вы выразились для "программная модель электро-магнитного привода", тогда надо учитывать влияние диаметра фрезы, и инерционность системы в зависимости от конструкционного типа станков.

Ну планы у меня далеко идущие, но надо начинать с чего-то по-проще а потом развивать. Нормально работать оно будет только по той причине что шаговые двигатели без ПИД все-же работают. У меня пока то-же принцип. Параметры привода вбиваем максимальные, на что он способен, а потом ограничивем его возможности в процентах от его максималки. Ну вводим например расчитать траекторию с 50%(процент для разных материалов разный для пенопласта можно и 90% врулить) использованием двигателя для рабочей подачи и 90% для холостых перемещений. Оставшиеся проценты - на выкуп фрезе, инерционности и т.д.(кстати она уже используется при задании параметров привода, т.к. они на половину снимаются не с голого привода а с оси реального станка). У меня есть наработки драйвера ШД с обратной связью по приложенному усилию к валу ШД, это будет использовано потом.

Вообще планируется монолитный комплекс ПК-Контроллер-Драйвера-Блок Питания, с полным контролем всех элементов через ПК (ну там поменять настройки Драйвера или глянуть логи его и блока питания и т.д.). Про драйвера - это отдельная история и есть много наработок как по гашению резонанса так и по другим вопросам, но сам драйвер без связки с контроллером не позволяет реализовать весь потенциал, а контроллер требует поддержки со стороны ПК вот-и пришлось писать свое.

--------
что за "скорость стартовая"?
Я думаю вы с 2011 года в PlanetCNC и не заглядывали.

Ага, я начал писать свой вариант и туда заглядывать перестал , т.к. поддержку МК1 автор особо не ведет, а МК2 слишком дорог ну и в том что мне хочется реализовать никакой Мач и планет не поможет.

--------
вот то же самое, на покупном STM32 (NETduino), на базе GRBL, по COM порту, с софтом на компе,

Идеи полного разбора кода средствами контроллера я не рассматриваю, т.к. для этого по ресурсам нужен минимум Raspberry Pi или что-то в этом роде, остальное не может быть достаточно серьезным по причине банальной нехватки ОЗУ и\или перегруженности контроллера, может "виртуозы" и решат проблему дикой оптимизацией всего алгоритма, но по любому будут компромиссы а мне не хотелось себя ограничивать. Помимо всего пи нужен будет еще реал-тайм блок, ну и зачем этот пи если есть ПК ?, а в моем варианте никаких "мозговых" усилий со стороны контроллера не требуется.

---------
в Planete кроме своего, любой HIDUSB клавиши можно "прикрутить".

Это прям при работе в автономном режиме без ПК есть порт USB с режимом хаба, и планет обеспечивает средствами контроллера его полную поддержку ? Если так - то это круто. Но я все-же что-то по проще сделаю.
Если серьезно, то имелся ввиду пульт для автономной работы, ну там файл выбрать страт\стоп, нуль выставить.

---------
Может МК2 и всем хорош, только дорог. У меня будет другая ценовая категория. А по возможностям возможно и его перегоню, весь вопрос во времени, а у меня оно пока есть.
AlexSVC
Новичок
 
Сообщения: 37
Зарегистрирован: 27 мар 2014, 21:40
Откуда: Украина, г.Харьков.
Репутация: 14

Re: Делаю систему управления ЧПУ CNC

Сообщение AlexSVC » 28 мар 2014, 11:36

это контроллер стоимостью 500 рублей,

Гм, а программа уже бесплатная ?
AlexSVC
Новичок
 
Сообщения: 37
Зарегистрирован: 27 мар 2014, 21:40
Откуда: Украина, г.Харьков.
Репутация: 14

Re: Делаю систему управления ЧПУ CNC

Сообщение Baha » 28 мар 2014, 11:59

AlexSVC писал(а):Нормально работать оно будет только по той причине что шаговые двигатели без ПИД все-же работают. У меня пока то-же принцип. Параметры привода вбиваем максимальные, на что он способен, а потом ограничивем его возможности в процентах от его максималки. Ну вводим например расчитать траекторию с 50%(процент для разных материалов разный для пенопласта можно и 90% врулить) использованием двигателя для рабочей подачи и 90% для холостых перемещений. Оставшиеся проценты - на выкуп фрезе, инерционности и т.д.(кстати она уже используется при задании параметров привода, т.к. они на половину снимаются не с голого привода а с оси реального станка). У меня есть наработки драйвера ШД с обратной связью по приложенному усилию к валу ШД, это будет использовано потом.

Ну вы путаете мягкое с теплым. Одно дело работает, а другое дело работает на максимальной постоянной скорости. Ну подождем посмотрим что получиться.

AlexSVC писал(а): т.к. поддержку МК1 автор особо не ведет,

а что его поддерживать, сам микроконтроллер исчерпал свою возможность, потому и есть MK2, сейчас уже MK3.

AlexSVC писал(а):Может МК2 и всем хорош, только дорог. У меня будет другая ценовая категория. А по возможностям возможно и его перегоню, весь вопрос во времени, а у меня оно пока есть.

Когда перегоните тогда и поговорим.
Делаю систему управления ЧПУ CNC 77.jpg


AlexSVC писал(а):Гм, а программа уже бесплатная ?

Лицензия платная, а почему она должна быть бесплатная?! C постоянной поддержкой и развитием?! Вы что ему сыночек?
Вам если надо бесплатно, есть TurboCNC, EMC2, GRBL. Они ни чем не хуже работают PlanetCNC, особенно TurboCNC с токарным станком.
Сферический ватник в вакууме.
Baha
Мастер
 
Сообщения: 605
Зарегистрирован: 29 сен 2008, 17:37
Откуда: Тараз-Москва
Репутация: 26

Re: Делаю систему управления ЧПУ CNC

Сообщение aftaev » 28 мар 2014, 12:45

AlexSVC, выделяешь текст мышкой, тогда появится надпись цитировать выделенное :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 28823
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 4919
Медальки:

Re: Делаю систему управления ЧПУ CNC

Сообщение AlexSVC » 28 мар 2014, 13:46

aftaev писал(а):AlexSVC, выделяешь текст мышкой, тогда появится надпись цитировать выделенное :)

Я так могу, просто на нетбуке (я эти ответы с него писал) этот форум грузит проц под 100%, поэтому писал в другом месте, а сюда копипастил (мож хром захромал ? :) ). Сейчас с рабочего компа, тут вроде все в порядке.
AlexSVC
Новичок
 
Сообщения: 37
Зарегистрирован: 27 мар 2014, 21:40
Откуда: Украина, г.Харьков.
Репутация: 14

Re: Делаю систему управления ЧПУ CNC

Сообщение Impartial » 28 мар 2014, 14:34

AlexSVC писал(а):Скорость обработки так-же осталась на высоте ( 200 000 строк от слайсера обрабатывает в течении ~15 сек)

А что такое "слайсер" ?
Impartial
Мастер
 
Сообщения: 909
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 22

Re: Делаю систему управления ЧПУ CNC

Сообщение 2cme » 28 мар 2014, 14:47

AlexSVC писал(а): P.S. Спасибо за внимание, особенно тем кто дочитал до конца, извиняюсь за многабукав.

Вот бы еще разбавить вашу текстовку фотографиями и блок-схемами, рисуками ...
2cme
Почётный участник
Почётный участник
 
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -158
Медальки:

Re: Делаю систему управления ЧПУ CNC

Сообщение AlexSVC » 28 мар 2014, 14:57

2cme писал(а):Вот бы еще разбавить вашу текстовку фотографиями и блок-схемами, рисуками ...

Это будет позже.

Impartial писал(а):А что такое "слайсер" ?

Есть такая программка для генерации G-кода из 3D модели stl. Это для reprap всяких.
AlexSVC
Новичок
 
Сообщения: 37
Зарегистрирован: 27 мар 2014, 21:40
Откуда: Украина, г.Харьков.
Репутация: 14

След.

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

Кто сейчас на конференции

Зарегистрированные пользователи: alexey_ushakov, Argon-11, AVK74, Bing [Bot], cheeeter, evgenyjp, Евжений, Google [Bot], Kovus2, Leopold_V, Majestic-12 [Bot], Mamont, masterservo, Maxekb77, Mehobr, mikehv, MIX, Morze, Q-starь, tehnic, unior71, wenji, Yandex [bot], Yarrr

Поделиться

Reputation System ©'