Страница 66 из 245
Re: LinuxCNC + Orange Pi
Добавлено: 28 июл 2018, 14:35
MX_Master
Добрался снова до апельсина. Собрал и проверил последнюю версию программки для проверки сопроцессора
https://github.com/orangecnc/h3_arisc_api/releases
Полёт нормальный. Сегодня вечером буду проводить хардкорные тесты на больших частотах. Результаты буду фиксировать логическим анализатором. Осциллограммы тоже выложу.
Re: LinuxCNC + Orange Pi
Добавлено: 28 июл 2018, 20:08
MX_Master
Как я и думал, косяков в работе прошивки сопроцессора будет немало.. Чтобы ничего не забыть, сразу заношу всё в список -
https://github.com/orangecnc/h3_arisc_firmware/issues. К концу тестов явно будет больше 10.
Кстати, если кто-то думает, что я сразу найду все косяки и ваш станок не начнёт восстание машин - эт вряд ли. Буду рад, если среди будущих пользователей есть люди, которые могут помочь в тестировании сопроцессора.
Re: LinuxCNC + Orange Pi
Добавлено: 28 июл 2018, 23:23
NKS
MX_Master писал(а):Буду рад, если среди будущих пользователей есть люди, которые могут помочь в тестировании сопроцессора.
Если бы ты смог привить мне мозг программиста хотя бы версии 0.5, то с радостью бы помог.

Но, к сожалению, при всех моих потугах, вынужден находиться в роли наблюдающего.
Re: LinuxCNC + Orange Pi
Добавлено: 29 июл 2018, 15:38
going
MX_Master писал(а):Чтобы ничего не забыть, сразу заношу всё в список -
Посмотрел только один пункт:
https://github.com/orangecnc/h3_arisc_firmware/issues/1
И сразу вопрос: Интересно githab сможет отображать русские буквы?
А по поводу задания периода - какова точность (минимально возможная дискретность)?
Если правильно понимаю программа контроллера - это бесконечный цикл.
Каково время выполнения этого цикла? Точнее диапазон.
Минимальное - это когда при прохождении цикла делается минимум работы.
Максимальное - это когда при прохождении цикла выполняется максимальное колличество кода.
Re: LinuxCNC + Orange Pi
Добавлено: 29 июл 2018, 15:42
Serg
going писал(а):И сразу вопрос: Интересно githab сможет отображать русские буквы?
Да, любые буквы любых языков.
Re: LinuxCNC + Orange Pi
Добавлено: 30 июл 2018, 08:29
going
UAVpilot писал(а):Да, любые буквы любых языков.
Это значит переведённую документацию можно туда выкладывать! Отлично!
Re: LinuxCNC + Orange Pi
Добавлено: 30 июл 2018, 09:34
solo
MX_Master писал(а):Буду рад, если среди будущих пользователей есть люди, которые могут помочь в тестировании сопроцессора.
так, а, что нада для тестирования , прилепить апельснку к станку ?, или что , у меня щас апельсинка управляет заточным станком 4 оси , раньше управляла маленьким манипулятором с кинематикой коре, ( щас пока манипулятор отставил но если че можно быстро восстановить)
Re: LinuxCNC + Orange Pi
Добавлено: 30 июл 2018, 10:16
neller
Я на днях буду тестировать, если что баги смогу прямо в лс кидать, ну если что найду)
Re: LinuxCNC + Orange Pi
Добавлено: 30 июл 2018, 12:08
MX_Master
going писал(а):А по поводу задания периода - какова точность (минимально возможная дискретность)?
Да я чёта тупанул, сделал в микросекундах. Надо исправлять.
going писал(а):Если правильно понимаю программа контроллера - это бесконечный цикл.
Каково время выполнения этого цикла? Точнее диапазон.
Не замерял, но всё это пашет довольно медленно. Да и я сильно оптимизацией не занимался. Судя по вчерашним замерам, когда пашет 4 канала генератора, а всё остальное практически спит, можно выдавить не более
100 КГц для каждого из 4-х канала. И это закономерно, т.к. основной цикл генератора не имеет никакого приоритета. Хотя должен. Особенно, при высоких частотах.
solo писал(а):так, а, что нада для тестирования , прилепить апельснку к станку ?, или что , у меня щас апельсинка управляет заточным станком 4 оси , раньше управляла маленьким манипулятором с кинематикой коре, ( щас пока манипулятор отставил но если че можно быстро восстановить)
Не, на станках нельзя. Нужно только отдельно в виде стенда. Как минимум 1 драйвер + 1 шаговик и, если есть, логический анализатор. Я, кстати, за два дня основные косяки уже поймал. Так что, если апельсин где-то на станке, можно его пока не трогать.
Re: LinuxCNC + Orange Pi
Добавлено: 30 июл 2018, 13:37
going
going писал(а):А по поводу задания периода - какова точность (минимально возможная дискретность)?
Если правильно понимаю программа контроллера - это бесконечный цикл.
Каково время выполнения этого цикла? Точнее диапазон.
Минимальное - это когда при прохождении цикла делается минимум работы.
Максимальное - это когда при прохождении цикла выполняется максимальное колличество кода.
Время выполнения цикла в контроллере - это очень важный параметр для оценки возможностей.
Его как то надо измерить.
А откуда время берём? Судя по коду привязка к частоте работы контроллера? Или я что то недопонимаю?
Re: LinuxCNC + Orange Pi
Добавлено: 30 июл 2018, 13:56
MX_Master
Системный таймер, 32 бита, пашет с той же частотой (450 МГц), что и проц -
https://github.com/orangecnc/h3_arisc_f ... od_timer.c
Время цикла не замерял. Но замерял частоту импульсов при простой 8-ми канальной генерации. До 200 КГц спокойно дотягивало. В моём текущем коде много накладных расходов. Богатый простор для оптимизации.
Re: LinuxCNC + Orange Pi
Добавлено: 30 июл 2018, 15:57
going
MX_Master писал(а):сделал в микросекундах. Надо исправлять.
Таймер 450 МГц - это период 2,2(2) наносекунды. Т.е. его точность 5 наносекунд, если частота задаётся от квацевого генератора.
Максимальная частота импульсов 200 кГц - это период 5 микросекунд, или длительность цикла контроллера.
Т.е. в течении этих 5 микросекунд принимается решение "дёрнуть" пин или нет.
Предположим, меняем состояние 1 пина с частотой 50 кГц - это период следования импульсов 20*2=40 микросекунд.
Если его задать в наносекундах - 40000 то он всё равно должен колебаться в диапазоне 40000 +\- 2500 наносекунд.
Или я что то неправильно понимаю?
Re: LinuxCNC + Orange Pi
Добавлено: 30 июл 2018, 16:16
MX_Master
Смысл наносекунд в возможности указать дробные значения микросекунд, без дробных чисел.
Re: LinuxCNC + Orange Pi
Добавлено: 30 июл 2018, 17:08
going
MX_Master писал(а):Смысл наносекунд в возможности указать дробные значения микросекунд
Это как раз понятно.
Интересно, насколько правильно утверждение:
going писал(а):он всё равно должен колебаться в диапазоне 40000 +\- 2500 наносекунд.
Re: LinuxCNC + Orange Pi
Добавлено: 02 авг 2018, 16:48
MX_Master
Провёл основательную работу по оптимизации прошивки сопроцессора. На каждом этапе проводил тесты. Удалось решить все основные проблемы и поднять общую производительность. Все приказы генератору выдаются теперь в наносекундах.
Последние тесты показывают, что
4 одновременно работающих канала могут выдать минимум по
200 КГц импульсов каждый.
8 одновременных каналов стабильно выдают по
100 КГц.
Re: LinuxCNC + Orange Pi
Добавлено: 02 авг 2018, 17:28
Taganrog
Интересно а разная ширина импульсов действительно имеет место быть или это погрешность простенького анализатора ?
Сам пользуюсь таким же и наблюдая импульсы от esp8266 тоже вижу неравномерность . Хотя ее не планировал.
Re: LinuxCNC + Orange Pi
Добавлено: 02 авг 2018, 18:00
MX_Master
В данном случае это сопроцессор, ибо генерация нифига не аппаратная (: Там в этих кривых промежутках сопроцессор успевает ещё и сообщения проверять/получать, и счётчики энкодеров обновлять.
Помню, сравнивал аппаратную и программную генерацию на STM32.. Аппаратная - ровненькая как заборчики на западе, программная - кривая, косая как частокол на деревне. Главное, чтоб больших разрывов не было.
Re: LinuxCNC + Orange Pi
Добавлено: 03 авг 2018, 08:24
MX_Master
Дальнейший тюнинг прошивки сопроцессора будет связан уже с драйвером для
LinuxCNC/Machinekit. Поэтому плавно переходим к работе над драйвером..
https://github.com/orangecnc/machinekit ... nner_arisc
Re: LinuxCNC + Orange Pi
Добавлено: 03 авг 2018, 18:21
MX_Master
Пол дня думал над реализацией драйвера.. И, не смотря на свою лень, понял, что надо делать поддержку сразу всех популярных чипов и плат, где есть наш сопроцессор. Cекас будет ещё тот. Прошивку со скриптами загрузки тоже надо будет подправить. Но, в конечном счёте, это будет лучше, чем поддержка тупо одного
Allwinner H3.
Вощем, если делать, так по большому

Re: LinuxCNC + Orange Pi
Добавлено: 03 авг 2018, 19:39
MX_Master
Оценил ща масштабы задуманного. Решил не привязываться непосредственно к платам. Буду делать выбор только между чипами. Это означает, что, к примеру, GPIO пины в HAL файле нельзя будет указывать в виде номеров на плате (1,2,3,..,40). Можно только в виде названия порта и пина чипа (PA15, PL10, ...). Это заметно сократит объём работы.