LinuxCNC + Orange Pi (allwincnc)
-
- Мастер
- Сообщения: 1773
- Зарегистрирован: 01 фев 2016, 13:56
- Репутация: 339
- Откуда: москва
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
с аппаратным таймером поиграть не выйдет? судя по даташиту, там их всего три штуки, есть не занятый системой?
- MX_Master
- Мастер
- Сообщения: 7475
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Один, кажись, не занят. Тактируется от 24 МГц. Но в контексте ОС мы его можем использовать только для точного замера времени. Сам он пины дёргать, вроде как, не умеет. Ну и, пока непонятно, можно ли в обход системного планировщика выполнять код обработчика по переполнению таймера. Это еще более низкий уровень чем тот, на котором я сейчас провожу тесты. Когда-ньть, канеш, докапаемся..arkhnchul писал(а):с аппаратным таймером поиграть не выйдет? судя по даташиту, там их всего три штуки, есть не занятый системой?
- Argon-11
- Мастер
- Сообщения: 2067
- Зарегистрирован: 07 июн 2017, 17:48
- Репутация: 461
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Для атомарности кода используется "критическая секция". Это, судя по всему, относится именно к драйверу уровня ядра.MX_Master писал(а):можно ли в обход системного планировщика выполнять код обработчика по переполнению таймера.
Re: ЧПУ контроллер на базе Orange Pi
ногодрыг оно конечно хорошо, только вот с ногами у китайцев беда. оно там так намуксовано, что с этих огрызков даже I2S для звука без танцев с бубном и паяльником не выведешь толком.
поэтому имхо надо смотреть в сторону hm2_spi чтобы просто не терять время.
З.Ы, имея 1гекар мозгов на материнке с атомом, грузил в linuxcnc G код ( иконы) обьемом метров по 600.
оно конечно задумывалось, но после загрузки "тяжести" файла заметно не было. так шта имхо 512мб должно хватать.
поэтому имхо надо смотреть в сторону hm2_spi чтобы просто не терять время.
З.Ы, имея 1гекар мозгов на материнке с атомом, грузил в linuxcnc G код ( иконы) обьемом метров по 600.
оно конечно задумывалось, но после загрузки "тяжести" файла заметно не было. так шта имхо 512мб должно хватать.
- MX_Master
- Мастер
- Сообщения: 7475
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Насчёт ногодрыга.. Почитал немного datasheet к чипу H3 на предмет DMA. Складывается впечатление, что быстрый и точный ногодрыг можно организовать как раз с помощью DMA. А именно - переносом (в обход проца) массива из ОЗУ (DDR) в регистр чипа (SRAM), отвечающий за состояние пинов какого-либо порта. Звучит оптимистично, да. Но в STM32 (который тоже ARM) так делать можно.
-
- Мастер
- Сообщения: 1773
- Зарегистрирован: 01 фев 2016, 13:56
- Репутация: 339
- Откуда: москва
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
а как получится "точный" дрыг? один фиг нужно некое стабильное отсчетное событие, по которому будут меняться значения в ram.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Начать стоит с изучения архитектуры ядра Linux...MX_Master писал(а):Ну и, пока непонятно, можно ли в обход системного планировщика выполнять код обработчика по переполнению таймера.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- MX_Master
- Мастер
- Сообщения: 7475
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Если DMA будет работать на какой-ньть постоянной частоте, то отсчетные события будут не нужны. Нужную выходную частоту можно будет получить разнося в DMA массиве значения 1 и 0 дальше или ближе друг от друга. Но это пока что теория.arkhnchul писал(а):а как получится "точный" дрыг? один фиг нужно некое стабильное отсчетное событие, по которому будут меняться значения в ram.
Хорошо, изучимUAVpilot писал(а):Начать стоит с изучения архитектуры ядра Linux...
- MX_Master
- Мастер
- Сообщения: 7475
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Так, с аппаратной генерацией шагов с помощью DMA всё понятно. Одним словом - геморрой. А в двух словах.. Перед тем как начать перенос массива в регистры выходных пинов, нужно этот массив как-то создать. Создавать придётся процессорно. Причём, времени на создание массива будет уходить больше, чем на его перенос в регистры выходных пинов. Это значит, что DMA будет иногда курить, пока процессор заполняет массив новыми значениями. Иными словами, будут паузы при выполнении УП, а это плохо. Можно, канеш, при открытии УП полностью просчитать и перевести всю траекторию в длииииииииинный массив значений выходных пинов. А потом с помощью DMA этот длинный массив переносить в регистры по частям. Но такое возможно только для небольших файлов УП, и это тоже плохо. ИТОГО: DMA на 100% можно использовать только для вывода ШИМ на любых пинах, а для вывода шагов DMA не подходит.
Для генерации шагов остаются два способа:
Раз с генераторами шагов всё понятно, надо бы обсудить вопрос управления шпинделем и частотником. Первый вариант, который приехал в мозг - это связка из двух недорогих модулей: Первый - это 12-ти битный (4096) ЦАП, который выдаёт напряжение от 0 до 5V для управления оборотами шпинделя в частотнике. Второй модуль управляет контактами FOR/REV/... частотника для включения шпинделя в нужном направлении. Кто что думает по этому поводу?
Для генерации шагов остаются два способа:
- внешний генератор (на STM32) по SPI
- внутренний программный генератор + RT
Раз с генераторами шагов всё понятно, надо бы обсудить вопрос управления шпинделем и частотником. Первый вариант, который приехал в мозг - это связка из двух недорогих модулей: Первый - это 12-ти битный (4096) ЦАП, который выдаёт напряжение от 0 до 5V для управления оборотами шпинделя в частотнике. Второй модуль управляет контактами FOR/REV/... частотника для включения шпинделя в нужном направлении. Кто что думает по этому поводу?
- Argon-11
- Мастер
- Сообщения: 2067
- Зарегистрирован: 07 июн 2017, 17:48
- Репутация: 461
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
а может, правильнее цифровой интерфейс использовать типа RS485 или что там сейчас популярно у частотников?MX_Master писал(а): Кто что думает по этому поводу?
- MX_Master
- Мастер
- Сообщения: 7475
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Оно, канеш, лучше, но сколько частотников столько будет и форматов управления. Т.е. надо читать мануалы к каждому частотнику и писать отдельные программки для каждого. Это, скорее, на будущее. К тому же, в простых частотниках RS485 нет. А вот "0-10V + ВКЛ" почти всегда есть.Argon-11 писал(а):а может, правильнее цифровой интерфейс использовать типа RS485 или что там сейчас популярно у частотников?MX_Master писал(а): Кто что думает по этому поводу?
В частотниках бывают и другие режимы управления, например, дискретные - "3 пина, 8 скоростей" или "3 пина, 3 скорости" и т.д.
-
- Мастер
- Сообщения: 1773
- Зарегистрирован: 01 фев 2016, 13:56
- Репутация: 339
- Откуда: москва
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
дык тут в чипе есть PWM, и вроде ак не один канал. Чем он не устраивает?
- MX_Master
- Мастер
- Сообщения: 7475
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
всем устраивает, подскажи куда в частотнике заводить ШИМ 3.3V ?arkhnchul писал(а):дык тут в чипе есть PWM, и вроде ак не один канал. Чем он не устраивает?
-
- Мастер
- Сообщения: 458
- Зарегистрирован: 09 мар 2015, 20:25
- Репутация: 74
- Настоящее имя: Дмитрий
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Наверно лучше гальванически отвязать задание 0-10В от частотника, схема для подключения ШИМ есть на одной оптопаре в инструкции на kflop. Только резисторы придется подбирать под тип пары и входное напряжение.
- Shkryab
- Опытный
- Сообщения: 143
- Зарегистрирован: 15 июн 2017, 21:25
- Репутация: 18
- Настоящее имя: Леонидыч
- Откуда: Страна, которой нет
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Ключ с коллекторной нагрузкой на 12В, резистор последовательно, конденсатор на землю. При необходимости буфер. И на частотник.MX_Master писал(а):всем устраивает, подскажи куда в частотнике заводить ШИМ 3.3V ?arkhnchul писал(а):дык тут в чипе есть PWM, и вроде ак не один канал. Чем он не устраивает?
Схему нарисовать?
- Evilmax
- Мастер
- Сообщения: 238
- Зарегистрирован: 02 окт 2015, 05:30
- Репутация: 134
- Настоящее имя: Максим
- Откуда: Ленинград
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Всё понятно, интереса к затее больше нет. Тему можно закрыватьMX_Master писал(а):Так, с аппаратной генерацией шагов с помощью DMA всё понятно. Одним словом - геморрой. А в двух словах.. Перед тем как начать перенос массива в регистры выходных пинов, нужно этот массив как-то создать. Создавать придётся процессорно. Причём, времени на создание массива будет уходить больше, чем на его перенос в регистры выходных пинов. Это значит, что DMA будет иногда курить, пока процессор заполняет массив новыми значениями. Иными словами, будут паузы при выполнении УП, а это плохо. Можно, канеш, при открытии УП полностью просчитать и перевести всю траекторию в длииииииииинный массив значений выходных пинов. А потом с помощью DMA этот длинный массив переносить в регистры по частям. Но такое возможно только для небольших файлов УП, и это тоже плохо. ИТОГО: DMA на 100% можно использовать только для вывода ШИМ на любых пинах, а для вывода шагов DMA не подходит.
- MX_Master
- Мастер
- Сообщения: 7475
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Что-то мне подсказывает, что ЦАП модуль можно развязать с апельсинкой не занятыми оптопарами на модуле с TLP281Lunatic писал(а):Наверно лучше гальванически отвязать задание 0-10В от частотника, схема для подключения ШИМ есть на одной оптопаре в инструкции на kflop. Только резисторы придется подбирать под тип пары и входное напряжение.
А как же быть с идеей о готовых модулях?Shkryab писал(а):Ключ с коллекторной нагрузкой на 12В, резистор последовательно, конденсатор на землю. При необходимости буфер. И на частотник.
-
- Мастер
- Сообщения: 1773
- Зарегистрирован: 01 фев 2016, 13:56
- Репутация: 339
- Откуда: москва
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
один фиг все пины гальванически развязывать или хотя бы уровни согласовывать. Лишний транзистор картины не изменит.MX_Master писал(а):куда в частотнике заводить ШИМ 3.3V ?
существуют современные "радиокубики", вполне себе готовые модули рассыпухи)MX_Master писал(а):А как же быть с идеей о готовых модулях?
- MX_Master
- Мастер
- Сообщения: 7475
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3099
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Вощем, с управлением частотником боль мень понятно. Заказал дополнительно модуль UART<>RS485.
Буду пробовать всё это дело на своем Huanyang'e
А теперь вопрос по управлению DC шпинделем. Я такими еще не пользовался, поэтому знаю не так много.
Поделитесь, у кого есть такой шпиндель, как он у вас подключен и как вы управляете оборотами.
Первое предположение - это взять вот такой модуль (6.5$)
Но вместо потенциометра (0-5V) использовать вышеуказанный модуль ЦАП (0-5V). Как думаете?
Буду пробовать всё это дело на своем Huanyang'e
А теперь вопрос по управлению DC шпинделем. Я такими еще не пользовался, поэтому знаю не так много.
Поделитесь, у кого есть такой шпиндель, как он у вас подключен и как вы управляете оборотами.
Первое предположение - это взять вот такой модуль (6.5$)
Но вместо потенциометра (0-5V) использовать вышеуказанный модуль ЦАП (0-5V). Как думаете?
Последний раз редактировалось MX_Master 24 сен 2017, 06:18, всего редактировалось 1 раз.
-
- Почётный участник
- Сообщения: 2391
- Зарегистрирован: 17 июл 2015, 10:25
- Репутация: 302
- Настоящее имя: Константин
- Откуда: Балаково (Саратовская обл.)
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
У меня подобного вида. Управление с компа вкл/выкл. И вручную кручу обороты на звук (ну не сделал еще датчик оборотов). Один с самопальным ШИМ на 555 таймере, второй на распространенном БП.