Ethernet контроллер для LinuxCNC (STM32, FPGA)

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

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

Сообщение Serg »

MX_Master писал(а):Появилась ещё одна интересная мысль по поводу китайского Ethernet контроллера (NVEM и клоны). А что если в контроллере оставить оригинальную прошивку для работы с Mach3, добавить рядом прошивку для LinuxCNC, а в загрузчике сделать выбор между ними? (:
Зачем?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
MX_Master
Мастер
Сообщения: 7477
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

Сам я пока не силён в плагинах для Mach3/4. Но возможность работы контроллера с двумя разными ЧПУ была бы полезной. Кому-то нравится одно, кому-то другое. А переключаться можно будет не меняя ПК и контроллер.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

А не проще будет просто другую прошивку залить? В большинстве своём мало кто будет постоянно "скакать" между программами.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

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

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

MX_Master писал(а): А что если в контроллере оставить оригинальную прошивку для работы с Mach3, добавить рядом прошивку для LinuxCNC, а в загрузчике сделать выбор между ними?
А что, прошивка для LCNC уже написана, отлажена и работает?
Чудес не бывает. Бывают фокусы.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7477
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

UAVpilot писал(а):А не проще будет просто другую прошивку залить? В большинстве своём мало кто будет постоянно "скакать" между программами.
Да, проще. В идеале, канеш, надо Mach3 не трогать, заниматься только LinuxCNC. Но, если возможность есть, желательно ей воспользоваться.
Сергей Саныч писал(а):А что, прошивка для LCNC уже написана, отлажена и работает?
Не вся. К тому же, контроллер в живую я ещё не видел. Все тесты на обычной макетке с другим МК (F407). Такие тесты, кстати, не гарантируют работоспособность на конечном железе. Так что какой-то готовый вариант будет только в начале след. года, после допиливания софта и натурных тестов контроллера на моём станке.
Аватара пользователя
MX_Master
Мастер
Сообщения: 7477
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

MX_Master писал(а):Жаль под рукой нет ничего с STM32 и RS232. Придётся заказать какого-нибудь ПЛК малыша. По-моему, для тестов этот будет идеален - https://item.taobao.com/item.htm?id=592673408733. Вот интересно, какой же уровень защиты STM32 поставили китайцы :thinking: Есть шанс перепаять МК на новый :)
Китайский ПЛК малыш добрался за пару недель. Всего 16$, на али точно такой же - 26$. Припаял к плате гребёнку пинов. Китайский ST-LINK показывает, что STM'ка не заблокирована. На плате ПЛК есть 10 свободных пинов под аппаратные SPI/UART/CAN, но их можно юзать и под STEP/DIR. Для тестов есть POS терминал с 4-мя COM портами (LPT тоже есть). Вощем, тесты покажут насколько RS232 контроллер реален для LinuxCNC..
IMG_20191127_230048.jpg (4895 просмотров) <a class='original' href='./download/file.php?id=172572&sid=3a120db808731b7acd0e3c96829383a1&mode=view' target=_blank>Загрузить оригинал (3.21 МБ)</a>
IMG_20191127_230242.jpg (4895 просмотров) <a class='original' href='./download/file.php?id=172571&sid=3a120db808731b7acd0e3c96829383a1&mode=view' target=_blank>Загрузить оригинал (2.15 МБ)</a>
point5217
Новичок
Сообщения: 12
Зарегистрирован: 23 апр 2019, 09:31
Репутация: 1
Настоящее имя: Евгений
Откуда: Бишкек, Киргизия
Контактная информация:

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

Сообщение point5217 »

MX_Master писал(а):
MX_Master писал(а):Жаль под рукой нет ничего с STM32 и RS232. Придётся заказать какого-нибудь ПЛК малыша. По-моему, для тестов этот будет идеален - https://item.taobao.com/item.htm?id=592673408733. Вот интересно, какой же уровень защиты STM32 поставили китайцы :thinking: Есть шанс перепаять МК на новый :)
Китайский ПЛК малыш добрался за пару недель. Всего 16$, на али точно такой же - 26$. Припаял к плате гребёнку пинов. Китайский ST-LINK показывает, что STM'ка не заблокирована. На плате ПЛК есть 10 свободных пинов под аппаратные SPI/UART/CAN, но их можно юзать и под STEP/DIR. Для тестов есть POS терминал с 4-мя COM портами (LPT тоже есть). Вощем, тесты покажут насколько RS232 контроллер реален для LinuxCNC..
IMG_20191127_230048.jpg
IMG_20191127_230242.jpg
А какой софт к этому PLC сами китайцы предлагают ?
Аватара пользователя
MX_Master
Мастер
Сообщения: 7477
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

point5217 писал(а):А какой софт к этому PLC сами китайцы предлагают ?
К данному ПЛК - ничего, но в десятках других объявлений софт указывают явно. В большинстве случаев это - GX Developer8.XX, GX-WORK2. Ну а в LinuxCNC это будет, стессна, Classicladder.
Kupfershcmidt
Мастер
Сообщения: 2291
Зарегистрирован: 04 авг 2019, 15:54
Репутация: 323
Настоящее имя: Сергей
Контактная информация:

Re: Ещё один недоделанный проект. Проходим мимо

Сообщение Kupfershcmidt »

MX_Master писал(а): Для тестов есть POS терминал с 4-мя COM портами
Что за модель? Линукс встал без проблем, всё работает?
Аватара пользователя
MX_Master
Мастер
Сообщения: 7477
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

Пока парился в бане за мат было время подумать про свой контроллер. Схемы текущего варианта можно глянуть здесь - https://easyeda.com/MX_Master/lcnc_bb. На мой обновлённый взгляд, первый вариант контроллера должен быть максимально простым, самодостаточным, но с возможностью расширения функционала. Аналог, диф. входы и всякие трансиверы доп. интерфейсов на базовой плате не так важны. Опторазвязку тоже долой, ибо Ethernet розетка - это уже развязка.

В сухом остатке на плате будет минимум. На выходе - жменька ULN2803, на входе - только резистивный делитель. Непосредственно вокруг STM'ки будет гребёнка торчащих пинов (2.54мм). По краям платы будут разъёмные штекеры (2.54 или 3.81мм). Такой конфиг позволит организовать СТЕП/ДИР и ШИМ на любых "выходных". С запиткой релюх напрямую. А на "входных" можно будет ловить "цифру" и даже "аналог". Какие-то платы расширения можно будет воткнуть сверху. Как будет время нарисую схему.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

MX_Master писал(а):Опторазвязку тоже долой, ибо Ethernet розетка - это уже развязка.
Прогресс! :hehehe:
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
MX_Master
Мастер
Сообщения: 7477
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

Доделал, наконец, свой 3Д принтер :) Можно переходить к другим проектам. Кроме китайского клона NVEM, хочу прикупить обычную плату развязки. Нашёл вот таких ребят. Практически даром

https://item.taobao.com/item.htm?id=554630564980
https://item.taobao.com/item.htm?id=523770430257

Кол-во IO - 8/8 и 12/12. Если кому-то в станке нужна добрая жменька входов и выходов (30,50,80,..), а в компе только одна Ethernet розетка, пачку этих плат можно воткнуть в копеешный Ethernet хаб, и уже его одним кабелем цеплять к компу.
TB14OnUaPfguuRjy1zeXXb0KFXa_!!0-item_pic.jpg (4111 просмотров) <a class='original' href='./download/file.php?id=174872&sid=3a120db808731b7acd0e3c96829383a1&mode=view' target=_blank>Загрузить оригинал (533.16 КБ)</a>
TB1HQNpyoR1BeNjy0FmXXb0wVXa_!!0-item_pic.jpg (4111 просмотров) <a class='original' href='./download/file.php?id=174871&sid=3a120db808731b7acd0e3c96829383a1&mode=view' target=_blank>Загрузить оригинал (405.56 КБ)</a>
Аватара пользователя
MX_Master
Мастер
Сообщения: 7477
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

От электроники не спрятаться.. не скрыться :freak:
Нужно сделать универсальный вход для STM'ов.. без развязки. Универсальный вход, с помощью перемычек в схеме, должен принимать следующие сигналы:
  • цифровые однополярные: 0..5V, 0..24V (TTL энкодеры, концевики, кнопки, любые внешние устройства)
  • аналоговые однополярные: 0..3.3V, 0..24V (потенциометры, термопары)
  • цифровые двуполярные: -5..5V, -15..15V (диф. энкодеры)
Мозг уже кипит :freak: Пора советоваться со знающими людьми. Придумал небольшую схему из трёх джамперов. Все номиналы, пока что, взяты из воздуха ;) Из особенностей - надо учитывать, что на лапы STM32 надо подавать цифровые сигналы в пределах 0..5V, аналоговые в пределах 0..3.3V, входной ток не более 5 мА. Суммарно на все 100 лапок ток должен быть меньше 100мА, точно не помню.
2020-01-18_135317.jpg (3963 просмотра) <a class='original' href='./download/file.php?id=175102&sid=3a120db808731b7acd0e3c96829383a1&mode=view' target=_blank>Загрузить оригинал (100.13 КБ)</a>
Эта схема с джамперами имеет 8 состояний и, по моим скромных прикидкам, должна предполагать следующие варианты:

S1:0 - S2:0 - S3:0 --- ц0/5V:да, ц0/24V:нет; ц-5/5V:да, ц-15/15V:нет, а0/3.3V:да, а0/24V:нет
S1:0 - S2:0 - S3:1 --- ц0/5V:да, ц0/24V:нет; ц-5/5V:да, ц-15/15V:нет, а0/3.3V:да, а0/24V:нет
S1:0 - S2:1 - S3:0 --- ц0/5V:нет, ц0/24V:да; ц-5/5V:нет, ц-15/15V:да, а0/3.3V:да, а0/24V:да
S1:0 - S2:1 - S3:1 --- ц0/5V:нет, ц0/24V:да; ц-5/5V:нет, ц-15/15V:да, а0/3.3V:да, а0/24V:да
S1:1 - S2:0 - S3:0 --- ц0/5V:да, ц0/24V:нет; ц-5/5V:нет, ц-15/15V:нет, а0/3.3V:да, а0/24V:нет
S1:1 - S2:0 - S3:1 --- ц0/5V:да, ц0/24V:нет; ц-5/5V:нет, ц-15/15V:нет, а0/3.3V:да, а0/24V:нет
S1:1 - S2:1 - S3:0 --- ц0/5V:да, ц0/24V:нет; ц-5/5V:нет, ц-15/15V:нет, а0/3.3V:да, а0/24V:нет
S1:1 - S2:1 - S3:1 --- ц0/5V:да, ц0/24V:нет; ц-5/5V:нет, ц-15/15V:нет, а0/3.3V:да, а0/24V:нет

В итоге имеем 3 комбинации. Все виды входа, вроде бы, охвачены. У кого ещё не взорвался мозг, хотелось бы обсудить этот вопрос. Если кто-то видит ошибки, подскажите.
dpss-2
Мастер
Сообщения: 628
Зарегистрирован: 02 сен 2018, 15:15
Репутация: 305
Настоящее имя: Alex
Контактная информация:

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

Сообщение dpss-2 »

Гореть эти входы будут как свечки. Джамперы + рукоблудие + пофигизм пользователя. :lol: У меня знакомый продавец пром автоматики проверяет на вшивость новые модели частотников очень простым способом. Замыкает выходы на мотор на коротко, включает и дает постоять так некоторое время.
Аватара пользователя
sima8520
Почётный участник
Почётный участник
Сообщения: 4502
Зарегистрирован: 24 ноя 2016, 23:35
Репутация: 1616
Настоящее имя: Илья
Откуда: Беларусь, Гомель
Контактная информация:

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

Сообщение sima8520 »

Лучше сделать отдельные гребёнки для того или иного сигнала
dpss-2
Мастер
Сообщения: 628
Зарегистрирован: 02 сен 2018, 15:15
Репутация: 305
Настоящее имя: Alex
Контактная информация:

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

Сообщение dpss-2 »

MX_Master писал(а):входной ток не более 5 мА
Входной ток должен быть не меньше 10ма, иначе получите со временем эффект окисления контактов. Писал уже об этом.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

MX_Master писал(а):цифровые однополярные: 0..5V, 0..24V (TTL энкодеры, концевики, кнопки, любые внешние устройства)
Просто резистор 100к на вход последовательно.
MX_Master писал(а):аналоговые однополярные: 0..3.3V, 0..24V (потенциометры, термопары)
Пром. стандарт - 0..+10V.
MX_Master писал(а):цифровые двуполярные: -5..5V, -15..15V (диф. энкодеры)
Если просто срезать отрицательное напряжение, то правильно работать не будет.

Желание объять необъятное ни к чему хорошему не приводит... :)
dpss-2 писал(а):Входной ток должен быть не меньше 10ма, иначе получите со временем эффект окисления контактов. Писал уже об этом.
для механических контактов решается внешним шунтом, а в "электронных" датчиках окисляться нечему.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
dpss-2
Мастер
Сообщения: 628
Зарегистрирован: 02 сен 2018, 15:15
Репутация: 305
Настоящее имя: Alex
Контактная информация:

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

Сообщение dpss-2 »

Куча 2 ваттных выводных резисторов на клеммных колодках не добавляет ни удобства, ни красоты.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

Кстати, а в аналоговых цепях ничего не окисляется, когда нам напряжение близкое к нулю? Или когда в "токовой петле" всего 4мА... :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
dpss-2
Мастер
Сообщения: 628
Зарегистрирован: 02 сен 2018, 15:15
Репутация: 305
Настоящее имя: Alex
Контактная информация:

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

Сообщение dpss-2 »

Для подобных целей настоящее золото в покрытии используют. Или контакты повышенной надежности которые в точках дают почти герметичное пятно касания сравнимое с холодной сваркой. У наших военных были разъемы ГРПМ в которых на круглый тубчатый контакт была намотана в несколько витков проволочка. Проволочка при втыкании как плуг вспахивала окисный слой. Кстати, не зря в наших разъемах ШР на контактах гнезд надеты пружинящие обоймы из подкаленной стали.
Нам по молодости во время учебы довольно много давали интересных материалов и теории по надежности контактов. В основном для подвижной и летающей техники.
Ответить

Вернуться в «LinuxCNC»