Stránka 3 z 5

Re: Mpg kolečko z cncshopu

Napsal: 16. 6. 2013, 9:18
od RaS
no tak neříkej že nechodí mux :D když se ti na něm nemění vstupy.. máš ty vstupy muxu propojený s tím vlastním vstupem?

Re: Mpg kolečko z cncshopu

Napsal: 17. 6. 2013, 8:18
od fupe
stihacka píše: Neporadil by mi někdo jak to měřítko předělat na tři piny bez muxu? Hledal jsem, ale nějak mi to nedává smysl. Díky
Jestli chces misto dvou pinu pouzivat pro vyber meritka tri, tak pouzij misto MUX4 MUX8, ten ma 3 vstupy a 8 vystupu.
takze pouzijes jen nektere hodnoty z pravdivostni tabulky, tak aby byl vzdy jenom jeden ze tri vstupu TRUE.

sel2=FALSE, sel1=FALSE, sel0=TRUE out follows in1

sel2=FALSE, sel1=TRUE, sel0=FALSE out follows in2

sel2=TRUE, sel1=FALSE, sel0=FALSE out follows in4

to muze klidne pripojit i na otocny spinac, kterym to budes vybirat.

M

Re: Mpg kolečko z cncshopu

Napsal: 17. 6. 2013, 9:27
od stihacka
To pouziti tri pinu jsem myslel ze by to fungovalo uplne stejne jako volba os, co meritko to jeden pin, bohate to staci. Az sr k tomu dostanu tak sem dam muj hal. Beztak tam neco bude chybet, ale je mi divny ze kdyz se podivam v halmanageru na zmenu stavu tech dvou pinu tak se nic nedeje, pritom merakem to je ok, jestli to ten mux ovlivnuje az takhle...

Re: Mpg kolečko z cncshopu

Napsal: 17. 6. 2013, 9:42
od fupe
stihacka píše:To pouziti tri pinu jsem myslel ze by to fungovalo uplne stejne jako volba os, co meritko to jeden pin, bohate to staci. Az sr k tomu dostanu tak sem dam muj hal. Beztak tam neco bude chybet, ale je mi divny ze kdyz se podivam v halmanageru na zmenu stavu tech dvou pinu tak se nic nedeje, pritom merakem to je ok, jestli to ten mux ovlivnuje az takhle...
Jenze u volby os pripojis kazdy ze tri pinu na jednotlive osy.

net mpg-x axis.0.jog-enable <= parport.1.pin-04-in
net mpg-y axis.1.jog-enable <= parport.1.pin-05-in
net mpg-z axis.2.jog-enable <= parport.1.pin-06-in

kdezto u volby meritka potrebujes do jednoho vstupniho pinu scale prehazovat ruzne hodnoty kroku, jak to chces udelat? do jednoho vstupu muzes napojit pouze jeden vystup.
net pend-scale axis.0.jog-scale <= mux4.0.out
net pend-scale axis.1.jog-scale
net pend-scale axis.2.jog-scale

na to je prave idealni mux a jeho vystup napojit na scale. vsechno ostatni mi prijde slozitejsi. nerikam, ze to nejde udelat jinak.

M

Re: Mpg kolečko z cncshopu

Napsal: 17. 6. 2013, 1:43
od stihacka
Aha, tak to je asi slozitejsi nez jsem si to predstavoval. Myslel jsem ze to jednoduse pujde tak ze kdyz budu mit sepnuty pin 2, tak budu mit meritko 0,01, kdyz pin 3 tak 0,1 a pin 4 bude 1,0.

Edit: Tady je cutom.hal

Kód: Vybrat vše

# Include your customized HAL commands here
# This file will not be overwritten when you run stepconf again

# Jog MPG 
loadrt encoder num_chan=1 
loadrt mux4 count=1 
addf encoder.capture-position servo-thread 
addf encoder.update-counters base-thread 
addf mux4.0 servo-thread 
setp encoder.0.x4-mode 0 
setp mux4.0.in0 0.01 
setp mux4.0.in1 0.1 
setp mux4.0.in2 1.0 

# vstupy pro encoder 
net mpg-aa encoder.0.phase-A <= parport.1.pin-10-in 
net mpg-bb encoder.0.phase-B <= parport.1.pin-11-in 

# vstupy pro volbu meritka 
net scale1 mux4.0.sel0 <= parport.1.pin-02-in 
net scale2 mux4.0.sel1 <= parport.1.pin-03-in
net pend-scale axis.0.jog-scale <= mux4.0.out 
net pend-scale axis.1.jog-scale 
net pend-scale axis.2.jog-scale  

#vstupy pro volbu osy 
net mpg-x axis.0.jog-enable <= parport.1.pin-05-in-not 
net mpg-y axis.1.jog-enable <= parport.1.pin-06-in-not 
net mpg-z axis.2.jog-enable <= parport.1.pin-07-in-not 

net pend-counts axis.0.jog-counts <= encoder.0.counts 
net pend-counts axis.1.jog-counts 
net pend-counts axis.2.jog-counts 
stihacka-mill.hal

Kód: Vybrat vše

# Generated by stepconf at Mon Jun 10 21:20:01 2013
# If you make changes to this file, they will be
# overwritten when you run stepconf again
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 0xdf30 in"
setp parport.0.reset-time 5000
loadrt stepgen step_type=0,0,0

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 parport.1.read base-thread
addf parport.1.write base-thread
addf parport.1.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
net spindle-cmd <= motion.spindle-speed-out
net spindle-on <= motion.spindle-on

net spindle-on => parport.0.pin-01-out
net xstep => parport.0.pin-02-out
setp parport.0.pin-02-out-reset 1
setp parport.0.pin-03-out-invert 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


net home-x <= parport.0.pin-10-in
net home-y <= parport.0.pin-11-in
net home-z <= parport.0.pin-12-in
net all-limit <= parport.0.pin-13-in


setp stepgen.0.position-scale [AXIS_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 0
setp stepgen.0.dirhold 55000
setp stepgen.0.dirsetup 55000
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
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 55000
setp stepgen.1.dirsetup 55000
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 home-y => 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 55000
setp stepgen.2.dirsetup 55000
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 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-out => 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
stihacka-mill.ini

Kód: Vybrat vše

# Generated by stepconf at Mon Jun 10 21:20:01 2013
# If you make changes to this file, they will be
# overwritten when you run stepconf again

[EMC]
MACHINE = stihacka-mill
DEBUG = 0

[DISPLAY]
DISPLAY = axis
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 1.2
INTRO_GRAPHIC = emc2.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/stihacka/emc2/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 = emc.var

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

[HAL]
HALFILE = stihacka-mill.hal
HALFILE = custom.hal
POSTGUI_HALFILE = custom_postgui.hal

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

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

[AXIS_0]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 47.5
MAX_ACCELERATION = 150.0
STEPGEN_MAXACCEL = 187.5
SCALE = 320.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.001
MAX_LIMIT = 510.0
HOME_OFFSET = 25.000000
HOME_SEARCH_VEL = -50.000000
HOME_LATCH_VEL = -1.562500
HOME_SEQUENCE = 1

[AXIS_1]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 47.5
MAX_ACCELERATION = 150.0
STEPGEN_MAXACCEL = 187.5
SCALE = 320.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.001
MAX_LIMIT = 245.0
HOME_OFFSET = 20.000000
HOME_SEARCH_VEL = -50.000000
HOME_LATCH_VEL = -1.562500
HOME_SEQUENCE = 1

[AXIS_2]
TYPE = LINEAR
HOME = 155.0
MAX_VELOCITY = 47.5
MAX_ACCELERATION = 150.0
STEPGEN_MAXACCEL = 187.5
SCALE = 320.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = 0.0
MAX_LIMIT = 155.001
HOME_OFFSET = 130.000000
HOME_SEARCH_VEL = 50.000000
HOME_LATCH_VEL = 1.562500
HOME_SEQUENCE = 0
A další co se najednou děje, tak při volbě osy mi jezdí jedna osa, potom najednou dvě a při přepnutí na třetí jezdí všechny. Tak já už fakt nevim co s tím. A ještě pro upřesnění mám pro volbu os a měřítka dva otočné přepínače každý s celkem 12 polohama.

Re: Mpg kolečko z cncshopu

Napsal: 17. 6. 2013, 2:55
od RaS
no když to máš negované:
net mpg-x axis.0.jog-enable <= parport.1.pin-05-in-not
net mpg-y axis.1.jog-enable <= parport.1.pin-06-in-not
net mpg-z axis.2.jog-enable <= parport.1.pin-07-in-not
tak pokud to máš vyplé tak budeš mít logickou 1ku na všech a musí jezdit všechny osy, pokud se přepneš na jednu z nich tak budou chodit vždy ty dvě druhý
a nebo ten tvůj spínač není spínač ale nějakej kodér a dává na každou polohu nějakou kombinaci něčeho..

spusť si halmanagera a koukej se co ti dělaj jkednotlivý vstupy.. pokud budeš sledovat mpg-x axis.0.jog-enable a parport.1.pin-05-in-not a to samé pro další osy.. tak když budeš točit tak musí být aktivní vždy jen jedna dvojice těch signálů.. pokud jsou aktivní dvě nebo víc máš to blbě zapojený..
to samé pak sledovat pro vstupy volby měřítka..

jde to udělat i tak jak to píšeš pomocí několika muxů ale je to zbytečný plejtvání vstupama.. a nevyřeší to tvůj problém.. nejdřív ti ty signály musej chodit do emcčka a pak můžou něco dělat, pokud nechoděj tak to nemůže chodit..

Re: Mpg kolečko z cncshopu

Napsal: 17. 6. 2013, 3:05
od stihacka
No, je to nějaký splašený. Protože když jsem to negování smazal(to jsem si všiml, že to je divný), přesto to jezdilo tak že na první polohu všechny, na druhou dvě osy a na třetí jedna, takže se to jen otočilo. Přitom v halamanageru se tyhle vstupy chovají jak mají.

Re: Mpg kolečko z cncshopu

Napsal: 17. 6. 2013, 3:35
od fupe
Jak to spinas? 5v proti pulldown odporu, nebo obracene, nebo bez odporu? Ale kdyz pises ze piny se halmanageru chovaj sporadane, tak to vypada na neco jinyho. Mesa je treba citliva na neosettrenej stav a je potreba tam mit odpory. M

Re: Mpg kolečko z cncshopu

Napsal: 17. 6. 2013, 4:11
od stihacka
Spínám to zemí, pin 14, bez odporu. Odpory muzu zkusit, jakou hodnotu?

Re: Mpg kolečko z cncshopu

Napsal: 18. 6. 2013, 5:47
od fupe
stihacka píše:Spínám to zemí, pin 14, bez odporu. Odpory muzu zkusit, jakou hodnotu?
Zkus 10k proti 5v.
M

Re: Mpg kolečko z cncshopu

Napsal: 18. 6. 2013, 2:06
od stihacka
Tak se omlouvam, ale on je nakonec opravdu problem v tech prepinacich, oni spinaj v nejakym kodovani i kdyz se mi nejdriv zdalo ze ne. Takze ted jen sehnat obyc prepinace.

EDIT: tak zpet, podle datasheetu to jsou opravdu obyc prepinace, ale chovaji se ted nejak divne.
IMAG0612.jpg

Re: Mpg kolečko z cncshopu

Napsal: 18. 6. 2013, 3:25
od RaS
tak to proměř.. musí to spínat vždy jen jeden pin proti společnému a žádnej jinej..

Re: Mpg kolečko z cncshopu

Napsal: 18. 6. 2013, 3:38
od stihacka
Právě že když jsem je měl venku, tak to chodilo si myslím dobře, když ale přivedu na přívod 5V, tak to spíná všelijak, není možný že by paralelní port pouštěl něco zpátky?

Jinak to spínání 5V s odporem nefunguje, jen proti zemi.

Re: Mpg kolečko z cncshopu

Napsal: 18. 6. 2013, 3:43
od RaS
proměř to ohmicky mezi sebou a vidíš to hned co to dělá.. třeba to je skutečně nějaký kodér a jsou tam různé kombinace a nebo máš třeba jinej vstup co já vím.. prostě základ je že ti to musí skutečně korektně spínat, pak to pošleš do emc a to musí korektně pracovat..

Re: Mpg kolečko z cncshopu

Napsal: 18. 6. 2013, 3:48
od testone
vem multimetr a propípej ten přepínač
vem tužku a kus papíru a namaluj schema jak je to zapojený
to tě donutí pořádně se zamyslet nad každým drátem, odkud, kam a proč
dost možná přitom přijdeš na to, že někde děláš nějakou triviální botu, možná několik současně
když nepřijdeš na nic sám, určitě bude pro ostatní jednodušší bádat podle schematu než podle nejednoznačných a neúplných popisů