This shows you the differences between two versions of the page.
pm:prj2022:alaura:cnc_plotter [2022/05/13 01:29] george.cioban [Hardware Design] |
pm:prj2022:alaura:cnc_plotter [2022/05/27 17:51] (current) george.cioban [Rezultate Obţinute] |
||
---|---|---|---|
Line 31: | Line 31: | ||
* Profil 2020 aluminiu X 1 | * Profil 2020 aluminiu X 1 | ||
* Servomotor SG90 X 1 | * Servomotor SG90 X 1 | ||
+ | * Diverse parti imprimate 3D => https://www.tinkercad.com/things/1ZP91gVoBcc-cncplotterbot | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | Codul aplicatiei a fost dezvoltat folosind VSCode + Extensia de Arduino (Care la randul ei se foloseste de Arduino IDE) | ||
+ | Repository GitHub: https://github.com/adriangeorge/CNC-Plotter | ||
+ | |||
+ | Librarii: | ||
+ | Servo.h - folosit pentru controlarea servomotorului de la capul de scriere | ||
+ | |||
+ | Algoritmi folositi / functii implementate: | ||
+ | Functii de ridicare si coborare a creionului **pen_up()/pen_down()** | ||
+ | Functie pentru executia unui singur pas **step(int dir, int axis)** | ||
+ | Functie pentru miscare pe axa X si Y cu specificare a pozitiei creionului **move(int stepsX, int stepsY, bool new_pen_state)** | ||
+ | Functie pentru miscare la anumite coordonate **move_to(int x, int y, bool pen_state)** | ||
+ | | ||
+ | In loop se poate prelua o instructiune G-Code in formatul | ||
+ | G01 X<STEPS_X> Y<STEPS_Y> Z<If 0 => pen_down() else pen_up()> | ||
- | <note tip> | ||
- | Descrierea codului aplicaţiei (firmware): | ||
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | ||
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | ||
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | ||
- | * (etapa 3) surse şi funcţii implementate | ||
- | </note> | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | Utilizare: |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | Userul poate transmite prin interfata seriala instructiuni GCODE G01 iar plotter-ul se va |
- | </note> | + | deplasa la coordonatele specificate. Acest mod de comunicare permite utilizarea unui script de python pentru transmiterea instructiunilor si astfel desenarea oricarei forme (in teorie) |
+ | {{:pm:prj2022:alaura:whatsapp_image_2022-05-27_at_17.41.54_2_.jpeg?300|}} | ||
+ | |||
+ | {{:pm:prj2022:alaura:whatsapp_image_2022-05-27_at_17.41.54.jpeg?300|}} | ||
+ | |||
+ | {{:pm:prj2022:alaura:whatsapp_image_2022-05-27_at_17.41.54_1_.jpeg?300|}} | ||
+ | |||
+ | {{:pm:prj2022:alaura:whatsapp_image_2022-05-27_at_17.41.55.jpeg?300|}} | ||
+ | |||
+ | {{:pm:prj2022:alaura:whatsapp_image_2022-05-27_at_17.41.53.jpeg?300|}} | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | |||
+ | La miscarea pe axa Y dispozitivul oscileaza foarte tare, din pacate nu am reusit sa gasesc o solutie pentru acest lucru momentan. | ||
+ | |||
+ | A fost foarte dragut sa pot invata sa fac modele pentru imprimarea 3D si lucrul hands-on cu componente mi se pare la fel foarte util. | ||
+ | |||
+ | |||
+ | |||
===== Download ===== | ===== Download ===== |