Sari la conținut
ELFORUM - Forumul electronistilor

Lucreaza cineva cu FLOWCODE ?


bercioiu

Postări Recomandate

Din considerente de ergonomie, atata timp ca nu este nevoie de acel pin de reset (MCLR) il setez ca si MCLR Internal. Chiar si numai ca sa salvez un rezistor. Plus ca eu lucrez cu SMD-uri aproape exclusiv si un rezistor in minus este o sansa sa fac PCB-ul mai mic. Un rezistor de ici, unul de colo, se aduna. :)

 

Cand MCLR este setat internal se poate folosi acel pin numai ca intrare. Nu poate fi folosit ca si iesire. 

Link spre comentariu

Cand MCLR este setat internal se poate folosi acel pin numai ca intrare. Nu poate fi folosit ca si iesire.Mare țeapă mi-am luat și eu.Flowcode nu știe acest lucru.E valabil și alți pini,depinde de model.

Editat de bobinatorul
Link spre comentariu

E bine sa intelegeti ce se intampla acolo.

Pinul MCLR este un pin care are o functie multipla asa cum si altor pini ai controller-ului, functie de setarile din registri, li se pot asocia diferite functii (unii pini pot fi configurati ca PWM sau pini UART sau pini SPI si tot asa).

 

In cazul pinului MCLR, de regula functiile care le are sunt:

 1. Functia de RESET extern (este activ LOW deci prin legarea la GND controlerul este resetat). Functia se seteaza ON sau OFF din registrul CONFIG (la controllerele unde se poate face aceasta)

 2. Functia de VPP (cand tensiunea este ~12V pe acest pin, se intra in modul programare, nu trebuie setat nimic, functia este permanent activa cu exceptia folosirii LVP - low voltage programming dar acolo e mai mult de discutat)

 3. Functia de intrare digitala (un bit al PORTE, de ex PORTE.B3 sau RE3). Din cauza ca acest pin poate fi numai intrare digitala nu are biti in registri ca TRIS sau in cazul PIC18F, ca LAT.

 

Daca setati MCLR intern atunci pinul este setat automat ca intrare digitala iar in controller, semnalul de RESET este deconectat de la pin si este conectat intern cu un rezistor sau echivalent la VDD astfel incat procesorul poate functiona corespunzator. In acest caz numai este nevoie de rezistenta de pull up de la pin MCLR la VDD.

 

ATENTIE: eu "mi-am luat leapsa" la un moment dat cu un PIC16F877A (am ajuns sa folosesc un PIC16F877A dupa ce ma jucasem deja cu PIC-uri mai noi) .

Numai tin minte ce am facut si de ce, doar ca nu i-am pus un rezistor de la MCLR la VDD si nu intelegeam de ce un program foarte simplu nu mergea. Evident procesorul era in RESET aleator fara acel rezistor (pinul MCLR fiind lasat in "aer", isi schimba aleator starea logica).

 

Ideea este ca unele procesoare mai vechi, cum este PIC16F877A, nu au posibilitatea de a seta pinul MCLR ca MCLR internal si este obligatoriu sa aveti rezistor de la MCLR la VDD.

Pentru usurinta verificati intotdeauna in datasheet daca pe diagrama pinilor la pinul MCLR apare scris ca optiune si RE3 (de ex). Daca apare scris ceva gen RE3 atunci sigur se poate configura MCLR ca internal, daca nu apare atunci puneti rezistorul.

 

Raspuns clar: daca ati setat MCLR internal numai trebuie conectat rezistorul de la MCLR la VDD. Dar daca totusi il conectati, nu faceti nici-un rau, doar efectuati un PULL UP la intrarea RE3 si atata tot. Doar ca in acest caz numai este necesar.

Editat de mars01
Link spre comentariu

nu merge nici acum.

Poate cineva sa verifice setarile mele si daca am gresit ceva in setari sa mi le corecteze? Nu vreau sa mai adaug rezistenta ci doar sa modific programul.

Daca se poate sa-mi compilati  programul ca am banuieli ca hexurile mele nu sunt bune..

contr 50sInternal 12f675_INT.fcf.rar

Editat de aureliu67
Link spre comentariu

Totul era corect, doar oscilatorul era pus in proiect pe 10MHz si in PIC oscilatorul intern are 4Mhz.

Cu aceasta diferenta ar fi trebuit sa functioneze, ar fi fost diferite doar intarzierile.

Config.word era corect (3FD4), verifica sa fie la fel si atunci cand scrii hex-ul.

In Proteus functioneaza fara acea rezistenta.

Trebuie sa-ti spun ca pe durata intarzierilor, intrarea analogica nu este citita.

CHG50S.rar

Editat de Elison
Link spre comentariu

Daca divizorul de tensiune format din R9 si RV2  are 12V la borne si RV2 era la valoare minima atunci ar fi trecut vreo 5-6 ampere prin el,deci.....Foloseste valori mai mari,mult mai mari.De ex. R9 10k si RV2 5K.

Pinul de reset nu trebuie pus la masa(este active in zero logic) ci la +5V prin R3.

Am montat initial RV 10k si  R9 15k ca sa am marja de reglare. Tensiunea maxima nu a depasit 3,7v. Acum am montat o R9 8,2k si tensiunea maxima obtinuta 3,99v. Am gresit eu undeva? Sa fi montat zenerul aiurea? Am montat cu banda neagra de pe zener spre pinul 7si R9. Mentionez ca se modifica lent la reglarea RV1 10k dar este insuficient 0-3,99v. Are rost sa modufic softul pt astfel de valori?

Daca am dezlipit piciorul zenerului imediat a crescut tensiunea si decupleaza la 4,7 dar dupa ce decupleaza imediat sare tensiunea la 5,5v pe intrarea ADC..

Daca il pun invers tensiunea este constanta,0,77v.. Deci era lipit corect dar de ce influenteaza zenerul negativ asupra montajului? Am pus zener PH 5v1, asta am gasit.

Editat de aureliu67
Link spre comentariu

Eu am mentionat intr-un post anterior ca zenerele nu sunt precise (mai ales daca sunt folosite in apropierea tensiunii de lucru) si influienteaza negativ intrarea ADC.Zenerul ar trebui testat si ales prin tatonare din mai multe exemplare.Trebuie dezlegata intrarea ADC ca sa nu distrugi pic-ul si testezi zenerul cu R9 si RV,eventual se poate incerca cu zener de 5,6V dar tot fara pic.N-am inteles ce a decuplat si a crescut tensiunea (releul ?).Foloseste o sursa care sa nu scada tensiunea cand se atrage un releu.Zenerul era legat corect.

Editat de bentanioan
Link spre comentariu

Da, dupa ce a decuplat releul a sarit tensiunea. Probabul ca releul consuma mult .Daca voi alimenta de la baterii (200 A) sper sa nu scada tensiunea. Acum picul e dus dar asta e cea mai mica problema.. Am dat sub 3 euro pt 10 bucati. Important este sa imi functioneze corect.Din cum se comporta montajul zenerul ar avea o scurgere de curent si ar scadea tensiunea.. Cred asta ca totusi pot regla foarte precis tensiunea dar nu in limita de care am nevoie.. Daca nu sunt precise zenerele atunci care ar fi rostul lor? Ar fi mai bine sa il scot de acolo cu riscurile de rigoare sau am facut eu ceva aiurea (cred ca e varianta 2). ar mai fi solutia schimbarii softului ca sa decupleze sub 3,5v, fara sa modific nimic. Dar ma intreb daca nu e o alta problema care apoi va crea probleme mai mari decat distrugerea picului.. (fierberea bateriilor)

Editat de aureliu67
Link spre comentariu

Daca bateria este de 200A parerea mea este ca nu o sa ai supratensiuni acolo (nu lasa acumulatorii sa creasca tensiunea accidental) si nu mai trebuie  zenerul.In apropierea zonei de lucru zenerele, da,au o ,,scurgere" de curent care creste odata cu cresterea tensiunii. Daca este de 5,1V el incepe sa intre in conductie la o tensiune <5V (cativa uA dar care in acest caz influienteaza tensiunea culeasa de pe divizorul de tensiune).

 

Da , si modificarea softului ar fi o solutie si atunci se poate pastra si zenerul.

Editat de bentanioan
Link spre comentariu

O sa incerc dar mi-a placut foarte mult ideea cu zenerul. Vreau sa stiu din ce cauza scade tensiunea. La masurare cu aparatul nu trece nimic in o directie deci nu ar trebui sa influenteze..

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