CNC-Harrastus

YLEINEN CNC-KESKUSTELU => Keskustelua eri aiheista => Aiheen aloitti: dzy - 02.11.19 - klo:19:29

Otsikko: Heidenhain HE-310 klooni
Kirjoitti: dzy - 02.11.19 - klo:19:29
Moro,

Ajattelin avata tälle älämölötykselle oman ketjun jonne laittaa tietoa mitä tuosta saa selville.

Eli olisi tarkoitus koittaa väkertää tuollainen käsikapula Heidenhainin TNC155A ohjaimelle. Vähän tähän tapaan: https://translate.google.fi/translate?sl=de&tl=en&u=http%3A%2F%2Fhsm-aktuell.de%2Fcnc-hr330.htm

Jonkinlaista edistymistä on tässä tapahtunut. Tuo kapulahan juttelee sarjaväylällä ja liittimestä löytyy vain vastaanottava pinni datalle ja käänteinen DTR-signaali. Protokolla millä tuo jutustelu tapahtuu niin on olemattomasti dokumentoitu ja käytetyt kapulat maksaa tonnista ylöspäin ebayssä.

(https://www.dropbox.com/s/3n2bk9j1f69k9uf/IMG_20191102_184242.jpg?dl=1)

Kapulan luku tapahtuu näyttökortin prosessorilla TMS9995, TMS9902 sarjaporttikontrollerin avustamana.

Tuommoisella olen sitä CNC ohjaintani rääkännyt, STM32F103 (tämä yksilö on kiinan kopio) Tuo logiikkapiiri on tuohon nyt vain jäänyt kiinni, käänsin sillä sarjaportin kun stm32f103 ei osaa sitä ite kääntää, (toiminnallisuus mitä ei sitten tarvittukaan) PIC:eillä on bitti mikä invertoi sarjaportin mutta tässä stm32f103 prossussa ei semmoista ole. DTR pulssi menee Sipexin 232 piirille ja sieltä invertoituna STM:lle EXT0 keskeytyspinniin (EXTI0_IRQHandler). Sarjadata menee myös tuon Sipexin kautta.

Luin tuon prosessorin ohjelman talteen ja disassembloin sen. Tuota koodia nyt olen koittanut ymmärtää. Asiaa ei helpota yhtään miten tuo prossu käsittelee "rekistereitään"... :)
Sain kuitenkin selville sarjaportin asetukset 38400 baudia, parillinen pariteetti, yksi stop bitti ja 8 bittiä dataa.

Joka 6mS välein annetaan 12uS pulssi DTR pinniin, tämä toimii kapulalle synkronointina ja se alkaa lähettämään tavuja pihalle. TNC:n ohjelmassa alustetaan 9 tavua muistissa ja ensimmäinen asetetaan arvoon 0x50 muut nollataan.
Heti tuon muistialueen jälkeen tulee sama määrä tavuja ja ne alustetaan samoin. Jälkimmäiseen kopioidaan ensimmäisen vastaanotetut tavut keskeytyksessä 3 jossa myös annetaan tuo 12uS DTR pulssi.


Lainaa
R0-R15 these are "registers" on interrupt 1 context

intr 1 R0  DC00   xx xx
intr 1 R1  DC02   DC 05 ; LI      r5,>dc05 | MOV     r5,@>dc02
intr 1 R2  DC04   00 05  ; LI      r5,>0050 | LI      r1,>dc04 | MOV     r5,*r1+
intr 1 R3  DC06   00 00  ; CLR     *r1+
intr 1 R4  DC08   00 00  ; CLR     *r1+
intr 1 R5  DC0A   00 00  ; CLR     *r1+
intr 1 R6  DC0C   00 00  ; CLR     *r1+
intr 1 R7  DC0E   00 05 ; MOV     r5,*r1+
intr 1 R8  DC10   00 00 ; CLR     *r1+
intr 1 R9  DC12   00 00 ; CLR     *r1+
intr 1 R10 DC14   00 00 ; CLR     *r1+
intr 1 R11 DC16   00 00 ; CLR     *r1+
intr 1 R12 DC18   00 00 ; reset routine writes R12 the CRU address of TMS9902 here
intr 1 R13 DC1A   xx xx
intr 1 R14 DC1C   xx xx
intr 1 R15 DC1E   xx xx

Muita kuin TNC155 manuaaleja lukemalla olen saanut selville että uudemmissa ohjaimissa lähetetyille tavuille suoritetaan tarkistussumma laskenta, olettaisin tämän olevan jos tässä sellainen on niin tämä BCC. Tuota käytetään jo valmiiksi blockwise transferissa ja sen toteuttaminen on erittäin kevyttä ja helppoa. Myöskin luin jostain että tämä tavumäärä mitä kapula lähettää ei ole välttämättä vakio vaan se voi vaihdella. Jos ei oteta huomioon tuota ensimmäistä tavua (alustettu 0x50) niin jäljelle jäisi 8 tavua, siihen mahtuisi hyvin 4 PLC käskyä (muttei enää tarkistussummaa) Myöskin luin että kapuloilla olisi joku ID, ilmeisesti tuo ensimmäinen lähetetty tavu.

Ohjelmassa erikseen tarkistetaan onko ensimmäinen tavu 0xa_ tai 0x5_ ja siitä sitten ohjelman kulku eriytyy. Jos tavu on 0xa_ niin tavun alimpia neljää bittiä shiftataan oikealle kunnes ne on kaikki nollia, näin saadaan rekisteriin arvo väliltä 1-5. Tuo voisi myös olla lähetettävien tavujen määrä? Jostain luin kuitenkin että tavuja olisi aina 6 (1+5 eli tämä ensimmäinen ja sitten loput)

Itse sarjaportin luku tapahtuu keskeytyksessä 1 ja se onkin melkoisen simppeli! Eli tuo tunkee kaiken saamansa suoraan muistiin. Voi olla että 9 tavua varattua tilaa riittää puskuriksi jos jokin tunkisi sinne enemmän tavuja kuin on varattua muistia. Joka 6mS välein tuo muistiosoitin nollataan takaisin alkuun. Toimii ehkä mutta ei ole kovin elegantti ratkaisu.

LainaaINTR01  STCR    *r1+,8           ; pc:>166c w:>3631     ; Store char ? WP=dc00
        SBO     18               ; pc:>166e w:>1d12     ; RIENB Writing a one to Bit 18 causes the INT output to be active
        RTWP                     ; pc:>1670 w:>0380     ; Return Workspace Pointer (RTWP) Instruction

Ehkä tuota tietoa mitä tuossa alun linkissä oli niin voisi jotenkin koittaa soveltaa.

LainaaThe Heidenhain control outputs a signal every 6 ms, whereupon the handwheel returns a data packet of 4 bytes. 2Byte for identifier, axis keys and UVV key, the remaining 2 bytes return the encoder count value since the last data transmission, as a 16 bit value depending on the direction of rotation + -32000, ie every 6ms the count value is transferred and the counter value is deleted.
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 02.11.19 - klo:22:46
JUMATSUKA! It's ALIVE!!!

Lähetin sille muutaman PLC käskyn ja pöytä lähti rynnimään täpöjä ja näyttöön tuli "KARKEA PAIKOITUSVIRHE!

(https://www.dropbox.com/s/cmxgpjy1utc1g7m/Screenshot%20from%202019-11-02%2022-34-05.png?dl=1)
(https://www.dropbox.com/s/szqwz24c1vgsg86/Screenshot%20from%202019-11-02%2022-35-06.png?dl=1)

Lainaa

0x5f ID? ja montako PLC käskyä f-> 4 ?
0x79 0xc2     SET M2498=0x9c2 Activating jog positioning
0x79 0xd0    SET M2512 0x9d0 X+
0x99 0xe0    RESET M2528 0x9e0 X+ Complement
0x00 0x00    NOP

0x5f
0x79 0xc2
0x79 0xd0
0x99 0xe0
0x00 0x00

Heh, lähetin tuon 6mS välein yhtenä pommina... Kumma jos rynni...
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 03.11.19 - klo:08:26
Ilmeisimmin tämä TNC155A ottaa vastaan PLC käskyjä tuolla 0x5_ alkuisilla paketeilla, tämä avaa hurjasti mahdollisuuksia.

Nuo 0xA_ alkuiset paketit voi sitten olla niitä käsipyörän lukemia.

En ole ollenkaan varma minkä TNC:n rauta tuola purkissa on mutta takalapussa lukee TNC155A, ohjaimeni voi olla uudempaa versiota raudan osalta mutta vanhalla softalla. Korttien lukumäärä ei täsmää huoltomanuaalien kanssa.

EDIT: Hmmmm... Ehkä keskellä yötä ennen aamuvuoroa ei ole se paras hetki koittaa räpeltää ja vetää hätäisiä johtopäätöksiä.

Koitin lähettää moniosaisen PLC rimpsun millä aktivoisin [Y] akselin näyttöön... siinä kun mietin sitä niin tuli mieleen ettei se ole mahdollista. PLC:lle pitäisi asettaa 9 eri markkeria (8 bittiä ja strobe)
Ongelmana on että TNC lähettää jatkuvasti tuota DTR pulssia (ei pelkästään käsipyörätilassa) ja tuon rimpsun lähettäminen voi alkaa mistä osiosta tahansa... Koitin sitä kuitenkin ja tuloksena oli että pöytä jälleen kerran nytkähti ja näyttöön tuli karkea paikoitusvirhe...
Paketti alkoi tuolla 0x5f tavulla ja sen jälkeen oli PLC käsky... Ilmeisimmin tuo tarkoittaa jotain aivan muuta kuin että TNC huolisi PLC koodia tuonne. Tuossa nytkäyksessä taisi liikahtaa sekä X että Y. Olisiko niin että tuolla 0x5_ komennolla annetaan suoraan se pulssimuutos sähköpyörältä?

Nyt en usko enää ollenkaan että tuonne voi tunkea PLC käskyjä, koitetaan uudestaan eri strategialla...
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 03.11.19 - klo:16:14
Nonniin...

Noinhan se oli että ajattelin asioita aivan liian vaikean kautta, lähetin sille nyt 0x5f, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ja X-akseli alkoi hilumaan kohti X+ rajaa, joo... stupid me

eli 0x5f ilmeisesti valitsee kaikki akselit (kelvannee myös 0x58) ja sen jälkeen tulee pulssien muutos edelliseen DTR pulssiin verrattuna 16-bittisenä arvona... ei ollut vaikeaa...

[0x5f] [X] [X] [Y] [Y] [Z] [Z] [A] [A]

Muilla 0x5_ arvoilla vissiinkin valitaan sitten vain se haluttu akseli, [0x5(0=X, 1=Y, 2=Z, 4=A)]

Vielä pitää selvittää mitä tuo 0xa_ tekee...
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 03.11.19 - klo:16:31
Tuolla voi tosiaankin ohjata 4 akselia kerralla (tai no en tiiä kun omassa IV-akselissa on vain pelkkä mittalaite kiinni)

Feedoverride ei sanonut mitään, niin voisiko noilla 0xa_ paketeilla antaa jokaiselle akselille oman nopeuden?

https://youtu.be/CiDhmIbKLk8

EDIT: Nyt tuli jännä ilmoitus kun lähetin 0xaf, 0x00, 0xff, 0x00, 0x80, 0x00, 0x40, 0x00, 0x00

"MITTAJÄRJESTELMÄ X VIALLINEN", olisinko antanut liian suuria arvoja? Pitäisikö nuo olla prosentteja? Koneen uudelleen käynnistys niin kaikki on hyvin eli johtunee syöttämästäni biteistä tuo virheilmo. 0xFF on 255 ja koneparametreissä taitaa olla maksimi override 150%, 0x80 mahtuu hyvin ikkunaan kun se on desimaalina 128

EDIT: Sama virheilmo kun lähetin 0xaf, 0x00, 30, 0x00, 25, 0x00, 20, 0x00, 0x00, koitetaan muuttaa nuo BCD-luvuiksi, kyllä se tästä... Voisi kyllä koittaa laittaa kaikki nolliksikin, mutta...

EDIT: Eikun hetkinen... Vähän vaikee tämmöstä räpeltää kun en koskaan ole tuota ohjainkapulaa edes nähnyt... olisiko 0x5_ ei rapid liikkeille ja sitten 0xa_ rapid liikkeille? Nyt lähetin niitä vuoron perään...

EDIT: Tjaa-a, tämä 0xa_ on nyt vähän mysteeri lähetin sille joko 0xa0 tai 0xa1 ja kaksi 10 desimaalia BCD:nä niin sammutti ohjauksen releet eikä TNC enää vastannut nappuloihin... Testasin myös tuon feedoverriden tuolla HR250 pyörällä, eihän se siinäkään vastaa... eli ei overridellä ole mitään vaikutusta käsipyörätilassa :)

Toimiiko tuo kapula niin että siinä on tuo käsipyörä ja sitten pikaliikkeet nappuloilla? Oikeastaan mulle riittää että voin nyt pulssipyörällä ohjata akseleita omatekelekapulalla

EDIT: menisikö nuo 0xa_ alkuiset suoraan korvaamaan PLC:n inputteja? Koodissa on semmoisia kohtia tuon tarkastuksen jälkeen kuin SOCB ja se tehdään jonkun muistiosoitteen kanssa ja tungetaan sinnepäin takaisin. SOCB on TMS9995 prossun käsky joka asettaa  kohteen bitit päälle jos jommassakummassa (lähteessä tai kohteessa) on bitti päällä samassa kohtaa. SOCB eroaa SOC käskystä siinä että vain ylimmät 8-bittiä otetaan huomioon, muihin ei kosketa.

tuolla 0xaf käskyllä ja jollakin payloadin bitillä taisin osua just siihen bittiin joka kertoo onko x-mittalaite kunnossa.

Muistaakseni TNC:n ohjelmisto ymmärtää jotain 64-inputtia/(outputtia), kaikkia niitä ei tässä TNC:ssä ole kytketty ulkoilmaan niin tuolla 0xa_ osoitemuodolla voidaan osoittaa 16 eri paikkaan joissa jokaisessa olisi 8-bittiä eli tulisi 128 eri bittiä mitä voidaan kiusata. Tässä voi olla set/clr tyylinen jako alle 64 niin set ja muut clr? tai sitten vain kylmästi väännetään sekä inputit että outputit yli.
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 03.11.19 - klo:17:46
Pitääpä mennä ja katsoa sillä 951026 koodilla kuinka monta inputtia ja outputtia tuossa oikein on. Tämän mukaan "EINGANGEJA" olisi peräti 128, sopisi hyvin laskelmiin... Aika pitkälle jo päässyt olettamuksilla...  :-X

(https://www.dropbox.com/s/lv6e6twsndho46r/Screenshot%20from%202019-11-03%2017-42-51.png?dl=1)

EDIT: Jeps, 128 inputtia sielä oli. Alussa ne 23 mitkä on kytketty ja sitten samat uudestaan paitsi viimeset 8 bittiä jotka oli ylhäällä koko ajan. Bitit oli kun sauvaa väänsi niin täsmälleen niissä paikoissa mitä manuaalissa lukee. E9 X+, E10 X- jne, koitetaas näillä vai olisiko saksalaisilla sen verran huumorintajua että 0xA_ tarkoittaa aus ja sitten 0xE_ ein? Oletin että tuossa ohjelmassa kun tarkistetaan että onko se ensimmäinen tavu 0x5_ vai 0xA_ niin se kolmas polku mihin tuosta mennään niin on virheilmoitus, mutta voipi olla että se on EINGANG

Joko se nyt sitten olisi (0xA1, 0b00000010  X+:lle ja 0xA1, 0b000000100  X-:lle) tai (0xE1, 0b00000010  X+:lle ja 0xE1, 0b000000100  X-:lle)

EDIT: Kävin kiduttamassa konettani 0xE1, 0b000000100 tavuilla, mitään ei tapahtunut, ei virheilmoa ei mitään. Voisiko tuossa olla myös kapulalle vastaanotto? Jotenkin on semmoinen hämärä muistikuva että pohjalevyssä on parikolme hyppyjohtoa (manuaalissa BR etuliitteellä) niin noiden kautta joku sarjaportti menisi IO-levylle pinneihin (J3 pinnit 7, 10 ja 11 / J4 pinni 11) joihin manuaali kieltää kajoamasta. Sielä on semmoinen pikkuinen nelipinninen liitinkin IO-levyssä, jotenkin tuntuu että menen sinne kohta härppimään myös.

Koitetaan seuraavaksi sillä 0xA_ tavulla kuitenkin...

EDIT: Eipä se silläkään tehnyt tällä kertaa mitään, ei virhettä ei mitään. Koitin samaan aikaan painella sitä pikaliikkeen nappiakin mutta mitään ei taphtunut. Oletin että nuo inputit alkaa nollaosoitteesta, mutta nehän voi olla muuallakin, olisi 16 vaihtoehtoa koittaa kaikki läpi ja sitten toinen mokoma tuolla 0xE_:llä. Koitetaan noita sitten paremmalla ajalla tai ainakin tarvin kätevämmän tavan kiduttaa tuota CNC ohjaintani. Laitan CDC usb sarjaportin tuohon stm32f1 mikroon ja syötän sitä kautta eri vaihtoehtoja ja stm32f1 sitten ajastaa ne DTR pulssiin.

EDIT: No ei varmasti tapahdukaan mitään kun on poistanut tuon kapulan koneparametreistä. Unohin laittaa sen sinne takasin.

Kaikenlaista herjaa ja totaalistoppia tuli kun syötin nuo uudestaan.
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 04.11.19 - klo:07:40
No nyt mulla välähti.... Mähän voisin laittaa GRBL:n tohon stm32f1 lankkuun tai johonkin muuhun ja laittaa sen ulostulon ohjaamaan tuota jyrsintä... Tai sitten LinuxCNC juttelemaan lankun kanssa ja se sitten juttelee TNC:n kanssa (Mach3?)
Voisi myös tehdä valmiita pikaohjelmia kapulaan, ympyröitä ja reikiä jne.

Tuo olisi hienoa jos tuolta löytyisi myös sarjaportin ulostulo ja että noita PLC:n inputteja ja outputteja voisi lukea ja kirjoittaa. Pitääpä kattoa löytyykö koodista sarjaporttiin kirjoitusta.
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 04.11.19 - klo:08:38
Tuommoisia osoitteita ja noista paikoista ne pitäisi löytyä

Ne mitkä kiinnostaa niin on:
M0-M3279 0x000-0xccf
E0-E127     0xcd0-0xd4f
  ?????       0xd50-0xe4f
A0-A63       0xe50-0xe8f

(https://www.dropbox.com/s/jtsoza5l5d5smge/Screenshot%20from%202019-11-04%2008-09-26.png?dl=1)

EDIT: 0x5_ käskyn data on big endian muodossa
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 04.11.19 - klo:13:47
Taisin miettiä tämänkin liian vaekeasti, voi olla että tuo 0xA_ käsky ottas 16 bitin payloadin ja laittaa sen sillä soc käskyllä plc:n inputin kanssa. 0xA1 on laiton osoite kun on pariton, etc.

Ilmeisesti kun tungin tuonne mitä tahansa dataa niin asetin x akselin referenssi bitin päälle ja siitä se x akselin mittalaitevirhe. Voi olla että laitoin muitakin mutta jos x akseli tarkistetaan ensin niin se pysähtyy siihen.

(https://www.dropbox.com/s/ou9fnp4n2blbqg8/IMG_20191103_175843.jpg?dl=1)

(https://www.dropbox.com/s/dj15cnf2zehrsfq/IMG_20191104_123731.jpg?dl=1)

Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 04.11.19 - klo:14:40
Toisaalta voin helposti emuloida noita pikaliikkeitä tuolla pulssipyöränkin käskyillä. Nopeudet taitaa kyllä jäädä alle koneparametrin pikaliikkeiden... Mutta saisi sellaisen kapulasta asetettavan emuloidun pikaliikkeen nopeuden.
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 05.11.19 - klo:10:05
Minkäänlaista edistymistä ei ole tapahtunut tuon 0xA_ käskyn kanssa. Olen koittanut syöttää sille kaikenlaisia tavuja ja bittimaskeja. Paras lopputulos taitaa olla kun kone sammuttaa releensä. Muut seuraukset on "OHJAUS ELEKTRONIIKKA VIALLINEN B" tai yleisimmin näköjään "MITTAJÄRJESTELMÄ-X VIALLINEN"

Pitänee katsoa koodista tarkemmin mitä ihmettä se oikein haluaa, se vaan on hitusen hankalaa koittaa tuon prosessorin assemblerikäskyjä seurata, varsinkin kun ei ole käsitystä tuon muistikartasta, muutakuin että TMS9902 on CRU väylän osoitteessa 0x0000

EDIT: Taisi vähän liian vikkelään tuo stm32f103 lähettää sarjadatansa saatuaan DTR pulssin, laitoin 100uS paussin siihen ennen kuin se alkaa lähettää. Samoin laitoin joka tavun väliin 100uS paussin. Muutin stop bittien määrän kahdeksi että siihenkin tulee varmasti ainakin yhden baudin paussi tavujen väliin. Huomasin viiveiden tarpeellisuuden kun rääkkäsin konetta tuolla 0x5F käskyllä, joka taitaa olla ainoa "varma" tällä hetkellä. 0x51, 0x52 jne. on epävarmoja.

EDIT: Jeps, taas liikaa olettamuksia. Ainoa minkä saan tuon huolimaan on se 0x5f ja perään 4(kolmen?) akselin pulssimuutos sitten edellisen 16-bittisenä big endian lukuna.  (int16_t signed -32,768..32,767)
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: Mika K. - 05.11.19 - klo:12:34
Ei ole valitettavasti aiheeseen mitään annettavaa. Muuta kuin se, että hattua nostan ja totean että toiset tekee mitä osaa, toiset mitä haluaa. Jään mielenkiinnolla seuraamaan..
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 05.11.19 - klo:14:23
Tämä nyt on vain tämmöstä räpeltämistä, olisi paljon helpompaa nuuskia tiedot pihalle siitä kapulasta, mutta kun en semmoiseen pääse käsiksi.
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 05.11.19 - klo:19:47
Tutkailin tuota manuaalin skooppikuvaa ja tavut on kovin tutun tuntuisia jos nyt oikein tuon purin. Viimeinen tavu näyttää pahasti siltä BCC pariteetilta. Nyt tulee pitkä viimeinen tunti olla töimaalla.

Tuossa on oikein kapulan napeillekin annettu numerot. Taisi olla jostain TNC415 manuaalista nämä.

Sopivasta kohtaa otettu tuo kuvakin, ensimmäinen paketti on ehkä 0xA0 ja toinen 0x50

(https://www.dropbox.com/s/z2aiksocdrnhneo/Screenshot_20191105-184454.jpg?dl=1)
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 06.11.19 - klo:09:32
Nukkumatti voitti eilen illalla. Nyt on lapsukaiset saatu kouluun niin on aikaa taas harrastaa ennen yö vuoroa...

Tuossa olisi nuo EINGANG bitit

Lainaa
0 7 E00 Reference end position X
1 6 E01 Reference end position Y
2 5 E02 Reference end position Z
3 4 E03 Reference end position IV
4 3 E04 Reference pulse suppressor X
5 2 E05 Reference pulse suppressor Y
6 1 E06 Reference pulse suppressor Z
7 0 E07 Reference pulse suppressor IV
0 7 E08 -
1 6 E09 Direction button X+
2 5 E10 Direction button X-
3 4 E11 Direction button Y+
4 3 E12 Direction button Y-
5 2 E13 Direction button Z+
6 1 E14 Direction button Z-
7 0 E15 Direction button IV+
0 7 E16 Direction button IV-
1 6 E17 Feedback: Auxiliary function completed
2 5 E18 Feed rate release
3 4 E19 Manual feed (opens position loop)
4 3 E20 Supervision of contact "Lock for spindle on"
5 2 E21 Rapid traverse button
6 1 E22 Start-button
7 0 E23 Stop-button

Tuossa edellisen postauksen skooppikuvassa saattaa se viimeinen paketti olla [0x50], [0x00 vai 0x80], [0x01 vai 0x00],[0x00],[0x01 vai 0x80],[ (tavu1 xor tavu2 xor tavu3 xor tavu4 xor tavu5) = 0x50]
Vähän jänskättää, loppuu ideat jos ei tuo tee jotain muuta kuin virheilmon tai totaalistopin. Olisi ihan hyvä jos tuo huolisi sen muttei tekisi mitään, sekin kelpaisi. Jotenkin ei ehkä nuo bitit täsmää ylläolevaan taulukkoon...

Koitan lähettää sille 0x50, 0x00,  0x00, 0x00, 0x00, 0x50, ymmärtääkseni tuo ei asettelisi mitään, ainakaan 4 ensimmäisellä tavulla, BCC pariteetti pitäisi täsmätä myös ja vaikka TNC haluaisi enemmän tavuja niin se täsmäisi silti kun loput on nollia. Ainut vain että jos TNC haluaa enempi tavuja niin tuo 0x50 pariteetti sitten menisi ja sössisi jotain.
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 06.11.19 - klo:09:46
Tämähän on oikea ilon ja onnen päivä. Alkoikin jo v-käyrä vähän nousta kun aina tuli hirveä pettymys ja masennus kun laittoi koneen käsipyörätilaan eikä se suostunut yhteistyöhön. Noilla tavuilla kun sen siihen laitoin niin ei tapahtunut mitään, ei yhtään mitään. Siinä se hyrräsi tyytyväisenä!

Nyt pitää koittaa laittaa jotain payloadia tuohon, pettymystä odotellessa...

EDIT: Toisaalto saatoin taasen innostua liian aikaisin. Voipi olla että tuo 0x50 on no-op käsky eikä se reagoi siihen muuten kuin hylkäämällä koko paketin.

Tuota skoopin kuvaa pitää lukea niin että vasen on oikea ja oikea on vasen ja ylhäällä on alhaalla ja alhaalla on ylhäällä kun laittaa bittejä jonoon. En tiedä mikä käppyrä tuo on kun siinä ei näytä olevan ollenkaan startti ja stoppi bittejä...

Pitää koittaa sillä 0x51 käskyllä tuota samaa. TNC kun ei huolinut tuota 0x58 käskyä 0x5f:n tilalle niin tuolla saisi (0x51, 0x52, 0x54, 0x58) käskyillä osoitettua 128 eri bittiä, mikä täsmännee EINGANGien kanssa... ?
Ihmettelin miksi tuo 0x5_ käskyn alin nibble katsotaan bittien pyörittämisellä. 4*(4*8)=128 ööö... 4*(4*kahdeksan)=128

EDIT: Hirveä pettymyshän siitä seurasi, "OHJAUSELEKTRONIIKKA VIALLINEN", mitähän sitä sitten koittaisi. Laittaa pariteetin payloadin 8 tavuun? nyt lähetin vain nuo yllä olevat 6 tavua.

Selvisi kuitenkin että tuo 0x50 on no-op käsky. Nyt niitä olisi kuitenkin jo se kaksi eli 0x5f ja 0x50

Vai pitääkö tuo E08 bitti olla aina päällä? Taulukossa sitä ei ole mitenkään määritetty...
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 06.11.19 - klo:13:46
Tutkailin tuota koodia lähemmin kun en oikein mitään tulosta saanut aikaiseksi. Lähettelin 0xa0 paketteja ja kone vain sammutti kaikki releet. Taisin löytää pienen bugin tuosta ohjaimen koodista, siinä shiftataan tuota 0xa_ käskyn alimpia neljää bittiä oikealle ja samalla kasvatetaan laskuria.

Tai hetkinen... Tuohan on ominaisuus... Nyt tiedän kolme eri käskyä 0x50 = no-op, 0x5F = kaikkien akselien pulssitus, 0xA0 = hätäseis (ei taida olla ihan kaikkien nykytaiteen sääntöjen mukainen)

Lainaa

               MOVB    @>dc0f,r3   ; paketin ensimmäinen tavu eli tämä 0xA_
               ANDI    r3,>0f00         ; nyt siinä on vain se _ osa eli neljä alinta bittiä
                SWPB    r3                 ; siirrä rekisterin R3 alimpaan tavuun, R3 on nyt suoraan se arvo mitä alempana lasketaan...

                CLR     r0               ; R0 nollaksi
A0490    INC      r0               ; Lisää yksi R0:llaan
                 SRL     r3,1            ; Siirrä R3:n sisältöä yksi bitti oikealle ja alin pullautettu bitti carry bittiin
                JNC     A0490        ; Jos carry bitti ei ole päällä niin tee tuo sama uudestaan 
                B          @A3C74   ; Nyt on hienosti siirretty rekisterin R3 arvo R0:llaan... kiesus... Nyt jos lähettää 0xA0 niin tuo jää pyörimään tuohon ikuisiksi ajoiksi tai jäisi mutta analogikortti laukaisee hätäseispiirin (jää se pyörimään)



Lainaa
Two "watch dog" monoflops are on the analog board.
These must be triggered separately once every 5ms by the CLP processor and once every 20ms by the main processor.
If the monoflops are not driven within 5ms an emergency-stop signal is triggered.

EDIT: Voisiko olla että 0x5(1/2/4/8) kuitenkin ohjaa yksittäistä akselia mutta vaatisi sen pariteetin sinne loppuun?
Noilla 0xA(1/2/4/8) sitten ajettaisiin PLC:n inputtien päälle oma bitti ja siihenkin se pariteetti loppuun?

EDIT: Käskyttelin tuota masiinaa noilla 0xAF käskyillä, en laittanut mitään pariteettia minnekään ja sain taas sen "MITTAJÄRJESTELMÄ-X VIALLINEN" ilmoituksen enkä "OHJAUS ELEKTRONIIKKA VIALLINEN B"
Tuossa kun ei ilmeisimmin pysty noita PLC:n inputteja lukemaan kun juttelu on tuon kapulan ja masiinan välillä yksisuuntaista, niin jotenkin ne PLC:n bitit pitää pystyä asettamaan ja nollaamaan.
Yksi tapa olisi ensin maskata ändillä bitit. Jos haluaa bitin nollaksi niin laittaa siihen kohtaan tavua nollan. Tuossa kun katselin merkintöjäni mitä milläkin on tapahtunut niin näyttää ehkä siltä että ensimmäisessä payloadin tavussa on aina ollut nolla siinä kohtaa missä voisi olla x-akselin rajabitti. Koitetaan 0xAF, 0xFF, 0x00, 0xFF, (1<<10) loput 0xFF, 0x00 pareja

Lainaa
0 7 E00 Reference end position X
1 6 E01 Reference end position Y
2 5 E02 Reference end position Z
3 4 E03 Reference end position IV
4 3 E04 Reference pulse suppressor X
5 2 E05 Reference pulse suppressor Y
6 1 E06 Reference pulse suppressor Z
7 0 E07 Reference pulse suppressor IV
0 7 E08 -
1 6 E09 Direction button X+
2 5 E10 Direction button X-
3 4 E11 Direction button Y+
4 3 E12 Direction button Y-
5 2 E13 Direction button Z+
6 1 E14 Direction button Z-
7 0 E15 Direction button IV+
0 7 E16 Direction button IV-
1 6 E17 Feedback: Auxiliary function completed
2 5 E18 Feed rate release
3 4 E19 Manual feed (opens position loop)
4 3 E20 Supervision of contact "Lock for spindle on"
5 2 E21 Rapid traverse button
6 1 E22 Start-button
7 0 E23 Stop-button

EDIT: Nope, sama mittalaitevirhe, koitetaan toisinpäin ensin set ja sitten clear
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 06.11.19 - klo:23:00
Koko päivän koittanut saada selvyyttä miten PLC:n bitit ohitetaan, mutta turhaan. Ehkä olen ajatellut tämän liian tavukeskeisesti, tuo TMS9995 on kuitenkin bitin pyöritykseen erikoistunut.

Tuolla 0xAF käskyllä periaatteessa saan jotain asetettua (kenties invertoitua) eli jonkun bitin tuolta x-akselista. Koitin syöttää neljä tavua nollaa ja perään neljä tavua ykkösiä ja sitten toisinpäin. Sama mittalaite virhe kummassakin. Ehkäpä pitää lähettää 2 bittiä per inputti eli joko 0x55 tai 0xAA kahdeksaan tavuun.

Jotta noita PLC:n bittejä voi muokata niin pitää olla nollaus ja asetus mahdollista mutta sitten tarvitaan se älä sörki tilakin.
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 07.11.19 - klo:13:42
Tässä on nyt jotain totaalisen väärin tässä räpeltämisessä. Kirjoitin C:llä ohjelman joka tulostaa 0x5_ käskyn toiminnan ja sen mukaan minun pitäisi kyetä valitsemaan siitä suoraan mitä akseleita haluan ajaa. Kuitenkin 0x5f on ainoa minkä se huolii... + se 0x50

Mitään 0xA_ käskyä se ei huoli (0xA0 pysäyttää kyllä koneen ja 0xAF herjaa x-akselin mittalaitevirhettä) Jokin aavistus on ja se liittyisi tuohon UART:in toimintaan... Melko epätoivoinen aavistus kylläkin, mutta kun en muuta nyt keksi.

EDIT: Olen lähettänyt tuolle suoraan ne tavut mitä koodissa tarkastellaan, e.g. 0x5F, mutta käännettynä se on 0xA0. Olisinko seurannut vääriä polkuja koodissa?

not 0xA0 = 0x5F
not 0xA1 = 0x5E
etc...

EDIT: Pitääköhän tuo sarjaportti sitten kuitenkin kääntää? Ehkä lähettämäni tavut on vain sattuneet olemaan sellaisia että TMS9902 ne huolii (start/stop/parity bits?) Voipi olla ettei tuota parityä edes tarkisteta.

EDIT: Hmmm... selittäisi sen miksi en aiemmin saanut mitään järkevää sillä 0xA_ käskyllä, 0xAF taisi osoittaa aina PLC:n inputtitavuun 0 jossa on akselien referenssi etc bittejä ja sitten vielä jos tuo UARTTI alkoi vastaanottaa väärästä bitistä niin 0xAF saattoi muuttua 0xA8:saksi


EDIT: Nope! Vielä vähemmän toiminnallisuutta. Kyllä tuo sarjaportti on oikeinpäin ja oikein konffattu. Mutta sitten taas välähti, tuossa ensimmäisen postaukseni linkissä puhutaan TNC viiveistä.

https://translate.google.fi/translate?sl=de&tl=en&u=http%3A%2F%2Fhsm-aktuell.de%2Fcnc-hr330.htm (https://translate.google.fi/translate?sl=de&tl=en&u=http%3A%2F%2Fhsm-aktuell.de%2Fcnc-hr330.htm)

LainaaI have come up with a different approach, which interpolates a signal period of 200 times as the original Heidenhain handwheel

Olen lähettänyt uuden paketin joka 6mS välein... :) Ehkä se ei siitä tykkää... Kaikkien akselien ajo on ehkä onnistunut jos se tekee ne järjestyksessä ja sitä kautta on tullut tarpeeksi viivettä tuohon hommaan.

EDIT: No ei ehkä sittenkään... 1s/200 = 5mS tai en tiiä, PLC ei ehkä tykkää jos sitä pommittaa 6mS välein

EDIT: Kyllä käännyn nyt sille kannalle että tuo vaatii jonkin tarkistuslaskennan tuohon noihin muihin kuin F:llä loppuviin käskyihin. Se koodi vain taitaa olla sielä toisella prosessorikortilla tai sitten ei.

Tuo tapa millä tuo sarjaporttipuskuri alustetaan saattaa antaa viitteitä että siinä xoorataan nuo 16-bittiset tavut ja laitetaan ehkä käännettynä sinne viimeiseen wordiin.

Lainaa
DC04   00 ch         ;00 alussa on pelkkä padi, ch on ensimmäinen vastaanotettu tavu eli tämä käsky
DC06   ch ch
DC08   ch ch
DC0A   ch ch
DC0C   ch ch

F loppuisilla käskyillä ei enää ole tilaa tuolle tarkistussummalle.
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 08.11.19 - klo:13:08
Pitänee pitää pientä mietintä taukoa tämän kanssa. Sillävälin voisi alkaa suunnitella koteloa tuolle, tosin pitäisi tietää mitä kaikkea siihen voisi laittaa. Ainakin nämä nappulat mitä alkuperäisessäkin on.

Tuo käyttämäni stm32f103 prossu on oikein sopiva tähän hommaan. Olen noilla stm prossuilla leikkinyt nyt aika paljon. Tuo maksaa kiinankaupasta ostettuna jonkun 2€ (pikku proto lankku).

Tuossa stm32f103 prossussa on kaikki tarvittava, riittävästi io-portteja nappuloille ja sarjaporttejakin löytyy useampi, mutta mikä tärkeintä tuossa voi ajastimia käyttää suoraan enkoodereiden lukemiseen, ne käsitellään rautatasolla. Tuossa on TIM1-TIM4 ja niitä voi kaikkia käyttää enkooderien lukemiseen, sarjaporttina ei voi kyllä käyttää silloin USART ykköstä vaan USART kakkosta (menee muuten osin samoihin pinneihin)

Sen jälkeen kun nuo ajastimet on alustettu lukemaan enkoodereita niin sen lukeman saa suoraan pihalle TIMx->CNT 16-bittisenä lukuna (x=1-4) mitään muuta ei tarvitse tehdä. Olen porakoneella kiusannut 15-bittistä (32768) enkooderia eikä tuo prossu mene laskuissaan sekaisin.

Tuossa hieman isommalla stm prossulla tuota lukua, samoja ajastimia löytyy tästä pikkuveljestäkin.
https://youtu.be/DUfypsfkl-c
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 09.11.19 - klo:09:42
Turvauduin äärimmäisyyksiin... Alkoi mennä vähän vanhaksi kääntää ohjelma tuolle lankulle ja ajaa se sinne ja sitten köpöttää pihan kautta pajaan ja käynnistää mylly ja katsoa toimiiko se... Niinpä aloin kirjoittamaan emulaattoria tuolle näyttökortille... TI99/A porukat on jo itelleen värkänneet emulaattorin niin pöllin siitä sen TMS9900 prossun koodin. Muuttelen sitä tässä hieman itelle sopivaksi. Voin tuolla suoraan pompata sinne kolmos keskeytykseen ja täyttää muistin sitä ennen miten haluan.
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 11.11.19 - klo:11:09
Värkkäsin ensin semmoisen tekstipohjaisen "emulaattorin" Linuxin terminaaliin, mutta innostuin sitten vääntämään tuota oikein GUI pohjalle Qt:llä

Tuolla saa monta kätevää ominaisuutta tuohon. Rekistereitä voidaan helposti muuttaa ja siinä tulee kaupanpäälle undo toimintokin. Saan tuohon myös helposti hexaeditorin näyttämään muistin sisältöä jne. Jollain täpällä saan keskeytyksiäkin laitettua.

https://youtu.be/IIr6lW9bAZQ

Nyt tuo ROM koodi on suoraan tuossa emulaattorissa sisällä, mutta voin tehdä semmoisenkin että se ladataan ja jos tekee muokkauksia rommiin tai rämmiin niin koko helahoidon voi tallentaa ja jatkaa sitten kun innostusta taas löytyy samasta kohtaa ja tilasta mihin ohjelman ajo jäi. Joo, tää ny vähän karkaa käsistä.

En ole varma mutta voi olla että Mame arcade pelikonsoli retro hemmoilla on emulaattori tuolle grafiikkapiirillekin (nec7220), otin talteen sen fontti romminkin kuitenkin, niin voisi koittaa tuleeko mitään kuvaa. Virheilmoitukset on kyllä sen toisen prossukortin epromilla.
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: Hiekkaranta_92 - 11.11.19 - klo:22:07
Mukava on tätä projektia seurata ja ihastella.
Saako kysyä mistä tietotaito elektroniikkaan on hankittu?

Jos saan aikaiseksi voisin kokeilla skooppailla HR330 keskustelua TNC360 kanssa viikonloppuna. Josko siitä olisi jotain apua?
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 12.11.19 - klo:05:03
Moro, tuo olisi mahtavaa jos saisi skooppikuvaa.

Mulla on alla jotain sulautettujen järjestelmien insinööriopintoja, jätin sen aikanaan kesken. Jokunen kurssi ja lopputyötä vaille jäi.

Aloin ohjelmoida 10-vuotiaana Amiga 500:sella, nyt ikää on se 43. Mitään kovin hienoa en ole saanut aikaiseksi.
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: G Brzeczyszczykiewicz - 12.11.19 - klo:07:00
"Aloin ohjelmoida 10-vuotiaana Amiga 500:sella"

Vau. Itse jouduin tuon ikäisenä pysyttelemään tiukasti kovopuolella. Mutta
olihan ajatkin toisenlaiset, tyhjiöputket "rulettivat" eikä ensimmäistäkään
mikroprosessoria oltu julkaistu.

"Moro, tuo olisi mahtavaa jos saisi skooppikuvaa"

- Ja skooppikuva datana sisäänluettavaksi sigrok:iin.
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 12.11.19 - klo:16:33
Niin ne ajat vain muuttuu  ;D
Meillä töissä on kesätyöläisinä järkiään jonkin alan insinööriopiskelijoita. Siinä kun on tullut näiden kanssa juteltua ja koitettua selittää ettei silloin oikein ollut internettiä kun ite koitin lukea niin pelkkä ajatuskin semmoisesta tuntuu jotenkin mahdottomalta näille. Puhumattakaan lankapuhelimista ja sellaisen tuomasta liikkumisen vapaudesta :) Nyt tiedän tasantarkkaan metrin tarkkuudella missä oma jälkikasvu on...

Elektroniikka ei silloin pentuna ollut vielä mitään kertakäyttötavaraa vaan siihen joutui panostamaan aivan eritavalla ja tutustumaan siihen omaan kalliiseen laitteeseen. Mitähän tuo oma Amiga 500 silloin maksoi? Monta tuhatta markkaa omalla monitorillaan. Ei mikään pieni investointi.

Tuo Heidenhainin CLP levykin niin nykyään se mahtuisi yhdelle pienelle prosessorille ja tehot olisi monikymmen/sata kertaiset.

Tuolla lankulla ei ole muuta kuin se TMS9995 prossu (ulkoinen 8-bitin muistiväylä toiselle cpu kortille), sille erillinen sarjaporttikontrolleri, NEC7220 grafiikkapiiri ja viisi NEC:in ohjelmoitavaa logiikkapiiriä (https://www.dropbox.com/s/fdgmos3oy6o0b7i/nec_d65010_664551.pdf?dl=0) Noilla logiikkapiireillä on toteutettu se enkooderien laskenta. Kaikki tuo löytyy esimerkiksi stm32f/h7 prossusta. Koko lankun saisi pienempään tilaan kuin mitä nuo NEC:in logiikat vie...
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: Hiekkaranta_92 - 24.11.19 - klo:23:29
Hei

Täältä tulee nyt skooppikuvia ja dataa vähän aioitusta jäljessä. Valitettavasti ei oikein pitkiin datanloggauksiin taida tuo oskilloskooppini taipua. Kenties arduinolla vois lukea vähän järkevämmin noita datapaketteja. No nyt ei aika riittänyt sellaiseen.
Koitin pikaisesti excelillä plottailla käppyrää, mutta aika huonosti tuntuu ison datamäärän kanssa taipuvan ruudukkojen säätämiseen, mikä on sääli. Liitteenä yksi kuva jossa kaksi datapätkää plotattuna. Muutama mittaus on joissa näkyy neljä rimpsua joten kuten luettavana.

Toivottavasti näistä on hyötyä ja kerro toki jos voin jotenkin jelppiä lisää. Eikä sinulla tietysti pitkä matka ole pajallekkaan tulla käymään mikäli oikein muistan asuinpaikan :D

Mittausdataa linkin takaa https://1drv.ms/u/s!AlW5T47uPJwA1znxMLI2roxXDnt7?e=1W9led

(https://oz4aka.am.files.1drv.com/y4mecKbu-Cq87HT59LYjAH1u45y6YId6OkDohxQLP-0l39JzBvZ1qY0zbQqOFOZC2XKsNyMua7rMN05tRYcX2hjgya8LNHfImxD5KUxCzdz3YW-IfYkAjbV_BVrdMndogSoFdUNT6dV6oB_LJKJSCOakIztYZ7ql1wHi2D4iSbmZSTCCja3IhanqjOyMC_U5W-7Y9K4QOLybIx9uZmO9owJ1w?width=2180&height=289&cropmode=none)
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: Hiekkaranta_92 - 25.11.19 - klo:15:34
Kappas vain, tuota skooppia on näköjään helpohko päivittää paremmaksi, täytynee kokeilla kun pääsee taas pajalle.
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 26.11.19 - klo:09:53
Kiitoksia kovasti!

Itelle iski semmoinen "feature creep" tuon disassemblerin/emun kanssa, monenmoista versiota siitä pykäsin ja sitten aloin kirjoittelemaan IDA decompilerillekin jaettua kirjastoa vanhalla SDK:lla, Hexrays ei vastannut pyyntöihin saada IDA sdk 7.nollaa... :) (Linuxille on ilmainen IDA 7.0 mutta se ei tajua kuin puuceen prosessoria) Eivät tainneet tykätä kun huomasin että se kyllä tukee muitakin prossuja mutta ne jaetut kirjastot on vain poistettu ilmaisversiosta.

Tässä on nyt aikaa ennen yö vuoroa niin kiitollisena alan tutkailemaan noita antamiasi tietoja.
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 26.11.19 - klo:12:31
Aloitin koittaa tulkita noita skooppidataa. Iloinen yllätys että löysin vastaavuutta siihen mitä luulen saaneen jo selville. Aloittelen noista datoista mitä voin verrata omiin kokeiluihin.

Tuo "no-op" paketti minkä oma kone huolii on se 0x50 alkuinen (ja loput nollaa) ja Hiekkarannan skooppauksista löysin sen tuosta kansiosta "käsipyörätila"

Ilmeisesti Hiekkarannan kapulan lähetys on ilman pariteettia, jos nyt olen oikein tulkannut.

EDIT: eikun juu, en tainnut tulkata oikein. Ei ole viisasta laittaa starttibittiä datan bittien joukkoon heti alkuunsa...

Lainaa
MSB first
I = Idle
S = Start
s = Stop

I S01234567s I S01234567s I S01234567s I S01234567s I
0 1010111111 0 1111111111 0 1111111111 0 1111111111 0

  ~AF=50       ~FF=00       ~FF=00       ~FF=00

(https://www.dropbox.com/s/1e1l0xkzxte41s3/k%C3%A4ppyr%C3%A44.png?dl=1)
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: Hiekkaranta_92 - 26.11.19 - klo:18:25
Käsipyörätila on siis se tila kun tnc:stä painetaan käsipyörä päälle. Käsipyöräällä ei tehdä vielä mitään. Toisinsanoen tämä kerooo ohjaukselle että käsipyörässä ei näenäisesti ole vikaa? Toki vastaa myös tilaa jossa X on valittu mutta sallinta painiketta ei ole painettu.

Valitettavasti en ottanut tuossa tilassa sellaista missä näkyisi useampi datapaketti.

Tässä X:n pikaliikkeestä kuva jossa neljä data rimpsua
(https://omlz7q.am.files.1drv.com/y4mV_pOpeI7fG7Y2qrkJWorujtDRB5NI6mRVfcPWw5WL8uIRZ4Sqna4qgcmXbp6_UVJt6aoRdnzKHeZD82G9S5_bq9DlcfQw4zOEdOW9VTERPTzszE6yY7hcAifYHoUeM7pYM2uy7bMDpCFFzqYD5V-XIYLMuSUeeSseWr2rHLnCfqf7LS-y6d2NE06RF9CzaSvwLrQvOMVVnMk9eEwz6F7fA?width=1780&height=452&cropmode=none)



Eli olisiko nämä nyt sitten

01011010 11111111 11111111 01111111

01011010 11111111 11111111 11111111

01011010 11111111 00000000 00000000

01011010 11111111 11111111 11111111


5A FF FF 7F
5A FF FF FF
5A FF 00 00
5A FF FF FF

Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: Hiekkaranta_92 - 26.11.19 - klo:22:22
Sitten X:n Jog

(https://omkoyg.am.files.1drv.com/y4m_jhi3WEQetUzg9RBAjogm-Clfj3wuDKx6ciT7IB0gVk_UdzS2yLBoDUtArx7cNmSkoT9G8j_Htg2KnKCRqasePm6nqkCoDbzAEXr-FkqFkVfItxPwyeGg5PMoHGdOUEdlqPvybWuIIVQXIHZPhkfdZQVuke_Iusx0jj9V306AUlslkxqyRkAF58vtbsCUwxZR9lBCRm5irmN5jvd3NWeUQ?width=2987&height=691&cropmode=none)

Eli tämä kai olisi sitten

01011110   11111111   11111111   11111111

01011110   11111111   11111111   01111111
         
01011110   11111111   11111111   01111111
         
01011110   11111111   11111111   01111111



5E   FF   FF   FF
5E   FF   FF   7F
5E   FF   FF   7F
5E   FF   FF   7F         
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: Hiekkaranta_92 - 26.11.19 - klo:22:55
X:n Pulssipyörä

(https://z2vbsq.am.files.1drv.com/y4mYqta82dqVTgkRy_8OnBr-cZ80Jrq8LfYwBQdyQaP-4_9NCOX0dmcSSW9c7ziHYWYDTiIAqcCSHNmeqC_6V9jbvry7G5MeqODbEFb7hQamgNQb20aQ1fmdwVc9qkhYfEk_DEyzIjar71rI92g7yr0Gc5-cP1dCNsrBLhzlPszKer5Cw7bSm3UM503hZchiY-Jbc6jWLaEJANyyCt2Xk-FUg?width=1698&height=452&cropmode=none)

01011111   11111111   11111111   0101011
01011111   11111110   00000000   0110010

5F   FF   FF   2B
5F   FE   0   32
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: Hiekkaranta_92 - 26.11.19 - klo:23:05
Eli voisko tästä päätellä seuraavaa:

Valinta X 50 01010000   -> 0101XXX Akselin valinta, 101=X
Pikaliike X 5A 01011010   -> XXXX010 Pikaliike
Jogliike X 5E 01011110   -> XXXX110 Jogliike
P-Pyörä X 5F 01011111   -> XXXX111 Pulssiliike

Noh katsotaan mitä Y akseli sanoo
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: Hiekkaranta_92 - 26.11.19 - klo:23:35
Y pulssipyörä:

(https://z2uspw.am.files.1drv.com/y4mZ2PBg3y8o3f4DRH_rTnXSTrxSX4UnqhXBk0rRkMnnOpRohaOIj5PAiL7YaE2sr-DQipJ9Uc3IaAcT_VOSZwpQXi3Ch2BrUzjfNlPeSb_h5S2DN9HNespcxe2AcdXTxQf9lsIuo61m1c1O5yG9iYZuykacYXHqY09LZ280ceGlGmalaiTSDZcGTm2dp5dMxcWf0XhstMkI3xKwjrGC1WVGg?width=1059&height=452&cropmode=none)

01011111   11111111   11111111   01001011
         
5F   FF   FF   4B

Tarkoittaa siis sitä että ylempi arvaus meni väärin, ja jos olisi siäistänyt aieman tiedon tässä keskustelussa, olisi tietenkin pitänyt muistaa että tuo eka 8 bittiä määräsi paljon komentoja. Joten nuo nappulat kirjottanevat sitten jollain plc:n markkereihin että nappia painettu ja täten ohjaus osaa valita mille akselille pulssit luetaan. HE-310 on kuitenkin enemmän pulssipyöriä yhtaikaa... Ajaneeko arvon sitten sisään tuolla 5F arvolla vaihtaa tosieen akseliin ja lykkää uudelleen 5F toisen akselin arvon.
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 27.11.19 - klo:11:59
Älytöntä!

Koitan tässä unenpöpperössö lueskella yövuoron jälkeen, olen todella kiitollinen.

Tässä omassa TNC155A:ssa kun lyö sen käsipyörätilan päälle niin se normi tyhjä paketti on se 0x50 alkuinen, en ole koittanut katsoa vaatiiko se ne nollat loppuun pakettia. Voihan olla että TNC tarkkailee vastaanotettujen tavujen määrääkin.

Eilen koitin syöttää tuota dataa PulseView:iin, en siinä ainakaan äkkiseltään huomannut miten ne sinne saisi suoraan ja nettiä selailemalla muillakin on samantapaisia ongelmia sen PulseView:n importtauksen kanssa, se perhana kaatuu jos koittaa syöttää dataa mitä PulseView ei ymmärrä...  ::)

Oma TNC huolii siis sen HE-310 kapulan, voihan olla että näissä on eroja mutta uskoisin että jotain osviittaa tämä Hiekkarannan kapula voisi tähän tuoda. Eikait Heidenhain joka kerta keksi pyörää täysin uudelleen?

https://youtu.be/yRIk544Q-gI
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 30.11.19 - klo:12:38
Kesti yllättävän pitkään toipua öivuorosta...  :-[

Aloin koittamaan saada nuo käppyrä datat PulseViewiin, jos niitä ite alan käsin purkamaan niin on enempi kuin varma että ketulleen se menee.
Askartelin pienen ohjelman joka ulostaa stdouttiin stdinniin tuodun .csv tiedoston binäärisenä ulos.

En saa tuota PulseViewin .csv importtausta toimimaan, en saa sitä edes huolimaan PulseViewin ite exporttaamaa .csv tiedostoa. Sen takia tuon pikkuohjelman ulostulo on binääri tiedosto.

Sämpläys nopeus meni yhdellä nollalla vikaan kun toin tuon binääridatan PulseViewiin tuossa videossa :)

https://youtu.be/VxmHwZUQHi8
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: Hiekkaranta_92 - 30.11.19 - klo:16:25
Sain ainakin windows puolella toimimaan. Y pulssipyörä suunta yks on csv, kuva asetuksista ja pulseview tiedosto. Taitaa vaan noi neljän tavun skoopoaukset olla jo liian epätarkkoja että toi pulseview toimis kunnolla.
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 30.11.19 - klo:19:58
Tuo baudinopeus on ilmeisesti myös sen 38400 ja pariteettikin sieltä taitaa löytyä, muistaakseni even. Vähän teki omituista tulkkausta tuo pulseview ennenkuin ymmärsin laittaa pariteetin. Taisin aiemmin väittää ettei olisi pariteettia...

Askartelin uuden .csv käppyrä muuntimen, nyt se laittaa datan siihen muotoon että saan sen nätisti pulseviewiin sämpläystaajuuden kanssa.

EDIT: Tuo näytteenottotaajuus on ihan riittävä tai ainakin olen saanut PulseViewin nyt näyttämään järkevähköjä tulkkauksia. Tuo oma .csv muunnin vain aiheuttaa nyt hieman harmia, jätän siinä alun .csv tiedoston datasta käyttämättä ja aloitan dumppauksen vasta kunnes näytteenottotaajuus on tullut vastaan... Näytteenottotaajuus on varmasti tullut vastaan kun päästään aikajanalla nollan yli positiiviselle puolelle... :) Yhdestä käppyrästä jäi startista bitti puuttumaan, mutta pariteetti ilmoitti silloin olevansa viallinen.

Olen tulkinnut nyt näitä tällä asetuksella: 38400 baudia, even parity, one stop bit, lsb first.

Tuolla asetuksella saan "no-op" paketiksi kansiosta "käsipyörätila"  0x05, 0x00, 0x00, 0x00
Omassa se oli 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 (nollien määrällä tietyn määrän jälkeen voi olla ettei ole merkitystä)

Tuota omaa konetta kun silloin rääkkäsin ja käskin kaikkien akselien liikkua sillä 0x5F käskyllä, niin näytöstä ei mikään akseli valikoitunut vaan XYZ(IV) pysyivät ei invertoituneina, sitten kun sitä räpläsi pois käsipyörätilasta ja takaisin niin välillä ne akselit joko kaikki tai osa valikoitui siihen ruudulle.

Toimiiko tuo kapula siten että kun siitä valitsee akselin niin se valinta näkyy myös monitorissa? Ajattelisin että noin sen pitäisi toimia.
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 01.12.19 - klo:10:30
Asetuksella: 38400 baudia, even parity, one stop bit, lsb first sain seuraavat paketit. Nämä näyttäisi aina olevan neljän tavun paketteja.

Sallintanappi Y pohjassa
    05 00 FF FF                  (Näyttäisi olevan sama kuin pulssipyörä maksiminopeudella)
Sallintanappi Y2 pohjassa
    05 00 00 00                   (Näyttäisi olevan se no-op paketti)
Sallintanappi Y3 pohjassa
    05 00 00 00                   (Näyttäisi olevan se no-op paketti)
    05 00 FF FF                  (Näyttäisi olevan sama kuin pulssipyörä maksiminopeudella)
Sallintanappi Z pohjassa
    05 00 FF FF                  (Näyttäisi olevan sama kuin pulssipyörä maksiminopeudella)
    05 00 00 01                   (Näyttäisi olevan sama kuin pulssipyörä miniminopeudella)
Sallintanappi vapaa Y/Z
    05 00 00 00                   (Näyttäisi olevan se no-op paketti)
    05 00 00 00                   (Näyttäisi olevan se no-op paketti)
XJOG2
    A2 00 00 00
    45 00 00 01
    45 00 FF FF
    07 00 00 01
XJOG1
    45 00 00 00
    45 00 FF FF
X pikaliike
    E7 00 00 01
    A5 00 00 00
    A5 00 FF FF
    A5 00 00 00
X pikaliike 2
    A5 00 FF FF
    A5 00 00 00

Pulssipyörä paketti näyttäisi olevan näillä muotoa
    05 00 (signed int_16)

Pitääpä kassoa miltä nuo näyttää msb ensin paketteina

EDIT: paketin alkutavut on sellaisia että osa niistä pysyy ennallaan lukee sen tavun kumminpäin tahansa (E7), mutta esim. "Sallintanappi Z pohjassa" muuttuu
    A0 00 FF FF
    A0 00 00 80

Mutta samoin muuttuu tuo pulssipyöräajokin...

XJOG1 muuttuu
    A2 00 00 00
    A2 00 FF FF

XJOG2 muuttuu
    45 00 00 00
    A2 00 00 80
    A2 00 FF FF
    E0 00 00 80
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: Hiekkaranta_92 - 01.12.19 - klo:11:05
Lainaus käyttäjältä: dzy - 30.11.19 - klo:19:58
Tuo baudinopeus on ilmeisesti myös sen 38400 ja pariteettikin sieltä taitaa löytyä, muistaakseni even. Vähän teki omituista tulkkausta tuo pulseview ennenkuin ymmärsin laittaa pariteetin. Taisin aiemmin väittää ettei olisi pariteettia...

Askartelin uuden .csv käppyrä muuntimen, nyt se laittaa datan siihen muotoon että saan sen nätisti pulseviewiin sämpläystaajuuden kanssa.

EDIT: Tuo näytteenottotaajuus on ihan riittävä tai ainakin olen saanut PulseViewin nyt näyttämään järkevähköjä tulkkauksia. Tuo oma .csv muunnin vain aiheuttaa nyt hieman harmia, jätän siinä alun .csv tiedoston datasta käyttämättä ja aloitan dumppauksen vasta kunnes näytteenottotaajuus on tullut vastaan... Näytteenottotaajuus on varmasti tullut vastaan kun päästään aikajanalla nollan yli positiiviselle puolelle... :) Yhdestä käppyrästä jäi startista bitti puuttumaan, mutta pariteetti ilmoitti silloin olevansa viallinen.

Olen tulkinnut nyt näitä tällä asetuksella: 38400 baudia, even parity, one stop bit, lsb first.

Tuolla asetuksella saan "no-op" paketiksi kansiosta "käsipyörätila"  0x05, 0x00, 0x00, 0x00
Omassa se oli 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 (nollien määrällä tietyn määrän jälkeen voi olla ettei ole merkitystä)

Tuota omaa konetta kun silloin rääkkäsin ja käskin kaikkien akselien liikkua sillä 0x5F käskyllä, niin näytöstä ei mikään akseli valikoitunut vaan XYZ(IV) pysyivät ei invertoituneina, sitten kun sitä räpläsi pois käsipyörätilasta ja takaisin niin välillä ne akselit joko kaikki tai osa valikoitui siihen ruudulle.

Toimiiko tuo kapula siten että kun siitä valitsee akselin niin se valinta näkyy myös monitorissa? Ajattelisin että noin sen pitäisi toimia.

Se nollakohta csv tiedostoissa lienee triggerin havahtunis kohta. Olen sitten sitä triggeriä hieman siirtänyt näytöllä eteen päin, että näen signaalit. Tämän jälkeen single shot ja datan tallennus.

Enpä olettanutkaan että nuo käsin tulkatut menis aivan nappiin 😅

Ja juu, sitä tuolla ylhäällä epäilin että akselin valintanapin painaminen on erillinen komento, joka tuskin on jääny noihin skooppikuviin. XYZ ja IV napit löytyy HR330. Ja nämä vaihtavat näytössä aktiivisen akselin. Lisäksi löytyy jog napit ja pikaliike nappi. Sallinta nappi pitää olla pohjassa että yksikään muu  nappi toimii. Pikaliikkeen aikana täytyy painaa jog ja pikaliike nappia.

Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 01.12.19 - klo:11:08
Toisaalta kun katselin Hiekkarannan tulkkauksia niin ne näytti hieman erilaisilta, ihmettelin tuota...

Tuo sarjadata on käänteinen normaalista eli käännän sen pulseviewissä, mutta samalla kun startti ja stoppibitti kääntyy niin kääntyy myös data... 05 luettuna toisinpäin (msb/lsb) on A0, mutta A0 sitten taas invertoituna on 5F... kiesus... Tuo näyttää tutummalta tavulta
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 01.12.19 - klo:11:13
Kiitoksia tuosta kapulan toiminnan kuvauksesta ja tietenkin vielä noista datoista. Taisi olla että oma tulkkauksesi osui paremmin oikeaan. :)

Eli olisko nämä nyt sitten 38400 baudia, even parity, msb first ja tuloksena saadaan data invertoituna...
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 01.12.19 - klo:12:27
Tuossa kun katsoo tuota HE-310 kapulaa niin ite en ainakaan löydä siitä muuta kuin ajettavien akselien valinnan. Y ja Z yhdellä pulssipyörällä ja X ja IV toisella. Koitin metsästää netistä toiselta suunnalta otettuja kuvia, muttei aivan heti tullut vastaan tai ainakaan huomannut.

Tuollaisen toiminnallisuuden saisin näillä tiedoilla tehtyä. Vähän ihmetyttää sen valitun akselin näyttö monitoriin ja se mitä ihmettä ne 0xA_ alkuiset käskyt sitten tekee ja miten se paketti muotoutuu.

Tuossa HE-310 kapulassa on vähempi tuota toiminnallisuutta kuin uudemmissa, ehkä yritän vaatia tuolta liikoja?

(https://www.dropbox.com/s/1g0zszzhexe9z8u/HE310.jpg?dl=1)
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: JuKa - 02.12.19 - klo:22:13
Moi,

Olen päivittäin seurannut tätä keskustelua ja hämmästellyt kuinka ihmeellisiä asioita ihminen voi ymmärtää. Asiakkaalla on tuollainen musta laatikko koneessaan, jossa on ainostaan tuo pulssipyörä, ei lainkaan nappeja. Eli kun ohjauksesta valitaan käsipyörän ja painetaan akselin valinta näppäintä, niin pyörä alkaa toimia. Hieman vaarallinen kyllä, kun ei ole mitään kuolleen miehen kytkintä. Samalla kun asettaa käsipyörän kiinni koneen kylkeen magneetilla, niin saattaa kone ottaa hyppäyksen tärähdyksestä.

Katsoin varastoja ja asiakkaan pari käsipyörää oli jäänyt hyllyyn. Hämmästelin, että tuossa käsipyörässä liitäntäkaapeli on kytketty suoraan pulssi pyörään ja näppäiminen kaapeli tulee myös sen sisään. Elikkäs tuo keskustelu tapahtuu pulssianturin kautta...

Liitteenä kuva tuollaisesta kapulasta. Liitin taisi olla samanlainen?
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: Hiekkaranta_92 - 03.12.19 - klo:07:56
JuKa:n käsipyörän kuvat on juurikin hr330. Näppärä pikkuinen käsipyörä. Tekstissä taidat kuvailla HE250 käsipyörää. Sellainenkin löytyy työpaikan varastosta. Voin sitäkin skooppailla jos on tarvetta?
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 03.12.19 - klo:20:50
Vau, olin jo melkein pistämässä tätä jäähylle. Aloin kyllä väkertämään Qt:llä ohjelmaa millä voin syöttää helpommin paketteja stm32:lle joka sitten ajastaa paketit TNC:lle.

Luullakseni kuva jonka liitin on siitä HE-310 kapulasta. Manuaalien mukaan mitä minulla on niin se olisi ainoa mainittu elektroninen käsipyörä. Se toinen mikä omassa Bridgeportissa on kiinni niin on sellainen Heidenhainin 11uA sini cosini analogi pulssipyörä ilman indeksipulssia. Se on omassa kiinteästi asennettu mutta sellaisen kait saa sillä magneettikiinnitykselläkin. Oliko nämä nyt niitä hr250 pyöriä?
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 03.12.19 - klo:21:35
Lainaus käyttäjältä: JuKa - 02.12.19 - klo:22:13
Moi,

Olen päivittäin seurannut tätä keskustelua ja hämmästellyt kuinka ihmeellisiä asioita ihminen voi ymmärtää. Asiakkaalla on tuollainen musta laatikko koneessaan, jossa on ainostaan tuo pulssipyörä, ei lainkaan nappeja. Eli kun ohjauksesta valitaan käsipyörän ja painetaan akselin valinta näppäintä, niin pyörä alkaa toimia. Hieman vaarallinen kyllä, kun ei ole mitään kuolleen miehen kytkintä. Samalla kun asettaa käsipyörän kiinni koneen kylkeen magneetilla, niin saattaa kone ottaa hyppäyksen tärähdyksestä.

Katsoin varastoja ja asiakkaan pari käsipyörää oli jäänyt hyllyyn. Hämmästelin, että tuossa käsipyörässä liitäntäkaapeli on kytketty suoraan pulssi pyörään ja näppäiminen kaapeli tulee myös sen sisään. Elikkäs tuo keskustelu tapahtuu pulssianturin kautta...

Liitteenä kuva tuollaisesta kapulasta. Liitin taisi olla samanlainen?

Vähän vaikuttaa siltä että tuosta kapulasta puuttuu se "äly", eli joku on ottanut uusiokäyttöön tuon pulssipyörän ja poistanut sen piirilevyn missä on se sarjaporttitouhu. Se käy suoraan siihen analogiseen pulssipyörään jos vain ja mitä luultavimmin onkin tuo Heidenhainin 11uA enkooderi.
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: JuKa - 03.12.19 - klo:22:20
Moi,
Ensimmäisessä kuvassa näkyy punainen liitin, joka kytkeytyy piirilevylle, jok näkyy tuossa kuvassa joka nyt liitteenä. Piirilevyllä ei ole kuin painikkeita, ja se kytkeytyy pulssianturiin. Ja pulssianturista tulee ulos musta kaapelin pätkä joka on katkaistu tai katkennut ja se menee suoraan spiraalikaapelin pikaliittimeen.

Kyllä se järki taitaa olla tuolla kooderin sisällä... Voin kurkata huomenna, että mitä sieltä löytyy...

Nuo kaksi joita on mulla varastossa, ovat asiakkaan omaisuutta ja kummastakin on ainakin kaapeli poikki ja hätäseis painike rikki. Otin nuo n. 5 vuotta sitten korjattavaksi ja korjasin yhden ja nuo loput jäi odottamaan parempia päiviä.

Jussi
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: Hiekkaranta_92 - 04.12.19 - klo:00:19
Lainaus käyttäjältä: JuKa - 03.12.19 - klo:22:20
Moi,
Ensimmäisessä kuvassa näkyy punainen liitin, joka kytkeytyy piirilevylle, jok näkyy tuossa kuvassa joka nyt liitteenä. Piirilevyllä ei ole kuin painikkeita, ja se kytkeytyy pulssianturiin. Ja pulssianturista tulee ulos musta kaapelin pätkä joka on katkaistu tai katkennut ja se menee suoraan spiraalikaapelin pikaliittimeen.

Kyllä se järki taitaa olla tuolla kooderin sisällä... Voin kurkata huomenna, että mitä sieltä löytyy...

Jussi

Nämä skooppaukset mitä tein on juurikin tällaisesta käsipyörästä. Ja samaan lopputulokseen itsekin päädyin että äly on pulssianturin sisällä. Liekö sitten komplementtikanavien ja z raidan sisäänmenoja käytetty hyväksi?
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: Hiekkaranta_92 - 04.12.19 - klo:00:41
Tuli muutama kiinnostava sivukin vastaan:

https://www.cnczone.com/forums/deckel-maho-aciera-abene-mills/299358-installing-hr410-handwheel-dmu50v-millplus.html

https://www.cnczone.com/forums/controller-amp-computer-solutions/123917-cnc.html
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: JuKa - 10.12.19 - klo:23:19
Terve,

Tuollainen on pulssianturin sisus...

Jussi
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 12.12.19 - klo:17:36
Kiitoskia kaikesta avusta kaikille. Tämä älämölötys on ollut nyt vähän itellä taka alalla kun innostuin leikkimään tuolla jyrsimellä. Kovin usein en sitä tulille taida laittaakaan, kunhan puunailen.

Tämä käsikapula on yksi minkä toivoisin omistavani ja sitten on se neljäs akseli... :)

Vaihdoin tosiaan sen pienen kiinan pöytämallin jyrsimeni aikoinaan tähän,

https://youtu.be/RrtDOfewqRE
https://youtu.be/5tV2W-i8YGI

Ajattelin että tuosta saisi "näppärästi" sen neljännen akselin... 40:1 jako ja nämä SEM:in servot Heidenhainin enkoodereille ei suoraan käy pulttaamalla kiinni, enkä ole onnistunut löytämään sopivaa Heidenhainin enkooderia.

Viimeksi kun tuolla jyrsimelläni leikin ja vaihdoin servon siihen niin kuvittelin saaneeni sen y-akselin kuntoon, mutta ei... Eilen kun sillä jokusen 4 tuntia ajelin niin semmoinen vammene se y-akseli on edelleen.
Se tavallaan ryntää nopealla liikkeellä, en tiedä olenko virittänyt servoajurin persiilleen vai onko se vika y-akselin kiilassa. X-akselin kiila on tosi pitkä eikä se välskää kun ajelee edes takasin, y-akselin kiila on ehkä kolmanneksen x:n pituudesta ja se välskää. Jos sen kiristää niin ettei välskää niin sulakkeet on vaarassa palaa...

En tiedä kanittaako se pöytä y suunnassa vai koittaako servoajuri puskea liian nopeaan sitä pöytää ja sitten ohjain korjaa vai mikä. On semmoisen stick and slip tuntunen.

Pinnanlaatu on kuitenkin erinomainen z-suunnassa ja muutoinkin johdepinnat on erinomaisessa kunnossa. Voitelusta en tiedä, se kerää öljyä pylvääseen ja tuntuu ettei sitä mene y-akselille. Se on melkoinen urakka tarkistaa y-akselin voitelu kun pitää koko pöytä irrottaa että näkee yhtään mitään. Olen sutinut öljyä käsipelillä y:n johteille aina kun tuolla innostun leikkimään.

Eilen kulutin aikaa semmoisen hyposykloidi vaihtestoa värkätessä. Pitäisi saada 144:1 välitys niin tuommoisen SEM:in servon saisi suoraan kiinni tuolla Heidenhainin enkooderilla.
Hyposykloidin taitaa tarvita olla kaksi vaiheinen että saa jollain järkevällä tavalla sen oikean välityssuhteen. Kätevästi se onnistuukin jos laskin oikein, eli 1/9 ja 1/16 välitykset peräkanaa. 1/12 ja 1/12 ei voi olla tai ulostuloakseli ei pyöri, kävi tuuri että tuommoinen välityssuhde on kaksivaiheisella hyposykloidilla.

https://youtu.be/cnJCWX2nr4M
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 16.12.19 - klo:10:56
Tämä nyt ei liity varsinaisesti tuohon alkuperäiseen älämölötykseen, mutta luulen nyt löytäneeni y-akselin vian.
Takosignaalin päällä on nolla vauhdilla noin 500mVpp ja 50Hz:n signaali...

Pikaliikkeen nopeudeksi olen laittanut 2500 mm/min analogiulostulon ollessa 9v, tuo 50Hz:n signaali vahvistuu melkoisesti...

Mistähän tuo on nyt peräisin, muilla akseleilla ei tuota signaalia näy.

EDIT: Boschin ajurin +15 ja -15 jännitteet on puhtaat ja "täsmälleen" arvoissaan, mutta +24v niin siinä on melkoinen hurina...
https://www.dropbox.com/s/fdtqewzd4t9cq5j/BOSCH_DRV-33.pdf?dl=0
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: Isto - 16.12.19 - klo:19:44
Jos se 24V tulee tuosta liitteen kytkennästä niin eihän siinä ole kuin 2x 470u konkat tasasuuntauksen jälkeen.
Iäkkäissä laitteissa suotokonkkien vaihto yleensä auttaa kummasti mutta se ei varmaan auta tuohon yhden akselin hurinaan jos kerran muut akselit on ok.Toisaalta eipä ole kallis kokeilu vaihtaa pari konkkaa...
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 17.12.19 - klo:14:41
Lainaus käyttäjältä: Isto - 16.12.19 - klo:19:44
Jos se 24V tulee tuosta liitteen kytkennästä niin eihän siinä ole kuin 2x 470u konkat tasasuuntauksen jälkeen.
Iäkkäissä laitteissa suotokonkkien vaihto yleensä auttaa kummasti mutta se ei varmaan auta tuohon yhden akselin hurinaan jos kerran muut akselit on ok.Toisaalta eipä ole kallis kokeilu vaihtaa pari konkkaa...

Tuo y-akseli on ollut semmoinen hankala heti alusta pitäen ja juurikin tuon y-akselin konkat olenkin jo vaihtanut Panasonicin vastaaviin.
Vaihdoin tuon servomoottorinkin ja siitä vanhasta on tuossa ylempänä video. Se moottori oli saanut aika kipeää, luulen että joku oli aikaisemmin kytkenyt virrat lämpötermarin kautta se kun oli palanut samoin kuin hiilenpidin missä se termari on kiinni.

Aina välillä luulen saaneeni sen y-akselin kuntoon, mutta sitten se taas alkaa kiukutella. Voisikohan tässä olla jonkun johdon eristeet menneet? Tuo hätäseispiirikin kun on 110voltin vaihtojännitteellä niin tuossa riittää tuota pörinän lähdettä.

https://youtu.be/kI98gkV12Sk

Tuon Boschin servovahvistimen virtalähde on tehty todella ohuilla vedoilla, ehkäpä tuo pitäisi teetättää uusiksi.
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: Isto - 17.12.19 - klo:22:27
Eipä ne ohuet vedot haittaa kun ei siellä kovin paljoa virtaakaan kulje.
Mutta eristeet voi kyllä vaikuttaa, tosin löytäminen voi olla hankalaa...
Tai kuten tuossa jokin aikaa sitten ihmettelin kun pikkukaivertimen X- akseli jättäi aina silloin tällöin steppejä väliin mutta ei aina.Epäilin jo ohjainkoneen vaihtoa ja kaikkea muuta epämääräistä mutta syyksi paljastui lopulta että yksi moottorin syöttöjohdoista oli löysällä liittimessä. Ruuvin kiristys auttoi ja vika hävisi... Ilmeisesti olin vaan jättänyt ne liian löysälle joskus ja nyt kun vähän tuli heiluteltua niin ei enää toiminutkaan.
Otsikko: Vs: Heidenhain HE-310 klooni
Kirjoitti: dzy - 04.07.20 - klo:10:12
Jatketaanpas tätäkin taas, vielä olis muutama lomapäivä jäljellä...

Hommasin Kiinalaisen MPG pyörän tohon härpäkkeeseeni (100ppr) ja lähettelin Heidenhainille sähköpostia josko heillä olisi dokumentaatiota tuosta HE 310 kapulan protokollasta.
Vastasivatkin oikein mutta ei ollut tarjota kuin pinnijärjestys mutta ilmeisesti Ruotsin Heidenhain kyselee ehkä Saksasta kun sanoivat olevansa vielä yhteyksissä mutta ei ole nyt pariin päivään mitään kuulunut.

Hommasin tuommoisen Heidenhainin ROD 1050 3600 linjan enkooderin kun halvalla sain Koreasta :)

https://youtu.be/OA-sajRlK7Q

Tuolla pitäis koittaa sitä neljättä akselia...  :-X Nätisti menisi 5:1 alennusvaihteella niin saisi sen tuhannesosa asteen lukeman tuosta kooderista pihalle minkä tuo oma TNC155A vaatii.