Датчик длины инструмента

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Датчик длины инструмента

Сообщение PKM »

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

net signal1 parport.0.pin-15-in => debounce.0.1.in
net signal2 debounce.0.1.out => probe-in
(не вдаваясь в суть, просто поправил формат команды)
Аватара пользователя
solanto
Почётный участник
Почётный участник
Сообщения: 963
Зарегистрирован: 02 апр 2014, 09:10
Репутация: 94
Настоящее имя: Александр
Откуда: Карачаево-Черкесская республика, г.Черкесск
Контактная информация:

Re: Датчик длины инструмента

Сообщение solanto »

Даже после поправки формата всё равно вываливается ошибка

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

Print file information:
RUN_IN_PLACE=no
LINUXCNC_DIR=
LINUXCNC_BIN_DIR=/usr/bin
LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc
LINUXCNC_SCRIPT_DIR=
LINUXCNC_RTLIB_DIR=/usr/realtime-2.6.32-122-rtai/modules/linuxcnc
LINUXCNC_CONFIG_DIR=
LINUXCNC_LANG_DIR=/usr/share/linuxcnc/tcl/msgs
INIVAR=inivar
HALCMD=halcmd
LINUXCNC_EMCSH=/usr/bin/wish8.5
LINUXCNC - 2.5.4
Machine configuration directory is '/home/cnc/linuxcnc/configs/CNC_4444'
Machine configuration file is 'CNC_4444.ini'
INIFILE=/home/cnc/linuxcnc/configs/CNC_4444/CNC_4444.ini
PARAMETER_FILE=linuxcnc.var
TASK=milltask
HALUI=halui
DISPLAY=axis
Starting LinuxCNC...
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: io
Starting HAL User Interface program: halui
Shutting down and cleaning up LinuxCNC...
Killing task linuxcncsvr, PID=5435
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Cleanup done

Debug file information:
Can not find -sec MOT -var MOT -num 1 
Can not find -sec IO -var IO -num 1 
Can not find -sec LINUXCNC -var NML_FILE -num 1 
Can not find -sec EMC -var NML_FILE -num 1 
CNC_4444.hal:51: Pin 'debounce.0.1.in' does not exist
5435
  PID TTY      STAT   TIME COMMAND
Stopping realtime threads
Unloading hal components

Kernel message information:
[ 4445.211328] I-pipe: Domain RTAI registered.
[ 4445.211348] RTAI[hal]: <3.8.1> mounted over IPIPE-NOTHREADS 2.6-03.
[ 4445.211356] RTAI[hal]: compiled with gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) .
[ 4445.211418] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs DISPATCHED), ISOL_CPUS_MASK: 0).
[ 4445.211425] PIPELINE layers:
[ 4445.211433] fc7d7e20 9ac15d93 RTAI 200
[ 4445.211440] c085cb20 0 Linux 100
[ 4445.262337] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[ 4445.263079] RTAI[sched]: IMMEDIATE, MP, USER/KERNEL SPACE: <with RTAI OWN KTASKs>, kstacks pool size = 524288 bytes.
[ 4445.263093] RTAI[sched]: hard timer type/freq = APIC/10405879(Hz); default timing: periodic; linear timed lists.
[ 4445.263101] RTAI[sched]: Linux timer freq = 250 (Hz), TimeBase freq = 1664679000 hz.
[ 4445.263107] RTAI[sched]: timer setup = 999 ns, resched latency = 2944 ns.
[ 4445.263237] RTAI[usi]: enabled.
[ 4445.383581] RTAI[math]: loaded.
[ 4445.522977] config string '0x378 out  '
[ 4446.279394] RTAI[math]: unloaded.
[ 4446.348626] SCHED releases registered named ALIEN RTGLBH
[ 4446.380439] RTAI[malloc]: unloaded.
[ 4446.480030] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps 0, syscalls 0).
[ 4446.484908] I-pipe: Domain RTAI unregistered.
[ 4446.484977] RTAI[hal]: unmounted.
Мне пофигу, что думают обо мне люди, пока они не начинают меня бить.

Вектроник А4-12: от заказа до готовности - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5248
Токарник по дереву - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5623

Изображение
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6599
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Датчик длины инструмента

Сообщение NightV »

давай снова хал файл, посмотрим
Всё просто! если знаешь КАК!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Датчик длины инструмента

Сообщение Nick »

PKM писал(а):Помнится, в рассылке был запрос сделать без имени пина. Разработчики отморозились )
А как потом к нему привязываться?
Или просили просто делать signal-nn и дальше пофиг?
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Датчик длины инструмента

Сообщение PKM »

Nick писал(а):А как потом к нему привязываться?
Или просили просто делать signal-nn и дальше пофиг?
Привязываться не обязательно. Ну это вопрос удобства, осмысленные имена помогают потом разбираться
Аватара пользователя
solanto
Почётный участник
Почётный участник
Сообщения: 963
Зарегистрирован: 02 апр 2014, 09:10
Репутация: 94
Настоящее имя: Александр
Откуда: Карачаево-Черкесская республика, г.Черкесск
Контактная информация:

Re: Датчик длины инструмента

Сообщение solanto »

NightV писал(а):давай снова хал файл, посмотрим
Вот hal-фаил

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

# Создан stepconf в Thu Nov  6 19:52:52 2014
# Все изменения в этом файле будут перезаписаны
# при следующем запуске stepconf
loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt probe_parport
loadrt hal_parport cfg="0x378 out  "
setp parport.0.reset-time 5000
loadrt stepgen step_type=0,0,0
loadrt lut5
loadrt debounce cfg=1
#setp debounce.0.delay 10 # быстрый пин

addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf parport.0.write base-thread
addf parport.0.reset 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 lut5.0 servo-thread
net spindle-cmd <= motion.spindle-speed-out
net spindle-at-speed => motion.spindle-at-speed
net spindle-on <= motion.spindle-on
net spindle-cw <= motion.spindle-forward

net probe-in => motion.probe-input

setp parport.0.pin-01-out-invert 1
net xenable => parport.0.pin-01-out
net xstep => parport.0.pin-02-out
setp parport.0.pin-02-out-reset 1
net xdir => parport.0.pin-03-out
net ystep => parport.0.pin-04-out
setp parport.0.pin-04-out-reset 1
net ydir => parport.0.pin-05-out
net zstep => parport.0.pin-06-out
setp parport.0.pin-06-out-reset 1
net zdir => parport.0.pin-07-out
setp parport.0.pin-16-out-invert 1
net spindle-on => parport.0.pin-16-out
setp parport.0.pin-17-out-invert 1
net spindle-cw => parport.0.pin-17-out


net estop-ext <= parport.0.pin-10-in
net all-limit-home <= parport.0.pin-11-in-not
net probe-in <= parport.0.pin-15-in-not
net signal1 parport.0.pin-15-in => debounce.0.1.in
net signal2 debounce.0.1.out => probe-in

setp lut5.0.function 0x10000
net all-limit-home => lut5.0.in-4
net all-limit <= lut5.0.out
net homing-x <= axis.0.homing => lut5.0.in-0
net homing-y <= axis.1.homing => lut5.0.in-1
net homing-z <= axis.2.homing => lut5.0.in-2

setp stepgen.0.position-scale [AXIS_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 0
setp stepgen.0.dirhold 40000
setp stepgen.0.dirsetup 40000
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 all-limit-home => axis.0.home-sw-in
net all-limit => axis.0.neg-lim-sw-in
net all-limit => axis.0.pos-lim-sw-in

setp stepgen.1.position-scale [AXIS_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 0
setp stepgen.1.dirhold 40000
setp stepgen.1.dirsetup 40000
setp stepgen.1.maxaccel [AXIS_1]STEPGEN_MAXACCEL
net ypos-cmd axis.1.motor-pos-cmd => stepgen.1.position-cmd
net ypos-fb stepgen.1.position-fb => axis.1.motor-pos-fb
net ystep <= stepgen.1.step
net ydir <= stepgen.1.dir
net yenable axis.1.amp-enable-out => stepgen.1.enable
net all-limit-home => axis.1.home-sw-in
net all-limit => axis.1.neg-lim-sw-in
net all-limit => axis.1.pos-lim-sw-in

setp stepgen.2.position-scale [AXIS_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 0
setp stepgen.2.dirhold 40000
setp stepgen.2.dirsetup 40000
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 all-limit-home => axis.2.home-sw-in
net all-limit => axis.2.neg-lim-sw-in
net all-limit => axis.2.pos-lim-sw-in

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

loadusr -W hal_manualtoolchange
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
Мне пофигу, что думают обо мне люди, пока они не начинают меня бить.

Вектроник А4-12: от заказа до готовности - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5248
Токарник по дереву - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5623

Изображение
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6599
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Датчик длины инструмента

Сообщение NightV »

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

net probe-in <= parport.0.pin-15-in-not
net signal1 parport.0.pin-15-in => debounce.0.1.in
net signal2 debounce.0.1.out => probe-in
Изображение
вот обьясни мне, как "провод" который подается на светильник, с выхода опять возвращается в вход?
probe-in и как вход и как выход.
все!!! уйду в монастырь! пойду инструкции на удочки раздовать!!!
Всё просто! если знаешь КАК!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Датчик длины инструмента

Сообщение Serg »

Nick писал(а):А как потом к нему привязываться?
Или просили просто делать signal-nn и дальше пофиг?
Часто нужно просто соединить два пина - приходится выдумывать имя сигнала, который больше нигде не будет использован.
я для таких использую имена типа _t.blah-blah, _t.1234 и т.п. - удобно, что они потом все в ветке _t и не мешаются.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
solanto
Почётный участник
Почётный участник
Сообщения: 963
Зарегистрирован: 02 апр 2014, 09:10
Репутация: 94
Настоящее имя: Александр
Откуда: Карачаево-Черкесская республика, г.Черкесск
Контактная информация:

Re: Датчик длины инструмента

Сообщение solanto »

Так что мне прописать в hal?

Я уже склоняюсь к ликвидации дребезга с помощью конденсатора и резистора, либо с помощью тригера Шмита (если он поможет канечно)
Мне пофигу, что думают обо мне люди, пока они не начинают меня бить.

Вектроник А4-12: от заказа до готовности - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5248
Токарник по дереву - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5623

Изображение
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Датчик длины инструмента

Сообщение Serg »

Я б посоветовал сначала прочитать и осознать http://www.cnc-club.ru/wiki/index.php/L ... %D1%8B_HAL - сэкономишь много времени, своего и чужого...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
solanto
Почётный участник
Почётный участник
Сообщения: 963
Зарегистрирован: 02 апр 2014, 09:10
Репутация: 94
Настоящее имя: Александр
Откуда: Карачаево-Черкесская республика, г.Черкесск
Контактная информация:

Re: Датчик длины инструмента

Сообщение solanto »

Например, есть такая схемка отсюда: тык
Хочу её попробовать.
481001362978651.jpg (2977 просмотров) <a class='original' href='./download/file.php?id=36213&sid=6b05da043baf636e11da89bcbe5fc221&mode=view' target=_blank>Загрузить оригинал (20.33 КБ)</a>
Мне пофигу, что думают обо мне люди, пока они не начинают меня бить.

Вектроник А4-12: от заказа до готовности - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5248
Токарник по дереву - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5623

Изображение
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Датчик длины инструмента

Сообщение Serg »

Она не решает проблему дребезга.

Разве что вот эта:
Plate-MP3.png
Plate-MP3.png (2.03 КБ) 2976 просмотров
Она правда "заточена" под 24V (в том числе и для большей точности), но переделать под 5V несложно.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
solanto
Почётный участник
Почётный участник
Сообщения: 963
Зарегистрирован: 02 апр 2014, 09:10
Репутация: 94
Настоящее имя: Александр
Откуда: Карачаево-Черкесская республика, г.Черкесск
Контактная информация:

Re: Датчик длины инструмента

Сообщение solanto »

UAVpilot писал(а):Она правда "заточена" под 24V (в том числе и для большей точности), но переделать под 5V несложно.
У меня платка StepMaster и там есть выход 15V. Думаю его можно использовать под эту схему.
Мне пофигу, что думают обо мне люди, пока они не начинают меня бить.

Вектроник А4-12: от заказа до готовности - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5248
Токарник по дереву - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5623

Изображение
Аватара пользователя
solanto
Почётный участник
Почётный участник
Сообщения: 963
Зарегистрирован: 02 апр 2014, 09:10
Репутация: 94
Настоящее имя: Александр
Откуда: Карачаево-Черкесская республика, г.Черкесск
Контактная информация:

Re: Датчик длины инструмента

Сообщение solanto »

А что за микросхема. Прочитать не могу.
Мне пофигу, что думают обо мне люди, пока они не начинают меня бить.

Вектроник А4-12: от заказа до готовности - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5248
Токарник по дереву - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5623

Изображение
Аватара пользователя
solanto
Почётный участник
Почётный участник
Сообщения: 963
Зарегистрирован: 02 апр 2014, 09:10
Репутация: 94
Настоящее имя: Александр
Откуда: Карачаево-Черкесская республика, г.Черкесск
Контактная информация:

Re: Датчик длины инструмента

Сообщение solanto »

Нашел. Это TC4S584F
Мне пофигу, что думают обо мне люди, пока они не начинают меня бить.

Вектроник А4-12: от заказа до готовности - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5248
Токарник по дереву - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5623

Изображение
Аватара пользователя
verser
Мастер
Сообщения: 1883
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1278
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Датчик длины инструмента

Сообщение verser »

solanto писал(а):Так что мне прописать в hal?
Я уже склоняюсь к ликвидации дребезга с помощью конденсатора и резистора, либо с помощью тригера Шмита (если он поможет канечно)
Программный способ антидребезга вполне работает.
Вот как у меня прописано в файл мой-станок.hal
в начале файла вставляем

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

# add debounce component after all loadrt
loadrt debounce cfg=1
# set delay (number of iterations of base thread )
setp debounce.0.delay 100
# add debounce to thread
addf debounce.0 base-thread
а в серединке (где пины параллельного порта присоединяются) вставляем

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

# put debounce between parport input pins and probe signals
net probe-in motion.probe-input
net debounce-probe-in debounce.0.0.in <= parport.1.pin-13-in
net probe-in debounce.0.0.out 
Аватара пользователя
solanto
Почётный участник
Почётный участник
Сообщения: 963
Зарегистрирован: 02 апр 2014, 09:10
Репутация: 94
Настоящее имя: Александр
Откуда: Карачаево-Черкесская республика, г.Черкесск
Контактная информация:

Re: Датчик длины инструмента

Сообщение solanto »

Вечером попробую. Спасибо.
Мне пофигу, что думают обо мне люди, пока они не начинают меня бить.

Вектроник А4-12: от заказа до готовности - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5248
Токарник по дереву - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5623

Изображение
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Датчик длины инструмента

Сообщение Serg »

solanto писал(а):Нашел. Это TC4S584F
Это инвертирующий триггер Шмидта с раб. напряжением до 15В.
Для переделки на 5В надо просто выкинуть U3, а вместо U1 любой инвертирующий триггер Шмидта.
Для работы от 15В, если нет TC4S584F, то U3 - 78x05.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11626
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4634
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Датчик длины инструмента

Сообщение michael-yurov »

Там на плате не 15 В, а, скорее всего 9. Я уже не помню, зависит от того, какой DC-DC преобразователь стоит.
Только вот преобразователь там всего на 1 Вт, и учитывая, что он нагружен еще другими датчиками - стоит сначала прикинуть, какой ток будет кушать схемка с триггером.

А, вообще, зачем она? Реально есть проблема с дребезгом?
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: Датчик длины инструмента

Сообщение Сергей Саныч »

michael-yurov писал(а):А, вообще, зачем она? Реально есть проблема с дребезгом?
Как уже было отмечено, в LinuxCNC есть достаточно эффективные средства борьбы с дребезгом. Но если ты в следующую версию прошивки введешь фильтр (алгоритм можно подсмотреть в LCNC, он очень простой), будет очень не вредная "фича" :)
Последний раз редактировалось Сергей Саныч 08 ноя 2014, 19:30, всего редактировалось 1 раз.
Чудес не бывает. Бывают фокусы.
Ответить

Вернуться в «LinuxCNC»