Плата развязки для LinuxCNC (Ethernet + STM32)

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение Impartial » 26 мар 2018, 03:28

Ну откуда 50мкс ? 1/(100000000/( 5000*8))=0.0004.
Добавьте туда еще разбиение минимум на четыре пакета.
И если на демке есть LVIP добавьте минимум 1мс на обработку.

Как работает меса я не знаю, но там стоит спартан 6 а это не СТМка. Можно и раз в 10мс пакеты получать. Скорее всего так и есть.
Impartial
Мастер
 
Сообщения: 909
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 22

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение UAVpilot » 26 мар 2018, 04:52

tcpdump, фрагмент обмена с 7i92+7i77, время в микросекундах, можно заметить джиттер в пару микросекунд:

Код: Выделить всёРазвернуть
04:38:43.977143 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 68
04:38:43.978033 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 56
04:38:43.978114 IP 10.10.10.10.27181 > 10.10.10.1.53211: UDP, length 142
04:38:43.978143 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 68
04:38:43.979033 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 56
04:38:43.979117 IP 10.10.10.10.27181 > 10.10.10.1.53211: UDP, length 142
04:38:43.979145 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 68
04:38:43.980033 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 56
04:38:43.980113 IP 10.10.10.10.27181 > 10.10.10.1.53211: UDP, length 142
04:38:43.980143 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 68
04:38:43.981033 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 56
04:38:43.981114 IP 10.10.10.10.27181 > 10.10.10.1.53211: UDP, length 142
04:38:43.981143 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 68
04:38:43.982033 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 56
04:38:43.982114 IP 10.10.10.10.27181 > 10.10.10.1.53211: UDP, length 142
04:38:43.982143 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 68
04:38:43.983033 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 56
04:38:43.983113 IP 10.10.10.10.27181 > 10.10.10.1.53211: UDP, length 142
04:38:43.983134 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 68
04:38:43.984033 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 56
04:38:43.984116 IP 10.10.10.10.27181 > 10.10.10.1.53211: UDP, length 142
04:38:43.984144 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 68
04:38:43.985033 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 56
04:38:43.985113 IP 10.10.10.10.27181 > 10.10.10.1.53211: UDP, length 142
04:38:43.985143 IP 10.10.10.1.53211 > 10.10.10.10.27181: UDP, length 68
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 16549
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4060
Медальки:
Настоящее имя: Сергей

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение T00T » 26 мар 2018, 09:12

Impartial писал(а):А что есть варианты? Расскажите.

Ну надо потестить, но платка IO которая на #72. В сервопериод укладывается всегда, я просто не смотрел с каким запасом.

Причём сначала идёт запрос, потом на него ответ.
Я не волшебник я пока учусь......
T00T
Мастер
 
Сообщения: 707
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 89

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение MX_Master » 01 апр 2018, 09:38

Искал на днях недорогие оптопары на входы/выходы общего назначения. Всякие pc817 и tlp281 - слишком уж медленные, до 20 КГц. А хотелось бы чуть чуть быстрей, но не по цене высокоскоростных.

Наткнулся на али на 4-х канальные PS2801-4. Максимальное время отклика 5 мкс (200 КГц). Цена - 0.36$ за шт. По 0.09$ за канал. Что для запланированных 48 входов/выходов обойдётся в 4.32$.

Если кто-то знает варианты лучше, подскажите.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3072
Зарегистрирован: 27 июн 2015, 19:45
Откуда: форт Верный
Репутация: 1590
Медальки:
Настоящее имя: Михаил

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение Сергей Саныч » 01 апр 2018, 09:49

MX_Master писал(а):слишком уж медленные, до 20 КГц. А хотелось бы чуть чуть быстрей
Для общего назначения делать быстрей, чем сервопериод, нет смысла.
MX_Master писал(а):Максимальное время отклика 5 мкс (200 КГц)
5 мкс - это от силы 100 кГц. Котельников с Найквистом не дадут соврать.
И, кстати, чем кормить предполагается опторазвязанное оборудование?
По мне, опторазвязка для уже отвязанной от компьютера платы не особо нужна. А для редких случаев, когда она требуется, лучше сделать отдельную дочернюю платку.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
 
Сообщения: 7904
Зарегистрирован: 30 май 2012, 14:20
Откуда: Тюмень
Репутация: 2450
Медальки:

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение MX_Master » 01 апр 2018, 10:11

Да, развязку планирую отдельной платкой. Основная платка будет максимально голой. Развязка, она не от ПК, а от подключаемых устройств.

100 КГц (5мкс+5мкс) это всяко лучше чем 20 КГц. Мало ли что подключить придётся, уж лучше быстрее, чем медленней.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3072
Зарегистрирован: 27 июн 2015, 19:45
Откуда: форт Верный
Репутация: 1590
Медальки:
Настоящее имя: Михаил

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение alex1816 » 01 апр 2018, 11:40

Вот здесь упоминания микросхем для переобразования сигнала енкодера: дифпара в ттл и обратно (если понадобится).
http://www.cnc-club.ru/forum/viewtopic. ... 80#p413151
alex1816
Опытный
 
Сообщения: 185
Зарегистрирован: 03 фев 2017, 01:06
Откуда: Украина
Репутация: 26
Настоящее имя: Александр

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение Bender » 01 апр 2018, 17:29

Я такие использую где частота нужна. H11L1
wlmotion.ru управление станком ЧПУ ПК+STM32
Аватара пользователя
Bender
Мастер
 
Сообщения: 583
Зарегистрирован: 24 янв 2012, 16:04
Откуда: Новосибирск
Репутация: 153
Медальки:
Настоящее имя: Сергей

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение MX_Master » 04 апр 2018, 10:37

Попытался найти в Китаях готовую макетку с какими-нибудь STM32F4 и Ethernet. Два отдельных модуля - без проблем и недорого (даже на Али недорого):

А вместе на одной платке - редкость. Обыскался на Али, перешёл на Тао.. Неважно, есть там на плате что-то дополнительное или нет - цена раза в 2-3 выше комплекта из 2-х модулей:

Если кто-то где-то видел недорогие готовые макетки с F4 и Ethernet, подскажите, буду благодарен.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3072
Зарегистрирован: 27 июн 2015, 19:45
Откуда: форт Верный
Репутация: 1590
Медальки:
Настоящее имя: Михаил

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение alex1816 » 04 апр 2018, 15:15

MX_Master писал(а):Если кто-то где-то видел недорогие готовые макетки с F4 и Ethernet, подскажите, буду благодарен.

Я когда то искал похожее. Минимум около 30 уев попадалось (то есть такое же как ты нашел).
Может все таки на двух платах, только на сеть 5х00 взять дабы процессор разгрузить от обработки сетевого стека.
А пока разработаешь - одноплатные китайцы такие же сделают :)
alex1816
Опытный
 
Сообщения: 185
Зарегистрирован: 03 фев 2017, 01:06
Откуда: Украина
Репутация: 26
Настоящее имя: Александр

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение MX_Master » 04 апр 2018, 15:52

Дефицит, блин. Придётся пару-тройку первых плат на станке запилить, для проверки.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3072
Зарегистрирован: 27 июн 2015, 19:45
Откуда: форт Верный
Репутация: 1590
Медальки:
Настоящее имя: Михаил

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение selenur » 04 апр 2018, 18:15

MX_Master писал(а):Дефицит, блин. Придётся пару-тройку первых плат на станке запилить, для проверки.

если нужно могу кинуть радио схемы контроллера, что недавно получил, в pdf формате.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
 
Сообщения: 3618
Зарегистрирован: 21 авг 2013, 19:44
Откуда: Новый Уренгой
Репутация: 1262
Медальки:
Настоящее имя: Сергей

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение N1X » 04 апр 2018, 18:25

selenur писал(а):радио схемы контроллера

Бррр.... аж поежился... Принципиальные схемы, видимо :)
Аватара пользователя
N1X
Мастер
 
Сообщения: 2862
Зарегистрирован: 16 фев 2015, 21:19
Откуда: Беларусь, Гомель
Репутация: 1320
Настоящее имя: Владимир

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение selenur » 04 апр 2018, 20:45

N1X писал(а):
selenur писал(а):радио схемы контроллера

Бррр.... аж поежился... Принципиальные схемы, видимо :)

автозамена текста сработала, и не заметил...
Реньше Т9, мешало, теперь эта штука..
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Аватара пользователя
selenur
Почётный участник
Почётный участник
 
Сообщения: 3618
Зарегистрирован: 21 авг 2013, 19:44
Откуда: Новый Уренгой
Репутация: 1262
Медальки:
Настоящее имя: Сергей

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение MX_Master » 11 апр 2018, 16:19

Собрал небольшую макетку из двух модулей. Удивительно, что с первого раза удалось всё правильно подключить и настроить сеть. Надо отдать должное команде разработчиков CubeMX. Сделаю пару тестов на скорость передачи/обработки. И можно приступать к работе над прошивкой.

Плата развязки для LinuxCNC (Ethernet + STM32) PHOTO_20180411_183913.jpg
Плата развязки для LinuxCNC (Ethernet + STM32) 2018-04-11_201603.png
Плата развязки для LinuxCNC (Ethernet + STM32) PHOTO_20180411_184041.jpg
Плата развязки для LinuxCNC (Ethernet + STM32) 2018-04-11_192038.png
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3072
Зарегистрирован: 27 июн 2015, 19:45
Откуда: форт Верный
Репутация: 1590
Медальки:
Настоящее имя: Михаил

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение merkwurdigliebe » 11 апр 2018, 22:07

MX_Master писал(а):Наткнулся на али на 4-х канальные PS2801-4. Максимальное время отклика 5 мкс (200 КГц). Цена - 0.36$ за шт. По 0.09$ за канал. Что для запланированных 48 входов/выходов обойдётся в 4.32$.
Если кто-то знает варианты лучше, подскажите.


PS2805-4 по $0.24. бонусом - там два светодиода, полярность входного сигнала любая
но, имхо, с али - не похоже, что это renesas. много раз покупал, все какие-то подозрительные... но работают. но характеристики не проверял
merkwurdigliebe
Мастер
 
Сообщения: 210
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 154

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение MX_Master » 12 апр 2018, 20:19

С LwIP стэком голая прошивка занимает примерно 45 Кб, без LwIP - 11 Кб.

Продолжаю копать в сторону голых и коротких (RAW) Ethernet пакетов. Хочу в основной прошивке отказаться от IP адреса, порта и от UDP тоже. В идеале хочется, чтоб в пакете были только два MAC адреса (6+6 байт), тип (2 байта), мои данные (Х байт) + контрольная сумма (4 байта).

Порылся в тырнетах.. Что-то нет в сети готовых примеров по работе Ethernet в STM32F4 без LwIP стэка. Продвигаюсь на ощупь, но успехи есть. :headphones: Подсмотрел в LwIP как он работает с HAL дровами. Удалось сделать получение и обработку RAW пакетов в обработчике ethernet прерывания. Сие прерывание возникает только, когда в пакете указан MAC адрес назначения от STM'ки или общак FF:FF:FF:FF:FF:FF. Опять-таки, спасибо разработчикам CubeMX за сей фильтр, который доступен уже из коробки.

Надеюсь, кто-нибудь понял о чём я :hehehe: Вощем, продолжаем...
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3072
Зарегистрирован: 27 июн 2015, 19:45
Откуда: форт Верный
Репутация: 1590
Медальки:
Настоящее имя: Михаил

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение MX_Master » 16 апр 2018, 20:02

Может кто подскажет..

Тестирую отправку ethernet пакетов из linux. Сам вручную собираю пакеты. Но какой бы короткий пакетик не получился по размеру, в STM'ку приходит всегда минимум 60 байт. Это где-то в linux так жёстко зашиты 60 байт или это значение как-то можно изменить?

К примеру, мне из linux нужно спросить у STM'ки текущее состояния пинов. Я собираю пакет с запросом из

  • 6 байт - МАС адрес получателя
  • 6 байт - МАС адрес отправителя
  • 2 байта - тип пакета
  • 4 байта - грубо говоря, мои данные
всего 18 байт. Но linux к ним приписывает пучёк нулей до 60 байт и отправляет уже 60 байт. Как можно понять, 60 байт отправляются примерно в 3 раза дольше чем мои 18. Канеш, на фоне обработки данных в STM'ке (и прочих расходов), скорость передачи может выглядеть не самым узким местом. Но хотелось бы минимизировать.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3072
Зарегистрирован: 27 июн 2015, 19:45
Откуда: форт Верный
Репутация: 1590
Медальки:
Настоящее имя: Михаил

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение Сергей Саныч » 17 апр 2018, 03:38

Это требование стандартов Ethernet. Иначе могут быть проблемы с обнаружением столкновений в стандартных конфигурациях.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
 
Сообщения: 7904
Зарегистрирован: 30 май 2012, 14:20
Откуда: Тюмень
Репутация: 2450
Медальки:

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение Duhas » 17 апр 2018, 05:34

MX_Master писал(а):всего 18 байт. Но linux к ним приписывает пучёк нулей до 60 байт и отправляет уже 60 байт. Как можно понять, 60 байт отправляются примерно в 3 раза дольше чем мои 18. Канеш, на фоне обработки данных в STM'ке (и прочих расходов), скорость передачи может выглядеть не самым узким местом. Но хотелось бы минимизировать.

если на скорость обработки пакетов это шибко не влияет - забей. Запас канала ethernet такой, что это не станет узким местом
Duhas
Мастер
 
Сообщения: 1122
Зарегистрирован: 10 окт 2015, 23:25
Репутация: 167
Настоящее имя: Андрей

Пред.След.

Вернуться в LinuxCNC

Кто сейчас на конференции

Зарегистрированные пользователи: abrist, aftaev, Bing [Bot], Google [Bot], hellriser.cube, jkwe45, meruslan, nickoass, Peacemaker, savo, selenur, sn0wflake, tehnic, vala, VAT, verser, vinar, Vlad_Z, vladin21, Yandex [bot]

Поделиться

Reputation System ©'