MicroManipulator deschis - O platformă de control al mișcării 3D sub-micrometru
Lista de materiale (BOM) merită atenție deosebită!
Platformă de control al mișcării 3D cu precizie sub-micrometrică: prezentarea unui manipulator micro-motorizat cu sursă deschisă
Proiectul prezentat aici oferă o soluție motorizată pentru mișcare pe trei axe, concepută special pentru a atinge o acuratețe sub micrometru. Această platformă, disponibilă sub formă de cod sursă deschisă, este destinată unor aplicații precum alinierea optică, explorarea componentelor electronice sau utilizarea în microscopie. Pentru o înțelegere mai profundă a modului în care dispozitivul este construit și funcționează, este disponibil un video pe YouTube care detaliază procesul de fabricație și funcționarea echipamentului.
Arhitectura cinematică paralelă, combinată cu articulații cu bile miniaturizate, asigură o rigiditate mecanică excelentă și o amplitudine mare de mișcare. Motorii folosiți sunt motorii pas-a-pas standard, disponibili pe piață, conduse printr-un controler în buclă închisă funcționând la 30 kHz, utilizând un semnal PWM de precizie foarte ridicată.
O abordare bazată pe „angrenaj magnetic” crește rezoluția codificatorilor rotativi magnetici de joasă cost cu un factor de 30, ceea ce permite pași de doar 50 nm.
Este important de reținut diferența dintre rezoluție și acuratețe absolută; în acest caz, acuratețea absolută este semnificativ mai slabă decât rezoluția.
Dispozitivul se controlează prin comenzi simple de G-Code, transmise printr-o interfață serială USB, ceea ce îl face ușor de integrat în alte proiecte. Firmware-ul include o stivă completă de planificare a mișcării, cu funcție de „look-ahead”, pentru a asigura o urmărire netedă și precisă a traiectului.
Pentru cei care doresc să reproducă proiectul, mai jos este listată o serie de pași de nivel înalt pe care îi puteți urma: citirea documentației și vizionarea video-urilor legate, achiziționarea pieselor enumerate în lista de materiale (Bill of Materials), construirea dispozitivului și a electronicii, adaptarea configurației hardware-ului conform construcției dumneavoastră în fișierul hw_config. h, încărcarea firmware-ului folosind VSCode cu plugin-ul PlatformIO, și calibrarea axelor.
Pentru întrebări sau probleme legate de construcție sau discuții despre proiect, puteți alătură serverul Discord al comunității proiectului.
O nouă versiune a hardware-ului a fost lansată, remedind mai multe probleme ale designului anterior.
Printre corecții se numără: eliminarea coliziunii auto în timpul procesului de home, constrângerea mai bună a blocului articulației cu bile (care anterior putea se roti ușor), asigurarea unei lungimi constante a tigoanelor de legătură, reducerea frecării la articulațiile cu bile, dependența mai mică de calitatea imprimării 3D pentru poziția exactă a bilor, și posibilitatea de a schimba sau îndepărta benzile de cauciuc care erau lipite în versiunea veche.
Un alt video pe YouTube prezintă procesul îmbunătățit de fabricație a articulațiilor cu bile și a tigoanelor de legătură.
De asemenea, modelul FreeCAD a fost restructurat și îmbunătățit, acoperind acum toate pin-urile și elementele de fixare. Acesta oferă o referință completă pentru toate piesele mecanice necesare.
Trebuie menționat că lista de materiale (BOM) nu a fost încă actualizată pentru noul design. Pentru a facilita testarea și utilizarea Manipulatorului Micro Deschis, este disponibil un program de control în Python cu interfață grafică.
Acesta oferă controale simple pentru mișcarea dispozitivului, afișând în același timp o imagine live de la o cameră (de exemplu, de la o cameră de microscop).
Funcții suplimentare includ un rular de G-Code simplu și control în timp real cu mouse-ul, util pentru aplicații biologice.
API-ul Python ușor de folosit gestionează toată comunicația serială și oferă execuție convenabilă de comenzi și afișare a mesajelor de depanare. Interfața include funcții pentru home, mișcare și calibrare a dispozitivului, precum și interogarea informațiilor despre dispozitiv.
Este suficient să copiați fișierul open_micro_stage_api. py în proiectul dumneavoastră (instaland dependențele din requirements. txt) pentru a începe.
Exemplu de utilizare: se creează interfața, se conectează la portul serial, se calibrează articulațiile, se execută mișcări la coordonate specifice, se așteaptă finalizarea mișcărilor, și se deconectează.
Firmware-ul versiunea 1.0.4 vine cu multe îmbunătățiri minore, corecții de erori și o caracteristică nouă importantă. Suportul pentru unelte este acum disponibil pe cele două pini GPIO ai conectorului J5 din placă, permițând utilizarea unelte (de exemplu pentru gravare cu laser). Uneltele sunt integrate în planificatorul de mișcare și funcționează rapid și cu timing corect la executarea G-Code-ului. Se suportă semnale PWM (folosind funcția PIO pentru a obține canale suplimentare fără a se baza pe PWM prin software). Exemplu: comanda M3 T0 S0.7 setează ieșirea PWM a uneltei 0 la 70%, urmată de o comandă de așteptare G4 pentru aplicarea ieșirii.
Calibrarea include acum verificări suplimentare de eroare pentru a raporta mai bine problemele posibile
Calibrarea include acum verificări suplimentare de eroare pentru a raporta mai bine problemele posibile, cum ar fi alinierea codificatorului.
Codul de inițializare a fost curățit și comentarii mai clare au fost adăugate la parametrii. Parametrii sunt preconfigurați pentru HW v4.0, dar se poate comuta la parametrii vechi pentru HW v3.0 dacă este necesar. Dacă aveți Hardware Version v3.0, trebuie să comutați la parametrii cinematici vechi în fișierul kinematic_model_delta3d. cpp (există un #define pentru aceasta la începutul fișierului).
Această actualizare îmbunătățește calibrarea, procesul de home, jurnalizarea și adaugă mai multe comenzi G-Code noi.
Printre noile comenzi se numără: G28 pentru home-ul articulațiilor (suportând home-ul mai multor axe simultan pentru pornire mai rapidă), G24 pentru setarea directă a țintelor servomotorului (ocolește controlerul de mișcare), M17/M18 pentru activarea/dezactivarea motorilor (cu recuperarea poziției din codificatoare la activare), M51 pentru citirea valorilor codificatorului, M55 pentru setarea parametrilor buclei servomotorului, M56 pentru calibrarea articulațiilor (cu opțiunea de salvare în flash), M57 pentru citirea diverselor informații despre starea dispozitivului, și M58 pentru citirea versiunii firmware-ului.
Toate modelele CAD sunt create în FreeCAD pentru a permite oricui să vizualizeze și să modifice designul fără a abona la o soluție CAD proprietară. Majoritatea componentelor sunt concepute cu scopul de a fi ușor prelucrate pe o mașină CNC cu 3 axe. Deși se pot imprima în 3D, trebuie să vă obișnuiți cu derivarea termică (filamentele umplute cu carbon pot reduce această problemă). Unde se găsesc fișierele CAD? Fișierele CAD se găsesc la secțiunea „CAD Models”, iar fișierele STL pentru imprimare la „STL Files”. Luați în considerare că a fost folosită versiunea FreeCAD 1.2.0dev, deci fișierele ar putea nu funcționa cu versiuni mai vechi.
Modelul cinematic este definit în fișierul kinematic_model_delta3d. cpp.
Verificați dimensiunile construcției dumneavoastră față de valorile din constructor, în special lungimea brațului.
Atenție: dacă ați fabricat placa de circuit imprimat versiunea v1.2 (verificați eticheta de versiune pe placă), trebuie să găuriți un via plasat greșit pe dioda D1 care scurtocluie șina de 5V la masă.
Problema a fost corectată în v1.3.
Electronica este proiectată în KiCAD și folosește doar module comun disponibile (conducători de motor și plăci MCU), conectate printr-o placă de circuit simplu. Nu este necesară lipirea componentelor SMD pentru a popula placa, ceea ce face construcția accesibilă pentru toți.
Pentru rezistența obișnuită a înfășărilor motorilor, dispozitivul trebuie alimentat cu tensiune adecvată. Depozitul conține acum și fișiere de fabricație care pot fi încărcate direct la fabricantul de plăci de circuit imprimat.
Firmware-ul este scris în C++ și se inspiră din proiectul „SimpleFOC”.
El este conceput să fie simplu și ușor de citit, concentrându-se pe hardware-ul folosit în acest proiect.
Implementează planificarea traiectului cu funcție de look-ahead și, spre deosebire de mulți alți proiecte de control al mișcării, suportă interpolare și planificare a poziției 6DOF, ceea ce îl pregătește pentru platforme de mișcare hexapod; acest lucru ar putea fi pasul următor al proiectului.
Configurația pentru numerele pinilor, tipul motorilor și alți parametri se găsește în hw_config. h. Verificați aceste setări înainte de a încărca firmware-ul.
Pentru construirea și încărcarea firmware-ului, se recomandă Visual Studio Code (disponibil gratuit pe Windows și Linux).
Instalați suplimentul PlatformIO și deschideți folderul firmware. Acum puteți construi și încărca firmware-ul ca orice alt proiect PlatformIO. Firmware-ul suportă doar o submulțime mică de comenzi G-Code enumerate mai jos.
Fiecare comandă este confirmată printr-o Dacă o comandă oferă informații suplimentare (de exemplu, comanda de obținere a poziției), acele informații sunt returnate înainte de mesajul „ok”.
Clientul trebuie să aștepte confirmarea de la comanda anterioară înainte de a trimite următoarea—altfel, comportamentul este neînțeles. Protocolul de comunicare folosește vectori 3D pentru a descrie pozițiile și mișcările.