Страница 53 из 71

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Добавлено: 10 фев 2021, 21:02
vmarkiv
https://www.ebay.com/itm/Dual-LS7366R-Q ... SwyKheyyCp работает по SPI . В NVEM можно засунуть ?

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Добавлено: 10 фев 2021, 21:16
Kost_irk
Нужные пины отпилить и проводками накидать, счетчики переназначить.

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Добавлено: 10 фев 2021, 22:13
MX_Master
Это на своём экземпляре готового контроллера я могу что-то отпилить и припаять. На чужих - нет :)

Поэтому задача требует программного решения. И, по-моему, я уже знаю как вести подсчёт, загружая проц МК только по необходимости. Надо повесить одно прерывание на событие изменения нужных входных сигналов (EXTI). Тогда проверка состояния пинов и код подсчёта будут выполняться, только когда нужно, а не постоянно.

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Добавлено: 10 фев 2021, 22:26
Serg
MX_Master писал(а): Что-то мне подсказывает, что запустить постоянное прерывание на высокой частоте (400-800 КГц) - это довольно расточительно :think: Контроллеру не будет хватать времени на другие дела. Нужен какой-то более хитрый способ :freak:
Надо не думать, а посчитать время, нужное на обработку такого прерывания: считать другой вход и соотв. увеличить или уменьшить счётчик, сбросить флаг... Прерывание можно "вешать" только на один вход. :)

Но т.к. быстрые энкодеры не всем нужны, то логичнее было бы сделать счётчики на отдельных МК, например на F0, G0, L0 и забирать с них значения по I2C/SPI.
Ибо не стоит пытаться объять необъятное. :)

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Добавлено: 10 фев 2021, 22:56
MX_Master
Два SPI, кстати, наружу есть. Как и два RS232. И доп. устройства подключить вполне себе можно. Но сделать программный счётчик, если есть возможность, тоже неплохо.

Такты, да, примерно считал. Если прерывание будет примерно на 200 тактов, то в теории при 120 МГц чаще 600 КГц вызывать не получится. Стессна, это без учёта других дел и прерываний МК. Если всё учесть, ну где-то 100КГц. Что тоже неплохо. Но главное, если есть возможность, не вызывать его постоянно, это будет ещё лучше.

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Добавлено: 12 фев 2021, 04:24
Kost_irk
MX_Master писал(а): Это на своём экземпляре готового контроллера я могу что-то отпилить и припаять. На чужих - нет
Не вижу никаких проблем, это называется отладка железа. Кому надо - сделают, остальные пойдут лесом. Если руки из жопы - контор по ремонту электроники полно. В следующей версии железа учесть. Даже в оборудовании именитых контор проводки попадаются.
MX_Master писал(а): Надо повесить одно прерывание на событие изменения нужных входных сигналов (EXTI). Тогда проверка состояния пинов и код подсчёта будут выполняться, только когда нужно, а не постоянно
Только не забудьте учесть, что каждый энкодер будет свое прерывание генерить, что отрицательно сказывается на их количестве, а если это происходит синхронно и быстро - можно опоздать к проверке второго входа. Аппаратную периферию не просто так придумали, если бы все было так просто - то дрыгали бы ногами и все. А что, в этих ваших стмах коммутатор периферии не завезли?

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Добавлено: 12 фев 2021, 06:54
MX_Master
В готовом китайском контроллере NVEM, на котором я тренируюсь, ничего физически менять и добавлять не надо. Программный счётчик это просто приятный бонус.

В стм'ах комутатор пинов есть, но он не настолько всесилен, чтобы менять любые пины местами. Это, всё-таки, не плисинка.

На все внешние события (EXTI) можно по факту повесить только один обработчик. Внутри него можно не только считать, но и рулить флажками новых прерываний, если такие появились прямо во время подсчёта.

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Добавлено: 16 фев 2021, 18:41
MX_Master
:hehehe: опять я в этом STM32F2/F4 наступил на те же грабли с двумя DMA контроллерами (DMA1, DMA2). Из-за "китайской" разводки контроллера NVEM приходится искать обходные пути для высокочастотного вывода сигналов. Для каждого STEP канала я юзаю связку "Аппаратный таймер > DMA канал > GPIO порт". Но львиная доля аппаратных таймеров завязана на DMA1, который не имеет доступа к GPIO. Доступ есть только у DMA2, с которым связана только пара аппаратных таймеров.

По итогу, чтобы вывод шагов на NVEM'ках был максимально быстрым (хотя б до 2 МГц), надо в компромиссе найти ещё один компромисс. Использовать для вывода шагов для 6-ти каналов не 6 таймеров, а всего 2. И как-то там выкручиваться с заданием частот для разных каналов. Ещё один компромиссный способ я, канеш, придумал. Но при нём на смену частоты всех 6-ти каналов может уйти до половины миллисекунды. Чем меньше каналов используется, тем времени уходит меньше, но всё равно расточительно. Плюс ко всему, выходная частота получается не совсем точной и прыгает скважность.

Вощем, мысль "развести свою плату" приходит в моск всё чаще с каждым новым открытием на тестах :freak:

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Добавлено: 16 фев 2021, 19:56
D.L.
MX_Master писал(а): Вощем, мысль "развести свою плату" приходит в моск всё чаще с каждым новым открытием на тестах
А после разведения платы под stm32 придёт мысль что надо было разводить плату под sp6 :) , уровень сложности примерно одинаковый.

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Добавлено: 16 фев 2021, 20:03
alex_sar
D.L. писал(а): А после разведения платы под stm32 придёт мысль что надо было разводить плату под sp6 , уровень сложности примерно одинаковый.
А потом чего доброго придёт мысль что MESA то уже этого того, давно сделана )

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Добавлено: 16 фев 2021, 20:23
D.L.
alex_sar писал(а): А потом чего доброго придёт мысль что MESA то уже этого того, давно сделана )
А кого это останавливало, клоны и месаподобное появляется регулярно. :)

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Добавлено: 16 фев 2021, 20:49
MX_Master
Месы с полным обвесом обходятся покупателю от 200$. Без обвеса - от 90$. Российский клон - от 70$. Если собрать что-то похожее на 7i92, но с STM32 на борту, обойдётся в 10-20$. Для конечного покупателя получится 40-50$. Если собрать с обвесом - 30-40$, для покупателя - 60-70$. Если б я был обычным покупателем и выбирал, что прикупить, цена и функционал - вполне себе адекватные ;) По большому счёту, покупателю всё равно какой там чип. Главное, чтобы работало быстро, надёжно и, по возможности, недорого.

Да, вощем-то, и месы за 200$ для многих не проблема на фоне всего прочего. Но есть ряд проектов, где месы будут избыточны :) И микроконтроллера хватит с головой.

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Добавлено: 16 фев 2021, 20:58
alex_sar
Да, mesa дороговата для мелочи, но можно сделать недорогой клон.
Вот инфа для размышления
https://jlcpcb.com/parts/componentSearc ... 9-2TQG144C
Сам чип будет стоить $4.6 от 10 штук, всё остальное там мелочь.
Ну разъемы ещё денег стоят.
STM32F4 будет по цене в том же районе, не вижу там никакой экономии.

И ничего не надо мутить с нуля, всё уже проверено тыщами леммингов. Скучно, но практично.

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Добавлено: 16 фев 2021, 21:09
MX_Master
Да чё там размышлять.. Делать клон просто для личных нужд - смысла нет :) К тому же, для себя я могу простую макетку поставить. Скоро, кстати, так и придётся сделать.

Цельный готовый контроллер нужен для других людей. Желательно, с русской поддержкой и доками. Английские доки по LinuxCNC и месе вызывают у некоторых покупателей небольшое помутнение :freak:

После контроллера у меня в планах человеко-понятная система ЧПУ на основе LinuxCNC. Так что свой контроллер понадобится в любом случае.

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Добавлено: 16 фев 2021, 21:15
alex_sar
То есть с нуля сделать контроллер, прошивку, драйвера в linuxcnc и документацию проще, чем клона mesa и перевести документацию? Ну ОК, пускай так )

В любом случае удачи! Больше контроллеров, меньше цены.

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Добавлено: 16 фев 2021, 21:28
MX_Master
В конечном итоге, я хочу сделать так, чтобы настройка системы и контроллера были в пару кликов. Ну а полагаться на другого (американского) производителя, переводить его доки - это такое себе. Можно потом все результаты труда потерять, если производитель сменит курс.

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Добавлено: 16 фев 2021, 21:49
COM9000
MX_Master писал(а): После контроллера у меня в планах человеко-понятная система ЧПУ на основе LinuxCNC
PathPilot ?

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Добавлено: 16 фев 2021, 22:07
MX_Master
ПутьПилот заточен под конкретные ПК и станки компании. Он не общедоступен.

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Добавлено: 16 фев 2021, 23:17
COM9000
MX_Master писал(а): Он не общедоступен.
Его можно купить за очень вменяемые деньги.

Re: Контроллер для LinuxCNC (Ethernet + STM32)

Добавлено: 16 фев 2021, 23:39
MX_Master
Флэшка за 25$ с резервным образом системы, которая настроена и предназначена только для их контроллера - это ни разу не общедоступная система :) Возможность настроить эту систему для работы с другими контроллерами, конечно, есть, но не гарантирует никакой поддержки от производителя от слова совсем. С таким же успехом (а то и лучше), можно поставить и настроить обычную LinuxCNC.