Mesa 5i25+7i77-с чего начать?

Работа с платами MESA, подключение, конфигурация.
dansystems1
Мастер
Сообщения: 339
Зарегистрирован: 23 апр 2012, 19:38
Репутация: 10
Откуда: Армения
Контактная информация:

Re: Mesa 5i25+7i77-с чего начать?

Сообщение dansystems1 »

Lexxa писал(а):dansystems1, ты как кстати с электроавтоматикой? всё родное оставишь?
Я вот переделываю полностью сейчас
Буду все переделывать, делаю большую общую схему(так как родного не была), еще не готова.
ТОрможение шпинделя интересует
-есть рабочий набросок-
IMG_2753.JPG (3641 просмотр) <a class='original' href='./download/file.php?id=7433&sid=6adb96f4e8d61ca71b5a24aab1a676f4&mode=view' target=_blank>Загрузить оригинал (322.11 КБ)</a>
dansystems1
Мастер
Сообщения: 339
Зарегистрирован: 23 апр 2012, 19:38
Репутация: 10
Откуда: Армения
Контактная информация:

Re: Mesa 5i25+7i77-с чего начать?

Сообщение dansystems1 »

Lexxa, посмотри пост337, pls.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Mesa 5i25+7i77-с чего начать?

Сообщение Lexxa »

dansystems1 писал(а):мне кажется, у меня 5 раз не хуже , а лучше(у тебя масштаб-50m/div, а у меня-10m/div)
хз, может быть, станок токарный уже детальки во всю точит, проблем нет по точности
Сейчас-то проблема в чем по движению?
:bender:
dansystems1
Мастер
Сообщения: 339
Зарегистрирован: 23 апр 2012, 19:38
Репутация: 10
Откуда: Армения
Контактная информация:

Re: Mesa 5i25+7i77-с чего начать?

Сообщение dansystems1 »

Lexxa, сейчас все нормально, привод отрегулировал почти, буду заниматься дизайном и электроавтоматикой, делаем стойку по образу промышленных стоек, одна проблема- не знаю как избавится от мыши?
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Mesa 5i25+7i77-с чего начать?

Сообщение Lexxa »

мышь - косяк, бич ЕМС я б сказал((
гут, что привод отрегулировал - ваще норм
я думаю уйти от миллиона релюшек, посчитал всего надо 9 пускателей и 10 реле (десятая на ESTOP размыкает 110В)
всю электроавтоматику по зажиму, разжиму, консоли, шпинделю и тормозу сделаю на ladder.
Естественно защиту от одновременного включения 2-х пускателей на 1 движок сделаю и там и в шкафу.
тормоз думаю сделать так:

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

          CW                CCW                          KM1
---------|  |---------------|/|--------------------------(  )----------
          CCW                CW                          KM2
---------|  |---------------|/|-------------------------(  )----------
         KM1                                              Y1 
--------|  |--------+---------|TOF|----------------------(  )---------
                    |
         KM2        |                                                
--------|  |--------+
       Y1           STOP                                KM3
-------|  |---------|  |-------|TOF|-------------------(   )--------
:bender:
dansystems1
Мастер
Сообщения: 339
Зарегистрирован: 23 апр 2012, 19:38
Репутация: 10
Откуда: Армения
Контактная информация:

Re: Mesa 5i25+7i77-с чего начать?

Сообщение dansystems1 »

А как задается время торможения?
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Mesa 5i25+7i77-с чего начать?

Сообщение Lexxa »

TOF - таймер в ladder по выключению
:bender:
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Mesa 5i25+7i77-с чего начать?

Сообщение Lexxa »

КМ1, КМ2 - пиндель по часовой, шпиндель против часовой
КМ3 - включить торможение
Y1 - промежуточное реле
которое выключается с задержкой после снятия сигнала вращения шпинделя и которое включает таймер, включающий тормоз
как-то так
:bender:
dansystems1
Мастер
Сообщения: 339
Зарегистрирован: 23 апр 2012, 19:38
Репутация: 10
Откуда: Армения
Контактная информация:

Re: Mesa 5i25+7i77-с чего начать?

Сообщение dansystems1 »

Lexxa писал(а):КМ1, КМ2 - пиндель по часовой, шпиндель против часовой
КМ3 - включить торможение
Y1 - промежуточное реле
которое выключается с задержкой после снятия сигнала вращения шпинделя и которое включает таймер, включающий тормоз
как-то так
-
Виртуальный аналог моей схемы :good:
только учти что тормоз должен включится и во время зажим-разжима.
P.S. А как собираешься организовать смазку?
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Mesa 5i25+7i77-с чего начать?

Сообщение Lexxa »

хмм, для меня новость, что тормоз на зажим-разжим включается, учту это))
благо, это не сложно)
Смазку, а чё там организовывать-то? наливай. да пей))) - тоже ладдер, тоже по таймеру.
В современных станках интервал между смазкой составляет около 10 минут, а импульс смазки около 10 секунд
Но я думаю, что такими темпами я на масле разорюсь, поскольку там струя такая, что огого, тем более я все каналы масляные прочистил, секунды 2 каждые 5 минут.
:bender:
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Mesa 5i25+7i77-с чего начать?

Сообщение Lexxa »

через 5 минут пришла мысль.вообще смазывать надо бы только по делу, т.е. предположим каждые 100 метров пройденного пути.
Откатал станок 100 метров по любой координате - смазали
если от последней смазки прошло более чем 15 минут - смазали
т.е. любое из вышеперечисленных условий выполнилось - смазали

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

Re: Mesa 5i25+7i77-с чего начать?

Сообщение Nick »

Lexxa писал(а):Отсюда вопрос, как посчитать пробег станка за сессию,
Может сделать через
ddt(axis.n.feedback) -> sum2.in1
+
sum2.out -> sum2.in0 и все это в servo-thread
О, ddt надо еще через abs прогнать.

А в чем проблема от мышки избавится? вроде все можно с клавы сделать....
dansystems1
Мастер
Сообщения: 339
Зарегистрирован: 23 апр 2012, 19:38
Репутация: 10
Откуда: Армения
Контактная информация:

Re: Mesa 5i25+7i77-с чего начать?

Сообщение dansystems1 »

Nick писал(а):А в чем проблема от мышки избавится? вроде все можно с клавы сделать....
А где можно почитать?
Сегодня был еще один глюк- при командах М03 и М04(допустим из MDI) включается правый оборот шпинделя, где нужно копать?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Mesa 5i25+7i77-с чего начать?

Сообщение Nick »

Что именно с клавы не сделать, расскажу комбинацию хоткеев :).

Плюс где-то мы писали про переписывание хотккев через .axisrc, вот:
Переназначение клавиш #3
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Mesa 5i25+7i77-с чего начать?

Сообщение nkp »

Nick писал(а):Плюс где-то мы писали про переписывание хоткеев через .axisrc, вот:
небольшой штрих:
переназначив, ну например так:

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

root_window.bind("<space>", "task_pause")
отметим наши изменения в окне help:

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

help2.append(("Space", "Pause program"))
Выделение(035).png (3596 просмотров) <a class='original' href='./download/file.php?id=7458&sid=6adb96f4e8d61ca71b5a24aab1a676f4&mode=view' target=_blank>Загрузить оригинал (160.48 КБ)</a>
все это пишем в файл .axisrc
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Mesa 5i25+7i77-с чего начать?

Сообщение Serg »

nkp писал(а):
Nick писал(а):Плюс где-то мы писали про переписывание хоткеев через .axisrc, вот:
небольшой штрих:
переназначив, ну например так:

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

root_window.bind("<space>", "task_pause")
С точки зрения Tk вот так покошернее будет:

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

root_window.bind_class("all", "<space>", commands.task_pause)
иначе если выскочит какое-то окошко, то пробел не сработает пока оно будет в фокусе.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
dansystems1
Мастер
Сообщения: 339
Зарегистрирован: 23 апр 2012, 19:38
Репутация: 10
Откуда: Армения
Контактная информация:

Re: Mesa 5i25+7i77-с чего начать?

Сообщение dansystems1 »

Не могу разобраться с проблемой -
Сегодня был еще один глюк- при командах М03 и М04(допустим из MDI) включается правый оборот шпинделя,(в обеих случаях)
, какие будут мысли?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Mesa 5i25+7i77-с чего начать?

Сообщение nkp »

а есть твой рабочий хал в теме ?
зы нашел
dansystems1
Мастер
Сообщения: 339
Зарегистрирован: 23 апр 2012, 19:38
Репутация: 10
Откуда: Армения
Контактная информация:

Re: Mesa 5i25+7i77-с чего начать?

Сообщение dansystems1 »

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

# #######################################
#
# HAL file for HostMot2 with 3 smart serial analog servos
#
# Derived from Ted Hyde's original hm2-servo config
#
# Based up work and discussion with Seb & Peter & Jeff
# GNU license references - insert here. www.linuxcnc.org
#
#
# ########################################
# Firmware files are in /lib/firmware/hm2/7i43/
# Must symlink the hostmot2 firmware directory of sanbox to
# /lib/firmware before running EMC2...
# sudo ln -s $HOME/emc2-sandbox/src/hal/drivers/mesa-hostmot2/firmware /lib/firmware/hm2
#
# See also:
# <http://www.linuxcnc.org/docs/devel/html/man/man9/hostmot2.9.html#config%20modparam>
# and http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?HostMot2
#
# #####################################################################


# ###################################
# Core EMC/HAL Loads
# ###################################

# kinematics
loadrt trivkins

# motion controller, get name and thread periods from ini file
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES

# standard components
loadrt pid num_chan=3 


# hostmot2 driver
# if you have any firmware trouble, enable the debug flags here and see what's going on in the syslog
loadrt hostmot2 debug_idrom=1 debug_module_descriptors=1 debug_pin_descriptors=1 debug_modules=1
#loadrt hostmot2

# load low-level driver
loadrt [HOSTMOT2](DRIVER) config=[HOSTMOT2](CONFIG)


setp hm2_[HOSTMOT2](BOARD).0.watchdog.timeout_ns 10000000


# ################################################
# THREADS
# ################################################

addf hm2_[HOSTMOT2](BOARD).0.read          servo-thread

addf motion-command-handler                servo-thread
addf motion-controller                     servo-thread

addf pid.0.do-pid-calcs                    servo-thread
addf pid.1.do-pid-calcs                    servo-thread
addf pid.2.do-pid-calcs                    servo-thread

addf hm2_[HOSTMOT2](BOARD).0.write         servo-thread
addf hm2_[HOSTMOT2](BOARD).0.pet_watchdog  servo-thread
       

# ######################################################
# Axis-of-motion Specific Configs (not the GUI)
# ######################################################


# ################
# X [0] Axis
# ################

# axis enable chain
newsig emcmot.00.enable bit
sets emcmot.00.enable FALSE
net emcmot.00.enable => pid.0.enable
net emcmot.00.enable => hm2_[HOSTMOT2](BOARD).0.7i77.0.1.analogena
net emcmot.00.enable <= axis.0.amp-enable-out 

# encoder feedback
setp hm2_[HOSTMOT2](BOARD).0.encoder.00.counter-mode 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.00.filter 1
setp hm2_[HOSTMOT2](BOARD).0.encoder.00.index-invert 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.00.index-mask 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.00.index-mask-invert 0

setp  hm2_[HOSTMOT2](BOARD).0.encoder.00.scale  [AXIS_0]INPUT_SCALE
net motor.00.pos-fb hm2_[HOSTMOT2](BOARD).0.encoder.00.position => pid.0.feedback
net motor.00.pos-fb => axis.0.motor-pos-fb #push copy back to Axis GUI

# set PID loop gains from inifile
setp pid.0.Pgain [AXIS_0]P
setp pid.0.Igain [AXIS_0]I
setp pid.0.Dgain [AXIS_0]D
setp pid.0.bias [AXIS_0]BIAS
setp pid.0.FF0 [AXIS_0]FF0
setp pid.0.FF1 [AXIS_0]FF1
setp pid.0.FF2 [AXIS_0]FF2
setp pid.0.deadband [AXIS_0]DEADBAND
setp pid.0.maxoutput [AXIS_0]MAX_OUTPUT

# position command signals

# setp hm2_[HOSTMOT2](BOARD).0.7i77.0.1.analogout0-scalemax [AXIS_0]OUTPUT_SCALE

net emcmot.00.pos-cmd axis.0.motor-pos-cmd => pid.0.command
net motor.00.command  pid.0.output  =>  hm2_[HOSTMOT2](BOARD).0.7i77.0.1.analogout0


# ################
# Y [1] Axis
# ################

# axis enable chain
newsig emcmot.01.enable bit
sets emcmot.01.enable FALSE
net emcmot.01.enable => pid.1.enable
net emcmot.01.enable <= axis.1.amp-enable-out 

# encoder feedback
setp hm2_[HOSTMOT2](BOARD).0.encoder.01.counter-mode 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.01.filter 1
setp hm2_[HOSTMOT2](BOARD).0.encoder.01.index-invert 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.01.index-mask 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.01.index-mask-invert 0

setp  hm2_[HOSTMOT2](BOARD).0.encoder.01.scale  [AXIS_1]INPUT_SCALE
net motor.01.pos-fb hm2_[HOSTMOT2](BOARD).0.encoder.01.position => pid.1.feedback
net motor.01.pos-fb => axis.1.motor-pos-fb #push copy back to Axis GUI

# set PID loop gains from inifile
setp pid.1.Pgain [AXIS_1]P
setp pid.1.Igain [AXIS_1]I
setp pid.1.Dgain [AXIS_1]D
setp pid.1.bias [AXIS_1]BIAS
setp pid.1.FF0 [AXIS_1]FF0
setp pid.1.FF1 [AXIS_1]FF1
setp pid.1.FF2 [AXIS_1]FF2
setp pid.1.deadband [AXIS_1]DEADBAND
setp pid.1.maxoutput [AXIS_1]MAX_OUTPUT

# position command signals

# setp hm2_[HOSTMOT2](BOARD).0.7i77.0.1.analogout1-scalemax [AXIS_1]OUTPUT_SCALE

net emcmot.01.pos-cmd axis.1.motor-pos-cmd => pid.1.command
net motor.01.command  pid.1.output  =>  hm2_[HOSTMOT2](BOARD).0.7i77.0.1.analogout1


# ################
# Z [2] Axis
# ################

# axis enable chain
newsig emcmot.02.enable bit
sets emcmot.02.enable FALSE
net emcmot.02.enable => pid.2.enable
net emcmot.02.enable <= axis.2.amp-enable-out 

# encoder feedback
setp hm2_[HOSTMOT2](BOARD).0.encoder.02.counter-mode 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.02.filter 1
setp hm2_[HOSTMOT2](BOARD).0.encoder.02.index-invert 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.02.index-mask 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.02.index-mask-invert 0

setp  hm2_[HOSTMOT2](BOARD).0.encoder.02.scale  [AXIS_2]INPUT_SCALE
net motor.02.pos-fb hm2_[HOSTMOT2](BOARD).0.encoder.02.position => pid.2.feedback
net motor.02.pos-fb => axis.2.motor-pos-fb #push copy back to Axis GUI

# set PID loop gains from inifile
setp pid.2.Pgain [AXIS_2]P
setp pid.2.Igain [AXIS_2]I
setp pid.2.Dgain [AXIS_2]D
setp pid.2.bias [AXIS_2]BIAS
setp pid.2.FF0 [AXIS_2]FF0
setp pid.2.FF1 [AXIS_2]FF1
setp pid.2.FF2 [AXIS_2]FF2
setp pid.2.deadband [AXIS_2]DEADBAND
setp pid.2.maxoutput [AXIS_2]MAX_OUTPUT

# position command signals

# setp hm2_[HOSTMOT2](BOARD).0.7i77.0.1.analogout2-scalemax [AXIS_3]OUTPUT_SCALE

net motor.02.command  pid.2.output  =>  hm2_[HOSTMOT2](BOARD).0.7i77.0.1.analogout2
net emcmot.02.pos-cmd axis.2.motor-pos-cmd => pid.2.command



# ##################################################
# Standard I/O Block - EStop, Etc
# ##################################################

# create a signal for the estop loopback
net estop-loop iocontrol.0.user-enable-out => iocontrol.0.emc-enable-in

# create signals for tool loading loopback
net tool-prep-loop iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
net tool-change-loop iocontrol.0.tool-change => iocontrol.0.tool-changed


#
# homing
#


#net home-switch <= hm2_[HOSTMOT2](BOARD).0.7i77.0.0.input-00
#net home-switch => axis.0.home-sw-in
#net home-switch => axis.1.home-sw-in
#net home-switch => axis.2.home-sw-in


#net spindle-forward <= motion.spindle-forward => hm2_5i25.0.gpio.000.out
#setp hm2_5i25.0.gpio.000.is_output 1
#net spindle-reverse <= motion.spindle-reverse => hm2_5i25.0.gpio.001.out


net coolant-flood <= iocontrol.0.coolant-flood =>  hm2_[HOSTMOT2](BOARD).0.7i77.0.0.output-00
net spindle-forward <= motion.spindle-forward =>  hm2_[HOSTMOT2](BOARD).0.7i77.0.0.output-01
net spindle-reverse <= motion.spindle-reverse =>  hm2_[HOSTMOT2](BOARD).0.7i77.0.0.output-02
net  motion-enabled <=  motion.motion-enabled =>  hm2_[HOSTMOT2](BOARD).0.7i77.0.0.output-03
net estop-loop <= iocontrol.0.user-enable-out => hm2_[HOSTMOT2](BOARD).0.7i77.0.0.output-04

net axis.0.home-switch => axis.0.home-sw-in <=  hm2_[HOSTMOT2](BOARD).0.7i77.0.0.input-00
net axis.1.home-switch => axis.1.home-sw-in <=  hm2_[HOSTMOT2](BOARD).0.7i77.0.0.input-01
net axis.2.home-switch => axis.2.home-sw-in <=  hm2_[HOSTMOT2](BOARD).0.7i77.0.0.input-02
net axis.0.pos-lim-switch => axis.0.pos-lim-sw-in  <=  hm2_[HOSTMOT2](BOARD).0.7i77.0.0.input-03
net axis.0.neg-lim-switch => axis.0.neg-lim-sw-in  <=  hm2_[HOSTMOT2](BOARD).0.7i77.0.0.input-04
net axis.1.pos-lim-switch => axis.1.pos-lim-sw-in  <=  hm2_[HOSTMOT2](BOARD).0.7i77.0.0.input-05
net axis.1.neg-lim-switch => axis.1.neg-lim-sw-in  <=  hm2_[HOSTMOT2](BOARD).0.7i77.0.0.input-06
net axis.2.pos-lim-switch => axis.2.pos-lim-sw-in  <=  hm2_[HOSTMOT2](BOARD).0.7i77.0.0.input-07
net axis.2.neg-lim-switch => axis.2.neg-lim-sw-in  <=  hm2_[HOSTMOT2](BOARD).0.7i77.0.0.input-08
#net estop-in  => iocontrol.0.emc-enable-in <= hm2_[HOSTMOT2](BOARD).0.7i77.0.0.input-09
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Mesa 5i25+7i77-с чего начать?

Сообщение nkp »

короче -сигналы с motion просто заведены на io пины платы?
а на самих пинах в хале переключение нормальное?
Ответить

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