(11-11-2022, 09:53 PM)savan Wrote: Ads1115 kada su ulazi postavljeni u singl ended mode onda mu je rezolucija pola od 16bit tj 8bit meri pozitivni napon i jos toliko za negativni napon, znci rezolucija mu je 32767 u decimalnoj formi.
Kada meris u diferencijalnom modu ne delis 16bita na 2 pa da imas 8 u pozitivnom i 8 u negativno jer bi to znacilo da imas 256 vrednosti za + i 256 vrednosti za -, vec je u tom slucaju 15bita za pozitivnu i 15bita za negativnu. Samim tim u single end modu imas 15bita efektivno.
(11-11-2022, 09:53 PM)savan Wrote:Code:voltaza = (float)(ad_value * vcc) / reolucija)
I na kraju temperatura:
Code:temepratura = (voltaza - vref) / 5mA
Sta je 5mA ovde ?
U svakom slucaju, postavis FSR u +/-1024mV mode (vise ti ne treba od toga) zatim ono sto dobijes iz AD konverzije mnozis sa lsb iz tabele za taj upotrebljeni FSR i imas dobijen izmereni napon u uV.
Taj napon delis sa 1000 da dobijes mV i delis sa 5, tj podelis odmah rezultat sa 5000 i imas temperaturu, ako nesto nisam omasio ovako na brzinu. Naravno ako imas i Vref samo jos to dodas u ovome sto sam napisao, ali sustina je ova.
(11-11-2022, 10:10 PM)savan Wrote: Trebala bi da bude ista rezolucija 32767 i na FSR=4.096 i na FSR=6.114 sa razlikom samo u LSB, rezultat nebi smeo da bude toliko drastican.. Nesto tu fali u formuli ili mozda ako koristim samo AIN0 u single ended modu mozda treba da spojim AIN1 na GND??? Kod mene je AIN1 floating!
U single end modu imas 4 ulaza i nema potrebe da spajas Ain1 na gnd, nije neophodno jer u tom modu meris Ain0 stanje u odnosu na gnd ic-a.
temperatura = [(advalue x lsb / 1000) - Vref(mV)] / 5(mV)
Linux is like a wigwam NO Windows NO Gates and an Apache inside