Sari la conținut
ELFORUM - Forumul electronistilor

Lucreaza cineva cu FLOWCODE ?


bercioiu

Postări Recomandate

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

 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

@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

 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 de aureliu67
Link spre comentariu

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 de aureliu67
Link spre comentariu

Incearca sa regenerezi valoarea cu pickit2, daca nu merge, nu-i bai mare la aplicatia ta, aia este calibrarea oscilatorului intern.

Link spre comentariu

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 de aureliu67
Link spre comentariu
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.
Link spre comentariu

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

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

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

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