pic16f628 analog program yardım

Başlatan nihatari, 11 Mart 2006, 18:36:24

nihatari

Arkadaşlar merhaba..
Ben 16f628 kullanarak 4-20mA analog girişimi lcd de 0-3500 arası değerde okutmak istiyorum. Bununla ilgili programda yardımcı olursanız sevinirim.
4mA=0
20mA=3500
Benim için önemli olan 16f628 de analog girişi nasıl programlıyoruz

seco06


seco06


CaFFeiNe

@nihatari

16F628 de analog dijital çevirici yok analog karşılaştırıcı var LM339 entegresi gibi bişiy anlayacağın 2 analog sinyali karşılaştırıp hangisi büyük hangisi küçük gibi işlemler yapıyorsun

Erol YILMAZ

Cozunurlugun en az 12 bit olmali. LSB bolca kipirdanacagi icin iyi bir devre tasarimi ile 16 bit ADC kullanman gayet yerinde bir cozum olacaktir.

250 Ohm uzerinde dusurecegin gerilim 1 ile 5 V arasinda olur.

Max akim durumunda I^2xR kaybin 0.1W olacagi icin isinip direncinin bir miktar degismesi mumkun. Bu degisim olcum sonucunu degistirecektir senin icin bu onemliyse sicaklikla degisimi az bir direnc ile problemi halledebilirsin. yada direncin soguma alanini genisletirsin.

Calismanda basarilar.

nihatari

16F870 ile yapsam devreyi başka herhangi bir adc ye gerek kalmaz herhalde değilmi

Erol YILMAZ

Alıntı yapılan: "nihatari"16F870 ile yapsam devreyi başka herhangi bir adc ye gerek kalmaz herhalde değilmi

16F870   10 bit cozunurluklu ADC barindiriyor. Bununla istedigin gibi birsey yaparsan rakamlar 4,  4 atlar.  0   4   8    12 vs gibi...

stlg

Sevgili  nihatari
Sevgili arkadasım sevgili  CaFFeiNe arkadasımızın dedigi gibi 16f628 de a/d cevirici yok sadece iki analog bilgiyi birbiriyle karsılastıran bir karsılastırıcı var yani senin sistemde 16f628 kullanamazsın 16f877 kullan bu 4-20 ma girişi direkt olarak pıce giremezsin bu bilgiyi once 0-5v seklinde cevirmelisin sonra programında olusturacagın bir tablo ile bu bilgiyi 0 dan 3500 kadar bolumlere ayırarak lineer olarak gostergene atabilirsin hatta bu sistemde lineerlikle istersen oynayabilirsinde mesela
1mA=100   2mA=175 gibi tabii sana bu gerekmeyebilir sen sanırım lineer olcum yapacaksın kolay gelsin

        ALLAHA EMANET OLUNUZ
ALLAHA EMANET OLUNUZ Hoştur bana senden gelen,  Ya gonca gül yahut diken,  Ya kaftandır yahut kefen,  Kereminde hoş lütfunda hoş.

nihatari

Arkadaşlar ilginiz için teşekkür ederim.
16f870 ile yapılmış buna benzer bir örnek bulabilirmiyim acaba.Ben 4-20 ma' i 250 ohmluk direnç üzerinden uyguladığımda 0-5 voltluk gerilim elde ettim. Programlada bunu 1-5 volt arası okutuyorum.
Fakat benim ölçüm bilgim 30 birimlik değişiyor. Örneğin 3031,7- 3074,4 gibi bu arayı nasıl azaltabilirim.Bu benim için önemli bir örnek uygulama ile bana yardımcı olursanız sevinirim.

stlg

Sevgili nihatari
Arkadasım bu arayı azaltıp daha hassas olcumler yapman olası değil cunku
senin kullandıgın a/d cevirici 10 bitlik bu sekilde olmaz  dısarda daha hassas a/d cevirici kullanmalısın ama gostergeye atadıgın degerleri okunabilir degerlere getirmek istiyorsan tablo işlemleri ile bunu basarabilirsin yani olctugun deger su sınırlarda ise tablodan su degeri al gostergede bunu goster gibi kolay gelsin

                ALLAHA EMANET OLUNUZ
ALLAHA EMANET OLUNUZ Hoştur bana senden gelen,  Ya gonca gül yahut diken,  Ya kaftandır yahut kefen,  Kereminde hoş lütfunda hoş.

hoten

Alıntı yapılan: CaFFeiNe - 11 Mart 2006, 20:38:57
@nihatari

16F628 de analog dijital çevirici yok analog karşılaştırıcı var LM339 entegresi gibi bişiy anlayacağın 2 analog sinyali karşılaştırıp hangisi büyük hangisi küçük gibi işlemler yapıyorsun


Peki bunun kodu CCS de nasıl yazılır?