Sari la conținut
ELFORUM - Forumul electronistilor

indicare directie rotatie un ax cu PIC


Postări Recomandate

frecventa setata in flowcode este de 4Mhz, prescaler-ul este setat la  1:128, deci de cate ori trece prin intreruperea TMR0, va aduna 1deci de fiecare data cand variabila TMR0 va fi 30, aceasta se va reseta si va aduna +1

Iar n-am inteles nimic...Prescaler 1:128 inseamna ca ceasul timerului e de 128 de ori mai lent decat ceasul sistemului. La fiecare al 128-lea puls de ceas sistem, timerul incrementeaza registrul asociat.Cand registrul se umple, genereaza intrerupere.Asa se ajunge si la metoda de control a perioadei timerului - se programeaza in registrul timerului valoarea de la care numarand (eventual incetinit de prescaler/postscaler) pana se umple registrul (255 la timere pe 8 biti) se obtine perioada dorita.
Link spre comentariu

@LiviuM

nefiind in bransa, am prins din zbor aceste notiuni si automat nu pot explica pe intelesul unuia ce se pricepe. ba mai mult cred ca le confund.... este exact ca atunci cand vezi un tigan la tv ce se da rotund, mare meserias...de unde...pute.

pe scurt scurt: ce-mi scapa in flowcode pentru ca simularea sa se produca in timp real, asa cum se intampla in Protheus(care corespunde cu varianta hardware/executata), si ma refer aici la timp: in flowcode, in simulare 5 secunde(diin soft) sunt vreo 2 minute, in protheus, 5 secunde sunt 5 secunde, se respecta...

Link spre comentariu

@LiviuM

nefiind in bransa, am prins din zbor aceste notiuni si automat nu pot explica pe intelesul unuia ce se pricepe. ba mai mult cred ca le confund.... 

Pai de-aia si scriu si eu, ca poate te ajuta sa intelegi ce se intampla si sa nu le mai confunzi. Ma gandeam c-o sa-ti prinda bine. Da' daca te deranjeaza, nu mai scriu.

Link spre comentariu
  • 2 săptămâni mai târziu...

am gasit ceva ceva:

sursa: http://www.elforum.info/topic/86592-ksol-statie-de-lipit-digitala/?p=950295

sursa sursei: http://www.edaboard.com/thread263397.html

 

extract and copy this dll file to" C:Program FilesLabcenter ElectronicsProteus 7 ProfessionalLIBRARY" folder

 

fisierele atasate:

rotary_encoder_proteus_simulation.rar

ROTENC.rar

ROTENC.rar

 

exemplu de encoder:

CL510.pdf

Editat de ardiles
Link spre comentariu

LE: am tot lucrat la acest proiect in acest timp si am perfectionat o varianta de indicator de sens de rotatie bazat pe 3 senzori optici, unul dintre el sa fie indicator de nul(volan drept), ceilalti doi, avand rolul de detectare directie; fiind activati pe rand, intr-o succesiune, reseteaza aceasi iesire, respectand succesiunea de activare a senzorilor, in ordinea inversa, cu un dezavantaj: stie doar 2 rotatii(arhisuficient pentru Logan, cursa maxima este de 1,5 ture din pozitia neutra).

rolul indicatorului de nul in aceasta varianta este de a impune niste conditii cum ar fi: microcontrolerul activeaza o iesire doar daca volanul este drept(elimina situatia cand rotile au fost virate intr-o directie si se alimenteaza montajul, in aceasta situatie fara senzorul de indicatie 0, s-ar activa o iesire, aiurea.).

totodata, am activat si TMR0 care dupa 30secunde reseteaza iesirile, daca a fost activa vreuna dintre ele, poate din greseala se confunda si ramane vreuna activa.

indicatorul de nul, reduce acel timp la 5 secunde, daca vreo iesire a fost omisa de la resetare de catre microcontroler, si volanul a revenit in pozitia dreapta.

la aceasta varianta, obturatorul senzorilor, inst-by obtureaza doar senzorul de pozitiee neutra si este situat intre cei doi senzori de directie. este cum am figurat eu pe pagina 2 sau 3.

 

de doua zile muncesc la o varianta cu encoder, ajutat fiind aici: http://www.matrixtsl.com/mmforums/viewtopic.php?f=49&t=14995&p=60942#p60942 , insa cu functia de encoder din Flowcode V6, aici cred ca-i va atrage atentia lui bericioiu.

am ajuns la concluzia ca si la varianta cu encoder, desi axul volanului va trebui sa confectionez o roata dintata, va trebui sa adaug si obturatorul de la proiectul anterior, pentru cel de-al treilea senzor - indicator de nul....

Editat de ardiles
Link spre comentariu

este ceea ce mi -a sugerat Martin!

dar fata de ce mi-ai trimis, este diferit!

pentru ca, cu(cacofonie), "Quadrature encoder", incrementeaza/decrementeaza numere intregi!

ce mi-ai trimis tu, e bun! dar trebuie adaptat si ma lovesc de aceeasi si aceeasi treaba: cu cel de-al treilea senzor optic ce are rol de a indica pozitia neutra...

Link spre comentariu

este bun! este nemaipomenit! insa pentru a se potrivi aplicatiei mele trebuiesc aduse modificari majore!

intelege-mi putin aplicatia:

volanul este drept, rotesc stanga » se aprinde proiectorul din stanga.

acelasi lucru se intampla si simetric.

se aprinde proiectorul din stanga si ramane aprins cat timp volanul face cursa de virare stanga.

ei bine dichisul da cu mucii in fasole in situatia cand volanul trebuie sa revina in pozitia neutra! adica encoderul de la tine va dedecta ca volanul se roteste in directia opusa si va aprinde proiectorul celalat....ceea ce este ttoal incorect.

varianta asta cu "quadrature encoder", din pozitia 0, incrementeaza intr-o directie, numere intregi, suficient pentru cunostintele mele sa ma joc cu if-urile...

daca count(cacofonie) este cu semn cu minus, aprinde o directie. daca este 0 ambele iesiri resetate. daca z este cu semn pozitiv, se aprinde alt proiector.

celelalte conditii impuse de mine cu incrementarea din momentul cand volanul revine in pozitia neutra, are rolul de a rezolva confuzia urmatoare: se opreste masina cu rotile virate, se porneste montajul, si cand se va vrea revenirea cu volanul drept, montajul va aprinde aiurea un proiector...

multumesc mult de ajutor! sper sa nu fiu gresit inteles.

Link spre comentariu

intrebare rapida despre hardware:

am conectat la bornele microcontrolerului, intre Vdd si Vpp, o rezistenta de 10k...

am pus pe placa o mufa ICSP, pentru eventualele update-uri/modificari ce-mi vor mai trece prin minte.

la programare, ma va deranja in vreun el acea rezistenta de 10k dintre Vpp si Vdd?

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