Układ: Uzywam zewnetrznego kwarcu 16Mhz. Atmega32 jest zasilana z 5V, a REF02 z 9V. Ze zrodla REF02 (4.97V) zasilany jest przetwornik ADS 1100 (A+ 4.97, A- AGND). Nogi przetwornika SDA/SCL sa podlaczone do Atmegi32 poprzez rezystory 4.7k i podciagniete do napięcia zasilania 5V. Nie ma zadnych kabli, wszystko jest zrobione na PCB. Kondesatory 100nF sa przed zasilaniem kazdego ukladu.
http://www.ti.com/lit/ds/symlink/ads1100.pdf
Mierzone napiecie jest zgodne z multimetrem, natomiast co jakis czas:
243 bits 1267 voltage 192mV
start
datahtemp 4 dataltemp 243 bits 1267 voltage 192mV
start
datahtemp 4 dataltemp 245 bits 1269 voltage 192mV
start
datahtemp 4 dataltemp 244 bits 1268 voltage 192mV
start
datahtemp 0 dataltemp 0 bits 0 voltage 0mV
start
datahtemp 4 dataltemp 248 bits 1272 voltage 192mV
start
datahtemp 4 dataltemp 249 bits 1273 voltage 193mV
po RS232 dostaje wartosc = 0. Sa to losowe zdarzenia. Czasem 10 minut nie ma zadnego 0, a czasem w ciagu minuty sa z 2-3.
Oczywiscie moge to programowo wyciac. Napisac petle gdzie bede sprawdzal czy jest 0, a nastepnie ignorowal ten wynik. Jednak dla pewnosci prosze kolegow o sprawdzenie mojego kodu:
biblioteki do I2C uzywam z ksiazki.
http://www.ti.com/lit/ds/symlink/ads1100.pdf
Mierzone napiecie jest zgodne z multimetrem, natomiast co jakis czas:
243 bits 1267 voltage 192mV
start
datahtemp 4 dataltemp 243 bits 1267 voltage 192mV
start
datahtemp 4 dataltemp 245 bits 1269 voltage 192mV
start
datahtemp 4 dataltemp 244 bits 1268 voltage 192mV
start
datahtemp 0 dataltemp 0 bits 0 voltage 0mV
start
datahtemp 4 dataltemp 248 bits 1272 voltage 192mV
start
datahtemp 4 dataltemp 249 bits 1273 voltage 193mV
po RS232 dostaje wartosc = 0. Sa to losowe zdarzenia. Czasem 10 minut nie ma zadnego 0, a czasem w ciagu minuty sa z 2-3.
Oczywiscie moge to programowo wyciac. Napisac petle gdzie bede sprawdzal czy jest 0, a nastepnie ignorowal ten wynik. Jednak dla pewnosci prosze kolegow o sprawdzenie mojego kodu:
Kod: C / C++
biblioteki do I2C uzywam z ksiazki.
