Sari la conținut
ELFORUM - Forumul electronistilor

microcontrollere pentru incepatori


free_fiber

Postări Recomandate

Salutare.

Este al doilea topic pe care-l deschid pe acest forum (la primu n-a raspuns absolut nimeni de parca intrebam daca exista viata pe luna) si sper ca de data asta sa scrie cineva si in topicul meu.

 

Am citit cate ceva despre microcontrollere (PIC) si am aflat ca sunt niste chipuri programabile (unele suporta chiar limbaj C :smt004 )

 

Sunt incepator in lumea electronicii si as vrea sa aflu cum m-as putea folosi de astfel de microcontroller intr-o aplicatie cat se poate de simpla:

- avertizare neutilizare centura de siguranta.

Iata cam ce as vrea sa stie chipul:

if (motor==pornit && scaun==ocupat && centura==nepusa){          executa: aprinde martorul din bord;          if(viteza>20){               executa: BUZZ!!!          }}
Link spre comentariu
  • Răspunsuri 6
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • free_fiber

    3

  • Abram Burel

    1

  • lucicop

    1

  • pegas

    1

Top autori în acest subiect

Vizitator DragosP

Salutare.Sunt incepator in lumea electronicii si as vrea sa aflu cum m-as putea folosi de astfel de microcontroller intr-o aplicatie cat se poate de simpla:- avertizare neutilizare centura de siguranta.

Eu ştiu că pe un alt forum ţi-am răspuns şi mi-am oferit ajutorul...
Link spre comentariu

Iata cam ce as vrea sa stie chipul:

if (motor==pornit && scaun==ocupat && centura==nepusa){          executa: aprinde martorul din bord;          if(viteza>20){               executa: BUZZ!!!          }}
hehe... nici nu vrei mult... daca PIC-ul nu il folosesti la altceva decit la asta, e o complicatie fantastica. Totul se poate rezolva cu citeva porti...daca vrei musai PIC, iti sugerez pentru inceput sa cauti niste tutoriale.
Link spre comentariu

Ceea ce vrei tu nu e complicat, numai ca ai nevoie de niste senzori care sa-ti spuna informatiile despre motor si viteza. Programul in PIC e simplu atunci cand ai senzorii astia conectati la niste pini ai PIC-ului si iti dau de exemplu 0 pentru motor oprit si 1 pentru motor pornit. Cred ca e destul de dificil sa faci asta pentru ca trebuie sa umbli in bord sa legi senzorii tai, sau sa te legi la senzorii masinii, daca are.

Link spre comentariu

Eu zic că e puţin cam dificil să măsori viteza cu nişte "porţi"!

Da, asta e genul de aplicaţie tipică pentru un microcontroller "mic".

Lucrurile stau cam aşa:

Determinarea vitezei

Chestie relativ simplă dacă maşina este dotată cu senzor de viteză. Acesta dă un anumit număr de impulsuri la fiecare rotaţie a arborelui de ieşire din cutia de viteză. Măsurând numărul de impulsuri dintr-un anumit interval de timp determini practic viteza.

Dacă nu există un astfel de senzor va trebui să te gândeşti la unul. De exemplu, se poate monta un traductor de rotaţie pe cablul care vine la vitezometru. Asta poate fi o chestie destul de delicată, mai ales dacă vrei să păstrezi vitezometrul original.

Determinarea funcţionării motorului

Aici ai mai multe metode, în funcţie de echiparea maşinii şi... interes.

Cea mai simplă este să iei tensiunea de pe blocul contactului de cheie ce apare numai dacă cheia e pusă pe poziţia "motor". Desigur, nu ai cum să şti în această situaţie dacă motorul chiar merge, lucru ce ar putea să te enerveze câteodată!

Următoarea chestie ar fi senzorul presiunii uleiului. Acesta este fie un simplu contact (utilizat pentru a aprinde becul roşu din bord), fie un rezistor a cărui valoare variază cu presiunea. În ultimul caz, cel mai elegant este să foloseşti un microcontroler care are intrări analogice şi convertor A/D.

În fine (mai există şi altele, dar nu ne mai lungim), poţi folosi senzorul de turaţie, care dă impulsuri asemănătoare celui de viteză, dar care "citeşte" de regulă nişte dinţi aflaţi pe volantă.

Determinarea utilizării centurii

Pentru asta trebuie să ai un contact care să detecteze dacă "limba" centurii a intrat în locaşul corespunzător. Dacă nu-l ai din construcţie, o soluţie ar fi să găseşti o tijă din aia prinsă de podea, care să aibe contact. Este important de reţinut că umbli la un dispozitiv de siguranţă, deci trebuie să gândeşti şi să faci bine ce faci.

Determinarea ocupării scaunului

Aici sincer să fiu habar n-am cum se rezolvă chestia. Teoretic ar merge un "senzor de prezenţă" (al fundului pe scaun!) sau chiar un soi de contact pus sub tapiţerie.

 

Până aici avem intrările.

Cu ieşirile e mai simplu:

- una la bec/led

- una la buzzer

În total 6 pini. Ce anume microcontroler foloseşti depinde de cât de mic iese programul şi asta depinde de "senzorii" folosiţi.

 

Se poate observa din cele de mai sus că deşi principiul e simplu (chiar "citatul" din primul post), realizarea practică nu prea poate fi "universală", iar optimizarea ei depinde de dotările maşinii. Prin urmare, recomandarea mea este să defineşti mai exact/concret datele problemei. De cunoştinţele despre ceea ce îţi oferă maşina depinde în mare măsură proiectarea şi realizarea dispozitivului (hard şi soft).

Link spre comentariu

Exact, senzorul de motor pornit este defapt contactul (cand cheia e in pozitia M, atunci vine curent; altfel nu).

Senzor de viteza are, deoarece in ceasurile din bord sunt complet electronice, nu are vitezometru pe cablu, ca dacia belina. Vroiam PIC pentru ca nu stiu exact ce semnal vine din calculatorul masinii (senzoru de viteza).

 

Edit:

1. Masina e o dacie solenza si ARE senzor de viteza;

2. Am deja senzorii de centura montati in cutiutele centurilor (sunt defapt doua tablite care stau atinse cand nu e centura bagata (circuit inchis));

3. Am deja senzorii de prezenta pe scaun (tot doua tablite care stau departate cand nu esti pe scaun si se ating intre ele inchizand circuitul cand te pui cu greutate pe scaun);

 

P.S. As vrea ca buzzerul sa sune intrerupt si din ce in ce mai tare ca sa nu tiuie cu toata puterea din prima. Am pus topicul respectiv aici: http://www.elforum.info/viewtopic.php?t=14434

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