Страница 5 из 12

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

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

Вощем, подожду пока придёт Ethernet модуль..
Сергей Саныч писал(а):Если сэмулировать FTDI, то винда, начиная с семерки, вроде как сама справится. А линукс, так уж точно.
Понял.
Сергей Саныч писал(а):Насчет STM32 VCP - не знаю.
VCP = Virtual COM Port

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

Добавлено: 19 июл 2017, 13:43
selenur
MX_Master писал(а):ENC28J60
собирал устройства на такой МК, но ей рулила atmega, в итоге пришлось переписывать код, для минимизации использования тактов процессора, а потом попробовал w5100, и понял что даже цена вдвое выше иногда оправдана :-)

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

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

Есть, кстати, W5500. В чём отличия - не знаю. Надо тоже на пробу заказать..

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

Добавлено: 19 июл 2017, 14:42
Serg
Сергей Саныч писал(а):Если сэмулировать FTDI, то винда, начиная с семерки, вроде как сама справится. А линукс, так уж точно.
Просто винда, начиная с семёрки умеет сама подтягивать с репозитария MS подобные драйвера. HID - это единственный класс устройств, драйвер для которого стоит в винде "из коробки".
В Linux уже есть драйвера не на конкретные устройства конкретных производителей, а на весь класс устройств.
MX_Master писал(а):надо будет делать отдельный GUI под каждую ОС
Посмотри в сторону Python+Tk/Gtk и Tcl/Tk...

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

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

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

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

Уже наверно лет 10 как, если мне попадает в руки какое-то неизвестное устройство с интерфейсом USB или PCI, то я сначала втыкаю его в комп с Linux и он мне в логе рассказывает что это за устройство, после чего уже понятно где искать для него драйвера под винду. :)

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

Добавлено: 21 июл 2017, 23:08
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 и скорость. Какие есть подводные камни в работе устройства?

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

Добавлено: 22 июл 2017, 08:48
staltech
MX_Master писал(а):Кто пользовался этим Orange Pi? Расскажите про GPIO и скорость. Какие есть подводные камни в работе устройства?
Есть в наличии Orange Pi Lite с установленной Armbian server, но скорость GPIO пока не проверял. При необходимости можно протестировать.
Меня там больше интересовал SPI. На данный момент пробовал вешать на нее ардуино по USB и рулить через вебморду по протоколу Websocket. Были эпизодические падения Orange PI с необходимость отключения питания, после того как перестал оставлять рядом мобильник вроде пропали.

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

Добавлено: 22 июл 2017, 09:00
Argon-11
MX_Master писал(а):Кто пользовался этим Orange Pi? Расскажите про GPIO и скорость. Какие есть подводные камни в работе устройства?
Использовать GPIO Orange Pi в качестве генератора шагов возможно, но как мне кажется, тратить ресурсы мощной платы на ногодрыжество неправильно. И кроме того - придется свой низкоуровневый драйвер писать, но нафига это нужно, если есть возможность более эффективно и быстро решить задачу? А вообще по слухам народ через GPIO выводил звук на внешний ЦАП, а это порядка 40кГц. У меня генератор шагов - STM32, а Orange Pi - GUI (ОС-Android), между ними SPI шарошит, несколько МГц. Пока не удалось разобраться как организовать полнодуплексный обмен без ковыряния в драйверах.

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

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

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

Наверно придётся на первых парах свой GUI прямо в прошивку STM32 запихивать. А потом можно ко второму SPI подключить SD карту.

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

Добавлено: 22 июл 2017, 13:25
staltech
Возможно конструкция Orange PI + STM32 имеет право на жизнь как универсальный конструктор, не обязательно ограничивать применение только станками.
Есть возможность цеплять разные виды дисплеев, клавиатур, пультов, поддержка USB Flash, возможность дистанционного обновления ПО.

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

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

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

В Orange Pi Zero Plus 2 привлекает низкопрофильность платы, прямое расположение процессора (радиатор проще установить) и наличие eMMC, т.е. при заливке ОС туда, слот microSD освобождается (хотя зачем, если есть USB?)

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

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

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

Добавлено: 22 июл 2017, 16:40
Argon-11
MX_Master писал(а):Каким способом шаги генерируешь на STM32? Аппаратно или программно?
Аппаратно, конечно! Иначе нафига в stm32 такие развитые таймеры?

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

Добавлено: 22 июл 2017, 17:08
staltech
Argon-11 писал(а):В Orange Pi Zero Plus 2 привлекает низкопрофильность платы, прямое расположение процессора (радиатор проще установить) и наличие eMMC
Тоже собираюсь в дальнейшем приобрести плату с eMMC, но скорее всего что то с наличием Lan. Кстати как себя SPI чувствует в твоем конструкторе, сбоев не бывает?

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

Добавлено: 22 июл 2017, 17:22
MX_Master
Argon-11 писал(а):
MX_Master писал(а):Каким способом шаги генерируешь на STM32? Аппаратно или программно?
Аппаратно, конечно! Иначе нафига в stm32 такие развитые таймеры?
Какой подход выбрал? Два таймера на ось или таймер+DMA?

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

Добавлено: 22 июл 2017, 17:36
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 применяют.

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

Добавлено: 22 июл 2017, 21:08
MX_Master
Если, всё-таки, кто-то захочет поиграть с аппаратной начинкой Orange Pi, а также с GPIO на низком уровне, то есть несколько примеров.

Аппаратный ШИМ (PWM) до 24 МГц: GPIO либки на C++, ASM, Lisp: Примеры работы с аппаратной начинкой, с таймерами:

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

Добавлено: 23 июл 2017, 11:56
MX_Master
Думал, думал.. возьму на пробу orange pi zero с 512мб озу. Поиграюсь с isolcpus, taskset, sched_setaffinity и низкоуровневым управлением GPIO. Проверю на анализаторе вывод при нагрузках системы. Замерю при тех же нагрузках Latency..

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

Добавлено: 23 июл 2017, 14:15
Argon-11
Orange pi zero не имеет hdmi разъема. Т.е. если подключать к нему какой-то монитор, то только ТВ с аналоговым входом.