LinuxCNC + Orange Pi (allwincnc)

Контроллеры, драйверы, датчики, управляющие устройства.
avmartugin
Новичок
Сообщения: 37
Зарегистрирован: 01 июл 2019, 10:27
Репутация: 0
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение avmartugin »

MX_Master писал(а):Это параметры для основного процессора, а шаги генерирует сопроцессор (ARISC). Так что можно эти параметры не трогать.
получается ARISC делает 50% заполнение сигнала для шага, если необходимый минимум для драйвера допустим 5мкс, минимум для ARISC будет 10 мкс.
это выходит 100кгц максимальная частота? правильно считаю?
Аватара пользователя
MX_Master
Мастер
Сообщения: 7476
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

400 КГц, проверено :beer_blow:
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4510
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение xenon-alien »

MX_Master писал(а):больше объяснять ничего не буду.. надоело
А чего не сделаешь, как я?
Все подобные пояснения, которые уже давал добавляешь в первый пост. (минута дела продублировать пост со спойлером в первом посту)
Себе облегчишь жизнь и другим.
(что сделано, зачем, как работает, где найти, как настроить ....)
Аватара пользователя
MX_Master
Мастер
Сообщения: 7476
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

Я уже облегчил, но разжёвывать то, что на главной странице проекта написано я не буду. Я, канеш, сам лентяй ещё тот. Но когда мне надо, я, всё-таки, читаю доки о том, чем буду пользоваться.
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4510
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение xenon-alien »

Как можно создать конфигурацию для токарного?
Методом тыка удалил ненужную ось У и начал ругаться на Z
Lathe_001.png (2653 просмотра) <a class='original' href='./download/file.php?id=183945&sid=591a096ecef973393b5fdb6cd9206568&mode=view' target=_blank>Загрузить оригинал (76.32 КБ)</a>

Код: Выделить всё

[EMC]
MACHINE = Lathe_Axis_gpio
DEBUG = 0

[DISPLAY]
DISPLAY = axis
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
ARCDIVISION = 64
GRIDS = 10mm 20mm 50mm 100mm
MAX_FEED_OVERRIDE = 1.2
MIN_SPINDLE_OVERRIDE = 0.5
MAX_SPINDLE_OVERRIDE = 1.2
DEFAULT_LINEAR_VELOCITY = 2.50
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 25.00
INTRO_GRAPHIC = machinekit.gif
INTRO_TIME = 2
PROGRAM_PREFIX = /home/cnc/linuxcnc/nc_files
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm

[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
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
COMM_WAIT = 0.010
BASE_PERIOD = 200000
SERVO_PERIOD = 1000000

[HAL]
HALFILE = config.hal

[TRAJ]
AXES = 2
COORDINATES = X Z
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 2.50
MAX_VELOCITY = 25.00

[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl

[AXIS_0]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.0
STEPGEN_MAXACCEL = 937.5
SCALE = 533.333333333
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -2.0
MAX_LIMIT = 30.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_USE_INDEX = NO
HOME_SEQUENCE = 0

[AXIS_2]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.0
STEPGEN_MAXACCEL = 937.5
SCALE = 200.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -9999.0
MAX_LIMIT = 9999.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_USE_INDEX = NO
HOME_SEQUENCE = 0

Код: Выделить всё

loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt opi_gpio output_pins=3,5,7,8,10,11,12,13,15,16 input_pins=18,19,21,22,23,24
#loadrt opi_gpio input_pins=18,19,21,22,23,24
loadrt stepgen step_type=0,0,0
loadrt pwmgen output_type=1

addf opi_gpio.read base-thread
addf stepgen.make-pulses base-thread
addf pwmgen.make-pulses base-thread
addf opi_gpio.write base-thread

addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
addf pwmgen.update servo-thread

net spindle-cmd-rpm => pwmgen.0.value
net spindle-on <= motion.spindle-on => pwmgen.0.enable
net spindle-pwm <= pwmgen.0.pwm
setp pwmgen.0.pwm-freq 100.0
setp pwmgen.0.scale 13166.6666667
setp pwmgen.0.offset 0.192405063291
setp pwmgen.0.dither-pwm true
net spindle-cmd-rpm     <= motion.spindle-speed-out
net spindle-cmd-rpm-abs <= motion.spindle-speed-out-abs
net spindle-cmd-rps     <= motion.spindle-speed-out-rps
net spindle-cmd-rps-abs <= motion.spindle-speed-out-rps-abs
net spindle-at-speed    => motion.spindle-at-speed
net spindle-cw <= motion.spindle-forward

net estop-out       => opi_gpio.pin-16-out
net xstep           => opi_gpio.pin-03-out
net xdir            => opi_gpio.pin-08-out
net ystep           => opi_gpio.pin-05-out
net ydir            => opi_gpio.pin-10-out
net zstep           => opi_gpio.pin-07-out
net zdir            => opi_gpio.pin-11-out
net spindle-cw      => opi_gpio.pin-13-out
net spindle-pwm     => opi_gpio.pin-15-out
net xenable         => opi_gpio.pin-12-out
net home-x          => opi_gpio.pin-18-in-not
net home-y          => opi_gpio.pin-19-in-not
#net home-z         => opi_gpio.pin-21-in
#net probe          => opi_gpio.pin-22-in
#net e_stop_in      => opi_gpio.pin-23-in
#net reserv2        => opi_gpio.pin-24-in

setp opi_gpio.pin-11-out-invert 1

setp stepgen.0.position-scale [AXIS_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 0
setp stepgen.0.dirhold 35000
setp stepgen.0.dirsetup 35000
setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL
net xpos-cmd axis.0.motor-pos-cmd => stepgen.0.position-cmd
net xpos-fb stepgen.0.position-fb => axis.0.motor-pos-fb
net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
net xenable axis.0.amp-enable-out => stepgen.0.enable
net home-x => axis.0.home-sw-in

setp stepgen.2.position-scale [AXIS_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 0
setp stepgen.2.dirhold 35000
setp stepgen.2.dirsetup 35000
setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL
net zpos-cmd axis.2.motor-pos-cmd => stepgen.2.position-cmd
net zpos-fb stepgen.2.position-fb => axis.2.motor-pos-fb
net zstep <= stepgen.2.step
net zdir <= stepgen.2.dir
net zenable axis.2.amp-enable-out => stepgen.2.enable
net home-z => axis.2.home-sw-in

net estop-out <= iocontrol.0.user-enable-out
net estop-out => iocontrol.0.emc-enable-in

net tool-number <= iocontrol.0.tool-prep-number
net tool-change-loopback iocontrol.0.tool-change => iocontrol.0.tool-changed
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
Аватара пользователя
MX_Master
Мастер
Сообщения: 7476
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

stepgen.2 > stepgen.1
axis.2 > axis.1
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4510
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение xenon-alien »

MX_Master писал(а):stepgen.2 > stepgen.1
axis.2 > axis.1
прости, но я ничего не понял...
генеротор 2 болше генератор 1
нужно было удалить наоборот?
Аватара пользователя
MX_Master
Мастер
Сообщения: 7476
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

stepgen.2 -> stepgen.1
axis.2 -> axis.1
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4510
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение xenon-alien »

MX_Master писал(а):stepgen.2 -> stepgen.1
axis.2 -> axis.1
переименовать всё что ссылается на 2 что бы ссылалось на 1?
не помогло... ещё больше ошибок
Аватара пользователя
MX_Master
Мастер
Сообщения: 7476
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

stepconf же есть, не мучайся
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4510
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение xenon-alien »

MX_Master писал(а):stepconf же есть, не мучайся
а там матерится паралельный порт
переписал оттуда данные.
для оси z генератор 1, но ось 2
исправил так же, но ругается на то же...
Аватара пользователя
MX_Master
Мастер
Сообщения: 7476
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

настраиваешь 2 оси, потом в INI файле меняешь Y на Z, всё
Аватара пользователя
MX_Master
Мастер
Сообщения: 7476
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

Доделал конвертер HAL файлов. Теперь обычные LPT конфиги, вышедшие из под пера stepconf, можно смело превращать в конфиги для работы с GPIO или ARISC драйвером.
Об ошибках - сообщайте.
Последний раз редактировалось MX_Master 28 июл 2020, 20:25, всего редактировалось 1 раз.
Аватара пользователя
KlimukVI
Почётный участник
Почётный участник
Сообщения: 9
Зарегистрирован: 21 апр 2019, 11:59
Репутация: 7
Настоящее имя: Vadim
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение KlimukVI »

для xenon-alien
добавь в ini

Код: Выделить всё

[DISPLAY]
LATHE = 1
и измени на

Код: Выделить всё

[TRAJ]
AXES = 3
Последний раз редактировалось KlimukVI 18 июл 2020, 10:30, всего редактировалось 1 раз.
Аватара пользователя
KlimukVI
Почётный участник
Почётный участник
Сообщения: 9
Зарегистрирован: 21 апр 2019, 11:59
Репутация: 7
Настоящее имя: Vadim
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение KlimukVI »

а это измени в hal (про что говорил MX_Master)

Код: Выделить всё

loadrt stepgen step_type=0,0

setp stepgen.1.position-scale [AXIS_2]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 0
setp stepgen.1.dirhold 35000
setp stepgen.1.dirsetup 35000
setp stepgen.1.maxaccel [AXIS_2]STEPGEN_MAXACCEL
net zpos-cmd axis.1.motor-pos-cmd => stepgen.1.position-cmd
net zpos-fb stepgen.1.position-fb => axis.1.motor-pos-fb
net zstep <= stepgen.1.step
net zdir <= stepgen.1.dir
net zenable axis.1.amp-enable-out => stepgen.1.enable
net home-z => axis.1.home-sw-in
Аватара пользователя
MX_Master
Мастер
Сообщения: 7476
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

Я со своими советами потихоньку превращаюсь в дядю Серёжу (UAVpilot) :freak: Надо прекращать лениться..
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4510
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение xenon-alien »

KlimukVI писал(а):AXES = 3
Не пойму, почему 3 оси нужно указывать для 2 осевого станка...
KlimukVI писал(а):loadrt stepgen step_type=0,0
У меня тут 0,0,0, было и видимо по этому не хотело работать после правки 2 на 1
Благодарю за подсказки. Запустилось и не "матерится"...
michael_s
Новичок
Сообщения: 29
Зарегистрирован: 18 дек 2014, 21:34
Репутация: 1
Настоящее имя: Михаил
Откуда: Тамбов
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение michael_s »

@MX_Master
Расскажи пожалуйста про возможность запуска arisc на более новых платах orange pi (H2+/H3 все таки староваты и слабы по сравнению с новыми камнями)
Аватара пользователя
MX_Master
Мастер
Сообщения: 7476
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

michael_s писал(а):@MX_Master
Расскажи пожалуйста про возможность запуска arisc на более новых платах orange pi (H2+/H3 все таки староваты и слабы по сравнению с новыми камнями)
В новых платах вся сложность работы c сопроцессором заключается в софте загрузчика (u-boot). Разработчики решили юзать место прошивки сопроцессора под свои нужды, потому что сопроцессор нигде в Linux не используется.

Получается, что я должен заниматься не только своим софтом, но и противостоянием c чужим софтом в u-boot. В качестве альтернативы можно, канеш, создать "свою" версию u-boot. Что уже непросто. А ещё периодически это дело пересобирать/обновлять в установщике. Что уже нагрузка.

Да, на частоте 1.8 ГГц в новых платах (H6) всё летает заметно быстрее, чем на старых (H3, 1.3 ГГц). Но с другой стороны, я не юзаю новые платы в своих станках. И не занимаюсь продажей этой системы, чтоб хоть как-то окупить время, затраченное на все новые ништяки. Поэтому, извините, друзья, но я занят в других проектах, где есть или творческий, или экономический интерес :) А этим проектом занят только иногда.
michael_s
Новичок
Сообщения: 29
Зарегистрирован: 18 дек 2014, 21:34
Репутация: 1
Настоящее имя: Михаил
Откуда: Тамбов
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение michael_s »

Спасибо за полный ответ , теперь все стало чуть более понятно.
А GPIO вариант получается запустится без проблем на H6 ?
Ответить

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