catalin004 Postat Noiembrie 16, 2017 Autor Partajează Postat Noiembrie 16, 2017 Da, frumoasa idee...dar spuneti-o pana la capat, adica rosu cand este pe incalzire si verde pe racire? Pe placa de test cu care lucrez am numai rosii, insa mai am o placa confectionata de mine, tot test, la care am muuulte led-uri... Link spre comentariu
Bandi Szasz Postat Noiembrie 16, 2017 Partajează Postat Noiembrie 16, 2017 (editat) Da exact o culoare pentru racire si una pentru incalzire dar se poate si cu 2 leduri rosii. Personal prefer leduri bicolore pentru simplul fapt ca se poate vedea de la distanta mai mare starea curenta, nu trebuie sa te uiti care dintre cele doua LED-uri sunt aprinse. Dar daca nu se vrea asta ci doar sa te apropii si sa vezi atunci cam ce se intampla merg fara probleme si 2 led-uri rosii. Editat Noiembrie 16, 2017 de Bandi Szasz Link spre comentariu
catalin004 Postat Noiembrie 16, 2017 Autor Partajează Postat Noiembrie 16, 2017 O sa fac ceva pe ecran...la incalzire sa apara un simbol...la racire altul...rosii deja le am pe placuta (semnifica atunci "cand ar cupla releul de incalzire/racire" - nu am montate relee)repet este doar de test...singura problema am acea veche treaba cu afisarea ....o sa postez un video mai tarziu cu problema, poate nu ma exprim prea bine...alta este vizibil Link spre comentariu
catalin004 Postat Noiembrie 17, 2017 Autor Partajează Postat Noiembrie 17, 2017 (editat) View My Video Editat Noiembrie 17, 2017 de catalin004 Link spre comentariu
Bandi Szasz Postat Noiembrie 17, 2017 Partajează Postat Noiembrie 17, 2017 Da, daca ati incercat si cu un filtru pe ADC si face la fell atunci sunt 2 optinui, ori mariti timpul de achizitie a datelor sa zicem se fac masuratori timp de 1s si doar dupa se face mediere si afisare sau tensiune de referinta externa de 2.5V pentru a marii rezolutia ADC. La 5V o diferenta de 0.5C inseamna doar 1 singura valoare ADC care este cam putin si nu prea se poate obtine o citire stabila fara un numar mai mare de citiri pe un domeniu de timp mai mare. Link spre comentariu
catalin004 Postat Noiembrie 17, 2017 Autor Partajează Postat Noiembrie 17, 2017 Am inteles...o sa fac afisarea dupa 1 secunda...dar pentru mine o sa incerc si cu referinta de 2.5v sa vad cum se misca....multumiri Link spre comentariu
catalin004 Postat Noiembrie 20, 2017 Autor Partajează Postat Noiembrie 20, 2017 Buna dimineata...am problema cu modificarea set_temp la apasarea butoanelor....cand apas plus sau minus imi creste/scade temperatura setata foarte repede...adica daca tin o secunda se duce pa 50 de grade imediat...sa-i fac delay-ul la taste mai mare? Multumesc Link spre comentariu
catalin004 Postat Noiembrie 20, 2017 Autor Partajează Postat Noiembrie 20, 2017 const char character0[] = {21,14,4,31,4,14,21,0}; void CustomChar0() { static char i; Lcd_Cmd(64); //aici 64 for (i = 0; i<=7; i++) Lcd_Chr_CP(character0[i]); Lcd_Cmd(_LCD_RETURN_HOME); } const char character1[] = {4,12,30,31,27,27,14,0}; void CustomChar1() { static char i; Lcd_Cmd(72);//aici 72??? for (i = 0; i<=7; i++) Lcd_Chr_CP(character1[i]); Lcd_Cmd(_LCD_RETURN_HOME); } Am facut un heather pentru 2 caractere....un fulg si o flacara....as dori sa stiu de ce difera in program LCD_Cmd 64 apoi 72...daca ar mai fi alt caracter s-ar aduna cu 8: Link spre comentariu
Bandi Szasz Postat Noiembrie 20, 2017 Partajează Postat Noiembrie 20, 2017 Exista doua variante pt buton, unul ar fi cu delay iar cealalta varianta ar fi cu verificarea eliberarii butonului deci pt fiecare incrementare trebuie apasat mai apoi eliberat butonul. Pentru a doua varianta gasiti exemplul in codul postat de mine sau in libraria button din MikroC. Acea valoare indica locatia de memorie unde va fi stocata caracterul in LCD, fiecare caracter ocupa 8octeti (byte) Link spre comentariu
catalin004 Postat Noiembrie 20, 2017 Autor Partajează Postat Noiembrie 20, 2017 (editat) Adica este un pointer acea valoare?nu inteleg de ce nu sunt egale...in fine... Cu butonul am rezolvat, am facut incrementul de 0.03...delay-ul este de 10ms, am facut si cu intrerupere la 200ms, insa crestea rapid in cele 200ms apoi se astepta s treaca iar 200, si dadea urat pe display...cu acest increment creste frumos, nici prea lent si nici rapid. Mai trebuie sa fac ceva cu miscarea aceea a temperaturii, am bagat temporizare pe afisare, insa la comanda releului nu, si face urant releul, decupleaza si cupleaza odata cu fluctuatia, filtrul nu rezolva nimic.... Varianta a doua am vazut-o la dvs in program, interesanta, insa trebuie apasat la fiecare increment...e mai comod sa tin apasat si sa creasca/scada Editat Noiembrie 20, 2017 de catalin004 Link spre comentariu
Bandi Szasz Postat Noiembrie 20, 2017 Partajează Postat Noiembrie 20, 2017 Acea valoare indica zona de memorie unde se stocheaza acel caracter, daca am da exact acea valoare de fiecare data am suprascrie caracterul scris initial. E aceasi lucru ca cu orice mediu de stocare, o anumita informatie se stocheaza in locatii diferite. Modulul LCD nu are un incriment intern sa zica ca aici am deja stocata un caracter si pe urmatorul il stochez in alta parte, de acea trebuie sa ii indicam noi in ce locatie de memorie sa-l stocheze, valoarea 64 inseamna ca caracterul se va stocha in memorie pe locatiile 64-71, si de acea urmatorul caracter trebie salvat cu locatie incepand de la 72. Cu stabilitatea probabil merita incercat o referinta externa de 2.5V 1 Link spre comentariu
catalin004 Postat Noiembrie 20, 2017 Autor Partajează Postat Noiembrie 20, 2017 Si trebuie facut divizor rezistiv banuiesc? adica maximul temperaturii (iesirea LM) sa nu depaseasca referinta?sau doar trebuie modificat ADCON? Link spre comentariu
Bandi Szasz Postat Noiembrie 20, 2017 Partajează Postat Noiembrie 20, 2017 (editat) Iesirea LM-ului nu ar trebuii sa depaseaca referinta da oricum pe iesire are 10mv/C deci la 1V ar indica 100C. Unele PIC-uri au referinta interna, 16F877 nu cred ca are deci trebuie unu-l extern legat de PIN-ul Vref+ si configurat registrul de ADC. Pentru test merge o referinta cu divizor, pentru stabilitate se poate folosii un regulator de tensiune ( sunt unele speciale pentru tensiuni de referinta). Intrarea de ADC va suporta in continuare 5V deci nu este problema daca LM-ul urca peste 2.5V doar ca ADC-ul va indica valoarea maxima. Editat Noiembrie 20, 2017 de Bandi Szasz Link spre comentariu
catalin004 Postat Noiembrie 20, 2017 Autor Partajează Postat Noiembrie 20, 2017 (editat) Am inteles....multumesc mult...revin cu rezolvarea problemei cred ca are Vref intern... Analog Features: • 10-bit, up to 8-channel Analog-to-Digital Converter (A/D) • Brown-out Reset (BOR) • Analog Comparator module with: - Two analog comparators - Programmable on-chip voltage reference (VREF) module - Programmable input multiplexing from device inputs and internal voltage reference - Comparator outputs are externally accessible Editat Noiembrie 20, 2017 de catalin004 Link spre comentariu
Bandi Szasz Postat Noiembrie 20, 2017 Partajează Postat Noiembrie 20, 2017 (editat) Acela este doar pentru comparator nu se poate folosii si pentru ADC. Vedeti diagrama 11-1 pe pagina 113 pentru circuitul intern ADC. Prin registrii PCFG3:PCFG0 se poate selecta Vref intre VDD si PIN-ul Vref+, nu exista legatura catre referinta interna Editat Noiembrie 20, 2017 de Bandi Szasz 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