Konvertering av en Emco turn120.
Börjar med att skriva lite om min väg genom konverteringen till LinuxCNC. Senare kommer jag att ta upp några frågor om inställningar etc. som jag inte blir klok på.
När jag köpte den så ville spindeln inte vara med. Controllerkortet till motorn indikerade fasfel. Felet var uppenbart när man hittade det. En tantal på ett av korten hade gett upp och övergått till kortslutning.
Tog bort den och ersatte den med en likvärdig.
Efter det så fungerade allt som det skulle. I varje fall trodde jag det. Visade sig att ibland så ville verktygsväxlaren inte vara med. Fick felmeddelande att det var "hardware error".
Detta fel var intermittent, kom och gick som det ville. Räckte oftast med att bara trycka bort felet så fungerade den igen som den skulle.
Detta var i höstas, när jag sedan skulle ta upp detta projekt igen senare på vintern så fungerade den inte alls. Visade sig att en av optokopplarna i verktygsväxlaren inte fungerade som den skulle. Var lite jobbigt ett tag. Mätte ute i maskinen att en av signalerna inte bytte nivå som den skulle. Tog loss kortet och gick in för att mäta på det. Där fungerade det utan problem. Tog ut det igen och satte det i maskinen. Fungerar inte. In med det igen, fungerar igen. Fungerade enda tills man duttade lite med kylsprejen! Temperaturberoende fel. På hösten var det lite varmare i verkstaden då fungerade det. På vintern, kallare... ej fungerande...
Bytte alla fyra så var den uppe och körde igen.
Tills dess inte använd, saknade en liten men ack så viktig detalj - chuck.
Svarvade till spindeländan på en adapter platta i min manuella svarv. Tänkte ta och svarva till chucksidan på plats. Blev aldrig klar med det. Försökte flera gånger jobba mig igenom användargränsnittet på svarven, sätta upp verktygstabell, manuellt mata in program etc. Lite jobbigt när man måste ta manualen till hjälp hela tiden vad än man vill göra.
Bestämde mig då för att se vad som krävdes för att konvertera till LinuxCNC. Ville behålla så mycket som möjligt av det gamla eftersom det var fungerande. Visst det hade varit enklare att gå den normala vägen på dessa svarvar, byta ut likströmsmotorn mot en vanlig 3-fasare, byta de 5-fasiga stegmotorerna till "normala" 4 etc. Man kan säga vad man vill om den gamla elektroniken. Vissa delar är kanske inte helt "up to date" med moderna komponenter etc. Fördelen med de gamla är att de är byggda på standardkomponenter som man fortfarande än idag inte har några problem med att få tag på. Enkla två lagers kort så man kan följa ledarna vart de går. Korten någorlunda förutsägbara hur de fungerar när man ser vilka komponenter där sitter. Även hur komponenterna är grupperade på kortet säger en hel del.
Beslutet var med andra ord, byta ut så man kan köra med LinuxCNC med minsta möjliga påverkan i befintligt elektronik/mekanik. Helst skall man kunna bygga tillbaka den till gamla systemet på ett enkelt sätt igen.
Fortsättning följer.
Lägger in en liten "teaser" på hur den ser ut idag.
Emco Turn120 LinuxCNC
Emco Turn120 LinuxCNC
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Senast redigerad av daer 12 juli 2013, 07:53:56, redigerad totalt 1 gång.
Re: Emcp Turn120 LinuxCNC
Efter en hel del läsande i el schemana till svarven, visuell följande av ledare på bakplan och mätningar av signaler så kom man fra till att detta inte skulle bli så svårt.
Behålla IO-kort (kallat machineinterface av emco), motorrstyrkort, spindelmotor styrning och stegmotorkort. Tar bort datacontroller, axiscontroller och displaycontroller korten. Dessa kort sitter i samma bakplan och är kopplade "parallellt". Detta måste betyda att det är ett bussystem på bakplanet. För att ta reda på hur bakplanet är uppbyggt så kollar jag vidare på io-kortet. Enkel konstruktion, bara buffrar (74hc244) och 8-bit latchar som styrs av adressavkodare (74ls139) och en "stor" and 8-input gate och några inverterare. Sitter också en 74ls640 för att plocka ut data från den multiplexade address/data bussen.
Inga stora problem med att styra. Bestämde mig för att använda en AVR med FreeModbus för att koppla ihop denna bus/io kort med LinuxCNC datorn. På så sätt behöver man inte dra om några kablar eftersom jag utnyttjar befintligt kort.
Stegmotorerna var enklare, standard step/dir/enable signaler. Gjorde ett optoisolerat parallell kort mot dessa signaler. Här igenom går även "sync" signalen från stegmotorerna. På denna svarv finns det inga home brytare, bara en sync signal från remskivan på skruven. Så man måste manuellt först köra x och z till "home" området. När man kör hem maskinen så kör den till nästa sync.
Spindelstyrningen visade sig vara enklare än jag först trodde. En signal av/på, en riktning och en med pulser för hastighet. Inte PWM utan frekvens. Detta fick modbus AVR controllern också styra.
Eftersom nu AVR:en nu även styr spindeln vill man ha lite mera övervakning på den. Det fick bli en "charge pump" från parallellporten. Så LinuxCNC interna nödstoppsslinga består av charge pump => parallellport => AVR => modbus => classic ladder => HAL. Så för att få LinuxCNC till powered tillstånd måste hela kedjan med parallellport till modbus fungera. Och AVR:en är skriven så att för att spindeln eller stegmotorerna skall gå måste den ha in signal från LinuxCNC över modbus och chargepump från parallellporten.
Utöver detta så är hela EMCO's nödstopslinga intakt. Borde vara tillräckligt säkert. Man vill inte att spindeln går igång oväntat!
Såhär ser bakplanet ut. I dessa kontakter satt datacontroller och axiscontroller korten. Numera sitter det två små kort istället, en med parallellporten och optokopplare och en med modbus AVR. Till höger ser man display kortet, numera även detta urtaget. Till vänster ser man ett av stegmotorkorten.
Tyvärr så har jag just nu ingen bild på mina två kort. Får försöka ta ett nästa gång jag skruvar av baksidan på lådan.
När detta var klart så kunde man köra båda axlar och spindeln.
Nästa steg, verktygsväxlaren. Denna styrs med två signaler från IO kortet. En framåt och en för bakåt. Om man har båda höga så skall den köra motorn svagt bakåt. Detta för att låsa verktygsväxlaren i position.
För att styra verktygsväxlaren hade jag två alternativ. Styra den från ClassicLadder=>modbus i LinuxCNC eller lägga styrningen i AVR och bara få vilken position som önskas genom modbus (och ready handskaknig).
Valde det senare. Främst för att där har jag själv bättre koll på hur det fungerar. Det som är ett big "no-no" med emcos vertygsväxlare är att köra den länge baklänges. detta för att den går emot positionslåset och sedan stannar där. Om man då har full ström på motorn kommer man att bränna den. det är därför man har PWM läget. För att låsa men inte bränna motorn.
Efter lite småproblem så verkar min implementation fungera. Helt plötsligt brinner drivchippet upp. Vanlig L297 motor/stepper drivare. Förstår inte varför det hände. Beställer en ny och bytar. Fungerar OK igen. Ett tag! Sedan brinner den upp igen. Vad är det som händer. Motorn går utan problem från spänningskub. Ingen onormal ström.
Har jag missat något i styrningen. Gör en reverse-eng. på drivaren. En NE555 som genererar PWM signalen. Några grindar som håller reda på insignalerna, om PWM skall genereras eller inte. Ser ut som jag förväntat mig att det skulle vara. Inga konstigheter med mitt sätt att styra den. Där finns även ett överströmsskydd. Så varför går den hela tiden?
När jag sedan testade med den interna 24 volten istället för spänningskub blev det intressant. Fick säkringen att gå ibland. När den gått så kunde den gå igen efter man bytt den när man kopplade in motorn. Den kunde gå om man bara kopplade in + kabeln! Det verkade som om motorn har kortslutning mot höljet på ett visst motorläge. L297 överströmskyddet fungerar bara mellan båda utgångarna, inte mellan utgång-jord!
Blev att leta i gömmorna efter en passande motor. Hittade faktiskt en som hade samma volttal och samma axeldiameter. Visserligen lite tjockare, men den gick fortfarande in i höljet. Annan hålbild men det var inga stora problem med det. Efter detta har verktygsväxlaren fungerat utan problem.
Behålla IO-kort (kallat machineinterface av emco), motorrstyrkort, spindelmotor styrning och stegmotorkort. Tar bort datacontroller, axiscontroller och displaycontroller korten. Dessa kort sitter i samma bakplan och är kopplade "parallellt". Detta måste betyda att det är ett bussystem på bakplanet. För att ta reda på hur bakplanet är uppbyggt så kollar jag vidare på io-kortet. Enkel konstruktion, bara buffrar (74hc244) och 8-bit latchar som styrs av adressavkodare (74ls139) och en "stor" and 8-input gate och några inverterare. Sitter också en 74ls640 för att plocka ut data från den multiplexade address/data bussen.
Inga stora problem med att styra. Bestämde mig för att använda en AVR med FreeModbus för att koppla ihop denna bus/io kort med LinuxCNC datorn. På så sätt behöver man inte dra om några kablar eftersom jag utnyttjar befintligt kort.
Stegmotorerna var enklare, standard step/dir/enable signaler. Gjorde ett optoisolerat parallell kort mot dessa signaler. Här igenom går även "sync" signalen från stegmotorerna. På denna svarv finns det inga home brytare, bara en sync signal från remskivan på skruven. Så man måste manuellt först köra x och z till "home" området. När man kör hem maskinen så kör den till nästa sync.
Spindelstyrningen visade sig vara enklare än jag först trodde. En signal av/på, en riktning och en med pulser för hastighet. Inte PWM utan frekvens. Detta fick modbus AVR controllern också styra.
Eftersom nu AVR:en nu även styr spindeln vill man ha lite mera övervakning på den. Det fick bli en "charge pump" från parallellporten. Så LinuxCNC interna nödstoppsslinga består av charge pump => parallellport => AVR => modbus => classic ladder => HAL. Så för att få LinuxCNC till powered tillstånd måste hela kedjan med parallellport till modbus fungera. Och AVR:en är skriven så att för att spindeln eller stegmotorerna skall gå måste den ha in signal från LinuxCNC över modbus och chargepump från parallellporten.
Utöver detta så är hela EMCO's nödstopslinga intakt. Borde vara tillräckligt säkert. Man vill inte att spindeln går igång oväntat!
Såhär ser bakplanet ut. I dessa kontakter satt datacontroller och axiscontroller korten. Numera sitter det två små kort istället, en med parallellporten och optokopplare och en med modbus AVR. Till höger ser man display kortet, numera även detta urtaget. Till vänster ser man ett av stegmotorkorten.
Tyvärr så har jag just nu ingen bild på mina två kort. Får försöka ta ett nästa gång jag skruvar av baksidan på lådan.
När detta var klart så kunde man köra båda axlar och spindeln.
Nästa steg, verktygsväxlaren. Denna styrs med två signaler från IO kortet. En framåt och en för bakåt. Om man har båda höga så skall den köra motorn svagt bakåt. Detta för att låsa verktygsväxlaren i position.
För att styra verktygsväxlaren hade jag två alternativ. Styra den från ClassicLadder=>modbus i LinuxCNC eller lägga styrningen i AVR och bara få vilken position som önskas genom modbus (och ready handskaknig).
Valde det senare. Främst för att där har jag själv bättre koll på hur det fungerar. Det som är ett big "no-no" med emcos vertygsväxlare är att köra den länge baklänges. detta för att den går emot positionslåset och sedan stannar där. Om man då har full ström på motorn kommer man att bränna den. det är därför man har PWM läget. För att låsa men inte bränna motorn.
Efter lite småproblem så verkar min implementation fungera. Helt plötsligt brinner drivchippet upp. Vanlig L297 motor/stepper drivare. Förstår inte varför det hände. Beställer en ny och bytar. Fungerar OK igen. Ett tag! Sedan brinner den upp igen. Vad är det som händer. Motorn går utan problem från spänningskub. Ingen onormal ström.
Har jag missat något i styrningen. Gör en reverse-eng. på drivaren. En NE555 som genererar PWM signalen. Några grindar som håller reda på insignalerna, om PWM skall genereras eller inte. Ser ut som jag förväntat mig att det skulle vara. Inga konstigheter med mitt sätt att styra den. Där finns även ett överströmsskydd. Så varför går den hela tiden?
När jag sedan testade med den interna 24 volten istället för spänningskub blev det intressant. Fick säkringen att gå ibland. När den gått så kunde den gå igen efter man bytt den när man kopplade in motorn. Den kunde gå om man bara kopplade in + kabeln! Det verkade som om motorn har kortslutning mot höljet på ett visst motorläge. L297 överströmskyddet fungerar bara mellan båda utgångarna, inte mellan utgång-jord!
Blev att leta i gömmorna efter en passande motor. Hittade faktiskt en som hade samma volttal och samma axeldiameter. Visserligen lite tjockare, men den gick fortfarande in i höljet. Annan hålbild men det var inga stora problem med det. Efter detta har verktygsväxlaren fungerat utan problem.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.