nico_2010 Postat Februarie 12, 2015 Partajează Postat Februarie 12, 2015 @Mondan: Ai citit cu atentia foaia de aplicatie? In caz afirmativ, ai remarcat particularitatile aplicatiei? Cum ai testat programul cu pricina? Stiu ca Microchip mai da cu bata-n balta uneori in aplicatii, dar asta nu este o regula. Link spre comentariu
Mondan Postat Februarie 12, 2015 Autor Partajează Postat Februarie 12, 2015 <Ai citit cu atentia foaia de aplicatie?> Am citit-o in diagonala..... Am si schimbat cu PIC12F675. Compilatorul a dat cateva erori (deocamdata) la 'TRIS GPIO" TRIS find, zic ei, o instructiune in asm Nu-i problema, ca am sa le scriu in asm. Mai ales ca am si listingul. La unele 12F TRIS-ul se numeste 'TRISGPIO", la altele cand ii dai TRISGPIO=.. in C in listing iti configureaza TRISB, Link spre comentariu
nico_2010 Postat Februarie 12, 2015 Partajează Postat Februarie 12, 2015 Bine, atunci daca ai citit-o "pe diagonala" iti doresc succes. Asigura-te ca pui si o siguranta rapida. Link spre comentariu
Liviu M Postat Februarie 12, 2015 Partajează Postat Februarie 12, 2015 Am si schimbat cu PIC12F675. Compilatorul a dat cateva erori (deocamdata) la'TRIS GPIO"TRIS find, zic ei, o instructiune in asmCe ai schimbat cand ai schimbat?Cuvintele "cheie" specifice fiecarui controller stau in fisierele "nume_controller.h". In programul original era inclus 12C508.h:#include <12C508.h>Acum trebuie sa-l inlocuiesti cu#include <12F675.h>si sa actualizezi apelurile registrilor/porturilor in mod corespunzator, daca e cazul. Link spre comentariu
Mondan Postat Februarie 12, 2015 Autor Partajează Postat Februarie 12, 2015 (editat) Mda, vezi va nu exista <12F675.H> cel putin la compilatorul meu. Are <12F6X.H> La pagina 18 din PDF: while(LineInput == 1);while(LineInput == 0); care nu merg. LineInput este definit GPIO.4, da' nu "vrea sa-ntelega" ca e bitul 4 din GPIO. Am incercat cu GPIO.GP4 sau GP4 si la fel nimic Nu ziceti ca folosim masca ca vom incarca programul cu calcule inutile. In listing liniile sunt: 0013 BTFSC 06,40014 GOTO 0013h0015 BTFSC.......0016 ........ si cred ca o sa le scriu exact asa cum sunt BTFSC GPIO,4 GOTO ..... In ultimul PDF mentionat e varianta simpla fara telecomanda. Editat Februarie 12, 2015 de Mondan Link spre comentariu
Liviu M Postat Februarie 13, 2015 Partajează Postat Februarie 13, 2015 A fost o perioada cand htsoft avea o varianta demo pentru compilerul lor picc-lite, care nu stia decat cateva picuri. Poate o versiune similara ai si tu.Incearca sa descarci xc8, poate cu ala ai mai multe sanse. Link spre comentariu
Mondan Postat Februarie 13, 2015 Autor Partajează Postat Februarie 13, 2015 Acum sa ma ajutati cu sugestii; 1. Sa mearga cu telecomanda TV. Dar nu mai sunt multi tieri care au TV si telecomenzi TV. 2 Sa nu memoreze vreo telecomanda si sa aiba el propria telecomanda IR predefinita 3. Sa ii faci o alta telecomanda din cateva piese. Un tranzsistor oscilator la emisie, cativa tranzlstori la receptie Modulele RX-TX sunt prea scumpe. Dezavantaj ca daca il fac asa cu rtelecomada cu carcasa facuta de mine,, cei care se uita la el or sa zica - arat ca o porcarie. 4. Telecomanda sa fie facuta de pe telefonul mobil cu Android. Deocamdata stiu Android, dar nu stiu iOS. Adica sistemul de operare pecare merg telefoanele ale cu mar muscat pe ele de a Apple. Astfel daca aplicatia de telecomanda o verific pe Android, reise ca va merge si pe iOS? ---------------------------------------- Ma tot uit la schema aia bloc a lui Eliott: http://sound.westhost.com/lamps/dimmers.html Scrie "power supply" dar aia e sursa pentru curent continuu. Link spre comentariu
Mondan Postat Februarie 19, 2015 Autor Partajează Postat Februarie 19, 2015 A aparut inca o problema -schema din primele posturi data de Microchip. Becul palpaie la o frecventa joasa. Sursa merge bine, deci il alimenteaza. In Proteus aceeasi schema merge foarte bine. Am vazut ca e vorba de referinta atunci cand sinusoida trece prin 0V. Eu am pus pe acel pin divizor rezistiv + o protectie de DZ4V7 sa nu ard intrarea. Stiu ca intrarile au diode de protectie, dar mi-a fost lene sa mai caut despre caracteristicile lor. Macar in test acel pin are o protectie un zener de 1W. Am mai observat ca atunci cand ii pui 300pF clipirea devine mai clara si mai rara. Am sa revin cu schema pentru clarificare. Link spre comentariu
Mondan Postat Februarie 19, 2015 Autor Partajează Postat Februarie 19, 2015 Deci daca ii pun un condensator de 300pF in paralel cu zenerul, clipeste mai rar. Link spre comentariu
nico_2010 Postat Februarie 19, 2015 Partajează Postat Februarie 19, 2015 Daca ai fi citit foaia de aplicatie - si nu pe diagonala - ai fi vazut/remarcat ca softul este gandit pentru o frecventa a retelei de 60 Hz si nu de 50 Hz. Link spre comentariu
ventzel Postat Februarie 19, 2015 Partajează Postat Februarie 19, 2015 Scoate si puntea redresoare si pune rezistenta serie >10M. Softu masoara perioada retelei ca timp cat ai GP4 in 0 logic(ai alternanta negativa) si timp cat ai 1 logic(alternanta pozitiva). Timpii ar trebui sa fie simetrici. Daca unu din timpi ii mai scurt scurt decat trebe isi face resincronizare. In cazu cu puntea pusa o sa ai 1 logic 99% din timp si 0 logic 1%. Uitat-te la schema logica a programului de la pagina 6. Link spre comentariu
Mondan Postat Februarie 19, 2015 Autor Partajează Postat Februarie 19, 2015 <60 Hz> Nu-i asta. E simulat in Proteus la 50Hz. Oricum am pastrat softul doar asa in linii mari. Am schimbat delay-urile. In sfarsit, Am probat si cu tranzistor pentru comutatia acelui pin. Tot la fel a facut. Ciudat (ar fi trebuit si modifiicari in soft, nu mai detaliez. Daca as fi avut un osciloscop mai era ceva....Dar nu maistiu pe nimeni care sa ma ajutecu oscilo. ----------------------------------------------------- <Scoate si puntea redresoare si pune rezistenta serie >10M.> Nu pot scoate puntea redreoare, asa a fost conceputa schema. Fara puntea redresoare nu merge sursa de alimetare. <In cazu cu puntea pusa o sa ai 1 logic 99% din timp si 0 logic 1%> Exact asa si este. Softul rescris merge asa: - asteapta sa fie pinul ala in 0 logic (0 logic 1%) - asteapta un timp - apoi aprinde tiristorul care se va stinge automat cand "reteua" trece prin urmatorul 0V Link spre comentariu
ventzel Postat Februarie 19, 2015 Partajează Postat Februarie 19, 2015 Teoretic ii bine ce zici, da daca ai clipire insemna ca din ceva motiv nu ai detectie corecta a trecerii prin zero. Ai folosit intrerupere sau programu asteapta in bucla principala sa iti apara trecerea in zero? Pune eventual schema mai detaliata si bucata de cod in care faci sincronizarea si comanda. Link spre comentariu
Mondan Postat Februarie 19, 2015 Autor Partajează Postat Februarie 19, 2015 (editat) <Ai folosit intrerupere sau programu asteapta in bucla principala sa iti apara trecerea in zero?> Fara intreruperi. Intreruperile le "pastrez" pentru adaugirile ulterioare (telecomanda). E ceva de genul: Repeta: Asteapta0: nop nop btfsc GPIO,4 goto Asteapta0 Delay1 bsf GPIO,2; aprinde tiristor Delay2 bcf GPIO,2; dispare semnal in poarta tiristorului goto Repeta --------------------------------------- Delay1+Delay2 sunt mai mici decat o semiperioada de 50Hz Editat Februarie 19, 2015 de Mondan Link spre comentariu
ventzel Postat Februarie 19, 2015 Partajează Postat Februarie 19, 2015 Pe retea ai zgomote destul de multe si o sa ai detectii gresite foarte des. Ar trebui sa faci cel putin o verificare suplimentara cat dureaza fiecare perioada intre 2 treceri prin zero. Daca ai echivalentu a 9-11ms sa zicem consideri ca ii ok. Daca nu, faci resincronizare si astepti urmatoarea perioada. Daca ai minim 2-3 perioade consecutive corecte poti continua cu temporizare si comanda la triac. Cel mai fiabil ar fi sa folosesti un PLL soft sincronizat cu trecerea prin zero da cred ca ii prea mult pt un bec. In unele PIC-uri exista modul de de ZCD care poate declansa o intrerupere. De exemplu la 12f1612: http://ww1.microchip.com/downloads/en/DeviceDoc/40001737A.pdf Nu l-am probat inca da is curios ce imunitate are la zgomote. Link spre comentariu
Postări Recomandate
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 contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum