Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки

Работа с платами MESA, подключение, конфигурация.

Re: Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки

Сообщение aftaev » 24 июн 2011, 22:42

По мастерам:
В старой версии мастера неправильно указывается путь на прошивку.
В новом мастере ЕМС 2.5 полно ошибок под платы 7i43-2 7i43-4 5i20 мастера выбрасывают ошибку и не создают конфиг файлы

В инете нашел варианты как описывать выводы. Кучу вариантов перепробывал не выходит добавить вывод чтоб он включал шпиндель. Шаговые работают. Стоит описать вывод как выход = ошибка.
Поставлю другой винт и на него попробую установить старую версию ЕМС.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 28295
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 4772
Медальки:

Re: Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки

Сообщение Nick » 25 июн 2011, 16:37

Скинь весь хал, у тебя походу этот сигнал уже где-то раньше определен.

Получается, что нет разницы где писать. (главное все загрузки модулей должны быть вверху). Команда net [сигнал] [пин] [пин] [пин]:
1. создает сигнал если он еще не создан. (если имя сигнала не указано, он все равно создается, только потом к нему будет не обратиться)
2. присоединяет к этому сигналу пины. Если пин вывода, он подсоединяется на вход сигнала (на вход сигнала можно подключить только один пин. Если пин на входе уже подключен, то появится ошибка типа твоей). Пины ввода присоединяются на выход сигнала.
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22344
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1384
Заслуга: Developer
Медальки:

Re: Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки

Сообщение Nick » 25 июн 2011, 17:04

Раз добавлен репозиторий, то все должно обновляться через стандартный менеджер обновлений. Либо через консоль
sudo apt-get update
sudo apt-get upgrade
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22344
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1384
Заслуга: Developer
Медальки:

Re: Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки

Сообщение aftaev » 25 июн 2011, 17:06

Чуть позже выложу, щас из под Винды пишу. Nick как обновить Hosmost2? И как узнать текущую версию. Что то сдается стоит старая версия Hosmost2
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 28295
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 4772
Медальки:

Re: Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки

Сообщение Nick » 25 июн 2011, 17:28

Имхо с ней все нормально должно быть. Я думаю она вообще давно не обновлялась...

Вот тут дерево разработок прошивок hostmot2 http://git.linuxcnc.org/gitweb?p=hostmo ... git;a=tree
Пишут, что последнее изменение было 6 месяцев назад
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22344
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1384
Заслуга: Developer
Медальки:

Re: Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки

Сообщение aftaev » 25 июн 2011, 18:32

Поставил на другой винт старую версию ЕМС 2.4.3 (которая щас лежит на linuxcnc LiveCD)

1. Запустил мастера для 7i43 прописал 3 оси XYZ + шпиндель.
2. В Hal файле изменил путь на fireware
3. После запуска ЕМС выдает таку ошибку:
(для просмотра содержимого нажмите на ссылку)
Print file information:
RUN_IN_PLACE=no
EMC2_DIR=
EMC2_BIN_DIR=/usr/bin
EMC2_TCL_DIR=/usr/share/emc/tcl
EMC2_SCRIPT_DIR=
EMC2_RTLIB_DIR=/usr/realtime-2.6.32-122-rtai/modules/emc2
EMC2_CONFIG_DIR=
EMC2_LANG_DIR=/usr/share/emc/tcl/msgs
INIVAR=inivar
HALCMD=halcmd
EMC2_EMCSH=/usr/bin/wish8.5
EMC2 - 2.4.3
Machine configuration directory is '/home/miko/emc2/configs/6T80H'
Machine configuration file is '6T80H.ini'
INIFILE=/home/miko/emc2/configs/6T80H/6T80H.ini
PARAMETER_FILE=emc.var
EMCMOT=motmod
EMCIO=io
TASK=milltask
HALUI=halui
DISPLAY=axis
NML_FILE=
Starting EMC2...
Starting EMC2 server program: emcsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting EMC2 IO program: io
Starting HAL User Interface program: halui
Shutting down and cleaning up EMC2...
Running HAL shutdown script
Killing task emcsvr, PID=2002
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Cleanup done

Debug file information:
insmod: error inserting '/usr/realtime-2.6.32-122-rtai/modules/emc2/hm2_7i43.ko': -1 Unknown symbol in module
6T80H.hal:11: exit value: 1
6T80H.hal:11: insmod failed, returned -1
See the output of 'dmesg' for more information.
2002
PID TTY STAT TIME COMMAND
Stopping realtime threads
Unloading hal components

Kernel message information:
[ 237.857187] I-pipe: Domain RTAI registered.
[ 237.857193] RTAI[hal]: <3.8.1> mounted over IPIPE-NOTHREADS 2.6-03.
[ 237.857195] RTAI[hal]: compiled with gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) .
[ 237.857219] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs DISPATCHED), ISOL_CPUS_MASK: 0).
[ 237.857221] PIPELINE layers:
[ 237.857224] fb5ffe20 9ac15d93 RTAI 200
[ 237.857226] c085cb20 0 Linux 100
[ 237.887415] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[ 237.887672] RTAI[sched]: IMMEDIATE, MP, USER/KERNEL SPACE: <with RTAI OWN KTASKs>, kstacks pool size = 524288 bytes.
[ 237.887676] RTAI[sched]: hard timer type/freq = APIC/12499798(Hz); default timing: periodic; linear timed lists.
[ 237.887679] RTAI[sched]: Linux timer freq = 250 (Hz), TimeBase freq = 2500342000 hz.
[ 237.887681] RTAI[sched]: timer setup = 999 ns, resched latency = 2943 ns.
[ 237.887775] RTAI[usi]: enabled.
[ 237.930386] RTAI[math]: loaded.
[ 238.161624] hm2: loading Mesa HostMot2 driver version 0.15
[ 238.165331] hm2_7i43: loading HostMot2 Mesa 7i43 driver version 0.3
[ 238.167364] hm2_7i43.0: firmware: requesting hm2/7i43/SVST4_4.BIT
[ 238.220552] hm2/hm2_7i43.0: firmware hm2/7i43/SVST4_4.BIT not found

[ 238.220556] hm2/hm2_7i43.0: install the package containing the firmware.
[ 238.220560] hm2_7i43.0: board at (ioaddr=0x0378, ioaddr_hi=0x0000, epp_wide ON) not found!
[ 238.943374] hm2: unloading
[ 239.149545] RTAI[math]: unloaded.
[ 239.171213] SCHED releases registered named ALIEN RTGLBH
[ 239.200568] RTAI[malloc]: unloaded.
[ 239.300009] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps 0, syscalls 0).
[ 239.302397] I-pipe: Domain RTAI unregistered.
[ 239.302426] RTAI[hal]: unmounted.


Эт я так понимаю версия HostMot2 и она не 0.8 что сейчас hm2_7i43: loading HostMot2 Mesa 7i43 driver version 0.3

Вот Hal (сделаный мастером)
(для просмотра содержимого нажмите на ссылку)
# Generated by PNCconf at Fri Jun 24 22:28:45 2011
# Все изменения в этом файле будут перезаписаны
# overwritten when you run PNCconf again

loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt probe_parport
loadrt hostmot2

# было (мастер путь прописал)
#loadrt hm2_7i43 config="firmware=hm2/7i43/SV4_4B.BIT num_encoders=0 num_pwmgens=0 num_stepgens=4"

# я изменил
loadrt hm2_7i43 config="firmware=hm2/7i43/SVST4_4.BIT num_encoders=0 num_pwmgens=0 num_stepgens=4"


setp hm2_7i43.0.watchdog.timeout_ns 10000000
loadrt abs names=
loadrt near

addf hm2_7i43.0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf near.0 servo-thread
addf hm2_7i43.0.write servo-thread
addf hm2_7i43.0.pet_watchdog servo-thread

# external output signals


# --- SPINDLE-ENABLE ---
setp hm2_7i43.0.false.017.is_output true
net spindle-enable => hm2_7i43.0.false.017.out

# external input signals



#*******************
# AXIS X
#*******************

# Step Gen signals/setup

setp hm2_7i43.0.stepgen.03.dirsetup [AXIS_0]DIRSETUP
setp hm2_7i43.0.stepgen.03.dirhold [AXIS_0]DIRHOLD
setp hm2_7i43.0.stepgen.03.steplen [AXIS_0]STEPLEN
setp hm2_7i43.0.stepgen.03.stepspace [AXIS_0]STEPSPACE
setp hm2_7i43.0.stepgen.03.position-scale [AXIS_0]SCALE
setp hm2_7i43.0.stepgen.03.maxaccel 0
setp hm2_7i43.0.stepgen.03.maxvel 0
setp hm2_7i43.0.stepgen.03.step_type 0

net xpos-fb axis.0.motor-pos-fb <= hm2_7i43.0.stepgen.03.position-fb
net xpos-cmd axis.0.motor-pos-cmd => hm2_7i43.0.stepgen.03.position-cmd
net xenable axis.0.amp-enable-out => hm2_7i43.0.stepgen.03.enable

# ---setup home / limit switch signals---

net x-home-sw => axis.0.home-sw-in
net x-neg-limit => axis.0.neg-lim-sw-in
net x-pos-limit => axis.0.pos-lim-sw-in

#*******************
# AXIS Y
#*******************

# Step Gen signals/setup

setp hm2_7i43.0.stepgen.01.dirsetup [AXIS_1]DIRSETUP
setp hm2_7i43.0.stepgen.01.dirhold [AXIS_1]DIRHOLD
setp hm2_7i43.0.stepgen.01.steplen [AXIS_1]STEPLEN
setp hm2_7i43.0.stepgen.01.stepspace [AXIS_1]STEPSPACE
setp hm2_7i43.0.stepgen.01.position-scale [AXIS_1]SCALE
setp hm2_7i43.0.stepgen.01.maxaccel 0
setp hm2_7i43.0.stepgen.01.maxvel 0
setp hm2_7i43.0.stepgen.01.step_type 0

net ypos-fb axis.1.motor-pos-fb <= hm2_7i43.0.stepgen.01.position-fb
net ypos-cmd axis.1.motor-pos-cmd => hm2_7i43.0.stepgen.01.position-cmd
net yenable axis.1.amp-enable-out => hm2_7i43.0.stepgen.01.enable

# ---setup home / limit switch signals---

net y-home-sw => axis.1.home-sw-in
net y-neg-limit => axis.1.neg-lim-sw-in
net y-pos-limit => axis.1.pos-lim-sw-in

#*******************
# AXIS Z
#*******************

# Step Gen signals/setup

setp hm2_7i43.0.stepgen.02.dirsetup [AXIS_2]DIRSETUP
setp hm2_7i43.0.stepgen.02.dirhold [AXIS_2]DIRHOLD
setp hm2_7i43.0.stepgen.02.steplen [AXIS_2]STEPLEN
setp hm2_7i43.0.stepgen.02.stepspace [AXIS_2]STEPSPACE
setp hm2_7i43.0.stepgen.02.position-scale [AXIS_2]SCALE
setp hm2_7i43.0.stepgen.02.maxaccel 0
setp hm2_7i43.0.stepgen.02.maxvel 0
setp hm2_7i43.0.stepgen.02.step_type 0

net zpos-fb axis.2.motor-pos-fb <= hm2_7i43.0.stepgen.02.position-fb
net zpos-cmd axis.2.motor-pos-cmd => hm2_7i43.0.stepgen.02.position-cmd
net zenable axis.2.amp-enable-out => hm2_7i43.0.stepgen.02.enable

# ---setup home / limit switch signals---

net z-home-sw => axis.2.home-sw-in
net z-neg-limit => axis.2.neg-lim-sw-in
net z-pos-limit => axis.2.pos-lim-sw-in

#*******************
# SPINDLE S
#*******************

# ---setup spindle control signals---

net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps
net spindle-vel-cmd <= motion.spindle-speed-out
net spindle-enable <= motion.spindle-on
net spindle-cw <= motion.spindle-forward
net spindle-ccw <= motion.spindle-reverse
net spindle-brake <= motion.spindle-brake
net spindle-revs => motion.spindle-revs
net spindle-at-speed => motion.spindle-at-speed
net spindle-vel-fb => motion.spindle-speed-in
net spindle-index-enable <=> motion.spindle-index-enable
sets spindle-at-speed true

#******************************
# connect miscellaneous signals
#******************************

# ---coolant signals---

net coolant-mist <= iocontrol.0.coolant-mist
net coolant-flood <= iocontrol.0.coolant-flood

# ---probe signal---

net probe-in => motion.probe-input

# ---digital in / out signals---

# ---estop signals---

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

# ---manual tool change signals---

loadusr -W hal_manualtoolchange
net tool-change-request iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-change-confirmed 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


И до кучи Ini

(для просмотра содержимого нажмите на ссылку)
# Generated by PNCconf at Fri Jun 24 22:28:45 2011
# Все изменения в этом файле будут перезаписаны
# overwritten when you run PNCconf again

[EMC]
MACHINE = 6T80H
DEBUG = 0

[DISPLAY]
DISPLAY = axis
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2.000000
MAX_SPINDLE_OVERRIDE = 1.000000
MIN_SPINDLE_OVERRIDE = 0.500000
INTRO_GRAPHIC = emc2.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/miko/emc2/nc_files
PYVCP = custompanel.xml
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 0.250000
MAX_LINEAR_VELOCITY = 1.000000
MIN_LINEAR_VELOCITY = 0.010000
DEFAULT_ANGULAR_VELOCITY = 0.250000
MAX_ANGULAR_VELOCITY = 1.000000
MIN_ANGULAR_VELOCITY = 0.010000
EDITOR = gedit
GEOMETRY = xyz

[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 = emc.var

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
SERVO_PERIOD = 1000000

# [HOSTMOT2]
# This is for info only
# DRIVER0=hm2_7i43
# BOARD0=7i43
# CONFIG0="firmware=hm2/7i43/SV4_4B.BIT num_encoders=0 num_pwmgens=0 num_stepgens=4"

[HAL]
HALUI = halui
HALFILE = 6T80H.hal
POSTGUI_HALFILE = custom_postgui.hal
SHUTDOWN = shutdown.hal

[HALUI]
MDI_COMMAND = G0 G53 Z0
MDI_COMMAND = G28
MDI_COMMAND = G92 X0
MDI_COMMAND = G92 Y0
MDI_COMMAND = G92 Z0
MDI_COMMAND = G92.1

[TRAJ]
AXES = 3
COORDINATES = X Y Z
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 0.17
MAX_LINEAR_VELOCITY = 1.67

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

#********************
# Axis X
#********************
[AXIS_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.005
MIN_FERROR = 0.0005
MAX_VELOCITY = 1.667
MAX_ACCELERATION = 2.0
# these are in nanoseconds
DIRSETUP = 1000
DIRHOLD = 1000
STEPLEN = 1000
STEPSPACE = 1000
SCALE = 40.0
MIN_LIMIT = -0.001
MAX_LIMIT = 8.0
HOME_OFFSET = 0.0

#********************
# Axis Y
#********************
[AXIS_1]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.25
MIN_FERROR = 0.125
MAX_VELOCITY = 1.67
MAX_ACCELERATION = 2.0
# these are in nanoseconds
DIRSETUP = 1000
DIRHOLD = 1000
STEPLEN = 1000
STEPSPACE = 1000
SCALE = 40.0
MIN_LIMIT = -0.001
MAX_LIMIT = 8.0
HOME_OFFSET = 0.0

#********************
# Axis Z
#********************
[AXIS_2]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.005
MIN_FERROR = 0.0005
MAX_VELOCITY = 1.67
MAX_ACCELERATION = 2.0
# these are in nanoseconds
DIRSETUP = 1000
DIRHOLD = 1000
STEPLEN = 1000
STEPSPACE = 1000
SCALE = 40.0
MIN_LIMIT = -4.0
MAX_LIMIT = 0.001
HOME_OFFSET = 0.0

#********************
# Spindle
#********************
[SPINDLE_9]
MAX_VELOCITY = 1.67
MAX_ACCELERATION = 2.0
OUTPUT_SCALE = 1.0
OUTPUT_OFFSET = 0.0
MAX_OUTPUT = 10.0
INPUT_SCALE = 200.0


С такими настройками плата МЕСЫ не инициализируется горит красный светодиод!!!

Что не так??????????
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 28295
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 4772
Медальки:

Re: Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки

Сообщение aftaev » 25 июн 2011, 18:39

Запущу пока обновление:
Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки Обновление.png
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 28295
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 4772
Медальки:

Re: Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки

Сообщение Nick » 25 июн 2011, 19:13

aftaev писал(а):Что не так??????????

Вот это : [ 238.220552] hm2/hm2_7i43.0: firmware hm2/7i43/SVST4_4.BIT not found
Файл такой не найден. Поэтому в плату не загружается прошивка. Нужно добавить ссылку, как писали раньше!

Версия всего hostmot2 - 0.15. Версия конкретной прошивки Mesa 7i43 driver version 0.3.

А откуда ты взял число 0.8?

И где твой hal с прошлой ошибки???
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22344
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1384
Заслуга: Developer
Медальки:

Re: Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки

Сообщение aftaev » 26 июн 2011, 01:03

Nick писал(а):Вот это : [ 238.220552] hm2/hm2_7i43.0: firmware hm2/7i43/SVST4_4.BIT not found
Файл такой не найден. Поэтому в плату не загружается прошивка. Нужно добавить ссылку, как писали раньше!

Стандартный пример ссылается на этот путь. В каталоге файлы есть:
Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки 7i43-4.png


Nick писал(а):И где твой hal с прошлой ошибки???

Вот старый hal:
(для просмотра содержимого нажмите на ссылку)
# #######################################
#
# HAL file for HostMot2 with 3 steppers
#
# 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

# only the 7i43 needs this, but it doesnt hurt the others
loadrt probe_parport

# hostmot2 driver
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
# revel in the free time here from not having to run PID
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)
# ######################################################

# --- SPINDLE-ENABLE ---
# setp hm2_[HOSTMOT2](BOARD).0.false.017.is_output true
# net spindle-enable => hm2_[HOSTMOT2](BOARD).0.false.017.out



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

# axis enable chain
newsig emcmot.00.enable bit
sets emcmot.00.enable FALSE

net emcmot.00.enable <= axis.0.amp-enable-out
net emcmot.00.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.00.enable


# position command and feedback
net emcmot.00.pos-cmd <= axis.0.motor-pos-cmd
net emcmot.00.pos-cmd => hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-cmd

net motor.00.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-fb
net motor.00.pos-fb => axis.0.motor-pos-fb


# timing parameters
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.dirsetup [AXIS_0]DIRSETUP
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.dirhold [AXIS_0]DIRHOLD

setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.steplen [AXIS_0]STEPLEN
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.stepspace [AXIS_0]STEPSPACE

setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-scale [AXIS_0]SCALE

setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.maxvel 0
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.maxaccel 0

setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.step_type 0


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

# axis enable chain
newsig emcmot.01.enable bit
sets emcmot.01.enable FALSE

net emcmot.01.enable <= axis.1.amp-enable-out
net emcmot.01.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.01.enable


# position command and feedback
net emcmot.01.pos-cmd <= axis.1.motor-pos-cmd
net emcmot.01.pos-cmd => hm2_[HOSTMOT2](BOARD).0.stepgen.01.position-cmd

net motor.01.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.01.position-fb
net motor.01.pos-fb => axis.1.motor-pos-fb


# timing parameters
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.dirsetup [AXIS_1]DIRSETUP
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.dirhold [AXIS_1]DIRHOLD

setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.steplen [AXIS_1]STEPLEN
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.stepspace [AXIS_1]STEPSPACE

setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.position-scale [AXIS_1]SCALE

setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.maxvel 0
setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.maxaccel 0

setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.step_type 0


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

# axis enable chain
newsig emcmot.02.enable bit
sets emcmot.02.enable FALSE

net emcmot.02.enable <= axis.2.amp-enable-out
net emcmot.02.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.02.enable


# position command and feedback
net emcmot.02.pos-cmd <= axis.2.motor-pos-cmd
net emcmot.02.pos-cmd => hm2_[HOSTMOT2](BOARD).0.stepgen.02.position-cmd

net motor.02.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.02.position-fb
net motor.02.pos-fb => axis.2.motor-pos-fb


# timing parameters
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.dirsetup [AXIS_2]DIRSETUP
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.dirhold [AXIS_2]DIRHOLD

setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.steplen [AXIS_2]STEPLEN
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.stepspace [AXIS_2]STEPSPACE

setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.position-scale [AXIS_2]SCALE

setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.maxvel 0
setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.maxaccel 0

setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.step_type 0




#
# The Mesa AnyIO output pins can be in open-drain mode (drive low, float
# high) or push/pull mode (drive low, drive high).
#
# When a logical output is 1 in open-drain mode, the FPGA lets the pin
# float and it gets pulled high to +5V via a 10K resistor.
#
# When a logical output is 1 in push/pull mode, the FPGA pushes the pin
# high but only to +3.3V. This is problematic on some kinds of inputs.
#

#setp hm2_[HOSTMOT2](BOARD).0.gpio.048.is_opendrain 1
#setp hm2_[HOSTMOT2](BOARD).0.gpio.049.is_opendrain 1

#setp hm2_[HOSTMOT2](BOARD).0.gpio.054.is_opendrain 1
#setp hm2_[HOSTMOT2](BOARD).0.gpio.055.is_opendrain 1

#setp hm2_[HOSTMOT2](BOARD).0.gpio.060.is_opendrain 1
#setp hm2_[HOSTMOT2](BOARD).0.gpio.061.is_opendrain 1




# ##################################################
# 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

Задача: добавить выход на шпиндель. По разному прописывал, стоит добавить какой нибудь пин на выход, сразу матюкается. С этим Hal плата запускается и крутит 3 оси (выходят сигналы на пины)

Ini файл тоже прикреплю:
(для просмотра содержимого нажмите на ссылку)
[HOSTMOT2]
DRIVER=hm2_7i43
BOARD=7i43
CONFIG="firmware=hm2/7i43/SVST4_4B.BIT num_encoders=0 num_pwmgens=0 num_stepgens=3"




[EMC]

# Name of machine, for use with display, etc.
MACHINE = HM2-Stepper

# Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others
#DEBUG = 0x00000003
#DEBUG = 0x00000007
DEBUG = 0




[DISPLAY]

# Name of display program, e.g., tkemc
#DISPLAY = tkemc
DISPLAY = axis

# Cycle time, in seconds, that display will sleep between polls
CYCLE_TIME = 0.0500

# Path to help file
HELP_FILE = tkemc.txt

# Initial display setting for position, RELATIVE or MACHINE
POSITION_OFFSET = RELATIVE

# Initial display setting for position, COMMANDED or ACTUAL
POSITION_FEEDBACK = ACTUAL

# Highest value that will be allowed for feed override, 1.0 = 100%
MAX_FEED_OVERRIDE = 1.5

# Prefix to be used
PROGRAM_PREFIX = /home/miko/emc2/nc_files

# Introductory graphic
INTRO_GRAPHIC = emc2.gif
INTRO_TIME = 5




[TASK]

# Name of task controller program, e.g., milltask
TASK = milltask

# Cycle time, in seconds, that task controller will sleep between polls
CYCLE_TIME = 0.010




[RS274NGC]

# File containing interpreter variables
PARAMETER_FILE = hm2-stepper.var




[EMCMOT]

EMCMOT = motmod

# Timeout for comm to emcmot, in seconds
COMM_TIMEOUT = 1.0

# Interval between tries to emcmot, in seconds
COMM_WAIT = 0.010

# Servo task period, in nanoseconds
SERVO_PERIOD = 1000000




[HAL]

# The run script first uses halcmd to execute any HALFILE
# files, and then to execute any individual HALCMD commands.

# list of hal config files to run through halcmd
# files are executed in the order in which they appear

HALFILE = hm2-stepper.hal

# list of halcmd commands to execute
# commands are executed in the order in which they appear
#HALCMD = save neta




[TRAJ]

AXES = 3
COORDINATES = X Y Z
#HOME = 0 0 0
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010




[AXIS_0]

#
# Step timing is 40 us steplen + 40 us stepspace
# That gives 80 us step period = 12.5 KHz step freq
#
# Bah, even software stepping can handle that, hm2 doesnt buy you much with
# such slow steppers.
#
# Scale is 200 steps/rev * 5 revs/inch = 1000 steps/inch
#
# This gives a maxvel of 12.5/1 = 12.5 ips
#


TYPE = LINEAR
MAX_VELOCITY = 10
MAX_ACCELERATION = 20
BACKLASH = 0.000

# scale is 200 steps/rev * 5 revs/inch
SCALE = 1000

MIN_LIMIT = -10.0
MAX_LIMIT = 10.0

FERROR = 0.050
MIN_FERROR = 0.005

#HOME = 0.000
#HOME_OFFSET = 0.10
#HOME_SEARCH_VEL = 0.10
#HOME_LATCH_VEL = -0.01
#HOME_USE_INDEX = YES
#HOME_IGNORE_LIMITS = YES

# these are in nanoseconds
DIRSETUP = 200
DIRHOLD = 200
STEPLEN = 40000
STEPSPACE = 40000




[AXIS_1]

TYPE = LINEAR
MAX_VELOCITY = 10
MAX_ACCELERATION = 20

BACKLASH = 0.000

SCALE = 1000

MIN_LIMIT = -10.0
MAX_LIMIT = 10.0

FERROR = 0.050
MIN_FERROR = 0.005

#HOME = 0.000
#HOME_OFFSET = 0.10
#HOME_SEARCH_VEL = 0.10
#HOME_LATCH_VEL = -0.01
#HOME_USE_INDEX = YES
#HOME_IGNORE_LIMITS = YES

# these are in nanoseconds
DIRSETUP = 200
DIRHOLD = 200
STEPLEN = 40000
STEPSPACE = 40000




[AXIS_2]

TYPE = LINEAR
MAX_VELOCITY = 10
MAX_ACCELERATION = 20

BACKLASH = 0.000

SCALE = 1000

MIN_LIMIT = -10.0
MAX_LIMIT = 10.0

FERROR = 0.050
MIN_FERROR = 0.005

#HOME = 0.000
#HOME_OFFSET = 0.10
#HOME_SEARCH_VEL = 0.10
#HOME_LATCH_VEL = -0.01
#HOME_USE_INDEX = YES
#HOME_IGNORE_LIMITS = YES

# these are in nanoseconds
DIRSETUP = 200
DIRHOLD = 200
STEPLEN = 40000
STEPSPACE = 40000




[EMCIO]

# Name of IO controller program, e.g., io
EMCIO = io

# cycle time, in seconds
CYCLE_TIME = 0.100

# tool table file
TOOL_TABLE = tool.tbl
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 28295
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 4772
Медальки:

Re: Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки

Сообщение Nick » 26 июн 2011, 10:17

Откуда взялся false?
hm2_[HOSTMOT2](BOARD).0.false.017.is_output true
Должен быть gpio:
hm2_[HOSTMOT2](BOARD).0.gpio.017.is_output true
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22344
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1384
Заслуга: Developer
Медальки:

Re: Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки

Сообщение aftaev » 26 июн 2011, 11:37

Nick писал(а):Откуда взялся false?

Это сделал мастер в 2.4.3 версии.

Прописал так:
# --- SPINDLE-ENABLE ---
setp hm2_[HOSTMOT2](BOARD).0.gpio.017.is_output true
# мастер
# setp hm2_[HOSTMOT2](BOARD).0.false.017.is_output true
#мастер
#net spindle-enable => hm2_7i43.0.false.017.out
net spindle-enable => hm2_[HOSTMOT2](BOARD).0.gpio.017.out

Заработало!!!

Прописал так:
# --- Включаем шпиндель ---
setp hm2_[HOSTMOT2](BOARD).0.gpio.017.is_output true
net spindle-enable => hm2_[HOSTMOT2](BOARD).0.gpio.017.out

# --- Включаем сервы ---
setp hm2_7i43.0.gpio.022.is_output true
net estop-out => hm2_7i43.0.gpio.022.out

Nick как подключить линейки которые имеют выходы А В(квадратичный сигнал) Z(ноль метка). Потключить думаю АВ будет достаточно. Как прописать в hal. Линейки пока в обратной связи не учавствуют. Только индикация в ЕМС!!!
Z меткой потом займемся когда Хоме подключать буду :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 28295
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 4772
Медальки:

Re: Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки

Сообщение Nick » 26 июн 2011, 23:45

Мне как линейки завести в ЕМС, и начну курочить линейки. Пока буду паять от тебя отстану на время :)


Тема вот тут:
viewtopic.php?f=15&t=928&p=3440&hilit=%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%2A#p3440
В двух словах, делаем энкодер. Назначаем ему пины, и параметры. И потом, если надо заводим на feedback к осям.
Это ты их к тому же станку подключить хочешь?


Если я правильно понял в Hal нужно добавить:
setp hm2_7i43.0.gpio.022.is_output false
setp hm2_7i43.0.gpio.023.is_output false
loadrt encoder num_chan=1
addf encoder.update-counters base-thread
addf encoder.capture-position servo-thread
setp encoder.0.position-scale 20.000000
net Xpos-phase-a encoder.0.phase-A
net Xpos-phase-b encoder.0.phase-B
net Xpos-index encoder.0.phase-Z
net Xpos-phase-a <= hm2_7i43.0.gpio.022.in
net Xpos-index <= hm2_7i43.0.gpio.023.in



Да, все примерно так, только вроде нужно подключить фазу а и b, а индекс не обязательный (хотя может я и не прав). И если на энкодере есть три выхода, то нужно еще и фазу b завести.

Но, т.к. ты используешь MESA, то лучше обработку энкодера загрузить в прошивку и не занимать этим компьютер.
Итак, как ты правильно писал добавляем один энкодер в ini:
CONFIG="firmware=hm2/7i43/SVST4_4B.BIT num_encoders=1 num_pwmgens=0 num_stepgens=3"
Проверяем пины которые он займет. (Запускаем EMC2 и читаем dmesg).
Подключаем к ним энкодер. И настраиваем его в соответствии с:

Энкодеры

Энкодеры именуются следующим образом: "hm2_<BoardType>.<BoardNum>.encoder.<Instance>". Instance это двухзначное число которое соответствует номеру энкодера HostMot2. Должно быть ’num_encoders’ штук сущностей энкодеров, начиная с 00.

Так, например, пин HAL, который содержит текущее положение второго энкодера первой карты 5i20 будет: hm2_5i20.0.encoder.01.position (это предполагает, что прошивка в этой карте сконфигурирована таким образом, что этот объект hal доступен).

Каждый энкодер имеет три или четыре входных IO пина, в зависимости от того как была скомпилирована прошивка. Трех пиновые энкодеры используют A, B и index (иногда его называют Z). Четырех пиновые - A, B, Index, и Index-mask.

Представление энкодера в hm2 схоже с описанным в Canonical Device Interface (в документации HAL General Reference document), и с компонентом программного энкодера. Каждый сущность энкодера имеет следующие пины и параметры:

Пины

(s32 out) count: Количество тиков энкодера с предыдущего сброса

(float out) position: Положение энкодера в единицах положения (count / scale).

(float out) velocity: Приблизительная скорость в единицах измерения в секунду.

(bit in) reset: Когда этот пин равент TRUE, пины count и position выставляются в 0. (Пин velocity при этом не затрагивается.) Драйвер не скидывает згачения этого пина в False, после обнуления counts, это работа пользователя.

(bit in/out) index-enable: Когда этот пин выставлен в True, count (и соответственно position) будут сброшены в 0 на следующем пульсе Index (фаза Z). В тоже время, index-enable сбрасывается в 0 чтобы отобразить, что этот импульс имел место быть.

(s32 out) rawcount: Общее количество тиков энкодера с момента старта, не изменяется index или reset.

Параметры

(float r/w) scale: Преобразует из единиц ’count’ в единицы ’position’.

(bit r/w) index-invert: если равен True, тогда возрастающая грань ввода Index будет инициализировать событие Index (если index-enable равен true). Если равен False, то инициализация будет проходить по закрывающей грани.

(bit r/w) index-mask: Если равна True, тогда пин ввода Index имеет эффект, только если пин ввода Index-Mask равен True (или False, в зависимости от пина index-mask-invert).

(bit r/w) index-mask-invert: Если равен True, Index-Mask должен быть равным False, чтобы index имел эффект. Если равен False, то Index-Mask должен быть равен True.

(bit r/w) counter-mode: Должен быть равен False (по умолчанию) для Quadrature (квадратурного энкодера). Выставьте в True для режима Step/Dir (в этом случае Step будет на пине А, а Dir на пине B).

(bit r/w) filter: Если равен True (по умолчанию), квадратурный счетчик нуждается в 15 тиках (15 тиках часов), чтобы зарегистрировать изменение любого из трех вводов (любой импульс короче этого промежутка будет отклонен). Если равен False, то квадратутному энкодеру нужно только три тика, чтобы зарегистрировать изменение. Часы энкодера работают на частоте 33 МГц для платах PCI AnyIO и 50 МГц на 7i43.

(float r/w) vel-timeout: Когда энкодер двигается медленнее чем один импульс за время через которое драйвер считывает counts из FPGA (в функции hm2_read()), рассчитать скорость становится сложнее. Драйвер может подождать несколько итераций до появления следующего импульса, все это время выдавая верхнюю границу скорости энкодера, которая может быть достаточно точно предсказана. Этот параметр определяет как долго ждать следующего импульса, перед тем, как рапортовать, что энкодер остановился. Этот параметр задается в секундах.
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22344
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1384
Заслуга: Developer
Медальки:

Re: Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки

Сообщение freeform » 17 сен 2011, 17:31

С линейками есть какой-нибудь прогресс?
freeform
Кандидат
 
Сообщения: 83
Зарегистрирован: 30 июн 2011, 00:02
Откуда: Москва
Репутация: 7

Re: Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки

Сообщение aftaev » 17 сен 2011, 20:53

freeform писал(а):С линейками есть какой-нибудь прогресс?

Пока лежат. Работы много.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 28295
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 4772
Медальки:

Re: Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки

Сообщение freeform » 18 сен 2011, 12:30

aftaev писал(а):Пока лежат. Работы много.

Жалко. Думаю на токарник поставить, но никак не могу понять, хватит ли у них скорости, никаких данных на линейки с ебэя не нашел. А наобум покупать как-то страшновато.
freeform
Кандидат
 
Сообщения: 83
Зарегистрирован: 30 июн 2011, 00:02
Откуда: Москва
Репутация: 7

Re: Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки

Сообщение aftaev » 18 сен 2011, 16:29

freeform писал(а):Жалко. Думаю на токарник поставить, но никак не могу понять, хватит ли у них скорости, никаких данных на линейки с ебэя не нашел. А наобум покупать как-то страшновато.

В паспорте указывается максимальня скорость 60метров в минуту!!! Думаю хватат :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 28295
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 4772
Медальки:

Re: Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки

Сообщение Milk » 11 ноя 2011, 21:21

Aftaev, всего два вопроса - что за комп (латенси понравился) и какой комплект месы брали? Заказать хочу все и пусть себе идет, а я тем временем в мазуте поковыряюсь...
Пишите просто 7i43 +7I42, но ведь +-10В на управление сервы с них не взять? Или я обтупился по ночухе :D
Milk
Мастер
 
Сообщения: 206
Зарегистрирован: 05 июл 2011, 15:09
Репутация: 2

Re: Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки

Сообщение aftaev » 11 ноя 2011, 22:18

Milk писал(а):Aftaev, всего два вопроса - что за комп (латенси понравился)

ХЕЗ
Milk писал(а): какой комплект месы брали?

Совет: напиши в МЕСУ письмо мол дайте емайл русскоговорящего инженера. Тебе дадут и ты спросишь у грамотного чела.
У меня 7i43 и 7i42

Насколько я понимаю:
7i43 для LPT
5i20 для PCI

5i20 + 7i37 (для степ/дир) + 7i42 (для линеек)
или
5i20 + 7i33 (для +-10v) + 7i42 (для линеек)

если брать то с ТА например: 7I33/7I33TA тобишь разъемы под отвертку
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 28295
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 4772
Медальки:

Re: Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки

Сообщение zilk » 11 фев 2012, 03:34

Здравствуйте!

Извиняюсь, что поднимаю тему про 7i43 глупым вопросом.
Более-менее изучив принципы написания файлов конфигурации, добившись их работоспособности, которую контролировал хал-метром, хал-скопом, решил подключить это все к железу. И тут получился облом - оказалось, что на всех выходных пинах месы при выполняемой в данный момент программе, какие-либо сигналы отсутствовали напрочь, при этом в хал-скопе все импульсы были в наличии :?
Например, тупо запускаю sim-encoder, вывожу его на свободные пины - в хал-скопе наблюдаю на выходах прекрасные квадратурные импульсы, на соответствующих контактах разьема осциллографом - БОЛТ!! Все пины подтянуты к 3,3 вольтам, никакого движения...
Люди, помогите, что делать?? Все мануалы перечитал вдоль и поперек, перемычки на плате 10 раз перепроверил - результата ноль!

Спасибо!
zilk
Опытный
 
Сообщения: 139
Зарегистрирован: 07 янв 2012, 19:05
Откуда: Украина, Харьков
Репутация: 1
Медальки:

Re: Настройка EMC2+MESA 7i43+7i42+Сервы+Линейки

Сообщение Nick » 11 фев 2012, 14:43

Если у тебя пин GPIO, попробуй просто загрузить прошивку из консоли и выполнить halcmd setp <название пина> 1 и посмотри, вольтметром, изменится ли состояние пина.
В halscope какие пины смотришь, пины энкодера, или пины непосредственно mesa...?
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22344
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1384
Заслуга: Developer
Медальки:

Пред.След.

Вернуться в MESA

Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], Danilkom, Google [Bot], Google Feedfetcher, Hamster13, ignv, kalinvick, kLeR1k, Leopold_V, Олег., razvedchik, rehden, stiks, STNRO, vala, Yandex [bot], Yarrr

Поделиться

Reputation System ©'