Denford triac VMC LinuxCNC konvertering

Berätta om dina pågående projekt.
daer
Inlägg: 368
Blev medlem: 13 juni 2008, 22:15:27
Ort: Höör och Helsingborg, Skåne

Denford triac VMC LinuxCNC konvertering

Inlägg av daer »

Köpte på mig ännu en Denford Triac VMC fräs.
Denna gång får det bli en projektråd om konverteringen, både som en dokumentationstråd och som en visningstråd.

Först lite data om fräsen:
Tillverkad: Nov 1993
Spindle: 1hp (0.75 kw) DC
Matning: 240v/11A, 1 phase
Vikt: 380kg
Arbetsområde: 290x170x200mm
Spindle: BT35
Max Spindle speed: 4000rpm
Max Feedrate: 1500mm/min
Verktygsväxlare: Karusell, 6 platser
Kulskruvar: x, y, z 16mm, 5mm pitch
Arbetsbord: 3st 10mm T-slots
Storlek: Fräsen - 1805x1420x1090mm, Elskåp - 800x600x360mm
DSC_0236[1].JPG
Tyvärr så har jag ingen bild på lastning / transport. Jag var uppe och hämtade den med ett vanligt bilsläp. Den begränsade vikten på bara 380 kg gjorde detta möjligt. Storleken är heller inget problem.

Har tyvärr heller ingen bild på hur den såg ut precis när man fått in den i verkstaden. Direkt monterades luckorna av.
DSC_0184[1].JPG
Anledningen till detta kan skymtas på den vänstra plåten, men mycket tydligare när man väl fått av plåten i mitten.
Inte helt trevligt och liten doft av sur mjölk.
Det går alltså inte att få av täckplåten till baljan utan att först ta av luckorna eftersom luckorna sitter skruvade ovanpå plåtarna!
DSC_0185[1].JPG
Kanske inte helt genomtänkt när kopplingsboxen till luckbrytaren sitter fast på vänstra luckan. Dessutom klamrad på båda sidor om boxen. För att få bort luckan måste man då lossa kabeln och dra ut den från boxen. Hade varit bättre att ha boxen i bakre biten och sedan dragit ut kablarna till brytaren. Då hade man inte behövt ha en löst hängande avisolerad kabelände efter man tagit bort luckan.
DSC_0186[1].JPG
Vad finner man då i baljan?
Trevlig sörja som upplöst färg simmar runt i!
DSC_0199[1].JPG
Vänstra sidan inget problem, men högra var värre. Sitter en stolpe i ett uttag i plåten.
DSC_0200[1].JPG
Försöker man vika upp högersidan av plåten går kylvätskepumpen i oljepumpen.
DSC_0201[1].JPG
Vänstersidan så går nippeln till kylslangen i pumpen.
Efter mycket trixande så kommer man fram till att enda möjligheten är att vrida ner nippeln, lyfta vänstersidan av plåten och sedan dra ut den framåt.
DSC_0202[1].JPG
Såg lika vidrigt ut under den som vänstersidan.
Nästa steg blir att tappa ur så mycket som möjligt....

(Fortsättning följer)
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
säter
Inlägg: 35255
Blev medlem: 22 februari 2009, 21:16:35
Ort: Säter

Re: Denford triac VMC LinuxCNC konvertering

Inlägg av säter »

Vilket styrsystem är den utrustad med?
arla
Inlägg: 165
Blev medlem: 23 mars 2011, 14:53:23
Ort: Östersund

Re: Denford triac VMC LinuxCNC konvertering

Inlägg av arla »

ahhh...var alltså du som lyckades lägga vantarna på John_E:s maskin...skall bli spännande att följa denna tråd.
Kom ihåg att vi vill se måååånga bilder :)
daer
Inlägg: 368
Blev medlem: 13 juni 2008, 22:15:27
Ort: Höör och Helsingborg, Skåne

Re: Denford triac VMC LinuxCNC konvertering

Inlägg av daer »

Styrsystemet är ett hopkok av delar.
De maskinnära bitarna, styrningen och stegmotor drivarna, kommer från Baldor. För att vara mera exakt deras Eurosystem.
Över detta system sitter där sedan en gammal PC, en 486DX.
Denna PC kör kör DOS. Kopplingen mellan PC'n och styrsystemet är en RS232 lina.
Tangentbordet sitter på en andra seriell port på PC'n.

Om man tittar in i skåpet (datorn har suttit skruvad på insidan av luckan)

Ursäkta den suddiga bilden
DSC_0188.JPG
Längst ned sitter Eurosystemet i racket
Längst upp till höger spindel styrningen med tillhörande choke.
Uppe till vänster, säkringar sedan reläer som styr pneumatiken till verktygsväklaren.
Mitten bara kopplingsplintar
Under dessa två transformatorer och I/O från Eurosystemet.
Lilla lådan i mitten på högersidan är diskettstationen till datorn.
Kablarna längs ned är datorkablarna, skärm, ström, ström till monitor, tangentbord etc.

Om man tittar närmare på Eurosystemet
DSC_0193.JPG
Så ser man de tre stegmotor korten i mitten av racket.
Beteckningen på dessa är SD13, kommer från Parker / digiplan.
Det är 3A, 60V (70v absulute max rating) chopping drivers. Max stegfrekvens är 20kHz

Längst till vänster sitter CPU kortet, bredvid detta ett "custom" card
DSC_0196.JPG
På CPU kortet sitter det en 196, en kontakt ned på bakplanet som innehåller bl.a. stegmotor signaler, Digitala IO, status signaler etc.
Backplane connector.png
På CPU kortet sitter där även en "extension connector". Det är denna "custom" kortet är kopplat.
Extension connector.png
Ser ut att vara en helt vanlig parallell bus, multiplexad data/adress med ALE signal. Sedan en vanlig RD/WR när data skall läsas.
Frågetecknet är hur OCS signalen används.

"Custom" kortet
DSC_0197.JPG
Uppe till höger verkar vara spänningsregulator.
Nere till höger en isolerad analog ut signal, antagligen till spindelhastighetsreglering.
Nere till vänster, en extern timer krets, antagligen att generera en PWM till analog ut delen.
Sitter även en programerbar logik krets. Gissar på avkodning av adress.

Planen när man sett allt detta är att behålla allt utom cpu kortet. Ersätta detta med ett eget kort.
Koppla step/dir signalerna direkt till parallellporten på styrdatorn (ny, ej befintlig 486) och sköra med LinuxCNC.
I/O signalerna kopplas genom en AVR som kör modbus kommunikation upp till LinuxCNC.
IO signalerna är enligt dokumentationen till befintliga cpu kortet 74HCT244 på ingångarna, 10k pullup. ULN2803 på utgångarna.
Även stegmotorsignalerna är ULN2803.
Homeswitch och gränslägesingångar också 74HCT244.

Jag gissar att jag även lägger verktygsväxlarlogiken i AVR'n. Alternativet är i ladder i LinuxCNC och bara io signalerna över modbus.

Måste "bara" göra lite reverse eng. för att ta reda på mur timer chippet är kopplat, vilka adresser man skall skriva till och ungefär vilken frekvens som AO steget vill ha.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
daer
Inlägg: 368
Blev medlem: 13 juni 2008, 22:15:27
Ort: Höör och Helsingborg, Skåne

Re: Denford triac VMC LinuxCNC konvertering

Inlägg av daer »

Saneringsjobb avklarat!
Nu känns det som om man utan problem kan ta i den utan täta handskar.

Först avtappning av det som kan rinna.
DSC_0212[1].JPG
Sedan bara sleva upp det som inte rinner bl.a. gammal upplöst färg.
DSC_0215[1].JPG
Sedan ut för högtryckstvätt. Smidigt med en liten som kan lyftas på ett enkelt sätt.
Bra att lyftögla finns original.

På väg in igen efter tvätt.
DSC_0238[1].JPG
OK resultat
DSC_0241[1].JPG
Tyvärr har skärvätskan legat för länge i baljan så det har börjat rosta på ett ställe.
DSC_0243[1].JPG
Väntar nog med att göra vid det. Visst man är dum ibland hade nog varit enklast att bara svetsa över en ny plåtbit på insidan. Tål att funderas på.

Men jag är ändå nöjd med resultatet.
Nu kan man börja göra något konstruktivt.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
säter
Inlägg: 35255
Blev medlem: 22 februari 2009, 21:16:35
Ort: Säter

Re: Denford triac VMC LinuxCNC konvertering

Inlägg av säter »

Är det rosthål?
daer
Inlägg: 368
Blev medlem: 13 juni 2008, 22:15:27
Ort: Höör och Helsingborg, Skåne

Re: Denford triac VMC LinuxCNC konvertering

Inlägg av daer »

Det är i varje fall korrosion av något slag. Kan även ha varit något som legat där som givit elektrolytisk korrosion. Djupaste är mer än hälften av plåttjockleken. Inte helt igenom, i varje fall än.
Lite tydligare bild.
DSC_0244[1].JPG
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
tecno
Inlägg: 27248
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: Denford triac VMC LinuxCNC konvertering

Inlägg av tecno »

Blästra + måla = se glad ut
daer
Inlägg: 368
Blev medlem: 13 juni 2008, 22:15:27
Ort: Höör och Helsingborg, Skåne

Re: Denford triac VMC LinuxCNC konvertering

Inlägg av daer »

Vad skall man måla med som inte löser upp sig?
Inköpsställe?
Användarvisningsbild
tecno
Inlägg: 27248
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: Denford triac VMC LinuxCNC konvertering

Inlägg av tecno »

Vad ska köra med för kylvätska? BIO Skär 2000 från Chemirol är det jag använder. En bra 2 komponent epoxi bör funka fint.
DAP
Inlägg: 750
Blev medlem: 26 april 2009, 18:12:29
Ort: Kristianstad

Re: Denford triac VMC LinuxCNC konvertering

Inlägg av DAP »

Coolt projekt detta, kommer verkligen följas :o

Som Tecno skrev, 2-komponents epoxi färg är grymt bra.
Köp det i färghandeln, se bara till at ha munskydd, helst friskluftsmask när du målar för det luktar väldigt kraftigt.
daer
Inlägg: 368
Blev medlem: 13 juni 2008, 22:15:27
Ort: Höör och Helsingborg, Skåne

Re: Denford triac VMC LinuxCNC konvertering

Inlägg av daer »

Skissat på ett nytt kontroller kort för att byta ut det befintliga eurosystem kortet.
Tänkte köra med step/dir/home över parallellporten.
I/O över seriell modbus.
Verktygsväxlarlogiken väljer jag antagligen att köra i AVR processorn. Alternativet är att göra den i ladder i LinuxCNC och bara köra mot IO direkt.
Eftersom jag kan C programmering mycket bättre än ladder lutar det åt att lägga det i AVR.

Eftersom AVR även styr spindeln så det behövs en ordentlig tanke angående säkerhet.
Befintlig E-stop knapp stänger redan strömmen till spindeln, men skulle vilja få in att LinuxCNC verligen körs.
T.ex. att spindeln stannar om datorn hänger sig eller om man råkar bara stänga av den utan nedstängning.
För att lösa detta så tänkte jag använda en chargepump (pulser) signal i parallellporten som går in i AVR.
Om denna inte pulsat inom viss tid så tycker avr att LinuxCNC är borta ock stänger spindel och stegmotorer.
Tanken är också att i LinuxCNC e-stop kedja lägga in att kommunikation med modbus är ok och att chargepump OK signalen också läses över med modbus och denna också skall vara satt. Detta så man inte kan få ur LinuxCNCV ur e-stop om inte hela kedjan fungerar.

Då borde man få en heltäckande lösning, att man kan bara köra spindeln och stegmotorer om

1. LinuxCNC snurrar ok (chargepump pulses finns)
2. Modbus fungerar enligt LinuxCNC (modbus communication ok)
3. Att LinuxCNC har läst över ChargePumpOK signalen över modbus (hela kedjan chargepump - avr - modbus fungerar)
4. E-stop knappen ej intryckt (stänger både elektrisk stänga strömmen och att AVR läser in knappstatus och sätter ChargepumpOK signalen om ej triggad, avr stänger även spindel och stegmotorer om knappstatus e-stop triggas.)

Har skissat ihop ett schema
controller-sch.png
Nere till vänster parallellportskontakten, går till optokopplare. Kopplat stegmotorsignalerna genom en ULN2803 eftersom de är 24volts logik.
Nere till vänster, kontakten till bakplanet. Här går alla I/O signaler och stegmotor signaler.
Uppe till vänster AVR.
Uppe till höger, epansionskontakten som går till "custom" kortet som har bl.a. den isolerade digital-analog omvandlaren som styr spindelhastigheten.
Mellan AVR och expansionskontakten sitter latchar/driuvare/ingångsbuffer för I/O signalerna och adress/data till expansionskontakten.

Även ett första skiss på kretskortslayout. Inte helt klar än.
controller.png
Längs till vänster, bakplanskontakten.
Uppe höger parallellporten.
Mitt i, expansionskontakten.
Nere till höger passar ett kort som jag redan har, ett två ports usb-serie omvandlare (5volts logik). En port till Modbus och en för debugutskrifter.

Ser ut som om detta kan bli ett plug and play system. Ryck bara ut det befintliga kontrollerkortet och sätt i det nya. Inga andra ändringar i hårdvaran skall behövas. Förhoppningsvis....
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
daer
Inlägg: 368
Blev medlem: 13 juni 2008, 22:15:27
Ort: Höör och Helsingborg, Skåne

Re: Denford triac VMC LinuxCNC konvertering

Inlägg av daer »

Har fått någon timme ledigt från andra projekt och lyckats göra det sista på kortet.
Filerna skickade!
daer
Inlägg: 368
Blev medlem: 13 juni 2008, 22:15:27
Ort: Höör och Helsingborg, Skåne

Re: Denford triac VMC LinuxCNC konvertering

Inlägg av daer »

Fick korten i fredags. Ser bra ut
DSC_0022[1].JPG
Inga större problem med monteringen av komponenter
DSC_0024[1].JPG
Det extra kortet är "bara" ett befintligt kort med USB hub och 2st FTDI232.
Återanvändning är aldrig fel. I varje fall inte om man bara skall göra två kort totalt.
I varje fall nuvarande plan säger så. Men planer måste vara flexibla. Kunna ändras efter behov.

Fast visst problem var det ändå. Varför skall man göra det för trångt fastän man nästan har hur mycket plats som helst.
Fick klippa i kontakten för att få dit den.
DSC_0025[1].JPG
Men här fick jag inte ens plats med kontakterna som jag tänkt.
Inte heller kristallen går att få ned till kortet.
DSC_0026[1].JPG
Borde nog jobba mera på att göra footprints som visar verklig storlek.
Det får bli en annan gång, i annat projekt när man har mera tid.

Innan någon hinner påpeka det. Det finns avkopplingskondensatorer också. De sitter ytmonterade på baksidan.

Tanken med detta kort är att det skall ersätta det befintliga styrkortet som är baserat på en 80186 cpu. Stegmotorerna styrs direkt genom parallell porten, resten av GPIO signalerna genom AVR processorn som kör modbus uppåt mot LinuxCNC. AVR'en kör direkt mot de signaler som finns i bakplanet. De IO som sitter på "expander" kortet och "Custom" kortet som styr spindelhastighet styrs med befintlig system bus genom flatkabeln. Det är en parallell bus med separata address/data/rd/wr signaler.
Parallell porten kör genom optokopplare. Datorn blir inte helt optoisolerad från styrsystemet eftersom de båda seriekanalerna inte är isolerade. Det gör att jag kommer att få samma jord med de problem med jordslingor det kan ge.

Har kollat, man får kontakt med cpu'n och kan skriva om fuses m.m. m.h.a. en AVR Dragon.
Så långt all bra. Nu bara resten kvar.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
daer
Inlägg: 368
Blev medlem: 13 juni 2008, 22:15:27
Ort: Höör och Helsingborg, Skåne

Re: Denford triac VMC LinuxCNC konvertering

Inlägg av daer »

Har hänt lite saker på vägen mot en fungerande fräs.

Fått igång modbus kommunikation mellan LinuxCNC och mitt kort. Kör med FreeModbus, http://freemodbus.berlios.de/
När man väl hade kommunikationen igång så valde jag att börja med det som många "glömmer" att göra. Det som har med säkerheten att göra. E-STOP.

Hur har jag då valt att göra detta?
Det jag vill är övervaka så många delar som möjligt, och om något inte gör det så stäng av.
Det som jag valt att övervaka är

1. E-stop knappen
Denna är "självklar". Denna finns redan på maskinen och den sitter i maskinens e-stop kedja. I denna kedja ingår då förutom e-stop knappen, limit switches x,y och z, spindle motor övertemp, spindle drive fault. Denna kedja styr ett relä som bryter spänningen till stegmotorer och spindel. Reläet sätter även en ingång på AVR.
Här var då redan de viktigaste löst, att om man trycker på knappen stannar maskinen. Detta utan att någon processor är inblandad. Detta är viktigt eftersom den kan vara "sista utväg" i händelse av vissa hårdvarufel.

2. LinuxCNC som sådant har också en e-stop signal. Om man sätter den här borde det ske samma sak, att spindeln stannar. Likadant om t.ex. LinuxCNC eller hela datorn hänger sig eller stängs av, så vill man att spindeln stannar. För att göra detta så har jag valt att använda "ChargePump" d.v.s. att LinuxCNC pulsar en utgång med jämt interval. Denna skickas vidare på parallell porten ut till Controller kortets AVR.
Mjukvaran i denna övervakar om denna signal pulsas i rätt interval, om puls inte kommer eller blir väldigt försenad (eller mycket tidig) så stänger AVR av spindeln och stegmotorerna.

3. AVR skickar även tillbaka status på e-stop kedjan och chargepump över modbus till LinuxCNC. Dessa signaler ingår då i LinuxCNC e-stop kedja, d.v.s man kan då inte ta ur LinuxCNC ur E-stop om man inte har i parallell ports kabeln eller modbus serie kabeln i. Även om man tappar någon av dessa så går LinuxCNC i e-stop, slutar skicka ChargePump pulser. Om AVR inte får in pulser så stänger den av spindeln.

Tycker detta verkar vara nästan heltäckande. Det finns ett problem kvar, om AVR processorn hänger sig så kan LinuxCNC inte stänga spindeln. E-stop "svampen" fungerar fortfarande. För att få lite bättre i detta senario är att ha igång watchdog i AVR d.v.s att man mjukvarumässigt måste "klappa hunden".
Vissa kallar detta på "kick the dog" eller "sparka på hunden". Tycker det låter trevligare med med "klappa", annars får man det lite konstiga "Om man inte sparkar på hunden så biter den". Låter visserligen inte helt bra med "Om man inte klappar hunden så biter den" heller. Eller den mer avancerade när man har ett watchdog interrupt innan reset. "Om man inte klappar (pet) hunden så skäller (bark) den för att sedan bita (bite)"

Då har man bara kvar ett senario, att AVR processorn slutar köra helt p.g.a. hårdvarufel. Då kan inte LinuxCNC stänga spindeln. Tycker ändå det är helt OK med tanke på att E-stop knappen kan ändå stänga den. Detta senario måste då också vara att AVR går sönder på så sätt att utgången drivs hög vilket inte är det normala reset tillståndet.

Eftersom modbus kommunikationen i LinuxCNC ligger i ladder delen så var det naturligt att göra LinuxCNC e-stop kedja där. Min ser ut såhär i dagsläget när man har LinuxCNC kvar i e-stop
e-stop-linuxcnc.png
Och såhär när man tryckt ur e-stop
e-stop.png
Anledningen till TOF blocket är att jag ville att man bara skall komma ur e-stop när man trycker på knappen. Inte att man först trycker på knappen, märker att något är fel. Rättar till felet och att den då går ur e-stop. Jag vill i det läget att kan skall trycka ur estop igen.
Fungerar såhär.
1. Användaren trycker ur e-stop knappen.
2. LinuxCNC sätter estop-request-enable i en cykel, d.v.s. en mycket snabb puls.
3. Dessa rader i min hal fil
net estop-request-enable <= iocontrol.0.user-request-enable
net estop-request-enable => classicladder.0.in-02
skickar hal signalen till ladder, variable %I2, som jag satt estop_req namnet på.
4. estop_req triggar TOF blocket som genererar en puls för någon sekund.
5. I ladder kollas om estop (estop-out hal signal), ESTOP_MON (Fysisk estop knapp genom estop relä->AVR->modbus), CP_OK (LinucCNC Chargepump->Parallellport->AVR->modbus), Mod_Error att LinuxCNC tycker modbus fungerar och slutligen TOF.

När alla dessa är satta så sätts ESTOP_IN, vilken också självhåller.
CP_OK är lite fördröjd eftersom LinuxCNC först börjar skicka ut pulser när man går ur e-stop. Det är därför man måste ha TOF blocket.

6. ESTOP_IN skickas från ladder till ems-enable-in hal signal med dessa rader
net estop-in <= classicladder.0.out-00
net estop-in => iocontrol.0.emc-enable-in

Eftersom nu emc-enable-in är satt så tycker LinuxCNC att den inte är i e-stop längre.

Nästa steg att göra är antigen att få igång alla IO signaler genom modbus eller att få igång stegmotorerna. Får se vad jag känner för när tid ges.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Skriv svar