Cilibiu Postat Septembrie 19, 2012 Autor Partajează Postat Septembrie 19, 2012 Am mai lucrat un pic la grafica si grafica finala este cea de mai jos.Maine as vrea sa fac mici calibrari la senzorul de la apa ca sa ma pot apuca de carcasa bordului. Link spre comentariu
ratza Postat Septembrie 20, 2012 Partajează Postat Septembrie 20, 2012 Pot să-ţi dau o sugestie ca să nu mai arate aşa de încărcat? Scoate textele astea: fuel, speed, turometer, gear. Au deja unităţile de măsură şi e clar ce reprezintă.EDIT: Ah, da, am uitat. Felicitări! Chiar a ieşit mişto. Link spre comentariu
Cilibiu Postat Septembrie 20, 2012 Autor Partajează Postat Septembrie 20, 2012 La inceput cand am facut grafica, inca nu trecusem acesti indici, si sincer nu arata fain un LCD iar pe el doar cateva cifre si atat. Va ramane asa, mie imi place asa.Mersi! Link spre comentariu
Cilibiu Postat Septembrie 20, 2012 Autor Partajează Postat Septembrie 20, 2012 Am intampinat o problema.Folosesc ca senzor de temperatura LM35DZ, programul scris in bascom pentru a testa senzorul.Variatiile sunt extrem de mari, in jur de +/-2 grade ca afisare, in realitate nu am mai mult de 1mV oscilatie. In datele tehnice zice ca LM35 da pe out 10mV/grad, deci pe ecran am variati de +/-20mV, in realitate +/-0.5mV, ce poate sa fie?Am pus diferite rezistente si condesatori pentru a scapa dar nu am imbunatatit prea mult rezultatul.Ma gandesc sa folosesc un TL072 pentru a furniza 100mV/ grad la intrare in ATMEGA.Voi ce ziceti? Ati mai intampinat problema asta?Am renuntat la senzoruld de apa care este montat pe motor si am bagat un LM35DZ, stiu ca plaja este de la 0-100grade, totusi indeajuns pentru cemi trebuie.OBS: pe alta intrare ADC am nonitorizarea tensiuni de 12V printr-un divizor rezistiv 12V>>1200mV, si nu am nici un fel de variati. Link spre comentariu
Liviu M Postat Septembrie 20, 2012 Partajează Postat Septembrie 20, 2012 Astepti suficient intre schimbarea intrarii ADC si citirea datelor? Link spre comentariu
Cilibiu Postat Septembrie 20, 2012 Autor Partajează Postat Septembrie 20, 2012 Am testat si cu o intarziere de 1 secunda, si tot la fel face.Din cate stiu eu tensiunea minima pentru ADC este de 4.3mV, la mine variatia este in total de vreo 40mV cea ce este cam mult. Acum depinde si de MCU daca are eroare mai mare.Am decis ca cel mai bine este sa fac un amplificator x4 cu LM358, in loc de 10mV-grad o sa am 40mV-grad, iar in loc sa imi varieze 2 grade pe display imi va varia doar 0.5 grade sper eu. Maine o sa testez sa vad cum stau cu variatia si revin cu amanunte. Link spre comentariu
ratza Postat Septembrie 21, 2012 Partajează Postat Septembrie 21, 2012 Pune cîte un condensator de 10nF pe intrările din ADC, probabil captezi ceva paraziţi. Link spre comentariu
ramsesrr Postat Septembrie 21, 2012 Partajează Postat Septembrie 21, 2012 Ai putea inlocui LM35 cu un DS18b20(setat pe 9biti pt a avea un timp rezonabil pt obtinerea temperaturii).Asta te ar scapa de partea de amplificare necesara pt LM35 Link spre comentariu
stefan_k Postat Septembrie 21, 2012 Partajează Postat Septembrie 21, 2012 Am decis ca cel mai bine este sa fac un amplificator x4 cu LM358, in loc de 10mV-grad o sa am 40mV-gradEu am folosit varianta de 10mV/grad, in combinatie cu o statie de lipit.Semnalul de la termocupla era amplificat de un lm358 pana la 10mV/grC, si apoi citit de un atmega8 (printr-un divizor rezistiv, cred ca 1:2 deoarece valoarea putea urca la peste 300grade).Citirea din atmega a fost suficient de stabila, as zice ca a mers fara nici o problema (nu m-au interesat zecimalele, evident, doar valori intre 0 - 350grade - tensiunea efectiva la iesirea lui lm358 fiind de 1V/100gr, si, cum am zis, aplicat apoi un divizor rezistiv 1:2).Deci, as zice ca 10mV/gr ar trebui sa fie suficient. Probabil undeva nu faci ceva bine, si atunci vei obtine acelasi efect si cu 40mV/gr.La ce m-as gandi prima data e setarea prescalerului, ar trebui sa fie intre 50-200kHz.Pe urma la impedanta de intrare, deparazitari, etc. Link spre comentariu
godFather89 Postat Septembrie 21, 2012 Partajează Postat Septembrie 21, 2012 Probabil paraziti. Fa mai multe citiri consecutive si afiseaza media (sau mediana). Link spre comentariu
Cilibiu Postat Septembrie 21, 2012 Autor Partajează Postat Septembrie 21, 2012 Pune cîte un condensator de 10nF pe intrările din ADC, probabil captezi ceva paraziţi. Am pus si nici o schimbare, singura ameliorare este o rezistenta de 150 ohm in paralel cu un condesator de 10uF puse intre ADC si MASA. Probabil paraziti. Fa mai multe citiri consecutive si afiseaza media (sau mediana). Mediana este de 18.0 grade, acum dupa ce am pus LM358 am variati de +/-0.1 grade pe ecran. ....La ce m-as gandi prima data e setarea prescalerului, ar trebui sa fie intre 50-200kHz.......Pe urma la impedanta de intrare, deparazitari, etc...... Cum setez mai exact PRESCALERUL? Codul mai jos. $regfile = "m128def.DAT"$crystal = 16000000$lib "glcdRA6963.lbx"Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portc , Cd = 0 , Rd = 1 , Wr = 2 , Ce = 3 , Reset = 4 , Fs = 5 , Mode = 8Cursor Off NoblinkCls$hwstack = 32 ' default use 32 for the hardware stack$swstack = 10 ' default use 10 for the SW stack$framesize = 40Config Porte.3 = OutputPorte.3 = 1Dim Adcv As Word , Apatemp As SingleConst Dif = 5 / 1023Const Divizor = 1Config Adc = Single , Prescaler = Auto , Reference = AvccStart AdcDo'apa temperaturaAdcv = Getadc(2)Waitms 10 Apatemp = Adcv * Dif Apatemp = Apatemp / Divizor Apatemp = Apatemp * 20 Waitms 5Locate 10 , 10Lcd Fusing(apatemp , "#.#")LoopEnd Ai putea inlocui LM35 cu un DS18b20(setat pe 9biti pt a avea un timp rezonabil pt obtinerea temperaturii).Asta te ar scapa de partea de amplificare necesara pt LM35 Deja nu mai pot face modificari in cablaj, este indeajuns ca am pus LM in loc de NTC si a trebuit sa modific trasee. Link spre comentariu
stefan_k Postat Septembrie 21, 2012 Partajează Postat Septembrie 21, 2012 Cum setez mai exact PRESCALERUL?Codul mai jos. Config Adc = Single , Prescaler = Auto , Reference = Avcc Se pare ca prescalerul e setat, dar pe "auto". Adica compilatorul face ce vrea muschiul lor.Nu am lucrat cu bascom-ul, asa ca nu stiu daca "Auto" e ok sau nu.Teoretic prescalerul pentru adc poate lua valori intre 2 si 128 (2, 4,8,16,32,64,128).Datasheetul recomanda sa fie setat in asa fel incat frecventa pt adc sa fie intre 50 si 200kHz.Tot din cod deduc ca rulezi procesorul la 16MHz.In acest caz, singura valoare rezonabila pt prescaler este "128" (16MHz/128=125kHz)Deci, ai putea incerca cu:Config Adc = Single , Prescaler = 128 , Reference = AvccNu stiu de va avea efect sau nu, depinde ce facea bascomul inainte. Dar incercarea nu te costa nimic. Link spre comentariu
Cilibiu Postat Septembrie 21, 2012 Autor Partajează Postat Septembrie 21, 2012 Am facut cum ai zis si tot la fel face. BASUL zice asa "'The prescaler divides the internal clock by 2,4,8,16,32,64 or 128 'Because the ADC needs a clock from 50-200 KHz 'The AUTO feature, will select the highest clockrate possible" Chiar ma documentam cum sa il configurez manual. To in HELP vad ca zice : 'The reference param may be : 'OFF : AREF, internal reference turned off 'AVCC : AVCC, with external capacitor at AREF pin 'INTERNAL : Internal 2.56 voltage reference with external capacitor ar AREF pin In realitate pinul AREF este conectat cu AVCC. Oare asta sa fie problema ca nu am pus condesator? Am incercat si pe INTERNAL si acelasi rezultat. L.E am trecut REFERENCE pe OFF dupa cum vad se va folosi de pinul AREF pentru referinta, si aici se pare ca este o ameliorare, variatia a scazut la maxim +/-0.05 grade. Link spre comentariu
stefan_k Postat Septembrie 21, 2012 Partajează Postat Septembrie 21, 2012 Vrei sa folosesti montajul pe o motocicleta, in conditii "vitrege".Eu as pune absolut toti condensatorii recomandati de atmel. Link spre comentariu
Cilibiu Postat Septembrie 21, 2012 Autor Partajează Postat Septembrie 21, 2012 Acum ca am configurat sa folosesc pinul AREF, unde sa mai pun condesatorul?In partea de filtrare a tensiuni, am pus mult mai multi condesatori decat era necesar, pana si separarea filtrati de restul instalatiei electrice, ce vreau sa mai fac, este sa inlocuiesc cei 2 stabilizatori 7805 cu un LM2678-5, vreau sa il fac sa consume cat mai putin posibil, iar dupa cateva calcule cand este pornit , in fuul load sa ii zic asa, consuma 2.5W iar in ST/by consuma 0.7W, iar un calcul la bateria care o am eu, ar tine 5 zile fara sa pornesc motorul.Inca o obiesctie, bordule functioneaza perfect si cu o tensiune minima de 7V cea ce duce la pastrarea setari ceasului mai mult timp.Kilometri sunt inregistrati in EEPROM la fiecare LOOP din program, deci daca i se ia curentul cand ii revine curentul continua de unde a ramas.O sa revin si schema finala si modificarile facute pe parcurs. 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