Sari la conținut
ELFORUM - Forumul electronistilor

Utilizare ATMEGA8 micromoatare pas cu pas driver DRV8834


Postări Recomandate

Salutare.

Vreau sa construiesc ceva si cum la partea de microcontrolere nu prea am experienta decat de sters,programat vreo unul am nevoie de ceva ajutor.

 

Este vorba de un obiectiv de aparat foto,compus inafara de optica din doua micromoatoare pas cu pas,bipolare cred,intrucat au doar patru pini,doi senzori optici,un fel de optocuplor cu fanta,pentru limita de cursa si un fel de diafragma, tot electronic este comandata si asta.

 

Ca si elemente de control ar fi butoane sau mai bine cred encoder rotativ cu push button.Functia de push button ar merge pentru modificarea vitezei,mai mare sau mai mica.

Pentru comanda motoarelor am optat pentru DRV8834

Posted Image

 

Pentru drivere cred ca pot folosi acelasi semnal de STEP pentru ambele,daca nu atunci separat.

Mai adaug un semnal la M0 sau M1 pentru un control mai fin,asta inseamna ca am nevoie de 7 sau 8 pini iesiri pentru drivere.

 

Pentru encodere,aici nu e vreo diferenta intre butoane si encoder decat in soft,3 pini de fiecare deci 6 pini intrari comanda.

 

Inca doi pini intrari de la optocuploare.

 

Ar mai trebui doua intrari pentru butoane control diafragma si o iesire pentru ea.

 

Este vreun avantaj sau dezavantaj daca folosesc oscilatorul intern sau quart extern?

Stiu ca la programare gresita la fusebits nu il mai poti reprograma decat cu semnal de oscilatie extern,la fel se intampla si daca se foloseste quart extern?

 

Versiunile de Atmega8 sunt PDIP

 

As incerca cam asa.

Portul D iesiri pentru drivere.

Portul C comanda de la encodere

Portul B optocuploare si ce mai este pentru diafragma,doi pini,doua butoane,un pin o iesire.

 

Este bine asa sau sunt ceva limitari si nu-l pot folosi in configuratia asta.

Daca folosesc si portul B pot sa-l mai programez in circuit?

 

Apoi vine problema softului,insa astept sfaturile voastre sau confirmarea ca e buna sau nu configuratia de mai sus,sa fac pe placa de test versiunea de baza si apoi sa-mi prin urechile prin soft.

 

Daca mai stiti pe undeva proiecte similare,eu nu prea am gasit,sunt bune de inspiratie.

 

Multumesc.

 

Link spre comentariu
  • Răspunsuri 4
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Top autori în acest subiect

Salut,

 

Poti folosi portul B si pentru altceva decat programarea uC-ului cu conditia sa:

- ai grija sa nu ai un semnal repetitiv pe pinul PB5 (SCK) cand programezi uC-ul

- sa inserezi rezistori pe toti pinii de programare de cca 4.7K. Headerul de programare va fi conectat direct pe pinii controller-ului iar montajul tau (opto, butoane etc) sunt conectate prin rezistorii mentionati, la acei pini.

 

In cazul acestui uC, iti pui problema daca ai ales pinii corecti doar daca intentionezi sa folosesti unele din functiile alternative care se gasesc pe pini. Dar cum tu ai sa folosesti in mare parte functia de pin digital nu cred ca trebuie sa iti faci probleme.

Pe portul D ai intreruperile externe in cazul in care te vei folosi de acestea pentru citirea de encoder(e). 

 

Tot ce ai nevoie sa stii gasesti in datasheet.

Link spre comentariu

Multumesc de raspuns.

Intre timp din ce am mai citit,e vorba de ceva intreruperi,sa le spun asa in romana,

Atmega8 are doar doua,poate ar fi suficiente,si 3 timere,de primul adica 0,am inteles ca nu e bine sa te legi de el.

Oricum imi pare imbarligat,un port cu 7 biti unul cu 8 biti.

 

Mai am de studiat si citit,poate in final inteleg si mai invat ceva.

 

Sau poate folosesc un atmega si un driver,

Nu prea s-a inghesuit lumea sa-mi spuna daca e bine sau rau cum am gandit eu in prima faza.

Momentan,sunt in dubii,alt microcontroler,sa doua pentru cele doua motoare.

 

Maine,daca am timp,incep experimentele.

Editat de gabiz_ro
Link spre comentariu

Un prim sfat: poate ar trebui sa folosesti un ATMega88, caz in care toate porturile sunt prevazute cu funtia de intrerupere la schimbarea starii (PCInt).

Pentru encodere poti folosi cele doua intreruperi externe (INT0 - PD2 - si INT1 - PD3 -) si doi pini adiacenti (ex.PD0 si PD1)

Pentru motor poti folosi PD4...PD7, iar pentru comanda driver-ului PB0 ... PB2.

Pentru butoane, diafragma si alte cele PC0 ...PC5 si asta ca sa lasi MOSI si SCLK libere pentru programare.

Link spre comentariu

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 cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări