LinuxCNC + Orange Pi

Контроллеры, драйверы, датчики, управляющие устройства.

Re: ЧПУ контроллер на базе Orange Pi

Сообщение arkhnchul » 20 сен 2017, 18:30

с аппаратным таймером поиграть не выйдет? судя по даташиту, там их всего три штуки, есть не занятый системой?
arkhnchul
Мастер
 
Сообщения: 1584
Зарегистрирован: 01 фев 2016, 13:56
Откуда: москва
Репутация: 290

Re: ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master » 20 сен 2017, 18:48

arkhnchul писал(а):с аппаратным таймером поиграть не выйдет? судя по даташиту, там их всего три штуки, есть не занятый системой?

Один, кажись, не занят. Тактируется от 24 МГц. Но в контексте ОС мы его можем использовать только для точного замера времени. Сам он пины дёргать, вроде как, не умеет. Ну и, пока непонятно, можно ли в обход системного планировщика выполнять код обработчика по переполнению таймера. Это еще более низкий уровень чем тот, на котором я сейчас провожу тесты. Когда-ньть, канеш, докапаемся..
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3305
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 1725
Медальки:
Настоящее имя: Михаил

Re: ЧПУ контроллер на базе Orange Pi

Сообщение Argon-11 » 20 сен 2017, 18:59

MX_Master писал(а):можно ли в обход системного планировщика выполнять код обработчика по переполнению таймера.

Для атомарности кода используется "критическая секция". Это, судя по всему, относится именно к драйверу уровня ядра.
Аватара пользователя
Argon-11
Мастер
 
Сообщения: 1007
Зарегистрирован: 07 июн 2017, 17:48
Репутация: 242

Re: ЧПУ контроллер на базе Orange Pi

Сообщение muxa » 20 сен 2017, 20:02

ногодрыг оно конечно хорошо, только вот с ногами у китайцев беда. оно там так намуксовано, что с этих огрызков даже I2S для звука без танцев с бубном и паяльником не выведешь толком.
поэтому имхо надо смотреть в сторону hm2_spi чтобы просто не терять время.
З.Ы, имея 1гекар мозгов на материнке с атомом, грузил в linuxcnc G код ( иконы) обьемом метров по 600.
оно конечно задумывалось, но после загрузки "тяжести" файла заметно не было. так шта имхо 512мб должно хватать.
muxa
Мастер
 
Сообщения: 222
Зарегистрирован: 15 мар 2012, 12:29
Репутация: 23

Re: ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master » 20 сен 2017, 22:25

Насчёт ногодрыга.. Почитал немного datasheet к чипу H3 на предмет DMA. Складывается впечатление, что быстрый и точный ногодрыг можно организовать как раз с помощью DMA. А именно - переносом (в обход проца) массива из ОЗУ (DDR) в регистр чипа (SRAM), отвечающий за состояние пинов какого-либо порта. Звучит оптимистично, да. Но в STM32 (который тоже ARM) так делать можно.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3305
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 1725
Медальки:
Настоящее имя: Михаил

Re: ЧПУ контроллер на базе Orange Pi

Сообщение arkhnchul » 20 сен 2017, 22:45

а как получится "точный" дрыг? один фиг нужно некое стабильное отсчетное событие, по которому будут меняться значения в ram.
arkhnchul
Мастер
 
Сообщения: 1584
Зарегистрирован: 01 фев 2016, 13:56
Откуда: москва
Репутация: 290

Re: ЧПУ контроллер на базе Orange Pi

Сообщение UAVpilot » 21 сен 2017, 00:16

MX_Master писал(а):Ну и, пока непонятно, можно ли в обход системного планировщика выполнять код обработчика по переполнению таймера.

Начать стоит с изучения архитектуры ядра Linux... :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 16858
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4149
Медальки:
Настоящее имя: Сергей

Re: ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master » 21 сен 2017, 00:41

arkhnchul писал(а):а как получится "точный" дрыг? один фиг нужно некое стабильное отсчетное событие, по которому будут меняться значения в ram.

Если DMA будет работать на какой-ньть постоянной частоте, то отсчетные события будут не нужны. Нужную выходную частоту можно будет получить разнося в DMA массиве значения 1 и 0 дальше или ближе друг от друга. Но это пока что теория.

UAVpilot писал(а):Начать стоит с изучения архитектуры ядра Linux...

Хорошо, изучим
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3305
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 1725
Медальки:
Настоящее имя: Михаил

Re: ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master » 23 сен 2017, 19:43

Так, с аппаратной генерацией шагов с помощью DMA всё понятно. Одним словом - геморрой. А в двух словах.. Перед тем как начать перенос массива в регистры выходных пинов, нужно этот массив как-то создать. Создавать придётся процессорно. Причём, времени на создание массива будет уходить больше, чем на его перенос в регистры выходных пинов. Это значит, что DMA будет иногда курить, пока процессор заполняет массив новыми значениями. Иными словами, будут паузы при выполнении УП, а это плохо. Можно, канеш, при открытии УП полностью просчитать и перевести всю траекторию в длииииииииинный массив значений выходных пинов. А потом с помощью DMA этот длинный массив переносить в регистры по частям. Но такое возможно только для небольших файлов УП, и это тоже плохо. ИТОГО: DMA на 100% можно использовать только для вывода ШИМ на любых пинах, а для вывода шагов DMA не подходит.

Для генерации шагов остаются два способа:
  1. внешний генератор (на STM32) по SPI
  2. внутренний программный генератор + RT
Если с RT системой на Orange Pi One будут проблемы, не совместимые с дальнейшей разработкой, то будем использовать только внешний генератор. Один генератор (1.8$) = 4 оси, два генератора (3.6$) = 8 осей, ...

Раз с генераторами шагов всё понятно, надо бы обсудить вопрос управления шпинделем и частотником. Первый вариант, который приехал в мозг - это связка из двух недорогих модулей:
  1. Модуль с MCP4725 (ЦАП), управление по I2C - 0.8$
  2. Модуль опторазвязки с TLP281 на 4 канала - 1.1$
Первый - это 12-ти битный (4096) ЦАП, который выдаёт напряжение от 0 до 5V для управления оборотами шпинделя в частотнике. Второй модуль управляет контактами FOR/REV/... частотника для включения шпинделя в нужном направлении. Кто что думает по этому поводу?

LinuxCNC + Orange Pi 1pcs-lot-MCP4725-I2C-DAC-Breakout-module-development-board.jpg
LinuxCNC + Orange Pi TLP281-4-Channel-Opto-isolator-IC-Module-For-Arduino-Expansion-Board-High-And-Low-Level-Optocoupler.jpg
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3305
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 1725
Медальки:
Настоящее имя: Михаил

Re: ЧПУ контроллер на базе Orange Pi

Сообщение Argon-11 » 23 сен 2017, 20:04

MX_Master писал(а): Кто что думает по этому поводу?

а может, правильнее цифровой интерфейс использовать типа RS485 или что там сейчас популярно у частотников?
Аватара пользователя
Argon-11
Мастер
 
Сообщения: 1007
Зарегистрирован: 07 июн 2017, 17:48
Репутация: 242

Re: ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master » 23 сен 2017, 20:35

Argon-11 писал(а):
MX_Master писал(а): Кто что думает по этому поводу?

а может, правильнее цифровой интерфейс использовать типа RS485 или что там сейчас популярно у частотников?

Оно, канеш, лучше, но сколько частотников столько будет и форматов управления. Т.е. надо читать мануалы к каждому частотнику и писать отдельные программки для каждого. Это, скорее, на будущее. К тому же, в простых частотниках RS485 нет. А вот "0-10V + ВКЛ" почти всегда есть.

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

Re: ЧПУ контроллер на базе Orange Pi

Сообщение arkhnchul » 23 сен 2017, 20:47

дык тут в чипе есть PWM, и вроде ак не один канал. Чем он не устраивает?
arkhnchul
Мастер
 
Сообщения: 1584
Зарегистрирован: 01 фев 2016, 13:56
Откуда: москва
Репутация: 290

Re: ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master » 23 сен 2017, 21:00

arkhnchul писал(а):дык тут в чипе есть PWM, и вроде ак не один канал. Чем он не устраивает?

всем устраивает, подскажи куда в частотнике заводить ШИМ 3.3V ?
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3305
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 1725
Медальки:
Настоящее имя: Михаил

Re: ЧПУ контроллер на базе Orange Pi

Сообщение Lunatic » 23 сен 2017, 21:27

Наверно лучше гальванически отвязать задание 0-10В от частотника, схема для подключения ШИМ есть на одной оптопаре в инструкции на kflop. Только резисторы придется подбирать под тип пары и входное напряжение.
Lunatic
Мастер
 
Сообщения: 344
Зарегистрирован: 09 мар 2015, 20:25
Репутация: 51
Настоящее имя: Дмитрий

Re: ЧПУ контроллер на базе Orange Pi

Сообщение Shkryab » 23 сен 2017, 21:35

MX_Master писал(а):
arkhnchul писал(а):дык тут в чипе есть PWM, и вроде ак не один канал. Чем он не устраивает?

всем устраивает, подскажи куда в частотнике заводить ШИМ 3.3V ?


Ключ с коллекторной нагрузкой на 12В, резистор последовательно, конденсатор на землю. При необходимости буфер. И на частотник.

Схему нарисовать? ;)
Аватара пользователя
Shkryab
Опытный
 
Сообщения: 143
Зарегистрирован: 15 июн 2017, 21:25
Откуда: Страна, которой нет
Репутация: 18
Настоящее имя: Леонидыч

Re: ЧПУ контроллер на базе Orange Pi

Сообщение Evilmax » 23 сен 2017, 21:37

MX_Master писал(а):Так, с аппаратной генерацией шагов с помощью DMA всё понятно. Одним словом - геморрой. А в двух словах.. Перед тем как начать перенос массива в регистры выходных пинов, нужно этот массив как-то создать. Создавать придётся процессорно. Причём, времени на создание массива будет уходить больше, чем на его перенос в регистры выходных пинов. Это значит, что DMA будет иногда курить, пока процессор заполняет массив новыми значениями. Иными словами, будут паузы при выполнении УП, а это плохо. Можно, канеш, при открытии УП полностью просчитать и перевести всю траекторию в длииииииииинный массив значений выходных пинов. А потом с помощью DMA этот длинный массив переносить в регистры по частям. Но такое возможно только для небольших файлов УП, и это тоже плохо. ИТОГО: DMA на 100% можно использовать только для вывода ШИМ на любых пинах, а для вывода шагов DMA не подходит.


Всё понятно, интереса к затее больше нет. Тему можно закрывать
Аватара пользователя
Evilmax
Мастер
 
Сообщения: 221
Зарегистрирован: 02 окт 2015, 05:30
Репутация: 111

Re: ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master » 23 сен 2017, 22:56

Lunatic писал(а):Наверно лучше гальванически отвязать задание 0-10В от частотника, схема для подключения ШИМ есть на одной оптопаре в инструкции на kflop. Только резисторы придется подбирать под тип пары и входное напряжение.

Что-то мне подсказывает, что ЦАП модуль можно развязать с апельсинкой не занятыми оптопарами на модуле с TLP281

Shkryab писал(а):Ключ с коллекторной нагрузкой на 12В, резистор последовательно, конденсатор на землю. При необходимости буфер. И на частотник.

А как же быть с идеей о готовых модулях? :hehehe:
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3305
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 1725
Медальки:
Настоящее имя: Михаил

Re: ЧПУ контроллер на базе Orange Pi

Сообщение arkhnchul » 24 сен 2017, 00:11

MX_Master писал(а):куда в частотнике заводить ШИМ 3.3V ?

один фиг все пины гальванически развязывать или хотя бы уровни согласовывать. Лишний транзистор картины не изменит.
MX_Master писал(а):А как же быть с идеей о готовых модулях? :hehehe:

существуют современные "радиокубики", вполне себе готовые модули рассыпухи)
arkhnchul
Мастер
 
Сообщения: 1584
Зарегистрирован: 01 фев 2016, 13:56
Откуда: москва
Репутация: 290

Re: ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master » 24 сен 2017, 05:15

Вощем, с управлением частотником боль мень понятно. Заказал дополнительно модуль UART<>RS485.
Буду пробовать всё это дело на своем Huanyang'e :)

А теперь вопрос по управлению DC шпинделем. Я такими еще не пользовался, поэтому знаю не так много.
Поделитесь, у кого есть такой шпиндель, как он у вас подключен и как вы управляете оборотами.

LinuxCNC + Orange Pi HTB1QBamKFXXXXX3XVXXq6xXFXXXI.jpg

Первое предположение - это взять вот такой модуль (6.5$)

LinuxCNC + Orange Pi HTB1CBH.RXXXXXbkXFXXq6xXFXXXY.jpg

Но вместо потенциометра (0-5V) использовать вышеуказанный модуль ЦАП (0-5V). Как думаете?
Последний раз редактировалось MX_Master 24 сен 2017, 06:18, всего редактировалось 1 раз.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 3305
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 1725
Медальки:
Настоящее имя: Михаил

Re: ЧПУ контроллер на базе Orange Pi

Сообщение nevkon » 24 сен 2017, 06:17

У меня подобного вида. Управление с компа вкл/выкл. И вручную кручу обороты на звук :) (ну не сделал еще датчик оборотов). Один с самопальным ШИМ на 555 таймере, второй на распространенном БП.
nevkon
Мастер
 
Сообщения: 1174
Зарегистрирован: 17 июл 2015, 10:25
Откуда: Балаково (Саратовская обл.)
Репутация: 153
Настоящее имя: Константин

Пред.След.

Вернуться в Электроника

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

Зарегистрированные пользователи: aldemm, Bender, Bing [Bot], Google [Bot], kupidon1979, Majestic-12 [Bot], selenur, Yandex [bot], ДмитрийП

Поделиться

Reputation System ©'