LINUX.ORG.RU

Сообщения cvs-255

 

Простая и лёгкая реализация UDP/IP для микроконтроллеров

Группа Hardware and Drivers

Ориентирована на применение в системах, где микроконтроллер выступает в роли UDP сервера, с которым извне устанавливает «соединение» клиент (да, само по себе UDP соединений не имеет, я знаю):

  • Библиотека полностью событийно-ориентирована.
  • Не надо писать никаких структур состояния приложения.
  • Нет сокетов – только коллбэки на событие прихода пакета.
  • Всего 890 строчек кода.
  • Поддерживается ARP ответ, ICMP ответ, UDP.
  • Имеет ARP таблицу, заполняемую от входящих IP пакетов. При отправке IP пакета, если MAC адрес не найден, то библиотека шлёт IP с широковещательным MAC.

Не поддерживаются:

  • ARP запросы;
  • ICMP запросы;
  • маршрутизация;
  • DHCP;
  • DNS.

>>> Подробности

 , ,

cvs-255
()

NoRT CNC Control 0.5

NoRT CNC Control 0.5
Группа Open Source

После долгого периода разработки, наконец вышел NoRT CNC Control 0.5.

Он являет собой систему управления трехкоординатным фрезерным станком с ЧПУ, позволяющую в качестве управляющего компьютера использовать обычный ноутбук или даже планшет.

Ключевая особенность заключается в разделении кода на 2 большие части: требующую realtime и не требующую. Та часть, которая требует realtime, выполняется на недорогом микроконтроллере. А остальное исполняется на обычном компьютере. И в отличии от других схожих систем, где к компьютеру добавляется некая плата расширения, тут нет жестких realtime требований к каналу связи, достаточно чтобы хватало пропускной способности. В качестве такого канала может выступать ethernet, uart (включая usb-uart переходник).

Это позволяет с одной стороны, обходиться доступным компьютерным железом, с другой объем памяти микроконтроллеров ограничен и поместить все в него было бы тупиком, т.к. это накладывает ограничения на развитие проекта.

Проект состоит из 3 компонент:

В качестве микроконтроллеров поддерживаются stm32f103 с модулем enc28j60 для связи, а также arduino mega2560 со связью через штатный usb

Изменения:

  • Добавлена поддержка ethernet для увеличения пропускной способности по сравнению с uart
  • Код сервера полностью переписан на C#
  • Добавлена поддержка arduino mega2560
  • Устранены многочисленные баги (но возможно появились новые)
  • Добавлен режим эмуляции в прошивку. В этом случае компилируется программа, выполняемая на компьютере, а не на микроконтроллере, что позволяет «пощупать» работу системы без наличия железа
  • Добавлена возможность включать/выключать лазер или иное устройство во время движения
  • UI тоже переписан, на QT

Обработка нештатных ситуаций:

  • детектирование упирания в концевики. При этом происходит немедленная остановка. При движении на большой скорости фактическое положение головки не гарантируется, т.к. инерция

Система используется мною на моем настольном ЧПУ роутере

>>> Подробности

 , nortcnccontrol

cvs-255
()

Вышел NoRT CNC Control 0.4

Группа Open Source

Состоялся новый релиз разрабатываемой мной системы управления фрезерным станком с ЧПУ. В этом релизе в основном исправлены недоработки и баги предыдущего релиза (Вышел NoRT CNC Control)

Улучшения:

  • Переделан планировщик скорости движений. Новый планировщик полностью анализирует движение от начала и до конца, в том числе учитывает кривизну дуг при движении по дуге и выбирает максимально возможную скорость впределах установленных скоростей так, чтобы не превысить максимально допустимых ускорений
  • Часть конфигурации, которая хранилась в RT части на микроконтроллере, полностью перенесена в python код
  • Исправлены проблемы с потерей фокуса в UI при ручном вводе команд
  • Добавлена возможность независимо эмулировать шпиндель и координатный стол
  • Исправлены баги состояния машины при ручном вводе команд
  • Скорректирован цикл отсылки сообщений в координатный стол и на шпиндель, корректная обработка сигнала резета и обработка сообщения о резете от микроконтроллера
  • Добавлена CRC в протокол взаимодействия с микроконтроллером
  • Завершение работы при отключении USB serial порта, если взаимодействие с микроконтроллером идет через него - ранее система начинала в цикле читать уже несуществующий ttyUSB0
  • Теперь движения заблокированы после перезагрузки микроконтроллера. Чтобы разблокировать, надо послать в микроконтроллер специальную команду. Она отсылается при старте исполнения g-code. Тем самым исключается некорректное движение в случае внезапной перезагрузки MCU в ходе движения

Параллельно с написанием кода я уже использую станок под его управлением. Недавно напилил детальки для модели планера. Тем самым этот код уже используется на практике.

>>> Подробности

 

cvs-255
()

Вышел NoRT CNC Control

Группа Open Source

Сегодня, после длительной разработки, вышла первая стабильная версия системы управления фрезерным станком с ЧПУ.

Ключевой особенностью, отличающей его от многих других систем, является разделение исполняемого кода на 2 части - часть, требующая realtime, и часть, не требующая realtime. Причем часть, работающая в realtime, исполняется на отдельном микроконтроллере. Это позволяет, с одной стороны, отказаться от необходимости установки realtime ядра на компьютер, а с другой - позволяет обойти ограничения памяти, которые возникают, если весь код находится в микроконтроллере.

При разработке части софта, предназначенной для микроконтроллера, одним из приоритетов было требование легкой портируемости на другие микроконтроллеры. Благодаря этому, весь аппаратно-зависимый код находится в отдельном небольшом файле, а логика работы вынесена в аппаратно независимую библиотеку.

( читать дальше... )

 

cvs-255
()

ROOT 5.34/17

Группа Open Source

24 февраля вышла очередная патч-версия программного пакета ROOT - системы для анализа данных экспериментов в физике, и в частности, в области физики элементарных частиц. Тем не менее, она эта система может использоваться и для анализа других данных, например, астрономических.

В данной версии исправлены найденные ошибки.

Загрузить исходный код можно по ссылке.

>>> Подробности

 ,

cvs-255
()

RSS подписка на новые темы