Страница 221 из 245
Re: LinuxCNC + Orange Pi (allwincnc)
Добавлено: 05 авг 2021, 22:45
xenon-alien
гражданинъ писал(а): ↑05 авг 2021, 22:39
В данном случае оба совета "перед покупкой надо....." не обоснованны , и в том и в том случае куплено и сделано всё правильно .
Ну так вы же разузнали перед покупкой? Подготовились?
Я шел своим путём, вы - своим.
Я был готов к одному, вы - к другому. НО прежде присмотрелись к чужому опыту.
Это и означает "перед покупкой надо....."
Re: LinuxCNC + Orange Pi (allwincnc)
Добавлено: 05 авг 2021, 23:42
stari40k
Можно и я свои 5ть копеек вставлю?
Наверное в первую очередь хочу отметить что никого задеть не хотел.
Свои рекомендации писал на основании этого того, что мне проще разработать плату чем городить на коленке ёжики и бутерброды из 100500 маленьких платок. Конвертер уровней на той-же плате будет занимать больше места чем три резистора пускай даже 0805, да и по-цене ощутимей. Но при этом не даёт каких либо видимых приимуществ (в разрезе подключения энкодера). Преобразователь этот 5и вольтовый, ладно если-бы до 24В держал, тогда да, прмехо-защищенность линии выше и т.д. А так, по мне проще три ризюка влепить (коих в наличии - гора).
А вообще, злые вы, уйду я от вас

Re: LinuxCNC + Orange Pi (allwincnc)
Добавлено: 06 авг 2021, 09:05
wzor
Кстати на форуме linuxcnc подняли вопрос про файлы .ngc
Они загружаются но программа их не отрабатывает( Попробовал и правда не работает(
Кто то сталкивался с этим?
Re: LinuxCNC + Orange Pi (allwincnc)
Добавлено: 06 авг 2021, 16:26
гражданинъ
гражданинъ писал(а): ↑
Михаил, ты их там научи УПшку сохранять для мача (ТАР) ,а то у них не запускается с линуховским постом .
Я давно об этом писал ,запускается со 2й или 3й строки ,а TAP запускается без проблем.Предыдущая версия где ариск был не доделан работает у меня с GPIO , .ngc запускается без проблем . А вот вписать TAP в ини что б заработало мне не удалось .
Re: LinuxCNC + Orange Pi (allwincnc)
Добавлено: 06 авг 2021, 17:21
wzor
Я так же про это писал давненько!
Переустановил последний linuxcnc отсюда
http://buildbot.linuxcnc.org/dists/ и все равно также( Хоть тресни не хочет .ngc файлы запускать(((
Не понятно в чем проблема(
Re: LinuxCNC + Orange Pi (allwincnc)
Добавлено: 06 авг 2021, 18:40
гражданинъ
Там парни вцепились ,теперь раскрутят ,мне кааца! А мне больше нравится как отрабатывает УП с ТАРом .Тока всё время выбирать "все файлы".
Re: LinuxCNC + Orange Pi (allwincnc)
Добавлено: 08 авг 2021, 06:48
Vladimir 2011
Добрый день!
Начинал повторять это проект. До конца я не дошел (не хватило времени), стал собирать на макетной плате. Пока не осилил. Хочу доделать до конца проект. За это время(достаточно большое) сменилось несколько сайтов с инструкциями и как я понял, функционал тоже изменился. Проект несколько раз приостанавливался ТС по разным причинам. Однако, есть участники этой темы, которые получили реальные рабочие результаты. Т.е. документация и рекомендации с этих сайтов уже не доступны.
Что я предлагаю? Так как информация изменялась и кочевала по разным местам - собрать в ее в одном месте из рабочих на практике решений. Прошу откликнуться таких пользователей как: гражданинъ и всех у кого получилось реализовать проект. Написать, что на данный момент у них реализовано, на каком софте и каком железе. Ну т.е. взять последнюю рабочую(самые последние ARMBIAN не подходят) прошивку с использованием сопроцессора, рабочую схему с преобразователями уровня и реле и я, например, разведу плату shield в которую все будет вставляться - апельсинка, платы с преобразователями, платы с реле, драйвера, енкодеры и т.д. И тогда любой сможет повторить этот проект гораздо быстрее и использовать его в практических целях.
Как я понял, ТС решил закрыть проект. Им проделана огромная работа и он обладает богатым опытом и знаниями в области программирования. Спасибо ему, за то что потратил свое вермя и знания.
Мы можем сохранить практическую пользу от работы ТС и не дать пропасть ей в бездне времени.
Напишите ваше мнение по этому вопросу.
Re: LinuxCNC + Orange Pi (allwincnc)
Добавлено: 08 авг 2021, 07:09
MX_Master
Кстати, пока не забыл, вот мой текущий конфиг на 4 оси с двумя движками на оси Y
INI
Код: Выделить всё
[EMC]
MACHINE = MX_2600x1300x200
DEBUG = 0
VERSION = 1.1
[HAL]
HALFILE = config.hal
[DISPLAY]
DISPLAY = axis
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
ARCDIVISION = 64
GRIDS = 10mm 20mm 50mm 100mm 1in 2in 5in 10in
MAX_FEED_OVERRIDE = 2.0
MIN_SPINDLE_OVERRIDE = 0.5
MAX_SPINDLE_OVERRIDE = 2.0
DEFAULT_LINEAR_VELOCITY = 40.00
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 200.00
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 2
PROGRAM_PREFIX = /home/master/linuxcnc/nc_files
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm
GEOMETRY = XYYZA
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
PROGRAM_EXTENSION = .nc,.tap G-Code File
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[RS274NGC]
PARAMETER_FILE = config.var
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
BASE_PERIOD = 1000000
SERVO_PERIOD = 1000000
[KINS]
JOINTS = 5
KINEMATICS = trivkins coordinates=XYYZA kinstype=B
[TRAJ]
COORDINATES = X Y Y Z A
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 30.0
MAX_LINEAR_VELOCITY = 200.00
[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl
[AXIS_X]
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 500.0
MIN_LIMIT = -0.1
MAX_LIMIT = 1297.0
[JOINT_0]
TYPE = LINEAR
SCALE = 100.0
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 500.0
MIN_LIMIT = -0.1
MAX_LIMIT = 1297.0
FERROR = 1
MIN_FERROR = 0.25
HOME = 0.0
HOME_OFFSET = -1.0
HOME_SEARCH_VEL = -20.0
HOME_LATCH_VEL = -0.5
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 1
[AXIS_Y]
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 500.0
MIN_LIMIT = -0.1
MAX_LIMIT = 2600.0
[JOINT_1]
TYPE = LINEAR
SCALE = 100.0
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 500.0
MIN_LIMIT = -0.1
MAX_LIMIT = 2600.0
FERROR = 1
MIN_FERROR = 0.25
HOME = 0.0
HOME_OFFSET = -1.0
HOME_SEARCH_VEL = -20.0
HOME_LATCH_VEL = -0.5
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = -2
[JOINT_2]
TYPE = LINEAR
SCALE = 100.0
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 500.0
MIN_LIMIT = -0.1
MAX_LIMIT = 2600.0
FERROR = 1
MIN_FERROR = 0.25
HOME = 0.0
HOME_OFFSET = -1.0
HOME_SEARCH_VEL = -20.0
HOME_LATCH_VEL = -0.5
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = -2
[AXIS_Z]
MAX_VELOCITY = 50.0
MAX_ACCELERATION = 200.0
MIN_LIMIT = -205.0
MAX_LIMIT = 0.1
[JOINT_3]
TYPE = LINEAR
SCALE = 177.777777778
MAX_VELOCITY = 50.0
MAX_ACCELERATION = 200.0
MIN_LIMIT = -205.0
MAX_LIMIT = 0.1
FERROR = 1
MIN_FERROR = 0.25
HOME = 0.0
HOME_OFFSET = 1.0
HOME_SEARCH_VEL = 15.0
HOME_LATCH_VEL = 0.5
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 0
[AXIS_A]
MAX_VELOCITY = 360.0
MAX_ACCELERATION = 1000.0
MIN_LIMIT = -999999.0
MAX_LIMIT = 999999.0
[JOINT_4]
TYPE = ANGULAR
SCALE = 53.3333333333
MAX_VELOCITY = 360.0
MAX_ACCELERATION = 1000.0
MIN_LIMIT = -999999.0
MAX_LIMIT = 999999.0
FERROR = 1
MIN_FERROR = 0.25
HOME = 0.0
HOME_OFFSET = 0.0
HOME_SEQUENCE = 3
HAL
Код: Выделить всё
# load RT components
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt arisc pwm="p,p,p,p,p" out="PA12" in="PC0,PC1,PC4,PC7"
# load non-RT components
loadusr -Wn spindle-vfd hy_vfd -n spindle-vfd -t 1 -d /dev/ttyUSB0 -p none -r 9600 -s 1
# add RT functions to the servo thread
addf arisc.gpio.read servo-thread
addf arisc.pwm.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf arisc.gpio.write servo-thread
addf arisc.pwm.write servo-thread
# axis X setup
# PA11:STEP, PA6:DIR, PA12:EN, PC1:HOME
setp arisc.pwm.0.pos-scale [JOINT_0]SCALE
setp arisc.pwm.0.dc-cmd 0.5 # 50%
setp arisc.pwm.0.dc-max-t 5000
setp arisc.pwm.0.dir-hold 50000
setp arisc.pwm.0.dir-setup 50000
setp arisc.pwm.0.pwm-port 0 # PA
setp arisc.pwm.0.pwm-pin 11
setp arisc.pwm.0.dir-port 0 # PA
setp arisc.pwm.0.dir-pin 6
net x-pos-cmd joint.0.motor-pos-cmd arisc.pwm.0.pos-cmd
net x-pos-fb joint.0.motor-pos-fb arisc.pwm.0.pos-fb
net x-en joint.0.amp-enable-out arisc.pwm.0.enable arisc.gpio.PA12-out-not
net x-home joint.0.home-sw-in arisc.gpio.PC1-in-not
# axis YL.1 setup
# PA14:STEP, PA13:DIR, PA12:EN, PC4:HOME
setp arisc.pwm.1.pos-scale [JOINT_1]SCALE
setp arisc.pwm.1.dc-cmd 0.5 # 50%
setp arisc.pwm.1.dc-max-t 5000
setp arisc.pwm.1.dir-hold 50000
setp arisc.pwm.1.dir-setup 50000
setp arisc.pwm.1.pwm-port 0 # PA
setp arisc.pwm.1.pwm-pin 14
setp arisc.pwm.1.dir-port 0 # PA
setp arisc.pwm.1.dir-pin 13
net y1-pos-cmd joint.1.motor-pos-cmd arisc.pwm.1.pos-cmd
net y1-pos-fb joint.1.motor-pos-fb arisc.pwm.1.pos-fb
net y1-en joint.1.amp-enable-out arisc.pwm.1.enable
net y1-home joint.1.home-sw-in arisc.gpio.PC4-in-not
# axis YR.2 setup
# PA1:STEP, PA0:DIR, PA12:EN, PC7:HOME
setp arisc.pwm.2.pos-scale [JOINT_2]SCALE
setp arisc.pwm.2.dc-cmd 0.5 # 50%
setp arisc.pwm.2.dc-max-t 5000
setp arisc.pwm.2.dir-hold 50000
setp arisc.pwm.2.dir-setup 50000
setp arisc.pwm.2.pwm-port 0 # PA
setp arisc.pwm.2.pwm-pin 1
setp arisc.pwm.2.dir-port 0 # PA
setp arisc.pwm.2.dir-pin 0
net y2-pos-cmd joint.2.motor-pos-cmd arisc.pwm.2.pos-cmd
net y2-pos-fb joint.2.motor-pos-fb arisc.pwm.2.pos-fb
net y2-en joint.2.amp-enable-out arisc.pwm.2.enable
net y2-home joint.2.home-sw-in arisc.gpio.PC7-in-not
# axis Z setup
# PA3:STEP, PA2:DIR, PA12:EN, PC0:HOME
setp arisc.pwm.3.pos-scale [JOINT_3]SCALE
setp arisc.pwm.3.dc-cmd 0.5 # 50%
setp arisc.pwm.3.dc-max-t 5000
setp arisc.pwm.3.dir-hold 50000
setp arisc.pwm.3.dir-setup 50000
setp arisc.pwm.3.pwm-port 0 # PA
setp arisc.pwm.3.pwm-pin 3
setp arisc.pwm.3.dir-port 0 # PA
setp arisc.pwm.3.dir-pin 2
net z-pos-cmd joint.3.motor-pos-cmd arisc.pwm.3.pos-cmd
net z-pos-fb joint.3.motor-pos-fb arisc.pwm.3.pos-fb
net z-en joint.3.amp-enable-out arisc.pwm.3.enable
net z-home joint.3.home-sw-in arisc.gpio.PC0-in-not
# axis A setup
# PA10:STEP, PA20:DIR, PA12:EN
setp arisc.pwm.4.pos-scale [JOINT_4]SCALE
setp arisc.pwm.4.dc-cmd 0.5 # 50%
setp arisc.pwm.4.dc-max-t 5000
setp arisc.pwm.4.dir-hold 50000
setp arisc.pwm.4.dir-setup 50000
setp arisc.pwm.4.pwm-port 0 # PA
setp arisc.pwm.4.pwm-pin 10
setp arisc.pwm.4.dir-port 0 # PA
setp arisc.pwm.4.dir-pin 20
net a-pos-cmd joint.4.motor-pos-cmd arisc.pwm.4.pos-cmd
net a-pos-fb joint.4.motor-pos-fb arisc.pwm.4.pos-fb
net a-en joint.4.amp-enable-out arisc.pwm.4.enable
# spindle setup
setp spindle-vfd.enable 1
net s-fwd spindle.0.forward spindle-vfd.spindle-forward
net s-rev spindle.0.reverse spindle-vfd.spindle-reverse
net s-speed-cmd spindle.0.speed-out-abs spindle-vfd.speed-command
net s-on spindle.0.on spindle-vfd.spindle-on
net s-at-speed spindle.0.at-speed spindle-vfd.spindle-at-speed
# other IO setup
net estop iocontrol.0.user-enable-out iocontrol.0.emc-enable-in
Re: LinuxCNC + Orange Pi (allwincnc)
Добавлено: 08 авг 2021, 10:48
гражданинъ
Без разрешения Михаила такие действия делать не солидно ! Если он даст "добро" то было бы полезно. Но как реализовать ? Я в линуксе полный дуб ,у меня с мУками получилось установить и настроить систему на OPiPC c Linux CNC 2.8 с GPIO драйвером ,с 2мя моторами на Y и MPG пультом ,она прекрасно работает на реальном станке. Так же удалось установить и настроить систему с 2.8 с доработанным ариск драйвером для тестирования работы и возврата в ноль на стенде ,на столе без датчиков хоум , конфиг тот что был у Михаила в установке ,только поправил велосити. Эти две флэшки лежат и сделаны резервные копии руфусом ,но они по 15 гигов ! Было бы ( наверняка есть) что то типа акрониса для создания копии поменьше ,можно было бы куда то "кинуть".
Теперь ,спасибо Михаилу , мы имеем образец хал и ини созданные самим мастером и можно по аналогии настроить систему с ариском ,но учитывая ,что у меня и так работает и есть другие недоделанные проекты, то раньше наступления длинных зимних выходных, вряд ли я сподоблюсь на эксперименты .Надо учитывать, что у апельсинки не все пины подтянуты к 3.3 вольта но использовать их можно .В теме это есть .
гражданинъ писал(а): ↑
Armbian_20.05.1_Orangepipc_buster_current_5.4.43_desktop.img
У меня работает на Н3 OPiPC
Re: LinuxCNC + Orange Pi (allwincnc)
Добавлено: 08 авг 2021, 11:54
steals_y2k
образ отлично делается с помощью winimage.
а если брать линукс, то банальный dd+gzip сделают его меньше.
Re: LinuxCNC + Orange Pi (allwincnc)
Добавлено: 08 авг 2021, 12:08
гражданинъ
WinImage является условно-бесплатным ПО
И не видит флэшку ! Напиши пошаговую инструкцию ,дубу банальные вещи неведомы .
Re: LinuxCNC + Orange Pi (allwincnc)
Добавлено: 08 авг 2021, 12:43
steals_y2k
что-то у меня акронис lcnc нормально не сохранял, загрузчик пришлось писать руками
но ты попробуй, вдруг у меня он не тот.
winimage всё видно отлично, расбиан я ксерил)
что писать, вставить флэшку, выбрать её в списке, ввести руками к файлу, нажать write, ждать...
Re: LinuxCNC + Orange Pi (allwincnc)
Добавлено: 08 авг 2021, 12:54
гражданинъ
В не зарегистрированной (30 дней на тест, Да ещё вин 7,бубна нет ) не видно и компа с линуксом нет .Если ,на пример, научиться акронисом сохранять ,то любой сможет у себя восстановить ,я вот об этом . А у меня и так есть рабочая система !
Re: LinuxCNC + Orange Pi (allwincnc)
Добавлено: 08 авг 2021, 13:33
stari40k
MX_Master писал(а): ↑08 авг 2021, 07:09
Кстати, пока не забыл, вот мой текущий конфиг на 4 оси с двумя движками на оси Y
Можно вопрос?
А почему у вас out указан только один pa12 и в pwm-e используеются без объявления? Это-же не по сдандарту linuxcnc. Я в своём конфиге объявлял все.
Re: LinuxCNC + Orange Pi (allwincnc)
Добавлено: 08 авг 2021, 14:06
Игорь27
Добрый день, у меня енкодер считает только в плюс почему то всегда, две фазы... Почему не понимаю
Re: LinuxCNC + Orange Pi (allwincnc)
Добавлено: 08 авг 2021, 17:18
гражданинъ
Попробовал, акронис сжимает эти три раздела в полтора гига ,а вот сидишки для проверить у меня сейчас нет .
Re: LinuxCNC + Orange Pi (allwincnc)
Добавлено: 08 авг 2021, 17:46
stari40k
Игорь27 писал(а): ↑08 авг 2021, 14:06
Добрый день, у меня енкодер считает только в плюс почему то всегда, две фазы... Почему не понимаю
Думаю такое может быть если подключена только одна из линий А или В или включён параметр отключающий вторую фазу и енкодер работает в режиме счетчика.
Код: Выделить всё
encoder.N.counter-mode bit i/o - Enables counter mode. When true, the counter counts each rising edge of the phase-A input, ignoring the value on phase-B. This is useful for counting the output of a single channel (non-quadrature) sensor. When false (the default), it counts in quadrature mode.
Аналогичный параметр в Ариск-е
Код: Выделить всё
arisc.encoder.N.counter-mode(bit, io) Enables counter mode. When 1, the counter counts each rising edge of the phase-A input, ignoring the value on phase-B. This is useful for counting the output of a single channel (non-quadrature) sensor. When 0, it counts in quadrature mode. Default is 0.
Так как фазы линии А и В смещены на 90° то направление как раз определяется по ним.
Re: LinuxCNC + Orange Pi (allwincnc)
Добавлено: 08 авг 2021, 19:17
MX_Master
stari40k писал(а): ↑
Можно вопрос?
А почему у вас out указан только один pa12 и в pwm-e используеются без объявления? Это-же не по сдандарту linuxcnc.
Компоненты pwm и gpio - не зависят друг от друга.
Re: LinuxCNC + Orange Pi (allwincnc)
Добавлено: 09 авг 2021, 08:12
Игорь27
stari40k писал(а): ↑08 авг 2021, 17:46
Игорь27 писал(а): ↑08 авг 2021, 14:06
Добрый день, у меня енкодер считает только в плюс почему то всегда, две фазы... Почему не понимаю
Думаю такое может быть если подключена только одна из линий А или В или включён параметр отключающий вторую фазу и енкодер работает в режиме счетчика.
Код: Выделить всё
encoder.N.counter-mode bit i/o - Enables counter mode. When true, the counter counts each rising edge of the phase-A input, ignoring the value on phase-B. This is useful for counting the output of a single channel (non-quadrature) sensor. When false (the default), it counts in quadrature mode.
Аналогичный параметр в Ариск-е
Код: Выделить всё
arisc.encoder.N.counter-mode(bit, io) Enables counter mode. When 1, the counter counts each rising edge of the phase-A input, ignoring the value on phase-B. This is useful for counting the output of a single channel (non-quadrature) sensor. When 0, it counts in quadrature mode. Default is 0.
Так как фазы линии А и В смещены на 90° то направление как раз определяется по ним.
Этот параметр выключен(0), но если оставить просто одну фазу А, то начинает считать. Добавляю вторую и считает только до 1 потом 0 и так по кругу, меняю входы местами то до - 1, 0. Короче больше единицы не получается у него насчитать

Re: LinuxCNC + Orange Pi (allwincnc)
Добавлено: 09 авг 2021, 21:16
stari40k
Игорь27 писал(а): ↑09 авг 2021, 08:12
stari40k писал(а): ↑08 авг 2021, 17:46
Игорь27 писал(а): ↑08 авг 2021, 14:06
Добрый день, у меня енкодер считает только в плюс почему то всегда, две фазы... Почему не понимаю
Думаю такое может быть если подключена только одна из линий А или В или включён параметр отключающий вторую фазу и енкодер работает в режиме счетчика.
Код: Выделить всё
encoder.N.counter-mode bit i/o - Enables counter mode. When true, the counter counts each rising edge of the phase-A input, ignoring the value on phase-B. This is useful for counting the output of a single channel (non-quadrature) sensor. When false (the default), it counts in quadrature mode.
Аналогичный параметр в Ариск-е
Код: Выделить всё
arisc.encoder.N.counter-mode(bit, io) Enables counter mode. When 1, the counter counts each rising edge of the phase-A input, ignoring the value on phase-B. This is useful for counting the output of a single channel (non-quadrature) sensor. When 0, it counts in quadrature mode. Default is 0.
Так как фазы линии А и В смещены на 90° то направление как раз определяется по ним.
Этот параметр выключен(0), но если оставить просто одну фазу А, то начинает считать. Добавляю вторую и считает только до 1 потом 0 и так по кругу, меняю входы местами то до - 1, 0. Короче больше единицы не получается у него насчитать
Я-бы попробовал инвертиррвать входы.