Sari la conținut
ELFORUM - Forumul electronistilor

Intreruperi INT0


payty

Postări Recomandate

Salut, Lucrez de ceva timp la un modul de aprindere electronica gestionat cu microcontroler (ceva care sa inlocuiasca delcoul la o dacie). Am facut partea de "hardware" si am vrut sa o testez cu un soft cat mai simplu, pentru ca nu am cunostinte foarte bune de electronica si am vrut sa elimin intai toate problemele care apareau de la partea electronica. Am incarcat un program simplu care nu face decat intreruperea curentului prin bobina de inductie cu ajutorul microcontrolerului. Circuitul e cam asa: platina->modul cu pic->etaj final de comanda a bobinei. Programul simplu de care ziceam arata initial cam asa:while 1=1if rb0=0 then rb1=0if rb0=1 then rb1=1Acest program a functionat foarte bine. Cineva de pe alt forum m-a avertizat ca in momentul in care voi folosi prin softul pe care vreau sa il fac intreruperea INT0 de pe Rb0, acest pin va fi foarte sensibil la parazitii de pe alimentare si de pe firele de conexiune a modulului cu platina din delcou. Am modificat programul de mai sus (functionalitatea e aceeasi, doar de comutator) in asa fel incat sa folosesc intreruperi. Cel care mi-a spus acest lucru a avut dreptate, in sensul ca folosind intreruperile, modulul e foarte instabil, si comanda aiurea modulul final de aprindere, lucru care se vede si la turometru care salta aiurea la diverse turatii. Ma poate ajuta cineva cu o solutie pentru a elimina problema de mai sus? Softul final il am si e facut cu intreruperi si nu as vrea sa renunt la ele. Mi se sugerase sa ecranez toate legaturile, inclusiv montajul si sa nu mai folosesc intreruperea INT0. Se poate face un alt tip de circuit de intrare (in modulul meu, pinul de intrare e atacat doar printr-un filtru RC si atat)? Ma gandeam la ceva care sa imi ofere direct un semnal binar de genul 0-1, nu sa am intrarea de la platina si semnalele parazite care apar. Ce am mai observat este ca si daca alimentez modulul de la o baterie separata, problemele persista. Deci, dupa cate imi dau seama, nu de la alimentare ar fi, ci de la semnalele de intrare. Alte idei?

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

Top autori în acest subiect

  • payty

    5

  • wangine

    2

  • petre_s

    1

  • Mix

    1

Top autori în acest subiect

fa o schema la ceea ce vrei sa faci impreuna cu picul care vrei sa-l folosesti si-ti scriu un program sa vezi cum merge .fiecare are gandirea diferita .poate te ajuta.Tie acolo pentru a elimina parazitii si totodata pentru a pastra intreruperea trebuie sa construiesti in soft un filtru predictiv pentru a scapa de paraziti.Am avut mai de mult o problema asemanatoare cu un tc1047 parca , un senzor care avea 10mV/*Csi firele de legatura de la toti senzorii depaseau cativa zeci de metru.tot in soft am reusit sa scap de paraziti :nebunrau:

Link spre comentariu

am atasat schema. Practic, scopul final al montajului este sa gestioneze avansul la aprindere pentru un motor de dacie. Adica primeste un semnal pe intrare, cand se inchid platinile, in functie de "distanta" dintre doua semnale calculeaza turatia motorului si in functie de turatie da un semnal pe iesire la un anumit interval fata de primirea semnalului de intrare. Pana voi fi sigur ca partea de hardware nu are probleme, am pus softul care nu face niciunul din calculele de mai sus, ci doar primeste un semnal pe intrare si imediat da altul pe iesire. Singura conditie necesara este sa am 1 logic pe iesire exact atata timp cat am si pe intrare si 0 la fel (e vorba de timpul de incarcare a bobinei de inductie). Picul este 16f628. Partea cu rosu din schema a fost adaugata ulterior pentru ca initial comandam direct etajul final din portul picului si am ars unul in felul asta. Mai are niste rezistente pe acolo dar nu cred ca sunt esentiale. astept cu interes programelul, sau macar in principiu ce ar trebui facut. merci.

Link spre comentariu

pe pinul RB0 trebuie un zener de 5v1 fata de masa / R2 de 1k (10mA sunt de ajuns pentru pin)si platina dupa cate stiu eu se inchide fata de masa deci condensatorul unde scrie platina eliminat si R1 de 330R.Oscilator nu-ti trebuie te mai chinui sa-l ecranezi si pe ala foloseste-l pe al lui interior pentru aplicatia ta un clock fail nu conteaza ;NU trebuie calculat turatia, pulsul trebuie sa fie maxim jumatate din 1/4 la maximul turatiei(cred ca aprox 5000 ture :nas: )Maine am sa-ti scriu un programel

Link spre comentariu

nu e condensator acolo unde scrie platina. ar fi trebuit sa pun simbolul de intrerupator. acolo e platina propriu-zisa. apropo de soft, ma gandeam ca o solutie pt eliminarea parazitilor ar fi ca dupa primul impuls, pana la al doilea sa dezactivez intreruperea INT si sa o activez cumva cam cand e probabilitatea mai mare sa apara din nou impuls, adica cu ceva timp inainte sa apara. in felul asta probabilitatea de a capta paraziti scade. oricum, astept cu interes programul. merci mult pt sfaturi.

Link spre comentariu

Pentru ce vrei sa mai faci inca una reglaj al avansului? Doar ca sa reglezi din potentiometru?Pe de alta parte nu ai cum sa-l faci mai precis decat cel mecanic, deja existent [daca vrei, dezvolt]. Daca tot vrei sa adaugi imbunatatiri, inlocuieste platina cu senzor optic si tranzistor.

Link spre comentariu

@wangine.

pe pinul RB0 trebuie un zener de 5v1 fata de masa

exact... tot eu de pe celalt forum :da chiar am specificat undeva ca trebuie zenerul. @payty daca doresti da-mi un id de yahoo sa iti trimit soft-ul meu.
Link spre comentariu

id-ul de yahoo este ca cel de aici ([email protected]). Mai bine il trimiti pe mail, nu pe mesenger ca mesaj offline, ca sa fiu sigur ca ramane undeva.

 

am cautat si eu cate ceva pe net. se pare ca exista cateva metode de debounce . Nu prea am fost foate multumit, deoarece in montajul de fata conteaza foarte mult timpul si aici nu pot lua mai multe "sample"-uri ca sa vad cand platina e intr-adevar inchisa si cand topaie, ca s-ar putea sa desincronizez aprinderea. Mai e si varianta hardware (am gasit chiar si vreo 2 integrate care fac exact asta, facute de Maxim).

 

N-am nici osciloscop ca sa vad exact care e treaba cu platina aia si nici laptop ca sa incerc un soft din ala care foloseste placa de sunet, iar cu desktopul ar fi cam complicat sa ma duc in parcare :)

 

Ar mai fi ideea cu senzorul hall.

 

N-am apucat sa pun alte fire (ecranate) dar am sa le pun cat de curand. Alimentarea am facut-o provizoriu din baterie de 9v, ca sa nu imi mai bat capul cu alte filtrari, pana sunt sigur ca pe intrare n-am alte probleme.

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