Ethernet контроллер для LinuxCNC (STM32, FPGA)
-
vmarkiv
- Мастер
- Сообщения: 516
- Зарегистрирован: 21 янв 2012, 00:23
- Репутация: 32
- Откуда: Ивано-Франковск
- Контактная информация:
Re: Контроллер для LinuxCNC (Ethernet + STM32)
https://www.ebay.com/itm/Dual-LS7366R-Q ... SwyKheyyCp работает по SPI . В NVEM можно засунуть ?
-
Kost_irk
- Мастер
- Сообщения: 1000
- Зарегистрирован: 19 июл 2018, 07:46
- Репутация: 194
- Откуда: Иркутск
- Контактная информация:
Re: Контроллер для LinuxCNC (Ethernet + STM32)
Нужные пины отпилить и проводками накидать, счетчики переназначить.
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Контроллер для LinuxCNC (Ethernet + STM32)
Это на своём экземпляре готового контроллера я могу что-то отпилить и припаять. На чужих - нет
Поэтому задача требует программного решения. И, по-моему, я уже знаю как вести подсчёт, загружая проц МК только по необходимости. Надо повесить одно прерывание на событие изменения нужных входных сигналов (EXTI). Тогда проверка состояния пинов и код подсчёта будут выполняться, только когда нужно, а не постоянно.
Поэтому задача требует программного решения. И, по-моему, я уже знаю как вести подсчёт, загружая проц МК только по необходимости. Надо повесить одно прерывание на событие изменения нужных входных сигналов (EXTI). Тогда проверка состояния пинов и код подсчёта будут выполняться, только когда нужно, а не постоянно.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Контроллер для LinuxCNC (Ethernet + STM32)
Надо не думать, а посчитать время, нужное на обработку такого прерывания: считать другой вход и соотв. увеличить или уменьшить счётчик, сбросить флаг... Прерывание можно "вешать" только на один вход.
Но т.к. быстрые энкодеры не всем нужны, то логичнее было бы сделать счётчики на отдельных МК, например на F0, G0, L0 и забирать с них значения по I2C/SPI.
Ибо не стоит пытаться объять необъятное.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Контроллер для LinuxCNC (Ethernet + STM32)
Два SPI, кстати, наружу есть. Как и два RS232. И доп. устройства подключить вполне себе можно. Но сделать программный счётчик, если есть возможность, тоже неплохо.
Такты, да, примерно считал. Если прерывание будет примерно на 200 тактов, то в теории при 120 МГц чаще 600 КГц вызывать не получится. Стессна, это без учёта других дел и прерываний МК. Если всё учесть, ну где-то 100КГц. Что тоже неплохо. Но главное, если есть возможность, не вызывать его постоянно, это будет ещё лучше.
Такты, да, примерно считал. Если прерывание будет примерно на 200 тактов, то в теории при 120 МГц чаще 600 КГц вызывать не получится. Стессна, это без учёта других дел и прерываний МК. Если всё учесть, ну где-то 100КГц. Что тоже неплохо. Но главное, если есть возможность, не вызывать его постоянно, это будет ещё лучше.
-
Kost_irk
- Мастер
- Сообщения: 1000
- Зарегистрирован: 19 июл 2018, 07:46
- Репутация: 194
- Откуда: Иркутск
- Контактная информация:
Re: Контроллер для LinuxCNC (Ethernet + STM32)
Не вижу никаких проблем, это называется отладка железа. Кому надо - сделают, остальные пойдут лесом. Если руки из жопы - контор по ремонту электроники полно. В следующей версии железа учесть. Даже в оборудовании именитых контор проводки попадаются.
Только не забудьте учесть, что каждый энкодер будет свое прерывание генерить, что отрицательно сказывается на их количестве, а если это происходит синхронно и быстро - можно опоздать к проверке второго входа. Аппаратную периферию не просто так придумали, если бы все было так просто - то дрыгали бы ногами и все. А что, в этих ваших стмах коммутатор периферии не завезли?
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Контроллер для LinuxCNC (Ethernet + STM32)
В готовом китайском контроллере NVEM, на котором я тренируюсь, ничего физически менять и добавлять не надо. Программный счётчик это просто приятный бонус.
В стм'ах комутатор пинов есть, но он не настолько всесилен, чтобы менять любые пины местами. Это, всё-таки, не плисинка.
На все внешние события (EXTI) можно по факту повесить только один обработчик. Внутри него можно не только считать, но и рулить флажками новых прерываний, если такие появились прямо во время подсчёта.
В стм'ах комутатор пинов есть, но он не настолько всесилен, чтобы менять любые пины местами. Это, всё-таки, не плисинка.
На все внешние события (EXTI) можно по факту повесить только один обработчик. Внутри него можно не только считать, но и рулить флажками новых прерываний, если такие появились прямо во время подсчёта.
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Контроллер для LinuxCNC (Ethernet + STM32)
По итогу, чтобы вывод шагов на NVEM'ках был максимально быстрым (хотя б до 2 МГц), надо в компромиссе найти ещё один компромисс. Использовать для вывода шагов для 6-ти каналов не 6 таймеров, а всего 2. И как-то там выкручиваться с заданием частот для разных каналов. Ещё один компромиссный способ я, канеш, придумал. Но при нём на смену частоты всех 6-ти каналов может уйти до половины миллисекунды. Чем меньше каналов используется, тем времени уходит меньше, но всё равно расточительно. Плюс ко всему, выходная частота получается не совсем точной и прыгает скважность.
Вощем, мысль "развести свою плату" приходит в моск всё чаще с каждым новым открытием на тестах
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Контроллер для LinuxCNC (Ethernet + STM32)
Месы с полным обвесом обходятся покупателю от 200$. Без обвеса - от 90$. Российский клон - от 70$. Если собрать что-то похожее на 7i92, но с STM32 на борту, обойдётся в 10-20$. Для конечного покупателя получится 40-50$. Если собрать с обвесом - 30-40$, для покупателя - 60-70$. Если б я был обычным покупателем и выбирал, что прикупить, цена и функционал - вполне себе адекватные
По большому счёту, покупателю всё равно какой там чип. Главное, чтобы работало быстро, надёжно и, по возможности, недорого.
Да, вощем-то, и месы за 200$ для многих не проблема на фоне всего прочего. Но есть ряд проектов, где месы будут избыточны
И микроконтроллера хватит с головой.
Да, вощем-то, и месы за 200$ для многих не проблема на фоне всего прочего. Но есть ряд проектов, где месы будут избыточны
-
alex_sar
- Мастер
- Сообщения: 1863
- Зарегистрирован: 28 авг 2018, 17:13
- Репутация: 315
- Настоящее имя: Алексей
- Контактная информация:
Re: Контроллер для LinuxCNC (Ethernet + STM32)
Да, mesa дороговата для мелочи, но можно сделать недорогой клон.
Вот инфа для размышления
https://jlcpcb.com/parts/componentSearc ... 9-2TQG144C
Сам чип будет стоить $4.6 от 10 штук, всё остальное там мелочь.
Ну разъемы ещё денег стоят.
STM32F4 будет по цене в том же районе, не вижу там никакой экономии.
И ничего не надо мутить с нуля, всё уже проверено тыщами леммингов. Скучно, но практично.
Вот инфа для размышления
https://jlcpcb.com/parts/componentSearc ... 9-2TQG144C
Сам чип будет стоить $4.6 от 10 штук, всё остальное там мелочь.
Ну разъемы ещё денег стоят.
STM32F4 будет по цене в том же районе, не вижу там никакой экономии.
И ничего не надо мутить с нуля, всё уже проверено тыщами леммингов. Скучно, но практично.
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Контроллер для LinuxCNC (Ethernet + STM32)
Да чё там размышлять.. Делать клон просто для личных нужд - смысла нет
К тому же, для себя я могу простую макетку поставить. Скоро, кстати, так и придётся сделать.
Цельный готовый контроллер нужен для других людей. Желательно, с русской поддержкой и доками. Английские доки по LinuxCNC и месе вызывают у некоторых покупателей небольшое помутнение
После контроллера у меня в планах человеко-понятная система ЧПУ на основе LinuxCNC. Так что свой контроллер понадобится в любом случае.
Цельный готовый контроллер нужен для других людей. Желательно, с русской поддержкой и доками. Английские доки по LinuxCNC и месе вызывают у некоторых покупателей небольшое помутнение
После контроллера у меня в планах человеко-понятная система ЧПУ на основе LinuxCNC. Так что свой контроллер понадобится в любом случае.
-
alex_sar
- Мастер
- Сообщения: 1863
- Зарегистрирован: 28 авг 2018, 17:13
- Репутация: 315
- Настоящее имя: Алексей
- Контактная информация:
Re: Контроллер для LinuxCNC (Ethernet + STM32)
То есть с нуля сделать контроллер, прошивку, драйвера в linuxcnc и документацию проще, чем клона mesa и перевести документацию? Ну ОК, пускай так )
В любом случае удачи! Больше контроллеров, меньше цены.
В любом случае удачи! Больше контроллеров, меньше цены.
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Контроллер для LinuxCNC (Ethernet + STM32)
В конечном итоге, я хочу сделать так, чтобы настройка системы и контроллера были в пару кликов. Ну а полагаться на другого (американского) производителя, переводить его доки - это такое себе. Можно потом все результаты труда потерять, если производитель сменит курс.
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Контроллер для LinuxCNC (Ethernet + STM32)
ПутьПилот заточен под конкретные ПК и станки компании. Он не общедоступен.
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Контроллер для LinuxCNC (Ethernet + STM32)
Флэшка за 25$ с резервным образом системы, которая настроена и предназначена только для их контроллера - это ни разу не общедоступная система
Возможность настроить эту систему для работы с другими контроллерами, конечно, есть, но не гарантирует никакой поддержки от производителя от слова совсем. С таким же успехом (а то и лучше), можно поставить и настроить обычную LinuxCNC.