اطلاعیه

Collapse
No announcement yet.

راه اندازی ماژول جدید لودسل HX711 LOADCELL

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #16
    پاسخ : راه اندازی ماژول جدید لودسل HX711 LOADCELL

    با سلام خدمت دوستان عزیز
    بنده با کمک برنامه یکی از دوستان که نمیدونم برنامشون رو از کدوم سایت دانلود کردم برنامه HX711 رو کاملش کردم با زبان C برای میکروکنترلر AVR atmega8

    #include <mega8.h>
    #include <delay.h>
    #include <stdio.h>




    #define HX711_DOUT PINB.0
    #define HX711_SCK PORTB.1


    int i;
    char ch1[10];
    float a;
    void Delay__hx711_us(void)
    {
    #asm("nop")
    #asm("nop")
    }


    unsigned long HX711_Read(void)
    {
    unsigned long count;
    unsigned char i;

    HX711_DOUT=1;
    Delay__hx711_us();
    HX711_SCK=0;
    count=0;
    while(HX711_DOUT);
    for(i=0;i<24;i++) //gain --> 128
    {
    HX711_SCK=1;
    count=count<<1;
    HX711_SCK=0;
    if(HX711_DOUT)
    count++;
    }
    HX711_SCK=1;
    count=count & 0xffffff; // taeen deghat
    Delay__hx711_us();
    HX711_SCK=0;
    return(count);
    }




    void main(void)
    {
    char buffer[10];

    UCSRA=(0<<RXC) | (0<<TXC) | (0<<UDRE) | (0<<FE) | (0<<DOR) | (0<<UPE) | (0<<U2X) | (0<<MPCM);
    UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (1<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);
    UCSRC=(1<<URSEL) | (0<<UMSEL) | (0<<UPM1) | (0<<UPM0) | (0<<USBS) | (1<<UCSZ1) | (1<<UCSZ0) | (0<<UCPOL);
    UBRRH=0x00;
    UBRRL=0x33;


    DDRB = 1<<DDB1 ;


    printf(" Hello ");
    delay_ms(2000);



    while(1)
    {
    ( ()sprintf(buffer,"a= %ld",HX711_Read
    for (i=0;buffer[i]!=NULL;i++)
    {
    if (buffer[i]<58 && buffer[i]>47)
    {
    a=a*10;
    a =a+( buffer[i]-48);
    }
    }
    a=(a*(-0.04586))+768133.7;
    sprintf(ch1,"%f\r\n", a);
    puts(ch1);
    a=0;

    }
    }

    حلقه for برای تبدیل کد اسکی به دسیمال هستش و جایی که متغییر a ضرب چند عدد شده واسه کالیبره شدنش هست y=mx+b که میتونید با مراجعه به سایت http://hivetool.org/w/index.php?titl...ll_Calibration با نحوه محاسبات آشنا شوید
    شاد باشید


    دیدگاه


      #17
      پاسخ : راه اندازی ماژول جدید لودسل HX711 LOADCELL

      نوشته اصلی توسط fkmj نمایش پست ها
      چرا زمانیکه hx711 فراخوانی میشه..دیگر هیچ وسایل جانبی مثل کیپد کار نمیکنه؟؟؟؟؟
      این ماژول از چه ارتباطی استفاده میکنه؟
      سلام
      شما میتونید یه تابع تعریف کنید که در آن هر موقع لازم داشتید به خواندن وزن برود بخواند و برگردد یعنی میکرو کار عادیش رو انجام دهد و خواندن وزن در مواقع لزوم انجام شود مثل
      while (1)
      {
      keypad();
      اگر لازم داشتم hx711();
      }

      دیدگاه


        #18
        پاسخ : راه اندازی ماژول جدید لودسل HX711 LOADCELL

        سلام چند مدت نبودم کلی پست هم از دست دادم
        زمان خواندن این ایسی خیلی کوتاهه تقریبا میشه در صد هزارم ثانیه این ایسی را خواند البته به خاطر روتین برنامه مگرنه سرعت میتونه بالاتر هم باشه ! اما زمان تبدیل ای سی خیلی طولانیه و اون چیزی که میخوام تصیح کنم جمله "زمان طولانی خواندن ایسی" به جای جمله "زمان طولانی تبدیل(کانورت)" است
        نه تنها در این ایسی در بسیاری از موارد دیگر افرادی که مبادرت به خواندن ورودی ها بصورت پولینگ میکنن دچار این این درد سر میشوند . پس چه باید کرد؟
        شما باید از ای سی درخواست کانورت کنید و برنامه اصلی را ادامه بدهید و در انتهای برنامه پاسخ ایسی را برسی کنید اگر کانورت نکرده بود برنامه را ادامه بدهید و اگر اعلام کانورت کرده بود دیتا را بخوانید.


        request_convert:
        ADSK=0
        ADDO=1

        '*********main program***********
        main_loop:

        'your main program

        if ADDO=1 then
        call Read_Hx11
        ADSK=1
        ADDO=1
        nop
        nop
        goto request_convert
        endif
        goto main_loop:
        '*********************************

        sub Read_Hx11()
        'ultra fast shift in data from HX711
        end sub




        جدیدترین ویرایش توسط kamy007; ۰۲:۲۸ ۱۳۹۶/۰۹/۲۳.

        دیدگاه


          #19
          پاسخ : راه اندازی ماژول جدید لودسل HX711 LOADCELL

          با سلام
          این هم راه اندازی ماژول با میکرو ARM LPC178 و با کامپایلر Keil
          فقط برای کارکردن با این ماژول ابتدا باید کالیبره شود با استفاده از این لینک http://hivetool.org/w/index.php?titl...ll_Calibration و برای کم کردن پرش اعداد(باعث کم شدن دقت) خط تعیین دقت را مقدارش کمتر کنید (& 0xfff000)
          شاد و موفق باشید

          unsigned long HX711_Read(void)
          {
          unsigned long count;
          uint8_t i;

          LPC_GPIO0->FIOCLR= 0x1<<3;
          count=0;


          while (((LPC_GPIO0->FIOPIN>>2)&0x1)!=0); // do=pin0.2
          for(i=0;i<24;i++) //gain --> 128
          {
          LPC_GPIO0->FIOSET= 0x1<<3;
          count=count<<1;
          LPC_GPIO0->FIOCLR= 0x1<<3;
          ++if((LPC_GPIO0->FIOPIN>>2)&0x1==1)count;
          }
          LPC_GPIO0->FIOSET= 0x1<<3;
          count=count & 0xfffff0; // taeen deghat
          LPC_GPIO0->FIOCLR= 0x1<<3;
          return(count);
          }




          /*----------------------------------------------------------------------------
          Main Program
          *---------------------------------------------------------------------------*/
          int main (void) {
          uint8_t f;
          uint32_t HX711;
          [char buffer[1


          SystemInit();


          LPC_GPIO0->FIODIR |= 0x1<<3;
          LPC_GPIO0->FIOCLR= 0x1<<3; // clk=pin0.3






          while(1){


          HX711=0;
          (++for (f=0; f<5; f
          gereftan 5 bar miangin//{
          HX711=HX711+HX711_Read();
          }
          HX711=HX711/5;
          calibre kardan//
          sprintf(buffer," %f ",(HX711*0.068)-197.2);
          LCD_ShowString(20,20,buffer);


          }

          دیدگاه


            #20
            پاسخ : راه اندازی ماژول جدید لودسل HX711 LOADCELL

            سلام در مورد این ماژول چند سوال داشتم ممنون میشم راهنماییم کنید

            دلیل: ادغام دو پست برای جلوگیری از اسپم

            سلام چندین سوال در مورد این ماژول داشتم ممنون میشم راهنماییم کنید

            دیدگاه

            لطفا صبر کنید...
            X