coco243 Postat August 18, 2016 Partajează Postat August 18, 2016 Vreau sa fac un controller CNC cu pic-uri si nu am gasit pe nimeni care sa fi finalizat asa ceva, ma puteti ajuta cu informatii? nu stiu de unde sa incepMultumesc, Link spre comentariu
mars01 Postat August 18, 2016 Partajează Postat August 18, 2016 Salut, Te poti inspira de aici: https://github.com/grbl/grbl/wiki Este pentru Arduino dar nu te impiedica nimeni sa portezi codul pentru PIC sau sa te inspiri pentru un proiect de conceptie personala. Iar daca intentia este de a realiza un controller CNC in conjunctie cu MACH3 atunci va trebui sa studiezi SDK-ul oferit de cei de la Newfangled Solutions http://www.machsupport.com/software/downloads-updates/. Link spre comentariu
coco243 Postat August 18, 2016 Autor Partajează Postat August 18, 2016 (editat) Mersi de raspuns, Asa la prima vedere solutia cu MACH 3 este mai profi. Ma insel? Plus ca impresia mea este ca programarea PIC-urilor este mai sanatoasa decat cea cu Arduino. Sincer am programt PIC-uri la nivel de activare de iesiri atat in cod ASM cat si in cod C, oricum doar la nivel Basic, dar oricum sunt multumit de acest pas. Pt Arduino poate ca nu trebuie programator ( momentan nici nu sunt interesat) am inteles ca te conectezi direct prin USB, dar mi se pare mai sanatos sa programez in C sau ASM decat sa Compilez nu stiu ce alt cod. Oricum multumesc foarta mult pentru resurse, continui sa le citesc sa imi fac o parere mai realista. Editat August 18, 2016 de coco243 Link spre comentariu
mars01 Postat August 18, 2016 Partajează Postat August 18, 2016 Arduino este doar un bootloader, o placa de dezvoltare bazata pe controlere Atmel si un set de abstractizari software / biblioteci de functii realizate in C si/sau C++ asa ca nu e mare tragedie de portat codul Arduino in cod C pentru PIC. Link spre comentariu
Mircea Postat August 18, 2016 Partajează Postat August 18, 2016 (editat) Se poate pune bootloader si pe PIC-uri, caci multe au USB.Eu folosesc o aplicatie Mikroe pentru PIC familia 18. Pot posta daca te intereseaza. E util bootloaderul cand lucrezi SMT si faci multe teste si programari. Dar oricum tot 2 pini ocupa, precum un ICSP, ignorand MCLR-ul. Editat August 18, 2016 de thunderer Link spre comentariu
Mircea Postat August 19, 2016 Partajează Postat August 19, 2016 Uite link la aplicatie, si PIC16 si PIC18: www.mikroe.com/eng/downloads/get/1808/ready_pic_bootloader_v102.zip Link spre comentariu
coco243 Postat August 19, 2016 Autor Partajează Postat August 19, 2016 Momentan, citesc ghidul de instalare si utilizare de la mach3, ca sa mi fac i idee, apoi o sa ma uit si la varianta de portare de pe arduino ca sa mi fac o idee.Mersi mult de documentatie Mars, macar acum am un punct de plecare.Am sa tin cont si de bootloaderul ala de pic uri thunderer, momentan raman pe varianta de programator.Multumesc pentru informatii. Link spre comentariu
coco243 Postat August 25, 2016 Autor Partajează Postat August 25, 2016 Am citit despre varianta cu Mach3 si cea cu grbl. Din ce am inteles varianta 1 foloseste un PC pt a simula un CNC, iar la varianta 2 nu este necesar acest lucru. Momentan mi se pare mai potrivit sa tranfer G-codul direct in microcontroller, ca sa nu trebuiasca cu calculator dedicat pentru simulare de CNC. Va rog frumos asa cum m-ati ajutat cu un punct de plecare la inceput, ajutati-ma si cu un punct de plecare pentru portarea codului grbl pe un PIC. Multumesc, Link spre comentariu
mars01 Postat August 25, 2016 Partajează Postat August 25, 2016 Mai intai alegi un uC PIC care sa fie comparabil dpdv hardware cu un ATmega328. Adica sa aiba cel putin acelasi numar de pini IO, timere, frecventa reala de functioanre (MIPS). Dupa care te apuci si iei la periat toate fisierele care sunt in proiect. Acolo unde identifici functii specifice Arduino, le inlocuiesti cu functii echivalente definite de tine. Unde este cazul faci adaptari dar respectand logica programului. Portarea din Arduino (un mic de C si C++) in C pentru PIC a proiectului GRBL presupune: - stii sa programezi Arduino (esti familiar cu functiile Arduino cat si cu conceptele de baza din C++ si/sau C) - stii sa programezi un controller PIC - cunosti foarte bine proiectul GRBL Spor la studiu. Link spre comentariu
coco243 Postat August 26, 2016 Autor Partajează Postat August 26, 2016 O sa incerc, dar stau si ma gandesc de ce nu a mai facut cineva asta... Link spre comentariu
coco243 Postat August 26, 2016 Autor Partajează Postat August 26, 2016 (editat) in fisierul grbl.h se defineste "#include <avr/io.h>" , de unde descarc avr/io.h? ca pe site-ul de la grbl nu il gasesc. Il are fiecare tip de procesor de la atmel? Mersi. Editat August 26, 2016 de coco243 Link spre comentariu
coco243 Postat August 26, 2016 Autor Partajează Postat August 26, 2016 (editat) Din cate am inteles "#iclude <avr/io.h>" este echivalentul #include<pxxfxxx>. Ma insel? dar hederul pxxfxxx.h de la microchip facand o comparatie le echivaleaza si pe astea? : <avr/pgmspace.h> <avr/interrupt.h> <avr/wdt.h> Mersi Editat August 26, 2016 de coco243 Link spre comentariu
djvas Postat August 26, 2016 Partajează Postat August 26, 2016 O sa incerc, dar stau si ma gandesc de ce nu a mai facut cineva asta... Nu a facut nimeni asta pentru ca rezultatul va fi un semi esec ... Nu am testat GRBL dar sunt aproape sigur ca e bun doar sa misti niste motoare nimic mai mult. Sunt curios cate CNC-uri ai costruit ( sau folosit) pana acum si cu ce software/ hardware. Link spre comentariu
coco243 Postat August 26, 2016 Autor Partajează Postat August 26, 2016 (editat) De construit nu am construit niciunul. De folosit am folosit un CNC FANUC (industrial). Ce sa spun, mi-ar placea mult sa fiu in stare sa fac electronica pentru un CNC. Adica un CNC caruia sa nu-i trebuiasca un calculator gazda sa-l simuleze. Desi am tot cautat si tot cautat pe net nu am gasit inca pe cineva care sa fi construit un CNC cu pic-uri si care sa explice cum l-a facut si la muritori. Gasesc doar franturi de informatii dar nimic cap-coada finalizat. Sunt dezamagit. Sunt constient ca dispun de cunostinte minime in materie de uControlere, comunicatii, trnasformare G-code in miscari catre driverele motoarelor, C dar sunt dispus sa muncesc pentru a reusi, sper sa fiu capabil sa o duc la capat si va rog sa ma ajutati daca puteti sa merg pana la capat. ( Sper sa nu alerg dupa o himera ) Ma gandesc totusi ca poate se poate realiza un tranfer G-code in miscari catre servomotoare care sa formeze pana la urma un CNC. Sper sa gasesc timpul, inspiratia si ajutorul persoanelor potrivite pentru a merge mai departe si pana la urma sa fie posibil ce vreau eu sa fac, caci poate vreau si eu ceva imposibil de realizat in regim DIY. Deci astept in continuare ajutorul si indrumarile voastre. Editat August 26, 2016 de coco243 Link spre comentariu
mars01 Postat August 27, 2016 Partajează Postat August 27, 2016 (editat) Din cate am inteles "#iclude <avr/io.h>" este echivalentul #include<pxxfxxx>. Ma insel? dar hederul pxxfxxx.h de la microchip facand o comparatie le echivaleaza si pe astea? : <avr/pgmspace.h> <avr/interrupt.h> <avr/wdt.h> Mersi Portarea codului o faci trecand prin fiecare fisier sursa (.c), linie cu linie. Atunci cand dai de o functie care nu este definita in fisierele sursa, este clar ca trebuie sa cauti in biblioteci cum sunt acelea pe care le-ai postat. In acel moment ai doua variante: ori cauti o functie echivalenta oferita de compilatorul C pentru PIC folosit (daca exista) ori cel mai probabil, vei crea singurel functia respectiva. Concret insa, bibliotecile de functii la care faci referinta contin functii: wdt.h - functii pentru apelarea modulului WatchDog interrupt.h - functii pentru lucrul cu intreruperi pgmspace.h - functii AVR pentru stocare date in memori flash a controllerului. Functiile care tin de wdt.h, interrupt.h sunt usor de substituit cu unele echivalente pentru PIC dar pentru cele din pgmspace.h probabil ca va trebui sa gasesti o solutie inlocuitoare. Va trebui sa te informezi daca nu a facut cineva o biblioteca de scris in memoria flash a controllerului. Parca uC-urile din seria 18F si unele din seria 16F permit scrierea flash-ului la runtime si mikroC parca are unele functii pentru aceasta (biblioteca FLASH) dar probabil ca nu se pot pur si simplu inlocui ci trebuie facute unele adaptari. Dar daca tot se face munca aceasta de portare probabil ca mai bine ar fi sa alegi un PIC32 (uC de la Microchip pe 32 de biti) care ofera mult mai multa performanta comparativ cu uC-urile pe 8bit (lucru de care ai nevoie cand este vorba de generarea de pulsuri pentru controlul unor motoare CNC). Si inca si mai bine ar fi sa introduci un CPLD / FPGA in proiect pentru a benficia de pe urma paralelismului in executie. Editat August 27, 2016 de mars01 Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum