Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Razvoj, Dizajn CNC-Controller V1.0
#1
Pozdrav forumaši.

Nedavno me zainteresirao projekat izrade male CNC Mašine za bušenje (PCB pločica) pa netlom listanja po web stranicama došao sam na ideju da napravim svoju CNC Mašinu...dakle prvi korak je design i izrada(programiranje) CNC Kontrollera koji ce upravljati bipolarnim motorima. PC Softver ucitava DRILL File za bušenje (G-Code) koji zatim salje ATMega328P G-Code (X,Y,Z te brzinu vrtnje bušilice....)....dakle ATMega328P je  u ulozi interpretera koji prima komande sa PC-a i šalje ih na drivere koji upravljaju bipolanim motorem. 

Zanima me koji su dobri bipolarni driveri i koliko Ampera trebaju biti bipolarni motori (NEMA-17?) da bi se moglo kvalitetno bušiti PCB a kasnije mozda i tokariti PCB ako bude moguce.

Za ulaznu komunikaciju PCB-AVR sam narucio ovaj odlican USB<-->TTL adapter koji se spaja na USB port računala a na izlazu daje RxD i TxD TTL logicke pinove koji se spajaju direktno na AVR preko kojeg se sa PC-a salje i prima USART komunikacija. 

http://www.ebay.com/itm/112029440027

Sad me zanima dali sam dobro postavio shemu, dakle spojeni je externi kristal, serijska komunikacija, te tipkala S1(STOP), S2(senzor tipkalo kada se uredjaj inicijalizira da podize po Y-Osi) , neznam dali sam dobro spojio gornje pinove AREF, AVCC(zavojnica+kondenzator). JP1 sam stavio da se bira kada se programira preko ISP adaptera i kada uredjaj radi normalno.

Koje drivere bi preporucili za bipolarne motore? Koliko sam shvatio treba mi mikrostepping driver...ima ih mnogo pa sto se preporucuje da se stavi. Kontrolu step drivera bih stavio na PD2 do PD5.

Evo i sheme onako iz "glave" sto mi se mota vec par dana:

Reply
#2
Nije baš u duhu DIYa ali ja bi uzeo neki gotov kontroler sa svime da se može spojiti na nekakve step motore i to je to. Barem po netu ima hrpetina 3 osnih CNC kontrolera za pristupačne novce.
Reply
#3
Treba malo vise izvoda sa tog Atmela, idu tu i limit switch, probe input, za tri motora ide 6 vodova, prakticno ceo Arduino Nano sa svim portovima (par se ne koristi). Mozes ostati na varijanti bez integrisanog USB kontrolera i spojiti taj adapter kao sa linka.

Za drajvere ja preporucujem povoljne module bazirane na TB6560 IC sa 24V napajanjem.

To uvezati medjusobno i prakticno si odradio elektroniku, sve ostalo je mehanika i SW koji ce slati G-code.
Reply
#4
Trebalo bi i ovako probati.✅????
Reply
#5
Našao sam ovaj driver IC za motore: L6202

http://www.logosfoundation.org/instrum_g...696819.pdf

Pa me zanima jel bi valjao sto ili da ipak idem na TB6560, posto gledam da budu driveri kao i atmel u DIL-u (dakle da nije SMD zbog lakseg sastavljanja).

Koliko sam uspio skuziti (jos proucavam datasheet) trebaju mi tri zice sa L6202 IN+, IN- i PWM...dakle IN+ i IN- saljem impulse kamo se vrti motor (lijevo ili desno) a PWM odredjuje se brzina vrtnje motora.

Jedino mi nije jasno oko limit switch i probe input...ako moze koji link da proucim gradivo ili mozda limit switch ima ovaj driver pa onda netreba?
Reply
#6
Izaberi ipak TB6560 modul, stvarno su povoljni a rade vrlo fino. Takodje su "kompatibilni" sa logikom koju salje Atmel, za jedan motor se salju dve vrste impulsa, jedan je vezan za korak dakle za svaki impuls stepper ce se pomeriti za svoj jedan korak dok druga linija predstavlja smer kojim ce se kretati. Onaj predhodni drajver nema tu logiku, drugacija je i ne moze se prosto premostiti.

Limit switch je standardna opcija na svim CNC masinama, bukvalno jedan prekidac (mikroprekidac ili induktivni ili magnetni) stoji pri kraju jedne ose tako da kada osa dodje do maximuma ili minimuma kretanja taj swich se aktivira i to je u sustini neregularna situacija, pali se alarm i izvrsavanje programa se momentalno prekida. Ovaj Atmel tacnije GRBL program u njemu podrzava jedan limit swich po jednoj osi tako da se za oba limita, min i max, stavljaju dva prekidaca ciji su kontakti spojeni paralelno.

Probe input je isto cesto koriscena opcija na CNC i njeno ponasanje je vrlo prosto.
U sustini ti pustis jednu osu da se krece sporo ali sa komandom koja reaguje na taj input i sluzi da se odrede neke referetne tacke u prostoru, obicno tacan pocetak koordinatnog sistema masine. Dakle pustis kretanja relativno malom brzinom, recimo 1mm/s ili sporije i masina ce ici u tom pravcu dok se ne aktivira taj probe input. Taj input se obicno veze na neku plocicu ili metalni predmet koji mora biti izolovan od ostatka masine i recimo da imas malu burgiju u futeru glavnog obradnog motora (predpostavlja se da je on vec na GND) i kada se spoji burgija sa tim metalnim pipkom/komadom dolazi do spoja koje kontroler detektuje i ti si tako uspostavio fizicki kontakt izmedju ta dva predmeta sto znaci da si dostigao neke tebi referetne tacke u prostoru. Dakle kada se probe input aktivira prestaje dalje kretanje i ti tu tacku proglasavas nulom za jednu osu. Isto tako se ponovi proces za preostale dve ose i ti si masinu nulirao i znas gde je pocetak koordinatnog sistema.
Nulitanje se radi svaki put kada se ukljuci masina jer ne mozes drugacije da kazes masini gde je njena referetna tacka (moze sa apsolutnim enkoderima ali je to skupo i komplikovano, cesto se ne praktikuje).
Reply
#7
(07-13-2016, 11:16 PM)mikikg Wrote: Limit switch je standardna opcija na svim CNC masinama, bukvalno jedan prekidac (mikroprekidac ili induktivni ili magnetni) stoji pri kraju jedne ose tako da kada osa dodje do maximuma ili minimuma kretanja taj swich se aktivira i to je u sustini neregularna situacija, pali se alarm i izvrsavanje programa se momentalno prekida.

Ne mora uvek limit switch izazvati "neregularnu" situaciju.
Isti limit prekidači izrvršavaju i HOME funkciju, odnosno vrše referenciranje osa.

Po aktiviranju Go to HOME, svaka osa dodje do svog limit prekidača sa predefinisanom brzinom,
aktivira ga potom se malom brzinom vrati unazad i to tačno toliko samo da ga deaktivira
i potom se pokazivač pozicije te ose automatski postavlja na nulu.

Sa ovim se praktično "nuluju" sve ose, ali referenciranje Z ose nema nikakve veze
sa auto tool zero.

Pozz
Reply
#8
U sustini da tako je, moze limit switch da se koristi za nuliranje (konfigurabilno je to ponasanje iz kontrolera) ali nekako ja vise volim da mi oni ostanu za prave limite a sa probe input nuliram tacno ose jer je tako mogu preciznije da se pozicioniram. Mikroprekidac nije bas savrsen, okine neki put malo pre/kasnije sto unosi malo gresku kod pozicije.
Stvar izbora, kako kome treba po potrebi, bitno je u kontekstu ove price naglasiti da ipak treba iskoristiti te linije.
Reply
#9
Miki,
a koliko ti probe inputa imaš na raspolaganju ?
Reply
#10
Sa ovim GRBL ima jedan probe input, u sustini dosta posto ja kroz program radim jednu po jednu osu i tako odradim proces nuliranja.
Slicna je logika kao sa fabrickim masinskim CNC probama, samo sto u ovoj DIY varijanti napravim sa jednom osovinom i metalnom kuglicom na vrhu umesto kuglice od rubina koja se inace stavlja tu. Po drugom principu rade ti senzori/digitajzeri/probe za masinsku primenu, mere silu u tri ose, u DIY varijanti se samo detektuje elektricni kontakt.

Reply
#11
Da ne ulazimo u priču o 3D skenerima na CNC, kao i načinu procesiranja informacija sa takvih probe senzora.

----------------

Ja samo želim jasno podvući crtu, odnosno ukazati na razliku izmedju auto tool zero i ref all home,
što manje iskusnima može biti korisno ...

(sve što ću ovde napisati odnosi se na Mach3, ali princip je veoma sličan i kod drugih CNC kontrolera ..)

------------

Kod auto tool zero su uvek koristi PROBE input (koga u većini slučajeva imamo samo jedan !)
Ne može se koristiti ni jedan drugi ulazni signal za ovu funkciju !
Korisnik mora sam da konfiguriše ovu funkciju.
To se radi kroz mali makro sa VB kodom a pozivajući se na G kodove G31 ili G28.1

Ova funkcija se upotrebljava na bilo kojoj poziciji radnog stola, a sve u cilju korekcije Z ose
usled promene alata (recimo debljina burgija tokom bušenja). Nikada ne možemo znati
koliko je tačno dugačka burgija koju smo postavili i koliko smo je duboko umetnuli u futer.

Zato posle zamene burgije, uradimo AUTO TOOL ZERO, odnosno preko PROBE inputa
postavimo vrh burgije na željenu visinu.

Ova funkcija je u DIY svetu uglavnom namenjena za "nulovanje" Z ose,
ali se može uz malo žongliranja po makroima napraviti i da ostale ose dobijaju podatak
preko tog jednog jedinog PROBE inputa.

---------

Kada pričamo o REF ALL HOME, što predstavlja referenciranje SVIH osa i nema puno veze
sa nulovanjem Z ose - ta funkcija se obavlja preko Home input ulaza.
Home input ulazi se mogu konfigurisati da signal dobijaju od Limit switch-a, - pa je na taj
način izbegnuto postavljanje posebnih senzora za ovu funkciju.

Ref all home se izmedju ostalog, koristi kada mašina ne zna gde se u koordinatnom sistemu trenutno nalazi obradna glava.
I naravno to se ne radi svaki put, kada se menja alat (kao kod auto toll zero).
Ako se umesto mikroprekidača postave induktivni bezkontaktni davači (koji više nisu skupi) dobija se
referenciranje svih osa sa zadovoljavajućom preciznošću .

Znači svaka osa ima svoje ref all home kretanje

****
I naravno, u svakom trenutku ostaje LIMIT switch funkcija, bez obzira što isti signal deli i HOME funkcija !

----------
Pozz
Reply
#12
Samo da dodam,

uz izmenu makroa za PROBE input može se uz pomoć
dodatka koji se čak može napraviti u DIY varijanti a koji predstavlja
jednostavan "3D pipak" dobiti funkcija postavljanja koordinatnog početka na obradku
što bi rekli "nulovanje".

Evo linkova:
http://www.micro-machine-shop.com/3D_digitizing.htm
https://www.google.rs/imgres?imgurl=http...mrc&uact=8
http://www.vinland.com/touch-probe.html
https://www.google.rs/imgres?imgurl=http...mrc&uact=8

Ovo može biti korisno kada postavimo obradak na radnu površinu, a ne znamo
tačne koordinate na gde je postavljen (što je u DIY najčešći slučaj) pa onda umesto
ručnog doterivanja vrha alata po svakoj osi i zatim ručnim nulovanjem ( ili dodavanjem ofseta) te ose,
odradimo to lepo automatski Smile

Naravno, opet moramo ručno dovesti vrh alata u neposrednu blizinu tačke
koja će biti koordinatni početak obradka, a potom pozvati auto tool zero.

Pozz
Reply
#13
Svaka čast...na detaljnome stivu ja cu se javiti ovdje cim budem imao kod i pc apk u razvoju...

Samo sam zaboravio pitati jeli moze TB6560 raditi i u mikrostepping modu?

Pitam prije crtanja dalje sheme i proucavanja datahsetta sto sve uredjaj ima..u datasheetu ne vidim nista po pitanju mikrosteppinga...a vidim da posti linistepper ali ono je sa picom a ja radim sa atmelom...tako da ako moze jos odgovor oko toga mikrosteppinga i onda mogu na "učenje"
Reply
#14
U prvoj rečenici prve strane datasheet-a za TB6560AHQ pronaćeš odvovor na svoje pitanje.
https://www.google.rs/url?sa=t&rct=j&q=&...3452,d.bGs

Pozz
Reply
#15
Naletio na ovu stranicu kako se spaja taj kontroller:

http://www.cuteminds.com/en/elettronicag...-tb6560ahq

Ja sam shemu preradio kako sam zamislio da treba da se spoji na AVR pa ako sam nesto krivo izbacio alarmirati Big Grin

Reply
#16
(07-14-2016, 06:47 PM)ronovar Wrote: Naletio na ovu stranicu kako se spaja taj kontroller:

http://www.cuteminds.com/en/elettronicag...-tb6560ahq

Ja sam shemu preradio kako sam zamislio da treba da se spoji na AVR pa ako sam nesto krivo izbacio alarmirati Big Grin

Pa neće tako valjati drugar !

Tih 6 koder prekidača sa originalne šeme koje si obrisao služe za setovanje, različitih modova rada.
(excitation modes, decay i current set). - Objašnjenja ovih pojmova imaš u datasheet za TB6560AHQ.
Tako kako si ti nacrtao oni ostali da vise u vazduhu.

Ti koder prekidači moraju da postoje, i ti moraš ručno da ih setuješ.
A tvoj AVR samo šalje STEP i DIR impulse.

Dalje, STEP i DIR signali ni na originalnoj šemi nisu izolovani optokaplerima !

------------

Poslušaj Mikijev savet, i kupi gotove drajvere za step motore
veruj mi, uštedećeš si mnogo muka ...

********
Ima puno šema za drajvere step motora na internetu.
Ni jedna koju sam video nije kompletna, odnosno svakoj fali dorada da bi to radilo kako treba.
Mada ni ti jeftini Kineski drajveri nisu rešeni kako bi trebalo (zarad što niže cene), ali rade nekako u manje zahtevnim aplikacijama ...

Pozz
Reply
#17
Imaš pravo kad vidim te kontrolere za 50-60USD jeftinije i bolje je rjesenje uzeti gorov kontroller..uzet cu gotov i gotovo.

Hvala na pomoci...pa dok stigne krece se dalje sa motorila mehanikom i softwerom da se to sve spoji i pokrene.
Reply
#18
Ne moras uzimati ceo kontroler, samo drajverske module, mislio sam na ovakve:


Sam kontroler mozes napraviti ili cak uzeti ceo Arduino UNO i samo ispovezivati to medjusobno.
Reply
#19
(07-14-2016, 06:47 PM)ronovar Wrote: Naletio na ovu stranicu kako se spaja taj kontroller:

http://www.cuteminds.com/en/elettronicag...-tb6560ahq

Ja sam shemu preradio kako sam zamislio da treba da se spoji na AVR pa ako sam nesto krivo izbacio alarmirati Big Grin

Kako si nacrtao semu, tebi ce to kolo uvek da bude u resetu!!! Proveri da li je reset na 0 ili na 1!!! Kako je nacrtano trebalo bi da bude na 0, ali ti u semi pise da je na 1. To znaci da ce tvoje kolo stalno da bude u resetu!!!
Nemas zastitu od obrnutog polariteta dolaznog napajanja. Da li je elektrolit od 470uF neka smislena vrednost (proracunata na osnovu struja motora i max dozvoljenog pada napona na istom) ili je onako sacometrijski? Ona bi trebala da bude izracunata, da ne bi imao problema kasnije. Takodje dolazno napajanje bi trebalo da ima i zastitu od prenapona i prevelike struje (npr. TVS + Polyswitch). Svaka linija koja je povezana sa MCU bi trebala da ima svoju ESD zastitu (RC).

Ovo su samo kratke smernice. Zelja i Miki su sve lepo objasnili. Miki je implementirao CNC vise puta. Poslusaj sve njegove savete. Covek ima dosta iskustva i pregazio je sve probleme vise puta. Mogu samo jos da dodam, da ako postavljas krajnje prekidace za slucaj bezbednosti, mozes takodje da ih vezes na red za napajanjem za motore (NC kontakti), tako da kada dodje do gazenja istih, gasi se napajanje za motore, sto uzrokuje i automatsko iskljucivanje motora.

Pozdrav
Reply
#20
Gledam koji cu cnc usb kontroller naruciti...ali ako bi mogao ko odraditi shemu vezivanja toga chipa drivera za cnc na avr nije mi problem napisati softwer u vb...tako da zelja mi je nauciti logiku cnc-a ali nema se znanja dovoljno da to spojim sa shemom...tako da cu uzeti gotov prototip spojiti sve lijepo na pc instalirati softwer i vozi...hvala svima na objanjenju...jer sad vidim da logika kontrole cnc motora nije tako jednostavna kako se cini kada kupis gotov modul i dobis sve rjeseno od ljuti koji se time bave duze vrijeme.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)