Table of Contents

Graph drawer

Introducere

Scopul este de a desena imaginea unor functii date ca input, pe anumite intervale. Outputul se va scrie pe hartie.

Schema bloc

Lista piese

  1. Placa de baza cu microcontroller
  2. Motor stepper x2
  3. Driver a3967 x2
  4. Tastatura 4×4
  5. Elemente de mecanica
    1. roti dintate x2
    2. cremaliere
    3. piulite, suruburi, saibe
    4. placute de plastic

Schema electrica

Cele 2 drivere sunt conectate la fel, doar ca unul este pe port D, iar celalalt pe port B. Tastatura ocupa 8 pini: PA0-PA7.

Detalii de implementare

Pentru tastatura, am implementat o functie care intoarce caracterul tastei apasate (functioneaza corect doar pentru o singura tasta apasata). Pentru motoare, am folosit drivere. In primul rand, driverele imbunatatesc functia de microstepping. De asemenea, fara drivere era mai mult cod de scris. Planul initial era sa folosesc un motor puternic (cu 64 pasi/rot) si unul precis, dar mai slab (200 pasi/rot). Cand le-am cumparat, nu am reusit sa gasesc roata dintata pentru motorul puternic. Am incercat sa o printez 3D, dar rezultatele nu erau satisfacatoare. Astfel, in ultima saptamana a trebuit sa caut alt motor, dar singurul motor pe care l-am gasit si am gasit si roata pentru el era un motor slim (cu pasul de 15 grade).

Partea mecanica

Intr-o cutie am legat cele 2 motoare si driverele lor. Un motor impinge cutia cu ajutorul unor cremaliere fixe. Celalalt motor misca un brat, in varful caruia se afla creionul/pixul.

Rezultate

Surpriza, motorul slim nu este destul de puternic sa impinga tot ansamblul (nici macar cu eighth step). Am schimbat motoarele intre ele si spre surprinderea mea, motorul precis putea misca ansamblul (fara sa foloseasca half stepping). Totusi, motorul slim nu poate misca bratul in mod constant.

Cod sursa

pm_raducervinschi.zip