Идеи ЧПУ устройств на STM32 / ARM

Контроллеры, драйверы, датчики, управляющие устройства.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Идеи устройств на STM32 для ЧПУ

Сообщение MX_Master »

Просмотрев еще одну тонну инструкций по USB для STM32, могу сделать вывод, что устройство получится не всеядное и не универсальное. Соответственно, надо будет делать отдельный GUI под каждую ОС, а под Андроид придётся писать приложение. Сей факт меня убедил вернуться обратно к Ethernet. Всё-таки HTTP и Web для управления - это самое универсальное. Можно сделать всего один HTML файл в роли GUI, и он откроется на любом устройстве.

Вощем, подожду пока придёт Ethernet модуль..
Сергей Саныч писал(а):Если сэмулировать FTDI, то винда, начиная с семерки, вроде как сама справится. А линукс, так уж точно.
Понял.
Сергей Саныч писал(а):Насчет STM32 VCP - не знаю.
VCP = Virtual COM Port
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Идеи устройств на STM32 для ЧПУ

Сообщение selenur »

MX_Master писал(а):ENC28J60
собирал устройства на такой МК, но ей рулила atmega, в итоге пришлось переписывать код, для минимизации использования тактов процессора, а потом попробовал w5100, и понял что даже цена вдвое выше иногда оправдана :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Идеи устройств на STM32 для ЧПУ

Сообщение MX_Master »

selenur писал(а):
MX_Master писал(а):ENC28J60
собирал устройства на такой МК, но ей рулила atmega, в итоге пришлось переписывать код, для минимизации использования тактов процессора, а потом попробовал w5100, и понял что даже цена вдвое выше иногда оправдана :-)
Запускал на Меге2560 + W5100 тестовый веб-сервер.. Работает. Но Мега2560 за 7$ довольно сильно проигрывает всё той же STM32F103C8T6 за 2$

Есть, кстати, W5500. В чём отличия - не знаю. Надо тоже на пробу заказать..
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Идеи устройств на STM32 для ЧПУ

Сообщение Serg »

Сергей Саныч писал(а):Если сэмулировать FTDI, то винда, начиная с семерки, вроде как сама справится. А линукс, так уж точно.
Просто винда, начиная с семёрки умеет сама подтягивать с репозитария MS подобные драйвера. HID - это единственный класс устройств, драйвер для которого стоит в винде "из коробки".
В Linux уже есть драйвера не на конкретные устройства конкретных производителей, а на весь класс устройств.
MX_Master писал(а):надо будет делать отдельный GUI под каждую ОС
Посмотри в сторону Python+Tk/Gtk и Tcl/Tk...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Идеи устройств на STM32 для ЧПУ

Сообщение Сергей Саныч »

UAVpilot писал(а):В Linux уже есть драйвера не на конкретные устройства конкретных производителей, а на весь класс устройств.
То есть, если подключить этот самый "STM32 VCP", то Linux примет его без лишних вопросов?
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Идеи устройств на STM32 для ЧПУ

Сообщение Serg »

Сергей Саныч писал(а):То есть, если подключить этот самый "STM32 VCP", то Linux примет его без лишних вопросов?
Да.

Уже наверно лет 10 как, если мне попадает в руки какое-то неизвестное устройство с интерфейсом USB или PCI, то я сначала втыкаю его в комп с Linux и он мне в логе рассказывает что это за устройство, после чего уже понятно где искать для него драйвера под винду. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Идеи ЧПУ устройств на STM32 / ARM

Сообщение MX_Master »

Давно еще читал статью про скорость GPIO на первом одноплатнике Raspberry Pi.
А в 2015 году было продолжение статьи в сравнении с Raspberry Pi 2.

Во всём этом меня удивили 22 Мгц (RPi) выходной частоты GPIO (и 41 Мгц у RPi2) в примере на чистом С.
И вот недавно прочитал про 20 МГц у Orange Pi PC..

Что-то мне подсказывает, что Orange Pi (от 12$), у которого уже есть Ethernet на борту, можно использовать как генератор шагов, а в последствии - и как отдельный контроллер. Если управление будет через веб-интерфейс, то видео выход там не понадобиться.

Кто пользовался этим Orange Pi? Расскажите про GPIO и скорость. Какие есть подводные камни в работе устройства?
Аватара пользователя
staltech
Почётный участник
Почётный участник
Сообщения: 544
Зарегистрирован: 01 июл 2016, 22:50
Репутация: 155
Настоящее имя: Сергей
Откуда: Пензенская обл., г. Никольск
Контактная информация:

Re: Идеи ЧПУ устройств на STM32 / ARM

Сообщение staltech »

MX_Master писал(а):Кто пользовался этим Orange Pi? Расскажите про GPIO и скорость. Какие есть подводные камни в работе устройства?
Есть в наличии Orange Pi Lite с установленной Armbian server, но скорость GPIO пока не проверял. При необходимости можно протестировать.
Меня там больше интересовал SPI. На данный момент пробовал вешать на нее ардуино по USB и рулить через вебморду по протоколу Websocket. Были эпизодические падения Orange PI с необходимость отключения питания, после того как перестал оставлять рядом мобильник вроде пропали.
Аватара пользователя
Argon-11
Мастер
Сообщения: 2068
Зарегистрирован: 07 июн 2017, 17:48
Репутация: 461
Контактная информация:

Re: Идеи ЧПУ устройств на STM32 / ARM

Сообщение Argon-11 »

MX_Master писал(а):Кто пользовался этим Orange Pi? Расскажите про GPIO и скорость. Какие есть подводные камни в работе устройства?
Использовать GPIO Orange Pi в качестве генератора шагов возможно, но как мне кажется, тратить ресурсы мощной платы на ногодрыжество неправильно. И кроме того - придется свой низкоуровневый драйвер писать, но нафига это нужно, если есть возможность более эффективно и быстро решить задачу? А вообще по слухам народ через GPIO выводил звук на внешний ЦАП, а это порядка 40кГц. У меня генератор шагов - STM32, а Orange Pi - GUI (ОС-Android), между ними SPI шарошит, несколько МГц. Пока не удалось разобраться как организовать полнодуплексный обмен без ковыряния в драйверах.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Идеи ЧПУ устройств на STM32 / ARM

Сообщение MX_Master »

Вчера читал о том как народ изолировал 1 ядро из 4-х и вешал на него задачу по встроенному таймеру с частотой 50 КГц. В задаче просто 1 нога дергалась, вывод был стабильным. Стессна, реалтайм ядро было.

Сложновато, канеш, на низком уровне выкраивать генератор. Но если сильно захотеть... А на высоком уровне (софтверном) - latency ограничивает. Куда не кинь, везде засада. Спасибо, за ответы. Оставлю идею на будущее..

Наверно придётся на первых парах свой GUI прямо в прошивку STM32 запихивать. А потом можно ко второму SPI подключить SD карту.
Аватара пользователя
staltech
Почётный участник
Почётный участник
Сообщения: 544
Зарегистрирован: 01 июл 2016, 22:50
Репутация: 155
Настоящее имя: Сергей
Откуда: Пензенская обл., г. Никольск
Контактная информация:

Re: Идеи ЧПУ устройств на STM32 / ARM

Сообщение staltech »

Возможно конструкция Orange PI + STM32 имеет право на жизнь как универсальный конструктор, не обязательно ограничивать применение только станками.
Есть возможность цеплять разные виды дисплеев, клавиатур, пультов, поддержка USB Flash, возможность дистанционного обновления ПО.
Аватара пользователя
Argon-11
Мастер
Сообщения: 2068
Зарегистрирован: 07 июн 2017, 17:48
Репутация: 461
Контактная информация:

Re: Идеи ЧПУ устройств на STM32 / ARM

Сообщение Argon-11 »

У меня Orange Pi Lite, год назад приобрел и начал спаривать с stm32. Тем временем китайцы выпустили еще более мелкую шняжку:
https://ru.aliexpress.com/item/Orange-P ... 49806.html

Вот я и думаю, не переразработать ли мне свой "конструктор" под новую OPiZ+2 ? Предыдущий слишком громоздким вышел - в спешке не продумана конструкция, пришлось нахлобучку с вентилятором делать.
opi.JPG (2639 просмотров) <a class='original' href='./download/file.php?id=116628&mode=view' target=_blank>Загрузить оригинал (73.96 КБ)</a>

В Orange Pi Zero Plus 2 привлекает низкопрофильность платы, прямое расположение процессора (радиатор проще установить) и наличие eMMC, т.е. при заливке ОС туда, слот microSD освобождается (хотя зачем, если есть USB?)
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Идеи ЧПУ устройств на STM32 / ARM

Сообщение MX_Master »

Argon-11 писал(а):У меня генератор шагов - STM32, а Orange Pi - GUI (ОС-Android), между ними SPI шарошит, несколько МГц
Каким способом шаги генерируешь на STM32? Аппаратно или программно?
Argon-11 писал(а):Вот я и думаю, не переразработать ли мне свой "конструктор" под новую OPiZ+2 ? Предыдущий слишком громоздким вышел
Я думаю, легче и быстрее провести тюнинг радиатора и вентилятора. Но лично я - за модульность. Всё в одну плату втыкать не нужно, нехай модули стоят рядом. При выходе из строя или апгрейде не надо будет менять основную плату.
staltech писал(а):Возможно конструкция Orange PI + STM32 имеет право на жизнь как универсальный конструктор, не обязательно ограничивать применение только станками.
Канеш, имеет. Если не только для станков, то горизонт устройств будет в разы больше. А вот для ЧПУ - не так много.
Аватара пользователя
Argon-11
Мастер
Сообщения: 2068
Зарегистрирован: 07 июн 2017, 17:48
Репутация: 461
Контактная информация:

Re: Идеи ЧПУ устройств на STM32 / ARM

Сообщение Argon-11 »

MX_Master писал(а):Каким способом шаги генерируешь на STM32? Аппаратно или программно?
Аппаратно, конечно! Иначе нафига в stm32 такие развитые таймеры?
Аватара пользователя
staltech
Почётный участник
Почётный участник
Сообщения: 544
Зарегистрирован: 01 июл 2016, 22:50
Репутация: 155
Настоящее имя: Сергей
Откуда: Пензенская обл., г. Никольск
Контактная информация:

Re: Идеи ЧПУ устройств на STM32 / ARM

Сообщение staltech »

Argon-11 писал(а):В Orange Pi Zero Plus 2 привлекает низкопрофильность платы, прямое расположение процессора (радиатор проще установить) и наличие eMMC
Тоже собираюсь в дальнейшем приобрести плату с eMMC, но скорее всего что то с наличием Lan. Кстати как себя SPI чувствует в твоем конструкторе, сбоев не бывает?
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Идеи ЧПУ устройств на STM32 / ARM

Сообщение MX_Master »

Argon-11 писал(а):
MX_Master писал(а):Каким способом шаги генерируешь на STM32? Аппаратно или программно?
Аппаратно, конечно! Иначе нафига в stm32 такие развитые таймеры?
Какой подход выбрал? Два таймера на ось или таймер+DMA?
Аватара пользователя
Argon-11
Мастер
Сообщения: 2068
Зарегистрирован: 07 июн 2017, 17:48
Репутация: 461
Контактная информация:

Re: Идеи ЧПУ устройств на STM32 / ARM

Сообщение Argon-11 »

staltech писал(а):Кстати как себя SPI чувствует
Все ок. У проца Allwinner H3 буфер FIFO SPI вроде 64 байта. Я ожидал, при пересылке больших блоков будут паузы между 64-байтными фрагментами. Но нет, все четко и ширина импульсов стабильная.
Девайс у меня под Android-ом по двум причинам: быстрая загрузка ОС и возможен юзер интерфейс с использованием аппаратных возможностей H3. В armbian и прочих вроде нет оптимизации под ускоритель. А у Android другой минус - запускающийся Garbage Collector, который может тормознуть процесс SPI обмена. Но я пока так глубоко не вникал. Работа еще как бы в начале.
MX_Master писал(а): Какой подход выбрал? Два таймера на ось или таймер+DMA?
У меня нет потребности в точном соблюдении количества выданных STEP, поэтому упрощенно: выдача ШИМ с помощью одного таймера (предварительно вычисляю частоту) в течение заданного интервала времени. Интервал времени - по системному таймеру. А вообще когда проектировал схему, замысливал 2 таймера на канал STEP. Один таймер ШИМит, второй в режиме Capture/Compare следит за выданным кол-вом STEP-ов. По достижении требуемого кол-ва срабатывает прерывание, в к-ром можно прекратить ШИМ. Ну это если требуется точная выдача STEP.
В схеме заложен STM32F205RE, получилось максимум 4 двухтаймерных канала STEP.
А вообще правильные разработчики FPGA применяют.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Идеи ЧПУ устройств на STM32 / ARM

Сообщение MX_Master »

Если, всё-таки, кто-то захочет поиграть с аппаратной начинкой Orange Pi, а также с GPIO на низком уровне, то есть несколько примеров.

Аппаратный ШИМ (PWM) до 24 МГц: GPIO либки на C++, ASM, Lisp: Примеры работы с аппаратной начинкой, с таймерами:
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Идеи ЧПУ устройств на STM32 / ARM

Сообщение MX_Master »

Думал, думал.. возьму на пробу orange pi zero с 512мб озу. Поиграюсь с isolcpus, taskset, sched_setaffinity и низкоуровневым управлением GPIO. Проверю на анализаторе вывод при нагрузках системы. Замерю при тех же нагрузках Latency..
Аватара пользователя
Argon-11
Мастер
Сообщения: 2068
Зарегистрирован: 07 июн 2017, 17:48
Репутация: 461
Контактная информация:

Re: Идеи ЧПУ устройств на STM32 / ARM

Сообщение Argon-11 »

Orange pi zero не имеет hdmi разъема. Т.е. если подключать к нему какой-то монитор, то только ТВ с аналоговым входом.
Ответить

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