Re: Плата развязки для LinuxCNC (Ethernet + STM32)
Добавлено: 18 мар 2018, 16:14
Да.alex1816 писал(а):Немножко не понял. Имеется в виду, что стек (который из куба слишком много кода имеет? или ??)
Статьи, обзоры, цены на станки и комплектующие.
https://www.cnc-club.ru/forum/
Да.alex1816 писал(а):Немножко не понял. Имеется в виду, что стек (который из куба слишком много кода имеет? или ??)
Весьма распространённая среди программистов профессиональная деформация - на одном вдохе произносится заявление об своей универсальности, перетекающее в сложность поставленной задачи поддержки кода и завершаемое гордым отказом от средств, облегчающих такую поддержкуUAVpilot писал(а):Мне всё равно на каком языке писать.Но и я за такое не возьмусь, особенно не глядя - программисты бывают разные и разбираться в коде некоторых действительно может оказаться сложнее, чем написать заново, причём на любом языке.AAN писал(а):Пытались мы нанять специалистов или контору, чтобы добавить нужные нам функции в ПО, написанное на Perl
Ну а Perl - это отдельная песня, это язык состоящий из сплошных исключений, свои собственные програмы на нём бывает довольно сложно понять спустя несколько лет...
Я даже писал на нём. И рассматривал его как инструмент для создания некритичных приложений. но в итоге отказался от его использования.
Просто показываю реализуемость задачи средствами ЯП. Допилить, конечно, придётся.UAVpilot писал(а): Вот вы лепите ссылки даже не вникая о чём они... Вопрос по Modbus был с подвохом - pymodbus в Микропитоне не будет правильно работать, ибо Микропитон заметно отличается от настоящего Питона.
аж на 10Mbps? В лабораторных условиях? Но мы, вроде как станки обсуждали, для которых и стандартно-максимальные 115200бод RS232го реализовать - проблема.UAVpilot писал(а): Только вот на PC этот модуль на скоростях выше 230400 bps на современном компе уже начинает терять байты, а порт-то умеет работать аж на 10Mbps...
И к чему этот набор бессмысленных слов? Средства, подобные Микропитон ничего не облегчают, а только усложняют сопровождение и добавляют ограничений, хотя-бы необходимостью таскать за собой этот самый Микропитон в полном объёме, даже если от него требуется только поморгать лампочкой.AAN писал(а):Весьма распространённая среди программистов профессиональная деформация - на одном вдохе произносится заявление об своей универсальности, перетекающее в сложность поставленной задачи поддержки кода и завершаемое гордым отказом от средств, облегчающих такую поддержку
Ну и зачем мне для реализации своего проекта допиливать ещё и какие-то другие проекты?..AAN писал(а):Просто показываю реализуемость задачи средствами ЯП. Допилить, конечно, придётся.
Лично я тут говорю не про станки, а про накладные расходы для всяких интерпретаторов и их влияние на быстродействие. И это именно вы завели речь про работу RS232 (PySerial), а я лишь сказал про его скоростные возможности, накладываемые интерпретатором Python.AAN писал(а):аж на 10Mbps? В лабораторных условиях? Но мы, вроде как станки обсуждали, для которых и стандартно-максимальные 115200бод RS232го реализовать - проблема.
Вадим, интерпретатор g-code, как ни странно, есть в самом LinuxCNC, который будет работать на отдельной мат.плате или ARM платке. Поэтому для платы развязки достаточно одного МК, внутри которого будут генераторы, обработка энкодеров, конвертер и обычные входы/выходы.vadimxg писал(а):Коллеги, я бы тоже присоединился к этому проекту. Поясните, зачем вы хотите использовать Ethernet протокол. Есть ведь USB. Мне еще вот что думается, что лучше разделить интерпретатор g-code и генератор импульсов. Генератор импульсов сделать на отдельном МК. Получится контроллер на двух ядрах. На первом контроллере реализовать, обработку программы, хранение координат, обработку энкодеров обратной связи, функции ручного управления.
Я, возможно, так и сделаю, когда буду создавать собственный контроллер и софт. Но сейчас выбрасывать LinuxCNC - это непрактично. На его основе, можно собрать абсолютно любое ЧПУ. И я ещё не настолько умён, чтобы заменить его чем-то равноценным.vadimxg писал(а):Так вот я предлагаю выкинуть LCNC, как интерпретатор. Это решает и проблему интеграции между интерпретатором и генератором.
Лучше считать, что его нет. Помехозащищенность ethernet гораздо выше.vadimxg писал(а):Есть ведь USB
LCNC является продуктом длительного развития и отладки. Ничего сравнимого разработать силами одного-двух человек нельзя.vadimxg писал(а):Так вот я предлагаю выкинуть LCNC, как интерпретатор. Это решает и проблему интеграции между интерпретатором и генератором.
Сильно специальными средствами, стоимость которых совсем недемократична.vadimxg писал(а):Помехозащита реализуема и в USB
Вы неправильно понимаете суть UDP протокола.vadimxg писал(а):А если учесть, что вы планируете использовать UDP протокол то раз уж вы заговорили о зашумленной среде, то потеря пакетов гарантированная.
Определился с железками?MX_Master писал(а):В качестве проца должен полностью подойди STM32F407VET6.
А сеть лучше сделать по совету UAVpilot на 5х00, разгрузишь процессор хорошо.MX_Master писал(а):За физику Ethernet будет отвечать недорогая кроха LAN8720.
6alex1816 писал(а):Проверь сколько там входов энкодерных есть. думаю хватит, но лучше пересмотреть.
Не надо триггеров, Z надо вешать на ногу с EXTI.alex1816 писал(а):Если будешь свои платы делать можно заодно еще пару тригеров на них присобачить для хоминга по индексной метке - может пригодится.
Энкодерный вход - это один из режимов работы аппаратного таймера, где используются два его канала. Генератор STEP это тоже один из режимов работы аппаратного таймера. Поэтому кол-во энкодерных входов и генераторов STEP, грубо говоря, зависит от кол-ва этих таймеров (общих и продвинутых). У STM32F407VET6 имеется 12 аппаратных таймеров, которые подходят под это дело. Из них в режиме энкодера умеют работать 6 таймеров (как выше отметил Сергей). А в режиме STEP генератора умеют работать все 12. Так что, учитывая цены, выбор был не случайным. Единственное над чем я думаю - может взять такой же МК, но чтоб ножек было побольше. Например, STM32F407ZET6. Вдруг кто-то захочет целую панель из кучи отдельных кнопок подключить...alex1816 писал(а):Определился с железками?
Проверь сколько там входов энкодерных есть. думаю хватит, но лучше пересмотреть.
Лучше возьми с большей памятью.MX_Master писал(а):Единственное над чем я думаю - может взять такой же МК, но чтоб ножек было побольше.
Поставишь ещё какой-нибудь f0 или f1 (прям в панель с кнопками)...MX_Master писал(а):Вдруг кто-то захочет целую панель из кучи отдельных кнопок подключить...
Тогда следующий, STM32F407ZGT6 (1 Mb). Но я, всё-таки, не планировал целый контроллер там размещать. Самое большое, что туда будет залито, это два Ethernet стэка - один для собственного загрузчика, другой для непосредственной работы устройства.UAVpilot писал(а):Лучше возьми с большей памятью.
Понял. И по какому-ньть SPI/UART связать.UAVpilot писал(а):Поставишь ещё какой-нибудь f0 или f1 (прям в панель с кнопками)...
А не поделитесь ли своим опытом в области ENC28J60?tooshka писал(а):28_60 гамно редкостное.