اطلاعیه

Collapse
No announcement yet.

ADC

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

    ADC

    سلام
    دوستان من برنامه ی زیر را نوشتم و روی یک میکرو ATmega16 ریختم تا ولتاژی که روی Porta.0 وصل می شه را اندازه بگیره و روی LCD بنویسه ؛ برای این منظور از 1.5 تا 6 ولت ولتاز به این پورتم دادم .
    وقتی 1.5 ولت را به Porta.0 وصل می کردم رویه ال سی دی می نوشت صفر و وقتی بیشتر از 1.5 ولت بهش وصل می کردم می نوشت 1023 ، یعنی در واقع از 3 تا 6 ولت را همش می نوشت 1023
    خواهش می کنم ببینید مشکل کارم کجاست.
    $regfile = "m16def.dat"
    $crystal = 16000000
    Config Lcdpin = Pin , Db4 = Pind.0 , Db5 = Pind.1 , Db6 = Pind.2 , Db7 = Pind.3 , Rs = Pind.4 , E = Pind.5
    Config Adc = Single , Prescaler = Auto
    Start Adc
    Dim Var As Word
    Do
    Var = Getadc(0)
    Locate 1 , 1
    Lcd "Var:"
    Lcd Var
    Loop
    End
    خیلی ازتون ممنونم.

    #2
    پاسخ : ADC

    سلام
    شما باید مقدار var رو بهد از خوندن در این فورمول ضرب کنی:
    var=var*500/1024
    در مورد کار نکردن هم احتمال adc میکروت vcc نداره یا ولتاژ رفرنس فصل نیست یایه جایی مقاومت pollup گذاشتی.
    تشکر لازم نیست!

    دیدگاه


      #3
      پاسخ : ADC

      دوست خوبم تونستم تا 5 ولت را اندازه بگیرم ولی من احتیاج دارم تا 30 ولت را اندازه گیری کنم؛پیشنهاد شما چیه؟

      دیدگاه


        #4
        پاسخ : ADC

        سلام
        از تقسیم ولتاژ مقاومت ها استفاده کن
        آموزش PIC

        دیدگاه


          #5
          پاسخ : ADC

          می تونی واسه تقسیم ولتاژ از این مدار استفاده کنی

          :nice:
          یادش بخیر یه وقتایی هر روز میومدم اینجا !

          دیدگاه

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