CCS C'de 16F877/A ile Loadcell Ağırlık ölçümü

sellcukk

Üye
Katılım
13 Ocak 2015
Mesajlar
33
Puanları
1
Yaş
30
Konum
Ankara
Sayın Forum Üyeleri merhaba,

geliştirmekte olduğum bir proje için PİC 16F877/A ile loadcell aracılığıyla ağırlık ölçümü yapmam gerekmekte. Bu işlemi Arduino ile yapmaktayım fakat kodlarını CCS C programında yazdığım kodlarla uyuşturamadım.

CCS C programı için ağırlık ölçümü yapmam için gerekli teçhizatları edindim. İlgili kod için çeşitli yerlerden kodları düzenledim derledim fakat net bir çıktı alamadım.

İlginiz için teşekkür eder iyi günler dilerim.
 
S.A.
Kodlarınız ve şemanız yok nerede hatalar yaptınız sıkıntınız neresi nasıl anlayabiliriz değil mi??? :)))))
 
Durumu şöyle izah edeyim. manyetik alan oluşturmaktayım 16f877/A ile. Bu oluşturduğum manyetik alanı ise sıvı yoğunluk katsayısına göre dengeleyeceğim. Yoğunluk katsayısını ise ağırlık ve hacim ölçümü ile yapacağım. Hacim ölçümü elimde mevcut durumda bulunmaktadır. Tek eksik ağırlık ölçümü. CCS C de yapmış olduğum projeyi 16F877/A micro işlemcisi ile süreceğim. Bu nedenle herhangi bir sensör ile 5 kilograma kadar yapacağım ağırlık ölçümü işimi çözmektedir. :))
Post automatically merged:

mesela aşağıdaki kodu internette bir forum sitesinde buldum. düzenledimde. fakat yine sonuç alamadım. önerisi olan varmıdır?

#define veri pin_xx // Modülden gelen bilgi ucu
#define sinyal pin_yy // Modüldeki bilgiyi kaydırmak için kullanılan 1-0 kaynağı

unsigned int32 Agirlik_Oku(void){
unsigned int32 Gelen_Veri;
unsigned char i;
output_high(veri);
output_low(sinyal);
Gelen_Veri=0;
while(input(veri));
for (i=0;i<24;i++){
output_high(sinyal);
Gelen_Veri=Gelen_Veri<<1;
output_low(sinyal);
if(input(veri)) Gelen_Veri++;
}
output_high(sinyal);
Gelen_Veri=Gelen_Veri^0x800000;
output_low(sinyal);
return(Gelen_Veri);
}
Void main(){

for(;;){
printf(lcd_putc,"f%Lu",Agirlik_Oku());
delay_ms(400);
/* Veri gerçek ağırlık değerlerine dönüştürülmemiştir.
Okunan değer sensörde meydana gelen değişimi göstermektedir. */
}
}
 
Son düzenleme:
Aslında benim bir önerim var ama işinize yarar mı bilmiyorum belki biraz da pahalı gelebilir ama fikir fikirdir...

Loadcell bilgilerini analog gerilim yada akıma çeviren çeviriciler var klemsan vs markaların 0-10 volt çevirici ile işinizi görebilirsiniz diye düşünüyorum...
 
Kodun geri kalan kısmını(Header vb) eklerseniz ve kodlarda ne yapmaya çalıştığınızı açıklarsanız, beraber bakalım.
loadcell 24 bitlik digital çıkış mı veriyor?

Kod:
#define veri pin_xx // Modülden gelen bilgi ucu
#define sinyal pin_yy // Modüldeki bilgiyi kaydırmak için kullanılan 1-0 kaynağı

unsigned int32 Agirlik_Oku(void){
    unsigned int32 Gelen_Veri;
    unsigned char i;
    output_high(veri);
    output_low(sinyal);
    Gelen_Veri=0;
    while(input(veri));
    for (i=0;i<24;i++){
        output_high(sinyal);
        Gelen_Veri=Gelen_Veri<<1;
        output_low(sinyal);
        if(input(veri)) Gelen_Veri++;
    }
    output_high(sinyal);
    Gelen_Veri=Gelen_Veri^0x800000;
    output_low(sinyal);
    return(Gelen_Veri);
}
Void main(){
    for(;;){
    printf(lcd_putc,"f%Lu",Agirlik_Oku());
   delay_ms(400);
   /* Veri gerçek ağırlık değerlerine dönüştürülmemiştir.
   Okunan değer sensörde meydana gelen değişimi göstermektedir. */
}
}
 
Merhabalar.
Bende bu proje ile ilgileniyorum.
Data okuyabiliyorum ancak datayı işleyip grama çevirme konusunda tutarsızlıklar var. Muhtemelen değişkenlerle alakalı bir sorun olduğunu düşünüyorum. İşin içinden çıkamadım. Bilgisi olan ve daha önce bu modülle çalışmış arakadaşların yardımını bekliyorum teşekkürler.
 
Merhabalar.
Bende bu proje ile ilgileniyorum.
Data okuyabiliyorum ancak datayı işleyip grama çevirme konusunda tutarsızlıklar var. Muhtemelen değişkenlerle alakalı bir sorun olduğunu düşünüyorum. İşin içinden çıkamadım. Bilgisi olan ve daha önce bu modülle çalışmış arakadaşların yardımını bekliyorum teşekkürler.
PLC ile tartımlı otomasyon uygulamaları yaptım ama pic ile denemedim fakat yardımcı olmaya çalışırım
 
İlk göze çarpan output_high(veri) yanlış. output_float(veri) ile dene
 
PLC ile tartımlı otomasyon uygulamaları yaptım ama pic ile denemedim fakat yardımcı olmaya çalışırım

ilginiz için teşekkür ederim. Şimdilik bi çözüm buldum ve hallettin sayılır. Takıldığım yer olursa yine yazarım. Kolay gelsin iyi çalışmalar.
 

Forum istatistikleri

Konular
130,052
Mesajlar
932,568
Kullanıcılar
453,033
Son üye
Luxate

Yeni konular

Geri
Üst