Controler cnc autonom. Alegerea controlerului pentru controlul motoarelor pas cu pas, gravare, frezare, strunguri, freze pentru spumă

1. Aspectul tablei

1 - SLOT pentru card SD;

2 - buton de pornire;

3 - joystick de control manual;

4 - LED (pentru axele X și Y);

5 LED-uri (pentru axa Z);

6 - concluzii pentru butonul de alimentare axului;

8 - ieșiri de nivel scăzut (-GND);

9 - iesiri de nivel inalt (+5v);

10 - pini pentru 3 axe (Xstep, Xdir, Ystep, Ydir, Zstep, Zdir) 2 pini pentru fiecare;

11 - pini ai conectorului LPT (25 pini);

12 - conector LPT (mamă);

13 - conector USB (doar pentru alimentare + 5v);

14 și 16 - control frecvență ax (PWM 5 V);

15 - GND (pentru ax);

17 - ieșire pentru ON și OFF a arborelui;

18 - controlul vitezei axului (analogic de la 0 la 10 V).

Când este conectat la o placă gata făcută cu drivere pentru un CNC cu 3 axe care are o ieșire LPT:

Instalați jumperi între 10 pini și 11 pini.

Pinii 8 și 9 din 11, sunt necesari dacă sunt alocați pini suplimentari de activare și dezactivare pentru drivere (nu există un standard specific, deci poate fi orice combinație, le puteți găsi în descriere sau tastând :) -)

Când sunt conectate la drivere individuale cu motoare:

Instalați jumperi între cei 10 pini Step, Dir al plăcii „RFF” și Step, Dir al driverelor dumneavoastră. (nu uitați să furnizați energie șoferilor și motoarelor)

Activați „RFF” în rețea. Două LED-uri se vor aprinde.

Introduceți un card SD formatat în LOT 1. Apăsați RESET. Așteptați până când LED-ul din dreapta se aprinde. (Aproximativ 5 secunde) Scoateți cardul SD.

Un fișier text numit „RFF” va apărea pe el.

Deschideți acest fișier și introduceți următoarele variabile (aici în această formă și secvență):

Exemplu:

V=5 D=8 L=4,0 S=0 Dir X=0 Dir Y=1 Dir Z=1 F=600 H=1000 UP=0

V - valoare condiționată de la 0 la 10 a vitezei inițiale în timpul accelerației (accelerării).

Explicații de comandă

D - setat de împărțire a pasului pe driverele de motor (ar trebui să fie același pentru toate trei).

L este lungimea de trecere a căruciorului (portic), cu o rotație a motorului pas cu pas în mm (ar trebui să fie același pe toate trei). Introduceți tija din mâner în locul tăietorului și derulați manual motorul cu o tură completă, această linie va fi valoarea L.

S - ce semnal pornește axul, dacă 0 înseamnă - GND dacă 1 înseamnă + 5v (puteți alege empiric).

Dir X, Dir Y, Dir Z, direcția de mișcare de-a lungul axelor, pot fi, de asemenea, selectate empiric prin setarea 0 sau 1 (va deveni clar în modul manual).

F - viteza de mers în gol (G0), dacă F=600, atunci viteza este de 600mm/sec.

H - frecvența maximă a axului dvs. (necesară pentru a controla frecvența axului folosind PWM, să spunem dacă H=1000 și S1000 este scris în codul G, atunci ieșirea la această valoare va fi 5v, dacă S500 atunci 2,5 v , etc., variabila S în codul G nu trebuie să fie mai mare decât H în SD.

Frecvența la acest pin este de aproximativ 500 Hz.
UP - logica de control a driverului motorului pas cu pas, (nu există standard, poate fi atât mare + 5V, cât și scăzut -) setați 0 sau 1. (funcționează oricum pentru mine. -)))

Controlerul în sine

Vezi videoclipul: placă de control CNC cu 3 axe

2. Pregatirea programului de control (G_CODE)

Placa a fost dezvoltată sub ArtCam, așa că programul de control trebuie să fie cu extensie. TAP (nu uitați să introduceți mm, nu inci).
Fișierul G-code salvat pe cardul SD trebuie să fie numit G_CODE.

Dacă aveți o altă extensie, cum ar fi CNC, atunci deschideți fișierul cu notepad și salvați-l ca G_CODE.TAP.

x, y, z din codul G trebuie să fie scris cu majuscule, punctul trebuie să fie un punct, nu o virgulă și chiar și un întreg trebuie să aibă 3 zerouri după punct.

Iată-l sub această formă:

X5.000Y34.400Z0.020

3. Control manual

Controlul manual se realizează cu ajutorul joystick-ului, dacă nu ați introdus variabilele în setările specificate în paragraful 1, panoul „RFF”
nu va funcționa nici măcar în modul manual!
Pentru a comuta în modul manual, apăsați joystick-ul. Acum încearcă să o gestionezi. Privind placa de sus (SLOT 1 în jos,
12 conector LPT în partea de sus).

Înainte Y+, înapoi Y-, dreapta X+, stânga X-, (dacă mutarea este greșită în setările Dir X, Dir Y, schimbați valoarea la opus).

Apăsați din nou joystick-ul. Al 4-lea LED se va aprinde, ceea ce înseamnă că ați comutat pentru a controla axa Z. Joystick-ul sus - ax
ar trebui să urce Z+, joystick-ul în jos - să coboare Z- (în cazul unei mișcări greșite în setările Dir Z, modificați valoarea
spre opus).
Coborâți axul până când dispozitivul de tăiere atinge piesa de prelucrat. Apăsați butonul de pornire 2, acum acesta este punctul zero de aici va începe execuția codului G.

4. Operare offline (Efectuați tăierea codului G)
Apăsați din nou butonul 2, cu o ușoară apăsare.

După eliberarea butonului, placa „RFF” va începe să controleze mașina dumneavoastră CNC.

5. Modul pauză
Apăsați scurt butonul 2 în timp ce mașina funcționează, tăierea se va opri și axul se va ridica cu 5 mm deasupra piesei de prelucrat. Acum puteți controla axa Z atât în ​​sus, cât și în jos, nu vă fie teamă să vă adânciți măcar în piesa de prelucrat, deoarece după ce apăsați din nou butonul 2, tăierea va continua de la valoarea întreruptă de-a lungul Z. În starea de pauză, oprirea și pornirea este disponibil axul cu butonul 6. Axele X și Y în modul Pauză nu pot fi controlate.

6. Oprirea de urgență a lucrului cu axul în mișcare la zero

Ținând apăsat butonul 2 timp îndelungat în timpul funcționării autonome, axul se va ridica cu 5 mm deasupra piesei de prelucrat, nu eliberați butonul, 2 LED-uri vor începe să clipească alternativ, al 4-lea și al 5-lea, când clipirea se oprește, eliberați butonul și axul se va deplasa la punctul zero. Apăsând din nou butonul 2, lucrarea va fi executată de la începutul codului G.

Suporta comenzi precum G0, G1, F, S, M3, M6 pentru a controla viteza axului.Exista iesiri separate: PWM de la 0 la 5V si al doilea analog de la 0 la 10V.

Format de comandă acceptat:

X4.000Y50.005Z-0.100 M3 M6 F1000.0 S5000

Liniile nu trebuie să fie numerotate, spațiile nu trebuie setate, F și S ar trebui să fie indicate numai la schimbare.

Mic exemplu:

T1m6 g0z5.000 g0x0.000y0.000s50000m3 g0x17.608y58.073z5.0397.607 x17.6058.707 x17.6058.707 x17.6058.707 x17.6058.707 x17.6058.707 x17.6058.748

Demonstrația controlorului RFF

Deoarece mi-am asamblat o mașină CNC cu mult timp în urmă și o folosesc de mult timp în scopuri de hobby, sper că experiența mea va fi utilă, precum și codurile sursă ale controlerului.

Am încercat să scriu doar acele momente care personal mi s-au părut importante.

Link-ul către sursele controlerului și shell-ul configurat Eclipse + gcc etc. sunt în același loc cu videoclipul:

Istoria creației

Confruntat în mod regulat cu nevoia de a face unul sau altul „lucru” mic de formă complexă, m-am gândit inițial la o imprimantă 3D. Și chiar a început să o facă. Dar după ce am citit forumurile și am evaluat viteza imprimantei 3D, calitatea și acuratețea rezultatului, procentul de rebuturi și proprietățile structurale ale termoplasticului, mi-am dat seama că aceasta nu este altceva decât o jucărie.

Comanda de componente din China a venit într-o lună. Și după 2 săptămâni, mașina funcționa cu control de la LinuxCNC. Strâns din orice gunoi care era la îndemână, pentru că am vrut să fac rapid (profil + știfturi). Aveam de gând să o refac mai târziu, dar, după cum sa dovedit, mașina sa dovedit a fi destul de rigidă, iar piulițele de pe știfturi nu trebuiau strânse nici măcar o dată. Deci designul a rămas neschimbat.

Operarea inițială a mașinii a arătat că:

  1. Utilizarea unui burghiu de 220 V „china noname” ca ax nu este o idee bună. Se supraincalzeste si este teribil de tare. Jocul lateral al frezei (rulmenților?) se simte manual.
  2. Burghiul Proxon este silențios. Liftul nu se observă. Dar se supraîncălzi și se stinge după 5 minute.
  3. Un computer împrumutat cu un port LPT bidirecțional nu este convenabil. Luat pentru un timp (găsirea PCI-LPT s-a dovedit a fi o problemă). Ocupă spațiu. Si in general vorbind..
După operațiunea inițială, am comandat un ax răcit cu apă și am decis să realizez un controler pentru funcționare autonomă pe cea mai ieftină versiune de STM32F103, vândută complet cu ecran LCD 320x240.
De ce oamenii încă chinuiesc cu încăpățânare ATMega de 8 biți pentru sarcini relativ complexe și chiar și prin Arduino, este un mister pentru mine. Probabil că le plac provocările.

Dezvoltarea controlerului

Am creat programul după o analiză atentă a surselor LinuxCNC și gbrl. Totuși, nici acelea, nici acele coduri sursă pentru calcularea traiectoriei nu au fost luate. Am vrut să încerc să scriu un modul de calcul fără a folosi float. Exclusiv pe aritmetică pe 32 de biți.
Rezultatul mi se potrivește pentru toate modurile de funcționare și firmware-ul nu a fost atins de mult.
Viteza maximă selectată experimental: X:2000mm/min Y:1600 Z:700 (1600 trepte/mm. mod 1/8).
Dar nu este limitat de resursele controlerului. Chiar deasupra sunetului deja urât al săriturii pașilor, chiar și întinderi drepte prin aer. Placa de control chineză cu pas cu pas de la TB6560 nu este cea mai bună opțiune.
De fapt, viteza pe lemn (fag, adâncime 5 mm, d = freză 1 mm, pas 0,15 mm) nu este mai mare de 1200 mm. Crește riscul de rupere a tăietorului.

Rezultatul este un controler cu următoarea funcționalitate:

  • Conectarea la un computer extern ca dispozitiv standard de stocare în masă USB (FAT16 pe card SD). Lucrul cu fișiere în format G-code standard
  • Ștergerea fișierelor prin interfața de utilizator a controlerului.
  • Vizualizarea traiectoriei pentru fișierul selectat (în măsura în care ecranul 640x320 permite) și calcularea timpului de execuție. De fapt, emularea execuției cu însumarea timpului.
  • Vizualizați conținutul fișierelor într-un formular de testare.
  • Modul de control manual de la tastatură (deplasarea și setarea „0”).
  • Pornirea sarcinii pentru fișierul selectat (cod G).
  • Întrerupeți/reluați execuția. (uneori util).
  • Oprire software de urgență.
Controlerul va fi conectat la placa de control pas cu pas prin același conector LPT. Acestea. acționează ca un computer de control cu ​​LinuxCNC/Mach3 și este interschimbabil cu acesta.

După experimente creative de sculptare a reliefurilor desenate manual pe un copac și experimente cu setările de accelerație din program, am vrut și codificatoare pe axe. Doar pe e-bay am găsit codificatoare optice relativ ieftine (1/512), al căror pas pentru șuruburile mele cu bile a fost 5/512 = 0,0098 mm.
Apropo, utilizarea codificatoarelor optice de înaltă rezoluție fără o schemă hardware pentru lucrul cu acestea (STM32 o are) este inutilă. Nici procesarea nu întrerupe, nici, mai mult, un sondaj de software nu va face față vreodată „săritului” (spun asta pentru fanii ATMega).

În primul rând, îmi doream următoarele sarcini:

  1. Pozitionare manuala pe masa cu mare precizie.
  2. Controlul pașilor ratați cu controlul abaterii traiectoriei de la cea calculată.

Totuși, am găsit o altă aplicație pentru ei, deși într-o sarcină destul de restrânsă.

Utilizarea codificatoarelor pentru a corecta traseul unei mașini-unelte cu motoare pas cu pas

Am observat că atunci când tăiați relieful, când setați accelerația în Z la mai mult de o anumită valoare, axa Z începe să coboare încet, dar sigur. Dar, timpul de tăiere în relief cu această accelerație este cu 20% mai mic. La sfarsitul taierii reliefului de 17x20 cm cu pas de 0,1 mm, freza poate cobori cu 1-2 mm fata de traiectoria calculata.
O analiză a situației în dinamică de către encodere a arătat că atunci când freza este ridicată, uneori se pierd 1-2 trepte.
Un algoritm simplu de corecție a pașilor care utilizează un encoder oferă o abatere de cel mult 0,03 mm și reduce timpul de procesare cu 20%. Și chiar și o proeminență de 0,1 mm pe un copac este greu de observat.

Proiecta


Opțiunea ideală pentru hobby a fost versiunea desktop cu un câmp puțin mai mare decât A4. Și încă mai am destul.

masă mobilă

Încă rămâne un mister pentru mine de ce toată lumea alege un design cu un portal mobil pentru computere desktop. Singurul său avantaj este capacitatea de a procesa o placă foarte lungă în părți sau, dacă trebuie să procesați în mod regulat material, a cărui greutate este mai mare decât greutatea portalului.

Pe toată perioada de funcționare, nu a fost niciodată nevoie să tăiați relieful pe o placă de 3 metri în părți sau să faceți o gravură pe o placă de piatră.

Masa glisantă are următoarele avantaje pentru mașinile desktop:

  1. Designul este mai simplu și, în general, designul este mai rigid.
  2. Toate măruntaiele (surse de alimentare, plăci etc.) sunt atârnate pe un portal fix, iar mașina se dovedește a fi mai compactă și mai convenabilă de transportat.
  3. Masa mesei și a unei piese de material tipic pentru prelucrare este semnificativ mai mică decât masa portalului și axului.
  4. Problema cu cablurile și furtunurile de răcire cu apă a arborelui practic dispare.

Ax

Aș dori să remarc că această mașină nu este destinată procesării puterii. Mașina CNC pentru procesarea puterii este cel mai ușor de realizat pe baza unei mașini de frezat convenționale.

După părerea mea, o mașină de prelucrare a metalelor de putere și o mașină de lemn/plastic cu ax de mare viteză sunt tipuri complet diferite de echipamente.

Pentru a crea o mașină universală acasă cel puțin nu are sens.

Alegerea axului pentru o mașină cu acest tip de șurub cu bile și ghidaje cu rulmenți liniari este fără ambiguitate. Acesta este un ax de mare viteză.

Pentru un arbore tipic de mare viteză (20.000 rpm), frezarea metalelor neferoase (nici măcar să vorbim despre oțel) este un mod extrem pentru ax. Ei bine, dacă nu este foarte necesar, și atunci voi mânca 0,3 mm pe trecere cu udarea lichidului de răcire.
Axul pentru mașină ar recomanda răcit cu apă. Cu acesta, în timpul funcționării se aud doar „cântetul” motoarelor pas cu pas și gâlgâitul pompei de acvariu în circuitul de răcire.

Ce se poate face pe o astfel de mașină

În primul rând, problema cazurilor a dispărut pentru mine. Carcasa de orice formă este frezată din „plexiglas” și lipită împreună cu un solvent de-a lungul unor tăieturi ideal netede.

Fibra de sticlă a refuzat să fie un material universal. Precizia mașinii vă permite să tăiați un scaun pentru rulment, în care se va răci, așa cum ar trebui să fie cu o ușoară etanșeitate, și apoi nu îl puteți scoate. Angrenajele din textolit sunt perfect tăiate cu un profil involvent onest.

Prelucrarea lemnului (reliefuri etc.) - un domeniu larg de realizare a impulsurilor lor creative, sau cel puțin pentru implementarea impulsurilor altor persoane (modele gata făcute).

Dar nu am încercat bijuterii. Nu există unde să se aprindă / să se topească / să se toarne baloanele. Deși o bară de ceară de bijuterii așteaptă în aripi.

Printre varietatea mare de controlere, utilizatorii caută auto-asamblarea acelor circuite care vor fi acceptabile și cele mai eficiente. Sunt utilizate atât dispozitive cu un singur canal, cât și dispozitive multicanal: controlere cu 3 și 4 axe.

Opțiunile dispozitivului

Controlerele multicanal ale motoarelor pas cu pas (motoare pas cu pas) cu dimensiuni de 42 sau 57 mm sunt utilizate în cazul unui câmp de lucru mic al mașinii - până la 1 m. La asamblarea unei mașini cu un câmp de lucru mai mare - peste 1 m , este nevoie de o dimensiune de 86 mm. Poate fi controlat folosind un driver cu un singur canal (curent de control care depășește 4,2 A).

Pentru a controla o mașină cu control numeric, în special, este posibil cu un controler creat pe baza de microcircuite specializate - drivere destinate utilizării pentru motoarele pas cu pas de până la 3A. Controlerul CNC al mașinii este controlat de un program special. Este instalat pe un PC cu o frecvență a procesorului de peste 1GHz și o capacitate de memorie de 1 GB). Cu un volum mai mic, sistemul este optimizat.

NOTĂ! În comparație cu un laptop, atunci în cazul conectării unui computer staționar - cele mai bune rezultate și este mai ieftin.

Când conectați controlerul la un computer, utilizați conectorul portului paralel USB sau LPT. Dacă aceste porturi nu sunt disponibile, atunci utilizați plăci de expandare sau controlere convertoare.

Excursie în istorie

Etapele progresului tehnologic pot fi descrise schematic după cum urmează:

  • Primul controler de pe cip a fost numit condiționat „placa albastră”. Această opțiune are dezavantaje și schema trebuia îmbunătățită. Principalul avantaj este că există un conector, iar panoul de control a fost conectat la acesta.
  • În urma albastrului a apărut un controler, numit „tabla roșie”. Deja folosea optocuple rapide (de înaltă frecvență), un releu cu ax de 10A, decuplare de putere (galvanică) și un conector la care ar fi conectate driverele de a patra axă.
  • A fost folosit și un alt dispozitiv similar cu marcaj roșu, dar mai simplificat. Cu ajutorul acestuia, a fost posibil să controlați o mașină mică de tip desktop - dintre cele cu 3 axe.

  • Următorul în linia progresului tehnic a fost un controler cu izolare galvanică a puterii, optocuple rapide și condensatori speciali, care are o carcasă din aluminiu care asigura protecție împotriva prafului. În loc de un releu de control care ar porni axul, designul a avut două ieșiri și capacitatea de a conecta un releu sau un control al vitezei PWM (modularea lățimii impulsului).
  • Acum, pentru fabricarea unei mașini de frezat și gravat de casă cu un motor pas cu pas, există opțiuni - un controler cu 4 axe, un driver de motor pas cu pas de la Allegro, un driver cu un singur canal pentru o mașină cu un câmp de lucru mare.

IMPORTANT! Nu supraîncărcați motorul pas cu pas utilizând viteze mari și mari.


Controler pentru resturi

Majoritatea amatorilor preferă controlul prin portul LPT pentru majoritatea programelor de control la nivel de amatori. În loc să folosească un set de microcircuite speciale în acest scop, unii oameni construiesc un controler din materiale improvizate - tranzistori cu efect de câmp din plăci de bază arse (la o tensiune de peste 30 de volți și un curent de peste 2 amperi).

Și din moment ce a fost creată o mașină pentru tăierea plasticului cu spumă, inventatorul a folosit lămpi cu incandescență pentru automobile ca limitator de curent, iar SD a fost eliminat din imprimantele sau scanerele vechi. Un astfel de controler a fost instalat fără modificări în circuit.

Pentru a realiza cea mai simplă mașină CNC cu propriile mâini, prin dezasamblarea scanerului, pe lângă motorul pas cu pas, se scot și cipul ULN2003 și două bare de oțel, acestea vor merge pe portalul de testare. În plus, veți avea nevoie de:

  • Cutie de carton (corpul dispozitivului va fi asamblat din aceasta). Este posibilă o variantă cu textolit sau placaj, dar cartonul este mai ușor de tăiat; bucati de lemn;
  • unelte - sub formă de tăietori de sârmă, foarfece, șurubelnițe; pistol de lipit și accesorii de lipit;
  • o opțiune de placă care este potrivită pentru o mașină CNC de casă;
  • conector pentru portul LPT;
  • o priză în formă de cilindru pentru aranjarea unei surse de alimentare;
  • elemente de legătură - tije filetate, piulițe, șaibe și șuruburi;
  • program pentru TurboCNC.

Asamblarea unui dispozitiv de casă

Când începeți să lucrați la un controler CNC de casă, primul pas este să lipiți cu atenție cipul pe o placă cu două șine de alimentare. În continuare, va urma conectarea ieșirii ULN2003 și a conectorului LPT. În continuare, concluziile rămase sunt conectate conform schemei. Pinul zero (al 25-lea port paralel) este conectat la pinul negativ de pe șina de alimentare a plăcii.

Apoi motorul pas cu pas este conectat la dispozitivul de control, iar priza de alimentare este conectată la magistrala corespunzătoare. Pentru fiabilitatea conexiunilor firelor, acestea sunt fixate cu lipici fierbinte.

Nu va fi dificil să conectați Turbo CNC. Programul este eficient cu MS-DOS, este și compatibil cu Windows, dar în acest caz sunt posibile unele erori și erori.

Setând programul să funcționeze cu controlerul, puteți realiza o axă de testare. Secvența de acțiuni pentru conectarea mașinilor este următoarea:

  • Tijele de oțel sunt introduse în găuri găurite la același nivel în trei bare de lemn și fixate cu șuruburi mici.
  • SD este conectat la a doua bară, punându-l pe capetele libere ale tijelor și înșurubat cu șuruburi.
  • Un șurub de plumb este filetat prin al treilea orificiu și este plasată o piuliță. Șurubul introdus în orificiul celei de-a doua bare este înșurubat până la opritor, astfel încât, după ce a trecut prin aceste orificii, să iasă pe arborele motorului.
  • Apoi, tija este conectată la arborele motorului cu o bucată de furtun de cauciuc și o clemă de sârmă.
  • Sunt necesare șuruburi suplimentare pentru a fixa piulița.
  • Standul realizat este atașat și la a doua bară cu șuruburi. Nivelul orizontal este reglat cu șuruburi și piulițe suplimentare.
  • De obicei, motoarele sunt conectate împreună cu controlere și testate pentru conexiunea corectă. Acesta este urmat de verificarea scalarii CNC-ului, rularea programului de testare.
  • Rămâne de făcut corpul dispozitivului și aceasta va fi etapa finală a muncii celor care creează mașini de casă.

La programarea funcționării unei mașini cu 3 axe, în setările pentru primele două axe - fără modificare. Dar la programarea primelor 4 faze ale celei de-a treia se introduc modificări.

Atenţie! Folosind diagrama simplificată a controlerului ATMega32 (Anexa 1), în unele cazuri, este posibil să întâlniți o procesare incorectă a axei Z - modul de jumătate de pas. Dar în versiunea completă a plăcii sale (Anexa 2), curenții axelor sunt reglați de un PWM hardware extern.

Concluzie

În controlere asamblate de mașini CNC - o gamă largă de utilizări: în plottere, mașini de frezat mici care lucrează cu piese din lemn și plastic, gravoare din oțel, mașini de găurit în miniatură.

Dispozitivele cu funcționalitate axială sunt, de asemenea, utilizate în plottere, ele pot fi folosite pentru a desena și produce plăci de circuite imprimate. Așadar, efortul depus pentru asamblare de către meșteri se va răscumpăra cu siguranță în viitorul controler.