Sari la conținut
ELFORUM - Forumul electronistilor

Automat Secvential cu PIC16F877A


EFTIMIE

Postări Recomandate

Sau duoa module cu cate 12 relee si cu doua picuri unul master si unul slave. Solutii sunt, nu asta este problema... Nu a intrebat nimeni: ce va face cu ele? Va aprinde ghirlandele la pomul de craciun sau va face termopane? ca nu este tot una...

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

Top autori în acest subiect

  • bercioiu

    10

  • EFTIMIE

    10

  • vcdec

    6

  • marius_3004

    3

Top autori în acest subiect

Imagini postate

Voi comanda cu ele 20-24 de contactoare pentru o aprindere secventiala.Repet am nevoie ca aprinderea sa fie succesiva fiecare iesire sa ramana in spate activa ,nu sa fie ca o lumina dinamica.La stingere operatiunea sa se petreaca in sens invers,cate o intrare pe rand se va stinge pana la ultima.

Link spre comentariu

Da, pana la urma se poate face cu un PIC 16F1939 fara probleme. Am facut o schita si dupa ce am alocat 24 pini iesirilor, 6 LCD-ului, 1 ADC-ului, si 1 switch-ului, a mai ramas un pin de rezerva, plus ca daca se renunta la oscilatorul extern se mai castiga inca doi pini. LCD-ul ce face in aplicatia asta? Ce vrei sa afiseze? Pana acum, programul face ce ai cerut in primul post. Dupa 200 de utilizari on/off iti da adresa mea de e-mail sa ma contactezi sa-ti spun cum se deblocheaza :da

post-7378-139829588905_thumb.gif

Link spre comentariu

Va multumesc mult pentru sprijinul acordat.Pe afisaj aveam nevoie de a putea vizualiza fiecare iesire pe rand si de a opta pentru varianta ON-OFF.Dupa setarea acestei optiuni sa afiseze cate iesiri sunt active si cate oprite.Am si o intrebare se poate folosi un Pic16f887 pe care il am in loc de 16F1939 pe care nu-l prea gasesc.

Link spre comentariu

Da, se poate folosi si 887, eu am cumparat 1939 (care este urmasul lui 887) de la un magazin de pe Grivita dar se gaseste si la celelalte magazine mari online, la unul din alea online este 9 lei. Trebuie doar sa recompliez pentru el. Acum mi-am dat seama ca ai nevoie sa activezi/dezactivezi iesirile, de fapt nu am citit bine postul cred de am ratat partea asta. Am sa modific programul in sensul asta. Se mai adauga un buton pentru configurarea iesirilor, sau fosolim butonul de on/off? Cum afisez 24 de iesiri pe un lcd 2x16?

Link spre comentariu

Ma gandeam la un mesaj gen 20-ON pe prima linie 4-OFF pe a doua linie.Si cred ca mai bine adaugam inca un buton si ON-OFF sa ramana doar cu functia lui.

Link spre comentariu

Hai ca pana la urma am folosit 16F877A si am ajuns la titlul topicului... :rade: Ma feream de el pentru ca are un bit pe Portul A care stiam ca este out pe zero dar vad ca merge sa leg LCD-ul la el. Am facut practic montajul pe placile mele de test si functioneaza fara probleme. Am mai adaugat un buton. Schema finala este asa:- PORTB, PORTC si PORTD cele 24 de iesiri (in aceasta ordine)- RA0-RA3 datele D4-D7 LCD - RA4 RS LCD- RA5 E LCD- RE0 buton 1- RE1 buton 2- RE3 ADC- rezistenta de reset si quartz de 20 MHz - RW LCD la masapost-7378-139829590447_thumb.pngLa pornire lcd-ul afiseaza:"ALL_OUTPUTS_OFF_""START/SET___STOP"Mesajul de pe prima linie este evident iar cel de pe linia a doua ofera instructiuni despre butoane. Ce este in partea stanga se refera la butonul unu iar ce este in partea dreapta este pentru butonul doi. Peste tot pe unde apare un mesaj de genul "xx/yy" sub un buton, xx inseamna ca butonul se apasa scurt (normal) iar yy butonul se apasa mai lung (de la 0.5 sec. in sus). Astfel daca butonul din stanga se apasa scurt, va executa instructiunea "start" ias daca se apasa lung, se va lansa instructiunea "set".Odata ajuns in set lcd-ul afiseaza:"OUT_NR:_1__ON___""_/SET_"Prima linie reprezina iesire de setat. pentru a schimba iesirea apasam butonul unu sau doi. Apasand butonul unu "<", numarul iesirii se decrementeaza ciclic, apasand butonul doi ">" numarul iesirii se incrementeaza ciclic, astfel, la decrementare iesirile vor fi 1,24,23,22...2,1,24 etc iar la incrementare iesirile vor fi 1,2,3,4....23,24,1 etc. Odata aleasa iesirea, pentru a stabili daca va fi on sau off, apasam prelung butonul doi "set" si in dreptul iesirii, pe prima linie, se va afisa statusul ei, daca acesta este "ON", atunci acea iesire va fi activa, daca va fi "OFF", atunci acea iesire va fi inactiva. Dupa ce s-au setat toate iesirile pentru a iesi din meniu, apasam prelung butonul unu "esc" si ne intoarcem in bucla principala unde se asteapta "START". Apasand butonul unu "START", modulul va aprinde pe rand toate iesirile setate "ON" in meniul "SET" cu o pauza intre iesiri stabilita din potentiometrul legat la ADC. domeniul pauzei este intre 0 si 6 secunde (asa a iesit la impartire). In timp ce iesirile se deschid lcd-ul afiseaza""_XX_OUTPUTS_ON__""START/SET___STOP"UNDE "XX" este numarul de iesiri setate "ON". Cand s-a aprins si ultima iesire, lcd-ul afiseaza:"_XX_OUTPUTS_DONE""START/SET___STOP"Aici va ramane pana cand vom apasa iar butonul unu "START". Odata apasat butonul, iesirile se sting in ordine inversa aprinderii, pana la ultima iar lcd-ul afiseaza:"_XX_OUTPUTS_OFF_""START/SET___STOP"In momentul in care s-a stins si ultima iesire, lcd-ul afiseaza din nou primul mesaj:"ALL_OUTPUTS_OFF_""START/SET___STOP"Se poate opri in orice moment procesul de pornire sau oprire, apasand butonul doi "STOP", toate iesirile se inchid instantaneu si programul ramane intr-o bucla unde afiseaza:"_EMERGENCY_STOP_""PRESS_ALL_SWITCH"Pentru a iesi din bucla, se apasa simultan cele doua butoane.In versiunea finala, setarile iesirilor se vor salva in EEPROM.Cam asta este tot. Daca vrei sa-ti proiectez si cablajele, discutam.

AUTOMAT_SECVENTIAL_V_1_2.hex.txt

Link spre comentariu

Am schimbat putin afisarea si butoanele.

 

1) La pornire, modulul afiseaza:

 

"ALL OUTPUTS_OFF_"

"ON___________SET" ("ON" pentru pornire, "SET" pentru setarea iesirilor)

 

2) Dupa apasarea butonului 1 "ON", odata cu procesul de aprindere, afiseaza:

 

"_XX_OUTPUTS_ON__" ("XX" Numarul de iesiri setate activ in meniul "SET", "STOP" oprire de urgenta)

"____________STOP"

 

3) Dupa apriderea tuturor iesirilor setate activ, afiseaza:

 

"_XX_OUTPUTS_DONE"

"OFF__________SET" ("XX" Numarul de iesiri setate activ in meniul "SET", "OFF" pentru pornire, "SET" pentru setarea iesirilor)

 

4) Dupa apasarea butonului 1 "OFF", odata cu procesul de stingere, afiseaza:

 

"_XX_OUTPUTS_OFF_" ("XX" Numarul de iesiri setate activ in meniul "SET", "STOP" oprire de urgenta)

"____________STOP"

 

Dupa incheierea procesului de stingere, se afiseaza cadranul "1)"

 

In meniul de setari nu s-a schimbat nimic, doar ca se intra apasand butonul 2 "SET"

AUTOMAT_SECVENTIAL_V_1_3.hex.txt

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