Sari la conținut
ELFORUM - Forumul electronistilor

Automat cu PIC 12F675


mars01

Postări Recomandate

Daca GP1 trece in LO exact cand iesirea este in HI atunci totul este OK si functioneaza comform asteptarilor.

Daca GP1 trece in LO la putin timp dupa ce iesirea trece din HI in LO atunci iesirea va genera un impuls suplimentar de 1.5 secunde care va face ca GP1 sa treaca in HI (la cateva fractiuni de secunda dupa ce se termina impulsul de 1.5 secunde) si o tine tot asa.

 

S-a rezolvat dpdv al impulsului suplimentar. Acum astabilul functioneaza asa cum am intentionat.

 

Dar este totusi o problema: functionarea monostabilului este conditionata de iesire la fel cum era anterior astabilul:

 

1. daca GP1 trece in LO exact cand iesirea este in HI atunci totul este OK si functia de monostabil lucreaza cum trebuie (prima apasare genereaza un impuls pe iesire, a 2a apasare genereaza un impuls si apoi trece iesirea in mod astabil)

2. daca GP1 trece in LO la ceva timp dupa ce iesirea trece din HI in LO, atunci daca apas pe butonul de monostabil (GP2 in HI) nu se intampla nimic (iesirea ramane in LO).

 

Am nevoie ca in momentul in care GP1 trece in LO indiferent de starea iesirii (HI sau LO), la primul GP2 in HI sa genereze un impuls pe iesire, la al 2-lea impuls sa genereze un impuls pe iesire urmata de trecerea iesirii in mod astabil.

 

LE: nu am scapat de tranzistorul montat inainte de GP1 deoarece am incercat sa evit sa aplic tensiunea de cca 10V direct pe intrarea PIC-ului. Care a devenit doua tranzistoare :cry: deoarece primul tranzistor inverseaza logica de pe GP1.

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

Top autori în acest subiect

  • mars01

    26

  • ratoiul

    17

  • Ticu

    7

Top autori în acest subiect

Imagini postate

Salutare,Ok, iata varianta.Ce e cu tranzistoarele alea ? Deci folosesti tensiunea de 12V sau 10V ? In posturile anterioare te refereai la 12V, ai facut si o schema. Fa-mi o schema cu modificarile care le-ai facut. Tensiunea aceea de 10V scade la 0V si atunci pot modifica corespunzator programul.

Link spre comentariu

Salut!Din pacate aceasi functionare.Starea initiala este cu butonul de GP1 open. Dupa primul impuls pe iesire, butonul de pe GP1 este closed. Daca butonul de pe GP1 este closed dupa ce a trecut impulsul pe iesire din HI in LO, atunci butonul de pe GP2 nu mai are nici un efect (adica degeaba il apas numai apre impulsul monostabil pe iesire).Cum folosesc eu este atasat mai jos.Pentru a testa ce am spus se inlocuieste butonul de pe baza tranzistorului cu cel normal closed si se tine activ (open) pana ce trece un impuls pe LED-ul de la iesire. Dupa ce impulsul expira, dau drumul la buton, trece in closed, si apoi incerc sa apas pe butonul de pe GP2 si nimic.LE: OK, am vazut un fisier nou atasat, automat 7. Il incerc acum.LLE: am incercat si automat 7 este la fel.Daca apas butonul de pe GP1 dupa ce D1 se stinge, butonul de pe GP2 nu are efect.Daca apas butonul de pe GP1 cand D1 este aprins, butonul GP2 functioneaza cum trebuie.Ori ce am nevoie este ca butonul GP2 sa functioneze cum trebuie indiferent de starea lui D1.LLLE: Poate ajuta: observ ca daca apas butonul de pe GP1 dupa ce D1 se stinge, butonul de pe GP2 nu are efect, dar daca tot apas pe butonul GP2, dupa exact 10 secunde de la ultimul impuls pe D1 (iesire, GP0)care l-am "ratat" functia de monostabil se activeaza cum trebuie. Ca si cum in fundal el numara si cand "ar trebui sa fie impuls pe iesire, D1", chiar daca D1 nu este activ, atunci si numai atunci imi da voie sa activez din GP2 funtia de monostabil.

automat 6 pe auto.zip

Link spre comentariu

Scuze am postat tot versiunea 6, ai versiunea 7 acum. Pai asta am si facut, nu uita ca treci din stareaastabil in monostabil, in astabil ai o semiperioada de 1,5 secunde si o semiperioada de 10 secunde,perioada fiind de T = 11,5 secunde, asa ca dupa 1,5 secunde urmeaza acele 10 secunde, in timpul celor10 secunde nu poti interveni, dar dupa poti trece in bistabil. Si revin cu precizarea ca butonul din GP1este basculant.

Link spre comentariu

Am testat si versiunea 7 si este la fel. Concluziile le-am scris mai sus.In fisierul atasat de mine, chiar daca este cu v6 a soft-ului, este descrisa schema. Este un fel de bucla: "LED-ul D1" activeaza de fapt switch-ul de pe GP1.LE: Ahaa, am inteles.Practic, plec cu GP1 in HI, dupa 10 secunde, GP1 trece in LO, D1 se aprinde, dupa care am un "timp mort' de 10 secunde in care nu pot face nimic, si abia dupa cele 10 secunde suplimentare (practic pe la secunda 22 din momentul pornirii proceului) am acces la functia de monostabil.Eu tot incercam in cele 10 secunde de dupa aprinderea lui D1. Cred ca merge si asa.

Link spre comentariu

Dar daca nu cer prea mult atunci se poate sa micsoram cele 10 secunde (Toff din tot programul) la sa zicem 5 secunde? Ma gandesc ca fiind pe autoturism sa nu am surprize. In felul acesta renunt la o fiabilitate pe termen lung a releului (D1, mai multe click-uri aiurea) si obtin o siguranta mai mare. Si eventual, o reinversare a logicii pe GP1 astfel incat sa folosesc doar un tranzistor din cei 2? :jytuiyu Multumesc mult Ratoiul, sincer nu ma asteptam la atata dedicare. Raman dator si daca ma pot revansa in vreun fel, te rog nu ezita sa imi spui.

Link spre comentariu

LE: Ahaa, am inteles.Practic, plec cu GP1 in HI, dupa 10 secunde, GP1 trece in LO, D1 se aprinde, dupa care am un "timp mort' de 10 secunde in care nu pot face nimic, si abia dupa cele 10 secunde suplimentare (practic pe la secunda 22 din momentul pornirii proceului) am acces la functia de monostabil.

Revin cu o precizare, GP1 in HI insemna mod astabil, ON 1,5 secunde, OFF 10 secunde, apas butonuldin GP1 (acest buton ramane apasat), dupa ce sau scurs cele 10 secunde pot trece in mod monostabilprintr-o apasare scurta pe butonul din GP2 (acest buton este cu revenire), urmatoarea apasarepe butonul din GP2 inseamna si o revenire in mod astabil dupa epuizarea celor 3 secunde, dardaca se apasa in continuare butonul din GP2 treci iar in mod monostabil si tot asa. Ca o conditiebutonul din GP1 trebuie sa ramana apasat ca sa trec in mod monostabil si revenirea in mod astabil seface dupa a doua apasare pe butonul din GP2. Cat timp butonul din GP1 ramane apasat iesirea de peportul GP0 ramane in LO, deschiderea circuitului GP1 si masa presupune trecerea lui GP1 in HI si functionarea astabilului. Nu este vorba de nici un "timp mort" de 10 secunde. La functia de monostabil ai acces dupa 10 secunde mai rar (nu o sa dai comanda in prima secunda dupa epuizarea celor 1,5 secunde), dar in secunda 3, 4 sau 5 etc este posibil asa ca astepti mai putin,cele 10 secunde nu sunt suplimentare, asa cum am mai mentionat este un astabil si imediat dupa cele 10 secunde treci in monostabil, butonul din GP1 poate fi inchis ori cand si astabilul este oprit.
Link spre comentariu

Sigur, ai dreptate. Doar ca atunci cand am de-a face cu auto sunt foarte grijuliu mai ales ca modific un subsistem al masinii. Stii cum se spune: "better safe then sorry" :da Sincer, sunt fascinat de posibilitatile pe care le deschid uC-urile. Recent am inceput sa caut peste tot informatii despre uC-uri (inafara de aici am mai gasit un alt forum foarte bun, sonsivri). Cu rudimentarele mele cunostiinte am incercat sa fac un fel de logica pentru acest automat.Crezi ca ar merge?

Viziune Automat AH.doc

Link spre comentariu

De ce sa facem simplu cand se poate complicat nu? :bataie Un mic divizor de tensiune ... sper sa nu sughite masina de la aia 50K pusi pe buton. Daca este cazul merg mai sus cu valorile. Neat.Multumesc Ratoiul!

Link spre comentariu

Uite doua versiuni, una cu semnalizare optica si cealalta cu semnalizare acustica. Aceste semnalizari marcheaza sfarsitul unei perioade (1,5 ON + 5 OFF), dupa cum am mai scris, butonul de pe GP1 poate fi actionat oricand (acum este butonul din circuitul divizor de pe portul GP1), acest buton opreste astabilul dupa epuizarea unei perioade, iar semnalizarea te ajuta sa stii cand sa apesi scurt pe butonul din GP2.

Link spre comentariu

Multumesc Ratoiul, nu merge cu diviziorul acela de pe GP1 cand montez pe masina ... In simulator dar si pe masa de lucru totul bun, dar in masina nu reuseste sa scada tensiunea la zero prin actionarea butonului pe GP1. Probabil ca mai are o rezistenta in circuit si nu reuseste sa faca pull down la PIC.Cu varianta mea de switching cu tz bipolari merge, doar ca trece un curent prin jonctionea BE suficient sa imi tina LED-ul din masina partial aprins in starea OFF ceea ce e deranjant deoarece noaptea nu imi dau seama daca e ON sau OFF.Am acum doua variante, ori inlocuiesc tranzistorii cu MOSFET de switching/putere mica, si avand in vedere ca astia sunt comandati in tensiune (curent ~ 0 pe grila) ar trebui sa nu am nici-o problema, ori o sa folosesc un buffer CMOS 4050 care face si adaptare de nivel, o sa am la iesire din buffer ori HI ~12V ori 5V functie de unde il alimentez. Eventual SMD si il inghesui pe undeva pe placuta.

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