Страница 4 из 12
Re: Идеи устройств на STM32 для ЧПУ
Добавлено: 09 июл 2017, 20:02
aftaev
MX_Master писал(а):Я бы не заморачивался и взял любой серво кетайский пак.
У него есть интересное видео и про китайский пак. Так понимаю если степ/дир оторвется, станок нужно будет ловить у соседа в гараже
https://www.youtube.com/watch?v=iVSW0IJ ... kBMHlx2wiA
Re: Идеи устройств на STM32 для ЧПУ
Добавлено: 09 июл 2017, 20:41
MX_Master
Когда тестировал китайскую плату MKS SBASE со Smoothieware в качестве прошивки, один раз поймал глюк, при котором статичный портал дёрнулся на 2 метра за пол секунды. Я даже напугаться не успел. Косяк был в прошивке Smoothieware, уже исправили. А вот кетайская плата вела себя адекватно. В общем-то, из-за остальных косяков авторов прошивки бросил эксперименты с этим Smoothieware и перешёл на LinuxCNC. И опять же на чисто китайской материнке, которую вытащили из чисто кетайского POS терминала.
Тут дело не в Китае, а в отношении производителя к своей разработке.
Re: Идеи устройств на STM32 для ЧПУ
Добавлено: 17 июл 2017, 17:53
MX_Master
Понравилось мне ковыряться с аппаратными генераторами STEP/DIR.. Недавно нарыл ещё один способ, который не кушает много оперативки. А вывод шагов на 4 оси стабильно держит до 2.5 МГц.
Не один из бюджетных контроллеров столько выдать не может. Поэтому задумался над тем, чтобы сделать простую, но всеядную выполнялку движений по STEP/DIR. Не контроллер, а именно выполнялку приказов по движению. А всеядную - чтоб можно было получать приказы любым способом - по USB, Ethernet, WiFi, и т.д. Т.е. вся логика контроллера, планировщик и всё всё остальное находятся на отдельном устройстве, будь-то ПК, ноут или планшет. А эта штуковина должна точно и в срок генерировать STEP/DIR/ENBL по заказу.
Re: Идеи устройств на STM32 для ЧПУ
Добавлено: 17 июл 2017, 17:56
selenur
Главное! что-бы ещё ускорение торможение поддерживала

Re: Идеи устройств на STM32 для ЧПУ
Добавлено: 17 июл 2017, 18:00
MX_Master
selenur писал(а):Главное! что-бы ещё ускорение торможение поддерживала

Самое время снова зажечь огонь на тему
S-кривых разгона и торможения 
Ускорения, стессна, будут. Есть несколько вариантов на эту тему.
Изначально думал делать сие под LinuxCNC, в качестве недорого аппаратного контроллера. А потом подумалось, что LinuxCNC это всего лишь один из многих вариантов и надо делать что-то всеядное.
Re: Идеи устройств на STM32 для ЧПУ
Добавлено: 17 июл 2017, 19:04
donvictorio
MX_Master писал(а):Понравилось мне ковыряться с аппаратными генераторами STEP/DIR.. Недавно нарыл ещё один способ, который не кушает много оперативки. А вывод шагов на 4 оси стабильно держит до 2.5 МГц.
Не один из бюджетных контроллеров столько выдать не может. Поэтому задумался над тем, чтобы сделать простую, но всеядную выполнялку движений по STEP/DIR. Не контроллер, а именно выполнялку приказов по движению. А всеядную - чтоб можно было получать приказы любым способом - по USB, Ethernet, WiFi, и т.д. Т.е. вся логика контроллера, планировщик и всё всё остальное находятся на отдельном устройстве, будь-то ПК, ноут или планшет. А эта штуковина должна точно и в срок генерировать STEP/DIR/ENBL по заказу.
ты придумал kflop

Re: Идеи устройств на STM32 для ЧПУ
Добавлено: 17 июл 2017, 19:06
MX_Master
Kflop за 2 бакса (:
Re: Идеи устройств на STM32 для ЧПУ
Добавлено: 17 июл 2017, 19:37
Argon-11
Что-то подобное делаю на основе STM32F205 + одноплатник Orange Pi Lite.
Это будет поршневой дозатор двухкомпонентных жидкостей. Orange Pi выполняет юзер интерфейс, STM32 рулит шаговиками и прочими исполнительными устройствами, опрашивает датчики. Взаимосвязь их будет по SPI. Также будет ф-ция синхронного ускорения/торможения ШД, выполненная на основе аппаратных возможностей таймеров STM32. Ну и наверное попробую организовать "подсчет", а точнее выдачу импульсов STEP также аппаратно. Если не лень будет (в моей задаче абсолютно точное значение выданных шагов роли не играет).
Re: Идеи устройств на STM32 для ЧПУ
Добавлено: 17 июл 2017, 20:42
Гагарин
Мысли всегда у нескольких людей рождаются одновременно.
Буквально на той неделе решил все-таки попробовать сделать "генератор шагов" , правда на atmege328 для linuxcnc.Но раз есть человек, который работает с более мощными микроконтроллерами, то пока поделюсь идеей.
Связь через usb. Тема такая была и основная проблема известна - нет гарантий передачи пакета за сервопериод.
Решение по этапам:
1)stepgen заменяется своим компонентом, который работает только в сервопериоде. Потребность в функции, работающей в базовом периоде, отпадает. Самописный stepgen каждый сервопривод собирает массив перемещей в ед.времени и конвертирует их в понятные для микроконтроллера величины для настройки таймера. Дальше этот массив передается на микроконтроллер.
2) микроконтроллер получает эти данные и с задержкой начинает их последовательно пережевывать(генерировать шаги). Задержка должна гарантировано компенсировать неопределенность по времени передачи по usb-порту. Возможно задержки в 10мс хватит.
3) Обратно на пк периодически передается инфа о количестве генерированных шагов для контроля. Естественно все события , требующие мгновенной реакции(лимит, хомы и т.д.) отрабатываются микроконтроллером.
4) так же микроконтроллер используется для расширения входов/выходов.
Re: Идеи устройств на STM32 для ЧПУ
Добавлено: 17 июл 2017, 21:04
aftaev
Гагарин писал(а):Задержка должна гарантировано компенсировать неопределенность по времени передачи по usb-порту.
А что делать когда USB глюкнет от помехи в цеху?
Re: Идеи устройств на STM32 для ЧПУ
Добавлено: 17 июл 2017, 21:14
Гагарин
aftaev писал(а):Гагарин писал(а):Задержка должна гарантировано компенсировать неопределенность по времени передачи по usb-порту.
А что делать когда USB глюкнет от помехи в цеху?
Думал об этом. Пока приходит мысль об плавной остановке станка силами микроконтроллера в случае сбоя связи.
Re: Идеи устройств на STM32 для ЧПУ
Добавлено: 17 июл 2017, 21:17
donvictorio
aftaev писал(а):А что делать когда USB глюкнет от помехи в цеху?
как вариант - не использовать эту штуку в цеху. так, дома, хобби. для цеха есть вещи на ethercat
Re: Идеи устройств на STM32 для ЧПУ
Добавлено: 17 июл 2017, 21:21
aftaev
donvictorio писал(а):как вариант - не использовать эту штуку в цеху. так, дома, хобби.
У меня дома периодически Винда пикает, это значит что какое то из устройств USB отключилось и тут же включилось. И это не в цеху
donvictorio писал(а):так, дома, хобби, для цеха есть вещи на ethercat
Если делать, так сразу нормально чтоб потом не переделывать

Re: Идеи устройств на STM32 для ЧПУ
Добавлено: 17 июл 2017, 21:59
MX_Master
USB в цеху - не к добру. А вот
Ethernet.. На этот предмет можно объединить две платки
- макетку с STM32F103C8T6 - 1.9$
- сетевой модуль на основе ENC28J60 - 2.5$
И дальше использовать кому что нравится..
TCP, UDP, HTTP, ..
Для любителей
Wi-Fi (для меня) можно в комплект добавить еще и
Re: Идеи устройств на STM32 для ЧПУ
Добавлено: 18 июл 2017, 19:15
MX_Master
Гагарин писал(а):Мысли всегда у нескольких людей рождаются одновременно.
Буквально на той неделе решил все-таки попробовать сделать "генератор шагов" , правда на atmege328 для linuxcnc.Но раз есть человек, который работает с более мощными микроконтроллерами, то пока поделюсь идеей.
Связь через usb. Тема такая была и основная проблема известна - нет гарантий передачи пакета за сервопериод.
Решение по этапам:
1)stepgen заменяется своим компонентом, который работает только в сервопериоде. Потребность в функции, работающей в базовом периоде, отпадает. Самописный stepgen каждый сервопривод собирает массив перемещей в ед.времени и конвертирует их в понятные для микроконтроллера величины для настройки таймера. Дальше этот массив передается на микроконтроллер.
2) микроконтроллер получает эти данные и с задержкой начинает их последовательно пережевывать(генерировать шаги). Задержка должна гарантировано компенсировать неопределенность по времени передачи по usb-порту. Возможно задержки в 10мс хватит.
3) Обратно на пк периодически передается инфа о количестве генерированных шагов для контроля. Естественно все события , требующие мгновенной реакции(лимит, хомы и т.д.) отрабатываются микроконтроллером.
4) так же микроконтроллер используется для расширения входов/выходов.
Пару месяцев назад наткнулся на github репку с
USB контроллером для
LinuxCNC на бюджетке с
STM32F103C8T6.
Рекомендую к ознакомлению -
https://github.com/dabit20/dabitusb_cnc
https://www.youtube.com/watch?v=S-OcvVdvABM
Re: Идеи устройств на STM32 для ЧПУ
Добавлено: 18 июл 2017, 20:28
selenur
Re: Идеи устройств на STM32 для ЧПУ
Добавлено: 19 июл 2017, 11:49
MX_Master
Заказал эти платки
А пока надо работать с
USB. И тут первый вопрос - как это лучше организовать? Канеш, желательно, чтоб устройство было доступно для любой ОСи без установки доп. драйверов. А вторым вопросом будет софт на стороне ПК, хотя бы тестовый, для отправки и получения сообщений.
На первый вопрос ответом может стать
USB HID (Custom HID). Подскажите еще варианты, кто в теме.
Второй вопрос пока открыт.
Re: Идеи устройств на STM32 для ЧПУ
Добавлено: 19 июл 2017, 12:08
Сергей Саныч
MX_Master писал(а):желательно, чтоб устройство было доступно для любой ОСи без установки доп. драйверов.
Виртуальный COM-порт. Эмуляция распространенных конверторов, например, серии FTDI. Тогда для отладки можно будет пользоваться любой терминальной программой.
Re: Идеи устройств на STM32 для ЧПУ
Добавлено: 19 июл 2017, 12:41
MX_Master
Сергей Саныч писал(а):MX_Master писал(а):желательно, чтоб устройство было доступно для любой ОСи без установки доп. драйверов.
Виртуальный COM-порт. Эмуляция распространенных конверторов, например, серии FTDI. Тогда для отладки можно будет пользоваться любой терминальной программой.
Могу ошибаться, но драйвер всё равно придётся ставить? В интернетах любая инструкция про STM32 VCP начинается со слов "нужно установить следующий драйвер..". И, обычно, это
https://my.st.com/content/my_st_com/en/ ... 32102.html
Re: Идеи устройств на STM32 для ЧПУ
Добавлено: 19 июл 2017, 13:03
Сергей Саныч
MX_Master писал(а):Могу ошибаться, но драйвер всё равно придётся ставить?
Если сэмулировать FTDI, то винда, начиная с семерки, вроде как сама справится. А линукс, так уж точно.
Насчет STM32 VCP - не знаю.