benim problemim epromdan bir sinyal okuyup onu çıkıslarda analog göndermek bunu nasıl yaparım yani epromdan aldıgım veriyi analoğa çevirip onu çıkısa nasıl gönderirim??çıkısta 5 volttan farklı değerler görmem lazım,birde eproma tek bacaktan nasıl birsinyal (ekg) atar nasıl onu tek bacaktan okurum?? şimdiden herkese teşekkür ederim...
Anladığım kadarıyla; Harici bir epromdan bir mikrodenetleyici vasıtası ile aldığın bilgiyi mikrodenetleyicinin çıkışında analog olarak görmek istiyorsun. Bu durumda yapacağın 2 şey var: 1-mikrodenetleyici ile epromu haberleştirmek 2-anolog çıkış üretebilecek bir mikrodenetleyici seçmek
Eprom ların haberleşmesi marka modele göre farklılık gösterir.Spi,Uart,I2C gibi.. Bu yüzden epromların datasheet lerini incelemeni tavsiye ederim.Datasheet lerinde haberleşme protokolleri ve komutlar bulunur.
Anolog çıkış üretebilmek için bence PWM çıkışını kullanabilirsin. Kullanacağın mikrodenetleyicinin PIC serisi olacağını düşünürsek CCP pinine sahip bir PIC(16f628,16f877 gibi) işini görür. Yada DAC entegresi kullanarak mikrodenetleyicinin dijital çıkışlarından analog sinyal edebilirsin.
kullancağım pic 16f887 bundan direkman dac kullanmadan analog sinyal gönderebilirmiyim??bir sorum daha ı2c protokolüne baktımda kodlarda 0x v.s gibi sayılardan bahsedilmiş.ben eproma 4.98 gibi bir sayıyı nasıl yollarım??
öncelikli olarak ne yapmak istediğini söylersen daha mantıklı yaklaşılabilir.anladığım kadarıyla bir analog voltaj girdisini epromda digital olarak saklayıp gerektiğinde analog olarak geri çağırmak istiyorsun diye düşünebilirmiyiz.
benim asıl yapmak istedigim elimdeki ekg verilerini yani belli zaman aralıkları ile alnmış voltaj bilgilerini analog değil direk bilgi seklinde mesela 5 volt yani 1. saniyede 5 değeri olacak sekilde txt dosyası seklinde elimde bunu eproma nasıl atarım.bide bu degerleri okuyup analog olarak çıkısa nasıl yollarım.
eproma nasıl atacağın kullanacağın DAC'a ( digital analog converter ) bağlı mesela bir DAC0800 8 bitlik bir DAC'tır
karaköy'de 2 TL 'ye alabilirsin
8 bit demek bunun digital girişlerine 0 - 255 arası bir değer gönderebilirsin demektir mesela kuracağın devrede DAC'ın çıkışını max. 10 V olacak şekilde tasarladıysan
uC'den DAC'a 128 gönderirsen 5 V 192 gönderirsen 7.5 V 255 gönderirsen 10 V çıkış alırsın
dolayısıyla epromda saklanacak her bir analog değer 1 byte olacaktır
tsk.ilk sorum araya kaynadı:D 4.98 gibi bis sayıyı eproma nasıl yazarım direk olarak aslında bunu 10 la çarpsam yada 5 v.s gibi nasıl olsa tavan değerimi ref olarak alacagım için her değeri 10 la çarparsam yada 100 le olur ama görüldüğü üzre 498 olacak sayı 255 i geçiyo,10 bitlik dac kullanmak istemyorum çünkü 1 den fazla port işgal ediyo.bunu nasıl hallederim??
4.98 gibi bis sayıyı eproma nasıl yazarım direk olarak aslında bunu 10 la çarpsam yada 5 v.s gibi nasıl olsa tavan değerimi ref olarak alacagım için her değeri 10 la çarparsam yada 100 le olur ama görüldüğü üzre 498 olacak sayı 255 i geçiyo
8 bitlik DAC kullanacağını düşünürsek;çıkış değerlerin 0-255 arasında olur.Eğer epromdaki veriler 0-500 arasında ise; basit bir bölme işlemi ile; Çıkışta görünecek değer = (Epromdam okunan değer) X (255/500); Örnek eprom=500 görünecek değer=500 X (255/500)=255 Örnek eprom=498 görünecek değer=500 X (255/500)=253
quote:
kullancağım pic 16f887 bundan direkman dac kullanmadan analog sinyal gönderebilirmiyim
Analog çıkış ile nasıl bir işlem yapacaksın? Kullanacağın Pic in CCP pini mevcut yani buradan PWM sinyal üretebilirsin.Yanılımıyorsam PWM çıkışının çözünürlüğü 10 bit.Ancak Bu üreteceğin sinyal DC sinyal olmaz.Ölçü aleti ile ölçtüğün zaman istediğin ortalama değerleri görürsün.Çıkışa Led takarsan Led in parlaklığındaki değişimi görebilirsin.Çıkışı transistör ile yükseltip;PWM girişi ile çalışan motor sürebilirsin.Sen ne yapmak istiyorsun?
quote:
bir sorum daha ı2c protokolüne baktımda kodlarda 0x v.s gibi sayılardan bahsedilmiş.ben eproma 4.98 gibi bir sayıyı nasıl yollarım??
Bahsettiğin kodlar büyük bir ihtimalle hex sayılardan oluşan kodlardır.Okuma ve yazma işlemleri için ayrı komutlar vardır ve eproma Yazma ve okuma işlemleri için komutların nasıl kullanılacağı datasheet te belirtilmiştir(herhalde?).
quote:
benim asıl yapmak istedigim elimdeki ekg verilerini yani belli zaman aralıkları ile alnmış voltaj bilgilerini analog değil direk bilgi seklinde mesela 5 volt yani 1. saniyede 5 değeri olacak sekilde txt dosyası seklinde elimde bunu eproma nasıl atarım.bide bu degerleri okuyup analog olarak çıkısa nasıl yollarım.
Yapmak istediğin şeyi ben anlayamadın.Sen de tam karar veremedin anlaşılan :) Elindeki verileri eproma atabilmen için önce Pic e atman gerekli bunun içinde bilgisayar programı vasıtası ile Picle seri(UART) haberleşerek bilgileri Pic e gönderirsin.Pic de seri porttan gelen bilgileri eproma kaydeder.
öncelikle konya cevap verdiğin için tsk ederim.pic kullanımında çok yeni oldugum için bazı terimlerin tam olarak ne işe yaradıgını bilmiyorum o yüzden sormak istiyorum.(yazdıgın paragraf sırasına göre gidiyorum)
ilk olarak benim problemim dac la değil.Epromda tek bir hafıza 8 bit yani 10 bitlik veriyi hafızaya nasıl atarım. tek bir adres içerisinde tutman lazım bu verileri çünkü çok fazla veri atmam lazım.epromda yer kalmaya bilir.4.29 sayısını buraya nasıl yollarım dı asıl soru.
benim projem ekg simülatörü yani aldıgım ekg datalarını (txt formatında) eproma atıp sonrada bu dataları epromdan çağırıp analog olarak dısarı vermek.cihazın görevi insan kalbini simüle etmek.
ccp pini nedir?ne işe yarar bilmiyorum pwm sinyal nedir nasıl üretilir?(çok saçma sorular olabilir kusura bakma).
ilk olarak benim problemim dac la değil.Epromda tek bir hafıza 8 bit yani 10 bitlik veriyi hafızaya nasıl atarım. tek bir adres içerisinde tutman lazım bu verileri çünkü çok fazla veri atmam lazım.epromda yer kalmaya bilir.4.29 sayısını buraya nasıl yollarım dı asıl soru.
Eprom a bilgileri atarken de formül uygularsın; örnek: 4.29 u 429 olarak farzedelim Eproma yazılacak değer=429 X (255/500)=218
quote:
benim projem ekg simülatörü yani aldıgım ekg datalarını (txt formatında) eproma atıp sonrada bu dataları epromdan çağırıp analog olarak dısarı vermek.cihazın görevi insan kalbini simüle etmek.
Daha öncede söylediğim gibi bunu yapabilmek için bilgisayar programı gerekli.
quote:
ccp pini nedir?ne işe yarar bilmiyorum pwm sinyal nedir nasıl üretilir?
CCP=Capture Compare PWM ifadelerinin baş harflerinden oluşmuştur. PWM sinyali Pulse Width Modulation ın kısaltmasıdır.Kısaca kare dalga sinyali diyebiliriz.Örnek vererek açıklarsam: Pic in dijital çıkışından 5V yada 0V elde edebilirsin.2V,3V,4V gibi ara değerler elde edemezsin. Ancak Pic e yazdığın yazılımla dijital çıkışa belli aralıklarla 0 ve 5 V göndererek ortalama bir ara değer elde edebilirsin. Mesela 1 ms 5V 1 ms 0V gönderirsen 2,5 V luk bir kare dalga çıkışa sahip olursun. PWM modülü yazılımsal olarak ayarladığın beklemeleri otomatik olarak ayarlar.Yani dijital çıkışla kare dalga üretmek yerine,PWM(CCP pini) kullanarak kare dalga üretirsen daha sağlılı bir sinyale sahip olursun.Hem de yazılımsal olarak rahatlarsın.
Bu projeyi yapabilmen için yazılım bilmen gerekli.Eğer çok yeni isen bu projeden önce temel oluşturman lazım. Bu arada bu bitirme projesi mi?
quote:
(çok saçma sorular olabilir kusura bakma).
Soruların saçma değil.Her bilgi okunarak araştırarak öğreniliyor.Zamanında ilgilendiğim bir konuydu. Başka sorularını rahatlıkla sorabilirsin.Forumda mutlaka cevaplanır.
tsk ederim yardımlarınız için.takıldıgım diger konuda benim 3 probdan aynı anda veri aktarmam lazım yani epromun 0. adresinden 100. adresinden aynı anda bunu nasıl hallederim çünkü 1 işlem bitmeden diğeri nasıl başlar??