Elison Postat Iulie 2, 2015 Partajează Postat Iulie 2, 2015 Compilatorul zice asa: Error: No remaining RAM block (on target) big enough for: '$ret' size:4 bytes 'retxxx' size:4 bytes 'CompTempVar677' size:1 bytes 'CompTempVar678' size:1 bytes 'b' size:4 bytes '$ret' size:4 bytes 'retxxx' size:4 bytes 'ret' size:4 bytes '_a' size:4 bytes 'ret' size:4 bytes 'ret' size:4 bytes 'i' size:1 bytes 'i' size:1 bytes 'CompTempVar984' size:1 bytes 'CompTempVar985' size:1 bytes 'count' size:1 bytes 'i' size:1 bytes 'zSig0' size:4 bytes 'CompTempVar988' size:1 bytes 'roundNearestEven' size:1 bytes 'roundIncrement' size:1 bytes 'roundBits' size:1 bytes 'isTiny' size:1 bytes 'zSigPlusRound' size:4 bytes 'CompTempVar683' size:4 bytes 'CompTempVar689' size:1 bytes 'CompTempVar690' size:1 bytes 'CompTempVar692' size:1 bytes 'CompTempVar693' size:1 bytes 'CompTempVar694' size:1 bytes 'CompTempVar696' size:1 bytes 'CompTempVar697' size:1 bytes 'CompTempVar698' size:1 bytes 'stickyBit' size:1 bytes 'count' size:1 bytes 'CompTempVar701' size:4 bytes 'i' size:1 bytes Dupa asta puteai sa vezi ca spune:RAM available:64 bytes, used:90 bytes (140.6%), free:-26 bytes (-40.6%). Erorile apar pentru ca citesti intrarea analogica folosind functia ReadAsVoltage, valoarea returnata de aceasta functie este de tipul float. Cand lucrezi cu variabile de tip float este nevoie de multa memorie,12F675 nu are destul RAM ca sa faca treba asta in acest caz. Foloseste functia ReadAsInt si o sa vezi ca se compileaza fara erori. Trebuie sa adaptezi putin codul acolo unde faci comparatia cu constanta 4,5. Link spre comentariu
aureliu67 Postat Iulie 3, 2015 Partajează Postat Iulie 3, 2015 Cu Int nu merge deloc. Am incercat ca in cazul Dvs cu constanta 1023, si nu merge. Am modificat 4.5 si tot nu merge. Am cautat exemple pe net dar acolo e si mai ambiguu. Intr-un loc scrie ca cica genereaza o variabila rando... in alte locuri prezinta doar intervalul de valori de la minus la plus. Pe youtube la fel nimic folositor referitor la aceasta functie.. Alta data voi folosi doar pic 877a sau pic 887. ca sa nu mai am probleme de genul acesta. Probabil ca aceasta functie e mai complicat sa o folosesti si e pentru utilizatori avansati. Oricum multumesc mult Elison pt ajutorul acordat si mie, si prietenului meu mikella. Scuze pt timpul rapit. Link spre comentariu
Elison Postat Iulie 3, 2015 Partajează Postat Iulie 3, 2015 @aurellu67 nu trebuie sa-ti ceri scuze pentru nimicUndeva in program aveai ceva de genul:If U_baterie > 4,5, dupa folosirea functiei ReadAsInt acest if devine iF U_baterie >921.Valoarea 921 inseamna 4,5V si se gaseste in felul urmator:921x0.004883=4,5 unde 0.004883 se obtine impartind tensiunea maxima citita de ADC, in cazul tau(5V),la 1024 care este 2 la puterea 10,zece fiind rezolutia de citire ADC(5V/1024=0.004883).Asa merge sigur, la mine s-a compilat fara probleme. Link spre comentariu
bercioiu Postat Iulie 3, 2015 Autor Partajează Postat Iulie 3, 2015 (editat) Ia vezi, acum intelegi diferenta? L.E. Am postat concomitent :-) INT.rar Editat Iulie 3, 2015 de bercioiu Link spre comentariu
aureliu67 Postat Iulie 3, 2015 Partajează Postat Iulie 3, 2015 (editat) Am inteles.. Era atat de simplu.. Dar am incercat si cu valoarea 500 inainte dar nu a mers.Nu mi-am dat seama ca 1023 corespunde tensiunii 5 v.. Va multumesc tuturor. Vreau sa folosesc acest controler ca sa produc hidrogen cand bateria ajunge la incarcare completa, ca sa nu se piarda energia. Din acest motiv am 2 iesiri. Elecrolizorul este gata de cativa ani si e testat. Urmeaza... explozia pe casa (nu ar fi prima data).. Editat Iulie 3, 2015 de aureliu67 Link spre comentariu
bercioiu Postat Iulie 3, 2015 Autor Partajează Postat Iulie 3, 2015 Degeaba ai pus valoarea 500 daca n-ai facut variabila U_baterii de tip INT... Link spre comentariu
aureliu67 Postat Iulie 3, 2015 Partajează Postat Iulie 3, 2015 (editat) A aparut o alta problema invalid OSCCAL value detected. Mentionez ca problema a aparut doar prin programarea ICSP. cand am conectat picul direct (altul), a mers ireprosabil. Am inteles ca osccal se seteaza de undeva. (in rusa oskal inseamna cand caiinele isi arata dintii si marae la suparare, ca si picul meu ) Sau e posibil ca picul sa fie defect? Am dat regenerare ca am gasit optiunea intre timp dar operatiunea a esuat.. Am nevoie de setare manuala. De ce in afara schemei celalalt pic a mers iar asta de pe montaj nu merge? Sa fie o eroare in schema? charge controlerr 12f675.rar Editat Iulie 3, 2015 de aureliu67 Link spre comentariu
bercioiu Postat Iulie 3, 2015 Autor Partajează Postat Iulie 3, 2015 Incearca sa regenerezi valoarea cu pickit2, daca nu merge, nu-i bai mare la aplicatia ta, aia este calibrarea oscilatorului intern. Link spre comentariu
aureliu67 Postat Iulie 3, 2015 Partajează Postat Iulie 3, 2015 (editat) Am facut asta dar mi-a dat eroare programare la adresa 0x000000 Am setat manual 3440 (ca la primul) si nu se pastreaza. Se repeta situatia din nou. O sa ved daca merge asa montajul Editat Iulie 3, 2015 de aureliu67 Link spre comentariu
ardiles Postat Iulie 6, 2015 Partajează Postat Iulie 6, 2015 intreb si eu ca poate adaptez la aplicatia mea: care ar fi diferenta intre Int si byte? stiti la ce ma refer, la read as int sau la read as byte... cum m-ar putea ajuta la http://www.elforum.info/topic/11233-lucreaza-cineva-cu-flowcode/page-23?do=findComment&comment=1198686 Link spre comentariu
Elison Postat Iulie 6, 2015 Partajează Postat Iulie 6, 2015 ReadAsByte() returneaza valori cuprinse in intervalul 0-255. De exemplu daca ai tensiunea de referinta 5V o sa ai o precizie de citire de 0.01953125V, indiferent de rezolutia de citire a ADC Aceasta functie ar fi utila doar pentru a trimite valorile citite, direct pe un port de iesiri digitale. ReadAsInt() returneaza valori in intervalul 0-1023, pentru Vref=5V precizia de citire este de 0.004882813V. Aici pot fi cateva diferente in functie de rezolutia ADC 8,10 sau 12 biti, cu cat rezolutia ADC este mai mare cu atat precizia de citire este mai buna. In aplicatia ta nu cred ca te ajuta cu nimic folosirea lor. Daca vrei sa stii starea motorului(oprit/pornit), cauta alta solutie decat cea pe care ai prezentat-o,doar citind tensiunea acumulatorului nu cred ca o sa ai rezultate care sa te multumeasca. 1 Link spre comentariu
aureliu67 Postat Iulie 6, 2015 Partajează Postat Iulie 6, 2015 Poate cineva arunca o privire la montajul facut de mine in proteus si postat la sfarsitul saptamanii trecute.Cred ca am gresit ceva pt ca a facut scantei langa un condensator. Nu merge montajul.. @ ardiles. Consider ca senzorul de presiune ulei arata cel mai bine daca motorul merge sau nu. Mai poate fi folosit si becul de la baterie de la bordul masinii dar totusi becul de la ulei are legatura directa cu functionarea motorului. Link spre comentariu
ardiles Postat Iulie 6, 2015 Partajează Postat Iulie 6, 2015 am inteles! pana la urma nu prea ma intereseaza atat de tare sa stiu daca motorul este pornit sau nu, ci doar cand contactul se afla in pozita M... credeam ca totsi mai este o oaza de speranta sa nu mai trag inca un fir dar pana la urma nu am incotro. asa este Aureliu, am inteles ca senzorul de presiune ulei este sfant in detectarea motorului oprit pornit dar eu voiam sa fie alicatia cat mai simplu de instalat, de catre persoane neavizate. in masina mea, ma voi complica cu un fir. multumesc mult! Link spre comentariu
Liviu M Postat Iulie 6, 2015 Partajează Postat Iulie 6, 2015 Nu mai stiou cum era la Oltcit, da' la toate masinile cat de cat recente pe care le-am vazut, bricheta se alimenteaza numai cu contactul pus. Poate e suficient sa alimentezi circuitul de la bricheta pe post de "start"? Link spre comentariu
ardiles Postat Iulie 6, 2015 Partajează Postat Iulie 6, 2015 nu-i asta problema, singurul motiv era de a simplifica instalarea, pentru a nu determina utilizatorii sa mai traga un fir... 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