Sari la conținut
ELFORUM - Forumul electronistilor

Cum sa programez un PIC


Postări Recomandate

  • Răspunsuri 602
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Top autori în acest subiect

Imagini postate

Am incercat eu azi hex-ul. Presupun ca pin 1 este legat la +. Din pacate:- nu pleaca singur la aplicarea alimentarii, trebuie atins + cu mana prin surubelnita- scoate semnale ca in prima oscilograma, identice pe ambele iesiri; perioada circa 25 ms, pulsul cam 0,25 ms- nu "simte" nici un switch, nu se regleaza nimicO sa verific PIC-ul cu alt program, ca sa nu fie totusi vreun ghinion...

Link spre comentariu

Sunt tampit. Nu era setata valoarea osccal-ul. Acum merge bine.Pleaca pe minim la ambele canale (cam 0,35 ms puls si 20 ms pauza) la conectarea alimentarii.Canalul setat initial este cel cu iesire pe pin 7. Poate fi crescut la maxim in aprox. 5 secunde prin apasare pe Up.O apasare scurta pe Select comuta setarea pe canalul celalalt.Consum controler la 5V: sub 4 mA.Totusi, daca ma mai suportati, am doua observatii; nu stiu daca asa a fost gandit sau sunt mici erori:1. Despre minim: desi pornirea ambelor canale este cu pulsuri de 0,35 ms, totusi ele mai pot fi inca reduse la 0,1 ms cu butonul Down.2. Despre maxim: la sfarsitul celor 5-6 s, cand se atinge maximul, LED-ul conectat ca sarcina incepe sa clipeasca (stingeri scurte cu frecventa de cativa herti). Osciloscopul se desincronizeaza in acest moment.Clipirea inceteaza de regula la ridicarea degetului de pe butonul Up, desi s-a intamplat sa ramana in acest regim oscilant si dupa ridicarea degetului de pe Up. Dupa ce inceteaza clipirea, circuitul ramane intr-o stare oarecum incerta (pauzele au uneori 0,1 ms, alteori 0,3 chiar 0,4 ms).Consumul sarcinii nu este mare (un LED albastru cu 1 k in serie - circa 2 mA) si am avut filtrare cu 470 micoF pe sursa 7805.

Link spre comentariu

asa este. acel bug , la atingerea valori maxime sunt sanse ca pwm-ul sa ramana pe 50%. nu am avut timp sa il rezolv. cu valoarea de minim, la plecare, se rezolva relativ usor.daca este careva interesat, o sa imi fac timp sa rezolv si acel bug. acest program nu a avut un scop anume, ci este doar raspunsul la o "provocare" - se poate face PWM cu un pic fara PWM hard? se pare ca da, da mananca f multe resurse. daca vrei frecventa mai mare, nu face altceva decat sa testeze niste butoane si sa raspunda la intrerupere.numai bine

Link spre comentariu

Circuitul poate fi util, si practic dar si "teoretic", mai ales acum in perioada lucrarilor de diploma... Si oricum nu strica sa imbogatim colectia de scheme originale a forumului. Toata stima pentru eforturile altruiste ale userilor.

Link spre comentariu

Deci pina la urma e mai rentabil sa folosesc un controler cu 2 canale PWM dedicate,setate si calibrate din fabrica,pe restul de de pini mai leg niste leduri si intrari de senzori.Multumesc ca ati analizat si realizat propunerea mea.Acum alta problema:conexiune pe portul serial intre 16F876A si orice program care deschide portul serial ,gen Real Term etc.Am legat pinii de la pic Tx si Rx direct la portul serial ceea ce nu e bine,nu?trebuie max 232 sa ''niveleze'' nivelele logice.Montajul functioneaza dar transmite bitii eronat,am caractere distorsionate,etc.Am schimbat viteze,cristale,setari,delay-uri,si dupa aia imi pica fisa ca de fapt nivele logice sunt diferite si trebuie un circuit schimbator.Vreau sa citesc intr-un program in VB temperatura transmisa de un senzor digital DS18S20. Luni primesc senzorul.In pic a fost initializata comunicarea seriala se subintelege.

Link spre comentariu

Deci pina la urma e mai rentabil sa folosesc un controler cu 2 canale PWM dedicate,setate si calibrate din fabrica,pe restul de de pini mai leg niste leduri si intrari de senzori.Multumesc ca ati analizat si realizat propunerea mea.Acum alta problema:conexiune pe portul serial intre 16F876A si orice program care deschide portul serial ,gen Real Term etc.Am legat pinii de la pic Tx si Rx direct la portul serial ceea ce nu e bine,nu?trebuie max 232 sa ''niveleze'' nivelele logice.Montajul functioneaza dar transmite bitii eronat,am caractere distorsionate,etc.Am schimbat viteze,cristale,setari,delay-uri,si dupa aia imi pica fisa ca de fapt nivele logice sunt diferite si trebuie un circuit schimbator.Vreau sa citesc intr-un program in VB temperatura transmisa de un senzor digital DS18S20. Luni primesc senzorul.In pic a fost initializata comunicarea seriala se subintelege.

Link spre comentariu
:offtopic2 Nu ma pot abtine sa nu va povestesc pentru ce a pierdut un prieten 2 zile.Se da schema din imagine. La o prima vedere pare ceva banal si functional 100% din pc de vedere electric.Se programeaza pic-ul si se trece la teste. In acel conector sunt pusi 4 elecromagneti. 3 merg perfect, unul ramane comandat cand ar trebui sa nu mai fie (led-ul ramane aprins, mos-ul deschis - cel din rb5). Ok, ceva nasol in soft. Se verifica, rasverifica, totul ok. Bun, e dus pic-ul. Se pune unul nou, aceasi problema. Se schimba fizic 2 porturi intre ele, led-ul cu mos-ul se manifesta la fel. Desfac rezistenta din poarta mosului, led-ul reactioneaza corect. Schimb mos-ul problema persista. Curatat cablaj cu alcool, pus o alta rezistenta din poarta mosu-ului la masa, nimic. Dupa nervi mancati si nopti pierdute, se pune in loc de 47 ohm din poarta mos-ului 100 ohm - incredibil, functioneaza. De ce? Numai dumnezeu stie.

post-27263-139829410638_thumb.jpg

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