Picproje Elektronik Sitesi

DERLEYİCİLER => MikroC - PIC => Konuyu başlatan: topuz - 10 Temmuz 2017, 11:28:02

Başlık: Ağırlık sensörü okuma
Gönderen: topuz - 10 Temmuz 2017, 11:28:02
Merhaba arkadaşlar.Elimde aşağıdaki linteki ağırlık sensörü için kuvvetlendirici kart var. MCU için Dout ve  SCK diye iki tane uç vermiş ama datasheete baktığımda hiç bir şey anlamadım. Daha önce bundan kullanan veya nasıl kullanacağımı bilen varsa yardımcı olabilir mi?

ağırlık sensörü kuvvetlendirici: http://www.robotistan.com/agirlik-sensor-kuvvetlendirici-load-cell-amplifier-hx711?gclid=Cj0KEQjwy4zLBRCOg6-4h6vs3cUBEiQAN-yzfg32o7iluVCC9QoySkTKkHT0xxaofYflPvuIs40wQpwaAs1F8P8HAQ
datasheet: https://cdn.sparkfun.com/datasheets/Sensors/ForceFlex/hx711_english.pdf
Teşekkürler..
Başlık: Ynt: Ağırlık sensörü okuma
Gönderen: skara1214 - 10 Temmuz 2017, 14:58:33
spi protokolü diye araştırın yada hiç kasmayın arduino hx711 dşye araştırıp direk kullanın
Başlık: Ynt: Ağırlık sensörü okuma
Gönderen: topuz - 10 Temmuz 2017, 15:49:22
Benim bunu pic16f877 ile okumam lazım. Arduino da HX711  library ile kullanmış.
Başlık: Ynt: Ağırlık sensörü okuma
Gönderen: skara1214 - 10 Temmuz 2017, 18:30:59
Spi araştır pic icin
Başlık: Ynt: Ağırlık sensörü okuma
Gönderen: magnetron - 10 Temmuz 2017, 18:39:10
çok basit bir yapısı var


HX711 data hattını dinleyeceksin


Data low olunca Clock pinini 24 kere HI LOW yapıcaksın


her Clock HI dan sonra Datayı okuycaksın
Başlık: Ynt: Ağırlık sensörü okuma
Gönderen: comme_il_faut - 10 Temmuz 2017, 23:49:03
bkz. ADC ve Kuvvetlendirici arasındaki fark
Başlık: Ynt: Ağırlık sensörü okuma
Gönderen: topuz - 12 Temmuz 2017, 11:43:00
Datasheet in  sonunda C için örnek kod vermiş. Micro C için aşağıdaki gibi kodları yeniden düzenledim ve sadece 24 bitlik "count" değişkenini UART üzerinden göndermeyi denedim. Şuan ekrana sayılar geliyor gerekli hesaplamaları yapıp son halini paylaşırım. Yardım için herkese teşekkürler...
sbit   ADDO at RB0_bit;
sbit   ADSK at RB1_bit;
  char txt[11];
  unsigned long yuk;
  unsigned long ReadCount(void){
  unsigned long Count;
  unsigned char i;
  ADDO=1;
  ADSK=0;
  Count=0;
  while(ADDO);
  for (i=0;i<24;i++){
    ADSK=1;
    Count=Count<<1;
    ADSK=0;
    if(ADDO) Count++;
  }
  ADSK=1;
  Count=Count^0x800000;
  ADSK=0;
  return(Count);
}
void init(){
trisb=0x01;    //     SCK  rb1 , DT rb0
portb=0;       //

}
void main() {
init();
UART1_Init(9600);
while(1){
yuk=ReadCount();
LongWordToStr(yuk,txt);
if(UART1_Data_Ready())
UART1_Write(txt);
}
}
Başlık: Ynt: Ağırlık sensörü okuma
Gönderen: emre94 - 10 Aralık 2017, 18:44:57
Alıntı yapılan: topuz - 12 Temmuz 2017, 11:43:00
Datasheet in  sonunda C için örnek kod vermiş. Micro C için aşağıdaki gibi kodları yeniden düzenledim ve sadece 24 bitlik "count" değişkenini UART üzerinden göndermeyi denedim. Şuan ekrana sayılar geliyor gerekli hesaplamaları yapıp son halini paylaşırım. Yardım için herkese teşekkürler...
sbit   ADDO at RB0_bit;
sbit   ADSK at RB1_bit;
  char txt[11];
  unsigned long yuk;
  unsigned long ReadCount(void){
  unsigned long Count;
  unsigned char i;
  ADDO=1;
  ADSK=0;
  Count=0;
  while(ADDO);
  for (i=0;i<24;i++){
    ADSK=1;
    Count=Count<<1;
    ADSK=0;
    if(ADDO) Count++;
  }
  ADSK=1;
  Count=Count^0x800000;
  ADSK=0;
  return(Count);
}
void init(){
trisb=0x01;    //     SCK  rb1 , DT rb0
portb=0;       //

}
void main() {
init();
UART1_Init(9600);
while(1){
yuk=ReadCount();
LongWordToStr(yuk,txt);
if(UART1_Data_Ready())
UART1_Write(txt);
}
}

2 gün önce bu projeyi bitirdik. Sana tavsiyem okuduğun count değerini 10 kere falan daha okuyup ortalamasini al ve o şekilde ekrana göster. Biz direk 1 kere okuyup lcd ye yazdırdiğimizda sacma değerler veriyordu ve bu değerler sürekli değişiyordu.Bunu önlemek içinde bubble sorting denilen yöntemi uygulayarak ortalamasini aldik ve o şekilde lcdye yazdirdik.Sonuc güzel oldu ve miligram cinsinden okuma yapmayi başardık
Başlık: Ynt: Ağırlık sensörü okuma
Gönderen: comme_il_faut - 11 Aralık 2017, 16:13:21
"Bubble Sort Algorithm" (bu bildiğimiz basit median alma) ile ortalama almanın ilgisi yoktur, bunlar ayrı işlemlerdir. İyi bir filtre için küçükten büyüğe sıralayıp belli sayıda ortanca değerin ortalamasını alabilirsiniz.
Başlık: Ynt: Ağırlık sensörü okuma
Gönderen: universitelim54 - 26 Ağustos 2018, 23:56:36
Hx711 hızlı tartım uygulamaları için oldukça yavaş kalıyor. Besleme düzgün ise stabil ölçümler almak mümkün
Uygulama yapmak isteyen arkadaşlar bu iki hususta dikkat etmeliler
Başlık: Ynt: Ağırlık sensörü okuma
Gönderen: ziyaretci - 27 Ağustos 2018, 09:17:53
15. pini lojik 1 yaptığınızda sensörden daha hızlı veri okuyabilirsiniz.

http://www.elektrocavus.com/HX-711-A-D-okuma-hizini-arttirma (http://www.elektrocavus.com/HX-711-A-D-okuma-hizini-arttirma)