Menu

Näytä viestit

Tämä jakso sallii sinun katsoa tämän jäsenen kaikkia viestejä. Huomaa, että näet vain niiden alueiden viestit, joihin sinulla on nyt pääsy.

Näytä viestit Menu

Viestit - Hiekkaranta_92

#1
Lainaus käyttäjältä: Snowfly - 25.03.25 - klo:20:46Hyvä että lähti liikkeelle...
Mietin vaan että oliko se mesa config tool tosiaan vaan servoille että siinä ei ollu missään stepperi valintaa?
Kuten sanottua stepperitkin toimia Mesan korteilla PID loopissa, joten sinällään tuollaista valintaa ei tarvita. Mitä nyt hetken tuota tutkin niin muutenkin taitaa olla helpompaa käsin .hal ja.ini tiedostojen muokaaminen kun vaan pääsee kunnolla sisälle noiden sielun elämään.

Nyt plasmalla onkin jo tehty ensimmäiset leikkaukset uudella kortilla.

THC to be added!
#2
Lainaus käyttäjältä: Ville Vaho - 24.03.25 - klo:23:21Mulla oli jossain kohtaa ajatuksena kuularuuvin siirtäminen pois metallityöstökoneeen sisältä, ruuvit ja moottorit liikuttamaan hydraulisylintereitä koneen ulkopuolelle, esimerkiks pystykarasen jyrsinkoneen käyttöhydrauliikan z akselille vois vaikka laittaa roikkumaan katosta, vastapainona karalaatikon painolle.

Selkeesti jääny päiväunet välistä... xP


Servomoottori pyörittämään kahta mäntäpumppuaa, joiden kierrostilavuus on sopivasti erikokoinen ja pari venttiiliä -> Hyvä säätödynamiikka :D

Ehkä ei pidä härnätä päiväunia enempää.
#3
Stepgenit taisi tosiaan puuttua kokonaan. Lisäsin ne käsin mutta en saanut siltikään liikettä aikaiseksi.

Sain koneen kuitenkin liikkeelle, kun otin linuxcnc:n esimerkki tedostoista mesakorttien stepper confin pohjaksi ja loin vastaavan eth kortin pohjalta ini-tiedosto 7i76eu kortille, jossa käytännössä vaihoin kortin nimen 7i76eu:ksi

Tässä esimerkki pohjassa ei tosiaan noita PID parametreja olekkaan käytössä. Ilmeisesti nuo kyllä voivat olla openloopissa mukana ja voidaan käyttää ethernetin viiveen tuomien virheiden korjaamiseen.

Nyt on vielä rajakytkinten toimintaan saattaminen. Taisin jossain vaiheessa laittaa 7i76eu+5abob frimiksen sisään, joten taisi tuo io kortti jäädä vielä hiljaiseksi :D 
#4
# This file was updated with the Mesa Configuration Tool on Mar 21 2025 11:53:28
# Changes to most things are ok and will be read by the Configuration Tool

[MESA]
VERSION = 2.1.7
BOARD = 7i76e
BOARD_NAME = 7i76eu
FIRMWARE = 7i76eu_7i76x1dpl.bin
CARD_0 = None
CARD_1 = None

[EMC]
VERSION = 1.1
MACHINE = plasma
DEBUG = 0x7FFFFFFF

[HM2]
DRIVER = hm2_eth
ADDRESS = 192.168.1.121

[DISPLAY]
DISPLAY = axis
PROGRAM_PREFIX = /home/plasma/linuxcnc/nc_files
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = COMMANDED
MAX_FEED_OVERRIDE = 1.2
MIN_LINEAR_VELOCITY = 1.0
DEFAULT_LINEAR_VELOCITY = 1.5
MAX_LINEAR_VELOCITY = 25.0
CYCLE_TIME = 0.1
INTRO_GRAPHIC = emc2.gif
INTRO_TIME = 0
OPEN_FILE = ""

[KINS]
KINEMATICS = trivkins coordinates=XY
JOINTS = 2

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

[RS274NGC]
PARAMETER_FILE = parameters.var
SUBROUTINE_PATH = /home/plasma/linuxcnc/subroutines

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
SERVO_PERIOD = 2000000

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[TRAJ]
COORDINATES = XY
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
MAX_LINEAR_VELOCITY = 15.0
NO_FORCE_HOMING = 1

[HAL]
HALFILE = main.hal
HALFILE = io.hal

[AXIS_X]
MIN_LIMIT = 0
MAX_LIMIT = 2500
MAX_VELOCITY = 10
MAX_ACCELERATION = 15

[JOINT_0]
CARD = 0
TAB = 0
AXIS = X
MIN_LIMIT = 0
MAX_LIMIT = 2500
MAX_VELOCITY = 10
MAX_ACCELERATION = 15
TYPE = LINEAR
SCALE = 133.160
DRIVE = Custom
STEP_INVERT = False
DIR_INVERT = False
STEPGEN_MAX_VEL = 12.00
STEPGEN_MAX_ACC = 18.00
DIRSETUP = 6000
DIRHOLD = 6000
STEPLEN = 6000
STEPSPACE = 6000
FERROR = 10
MIN_FERROR = 0.1
DEADBAND = 0
P = 500
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0.002
BIAS = 0
MAX_OUTPUT = 10
MAX_ERROR = 1
HOME = 0
HOME_OFFSET = -3
HOME_SEARCH_VEL = 1000
HOME_LATCH_VEL = 100
HOME_FINAL_VEL = 0
HOME_SEQUENCE = 2

[AXIS_Y]
MIN_LIMIT = 0
MAX_LIMIT = 1290
MAX_VELOCITY = 10
MAX_ACCELERATION = 15

[JOINT_1]
CARD = 0
TAB = 1
AXIS = Y
MIN_LIMIT = 0
MAX_LIMIT = 1290
MAX_VELOCITY = 10
MAX_ACCELERATION = 15
TYPE = LINEAR
SCALE = 1290
DRIVE = Custom
STEP_INVERT = False
DIR_INVERT = False
STEPGEN_MAX_VEL = 12.00
STEPGEN_MAX_ACC = 18.00
DIRSETUP = 6000
DIRHOLD = 6000
STEPLEN = 6000
STEPSPACE = 6000
FERROR = 10
MIN_FERROR = 0.1
DEADBAND = 0
P = 500
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0.002
BIAS = 0
MAX_OUTPUT = 0
MAX_ERROR = 1
HOME = 0
HOME_OFFSET = -1
HOME_SEARCH_VEL = 1000
HOME_LATCH_VEL = 100
HOME_FINAL_VEL = 0
HOME_SEQUENCE = 3


[INPUTS]
# DO NOT change the inputs they are used by the configuration tool
INPUT_0_0 = Joint 0 Minus Home
INPUT_INVERT_0_0 = True
INPUT_SLOW_0_0 = False
INPUT_0_1 = Joint 0 Plus
INPUT_INVERT_0_1 = True
INPUT_SLOW_0_1 = False
INPUT_0_2 = Joint 1 Minus Home
INPUT_INVERT_0_2 = True
INPUT_SLOW_0_2 = False
INPUT_0_3 = Joint 1 Plus
INPUT_INVERT_0_3 = True
INPUT_SLOW_0_3 = False

[OUTPUTS]
# DO NOT change the outputs they are used by the configuration tool
OUTPUT_SINK = 0000000000000000
OUTPUT_SOURCE = 1111111111111111
OUTPUT_0_0 = Coolant Flood
OUTPUT_INVERT_0_0 = False
OUTPUT_0_1 = Spindle On
OUTPUT_INVERT_0_1 = False

[OPTIONS]
# DO NOT change the options they are used by the configuration tool
LOAD_CONFIG = False
INTRO_GRAPHIC = emc2.gif
INTRO_GRAPHIC_TIME = 0
MANUAL_TOOL_CHANGE = False
CUSTOM_HAL = False
POST_GUI_HAL = False
SHUTDOWN_HAL = False
HALUI = False
PYVCP = False
GLADEVCP = False
LADDER = False
BACKUP = False

# This file was created with the Mesa Configuration Tool on Mar 21 2025 11:53:28
# If you make changes to this file DO NOT run the configuration tool again!
# This file will be replaced with a new file if you do!

# kinematics
loadrt [KINS](KINEMATICS)

# motion controller
loadrt [EMCMOT](EMCMOT) servo_period_nsec=[EMCMOT](SERVO_PERIOD) num_joints=[KINS](JOINTS)

# hostmot2 driver
loadrt hostmot2
loadrt [HM2](DRIVER) board_ip=[HM2](ADDRESS) config="num_encoders=3 num_stepgens=5 sserial_port_0=00000000"

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

loadrt pid names=pid.x,pid.y

# THREADS
addf hm2_[MESA](BOARD).0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf pid.x.do-pid-calcs servo-thread
addf pid.y.do-pid-calcs servo-thread
addf hm2_[MESA](BOARD).0.write servo-thread

# amp enable
net motion-enable <= motion.motion-enabled

# Board: 7i76eu

# Axis: X Joint: 0 Output: 0
# PID Setup
setp pid.x.Pgain [JOINT_0](P)
setp pid.x.Igain [JOINT_0](I)
setp pid.x.Dgain [JOINT_0](D)
setp pid.x.bias [JOINT_0](BIAS)
setp pid.x.FF0 [JOINT_0](FF0)
setp pid.x.FF1 [JOINT_0](FF1)
setp pid.x.FF2 [JOINT_0](FF2)
setp pid.x.deadband [JOINT_0](DEADBAND)
setp pid.x.maxoutput [JOINT_0](MAX_OUTPUT)
setp pid.x.error-previous-target True

# joint-0 enable chain
net joint-0-index-enable <=> pid.x.index-enable
net joint-0-index-enable <=> joint.0.index-enable

net joint-0-enable <= joint.0.amp-enable-out
net joint-0-enable => pid.x.enable

# position command and feedback
net joint-0-pos-cmd <= joint.0.motor-pos-cmd
net joint-0-pos-cmd => pid.x.command

net joint-0-pos-fb <= hm2_[MESA](BOARD).0.stepgen.00.position-fb
net joint-0-pos-fb => joint.0.motor-pos-fb
net joint-0-pos-fb => pid.x.feedback

# PID Output
net joint.0.output <= pid.x.output

# Axis: Y Joint: 1 Output: 1
# PID Setup
setp pid.y.Pgain [JOINT_1](P)
setp pid.y.Igain [JOINT_1](I)
setp pid.y.Dgain [JOINT_1](D)
setp pid.y.bias [JOINT_1](BIAS)
setp pid.y.FF0 [JOINT_1](FF0)
setp pid.y.FF1 [JOINT_1](FF1)
setp pid.y.FF2 [JOINT_1](FF2)
setp pid.y.deadband [JOINT_1](DEADBAND)
setp pid.y.maxoutput [JOINT_1](MAX_OUTPUT)
setp pid.y.error-previous-target True

# joint-1 enable chain
net joint-1-index-enable <=> pid.y.index-enable
net joint-1-index-enable <=> joint.1.index-enable

net joint-1-enable <= joint.1.amp-enable-out
net joint-1-enable => pid.y.enable

# position command and feedback
net joint-1-pos-cmd <= joint.1.motor-pos-cmd
net joint-1-pos-cmd => pid.y.command

net joint-1-pos-fb <= hm2_[MESA](BOARD).0.stepgen.01.position-fb
net joint-1-pos-fb => joint.1.motor-pos-fb
net joint-1-pos-fb => pid.y.feedback

# PID Output
net joint.1.output <= pid.y.output


# Standard I/O Block - EStop, Etc
# create a signal for the estop loopback
net estop-loopback iocontrol.0.emc-enable-in <= iocontrol.0.user-enable-out

Tässä hal ja ini tiedostot, jotka viimeisimmän kokeilun tulosta
#5
Tuota työkalua on tullut kokeiltua pnconfin lisäksi. Näkyisi binäärit olevan releasessa kaks viikkoa sitten päivittyneet.  Vaikka sanoo elokuulta olevan. Valikot kuitenkin on 7i76eu kortille, joten oletan olevan noiden olevan mukana. 
#6
Tämänkin tarkistin että on W5 on ohjeen mukaisessa "UP" asennossa. 
#7
2.9.4 versio on käytössä. 

Folowing error parametreissa on löysiä runsahkosti. Ja muutaman kympin saakin näytöllä juoksemaan, ennenkuin folowwing error lävähtää ruutuun. Kone ei kuitenkaan tee mitään liikettä.

Base periodia on kokeiltu sekä  50 000, 100 000, 200 000.
Oletus on että pitäs pystyä kevyesti tuohon 50 000 perustuen latensiin kortin ja koneen välillä, sekä koneen suorituskykyyn. 
#8
Kone on täysin openloop ainakin tällähetkellä. Ei siis enkoodereita. Joten mun ymmärryksen mukaan following error täytyy olla jotenkin riippuvainen mesa kortista. Olettaisin että ei saa kuittausta kortilta että pulssin luominen olis onnistunut?

Servo threadiakin kasvatin 2ms, P=500 ja FF1 = 1 ja FF2 = 0.002. Stepgen max velocity 700 ja max accerlation 2000. Mutta ei inaustakaan. 

Hal ja ini tiedostot ei juuri nyt ole saatavilla. 
#9
Tampereen hacklabilla on Linux-cnc ohjattu Plasma mesa kortilla. Kävi niin onnettomasti että 7i76u lisäkortti on pikkuhiljaa polttanut kanaviaan ja posti toi varaosana erehdyksen kautta 7i76eu kortin.

Kortti on saatu linux koneen kanssa juttelemaan. Mutta kone ei kyllä liiku inaustakaan tällä uudella kortilla. Kaikki tuntuu olevan kunnossa, mutta joint0 folowwing error iskee kehiin.
 
Onkohan foorumin lukijoissa vielä linux cnc harrastajia, jotka osais veikata mistä kannataa alkaa vikaa etsiä?
#10
Itse tykkään vaihtoehdosta kolme. Joskin pohtisin ehkä ohutta rst peltiä koko matkalle. Sähkökaapin runko voinee edelleen toimia kantavana runkona, mutta nesteelle olis yhtenäinen reitti kulkea.
#11
Hei

Täällä on kyllä paljon hyvää tietoa ja mielenkiintoisia projektikuvauksia. Enkä usko että montaakaan aktiivista tarvitaan että homma alkaa rullaamaan. Kun vaan kaikki muistaisi että kyse on lopultakin harrastuksesta.

Kaiken kaikkiaan olen tällä foorumilla viettänyt paljon aikaa, ja yleensä enemmän akateemisia pohtien kun oikeasti mitään tehden :D
#13
Infoa, ideoita ja palautteita / Vs: Apuva
06.02.25 - klo:17:05
Hei skyjack laittoi ainakin kuvalliset ohjeet edelliseen ketjuun myyntiilmoituksen tekemiseksi. Kuvien laittamiseen en näe avunpyyntöjä. Foorumin aktiivisuus on ollut valitettavan laskusuuntainen, joten vastauksen saamisessa voi kestää.
#14
Lainaus käyttäjältä: petko - 13.08.22 - klo:13:49
Terve,
Ennen täällä oli paljon leppoisampi meininki ja sai ihan oikeasti apuja ja oli mukava rupatella.
Esim. mun projekti vuodelta -09:
http://www.cnc-tekniikka.com/CNC-forum1/index.php?topic=702.msg2956#msg2956

Tämän jälkeen olen modernisonut mm. Emco Compact 6-sorvin servoille & päivittänyt työkalunvaihtajan yms.
Suunnittelin, rakensin ja toteutin erään CNC-koneen tyhjältä pöydältä muutama vuosi sitten.

Leppoisa meininki on tältä palstalta kadonnut johonkin, eikä oikeaa, kunnollista tietoa tahdo täältä saada.
Tieto löytyy kyllä muualta.

Viime vuosina tällä palstalla on ollut eräällä "ammattimiehellä" vissiin pätemisen puute.
Ko. henkilö kirjoittaa sellaistakin asiaa mitä ei itse ymmärrä. Liekkö osasyy katoon siinä?



Allekirjoitan tämän kyllä, muut neuvojat on sitten hiljaa kun ei jaksa perustella kovin kärkästä viestintä tapaa vasten.
Tietyllä tapaa häviää se diy mielekkyys kun kaikki pitäs tehdä vaan isolla rahalla.
Itse olen aika sitä diy henkeä löytänyt hacklab piireistä ja Tampereella onkin aika mukava metallipajan varustelu.

Tällähetkellä työnalla Bridgeportin käyttökunnostus, joskin on ollut tuo vapaa-aika melko kortilla viimeaikoina. Kaavaamista pitäsi alkaa harjoittelemaan, jahka jostain löytäis suoran linjarin lainaan.
#15
Lainaus käyttäjältä: Snowfly - 02.04.21 - klo:14:31
Yhessä firmassa oli periaate että kun mitta alkaa heittään niin kaikki palat käännetään/vaihdetaan terästä... kompensaatio arvoon ei alettu koskemaan...
Olivat vissiin laskeneet että tulee halvemmaksi sarja ajossa tehdä ennakoiva vaihto entä tehdä susi kappaleita... kerta korjaus koneistusta ei ollut mahdollista tehdä kappaleisiin kun tabit etc ajetaan pois kierron aikana niin pesiä yms ei ole mahdollista päästä korjaamaan...

Nämä on aina tapauskohtaisia asioita, ja riippuu paljolti valmistus toleranssista ja määritsyä, miten mitäkin kannattaa tehdä. Vaikkapa tappiyrsimetkin on jonkun toleranssin sisällä kun vaihtaa uuden terän, mutta ei ne tuhannes osalleen ole identtisiä. Edes materiaalit ei oo niin homogeenisia, että jokakerta tulis saman lainen kappalle vaikka muut asiat saataisiin vakioitua. Ja harrastaja koneistajan varsinkin kannattaa opetella se kompensointi eikä alkaa optimoimaan sarjaa varten. Jos sama koodi pitää postata ja siiträä monta kertaa koneelle, tulee yksittäis kappaleen valmistus ajasta melko pitkä.

Lainaus käyttäjältä: Hannu - 02.04.21 - klo:15:05
7i25/7177 Mesanet tuollaisen yhdeistelmän sais vajaan 400€.
näytti olevan Samat speksit rippelissä kuin 7i65:ssä

7i77 on sourse ja sink mallia  onko se sitten tuo sink (NPN) kortilla vedetään maihin servovahvistiimen sisäänmeno.
Kaupat tuli servosta Deltan malli 750W B malli isompi olis saanu olla  vääntää toikin 7Nm piikkiä .Tarkat speksit varmisuu kunhan posti kulkee .   
Jotenkin tuntuu oudolta vikatapauksessa maavuoto saa toiminnan aikaiseksi.

Eli 7i77D Isolated I/O includes 32 sinking inputs and 16 sinking outputs.
Mahtoiko mennä oikein valinta?

Katselin että 7i65 on kyllä vähän tarkempi, mutta se että onko sillä oikeasti merkitystä on toinen asia


Laite   DA muunnos   Resoluutio   Rippeli   
7i6516 bit0.0003 V±0.001 V
7i7713 bit0.0024 V±0.02 V

Mitä tuohon NPN ja PNP juttuihin tulee niin käsittääkseni molemilla tavoilla voi Deltan servopackin inputteja käskyttää. Sink moodissa tosiaan maadoitellaan inputtia ja sourcessa sit lykätään inputtiin jännite ulkoa.
Powered by EzPortal
SMF spam blocked by CleanTalk