اطلاعیه

Collapse
No announcement yet.

استفاده از ADC میکرو

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

    استفاده از ADC میکرو

    سلام دوستان من میخوام با میکرو یه برنامه بنویسم که اگه یه ولتاژ بدیم میکرو اونو به باینری تبدیل کنه
    مثلا اگر 6 ولت به میکرو بدم عدد باینریشو یعنی 110 از پورت B نشون بده
    اگه ممکنه راهنماییم کنین دقیقا چیکار باید انجام بدم.
    در ضمن من با codvision انجام میدم.

    #2
    پاسخ : استفاده از ADC میکرو

    سلام
    برای خواندن ولتاژ ابتدا باید یه مداری داشته باشین که مقداری که از ADC گرفته میشه رو به دیجیتال تبدیل کنید و یه سری محاسبات انجام بدین تا اون رو به مقدار عددی واقعی خودش کنید
    یه عکس پیوست میکنم ببینید http://up98.ir/upload/server1/mswrrw5bbffa9z7tub49.png
    مقدار VCC همون ولتاژی هست که قراره اندازه گیری بشه
    مقدار R2 به صورت دلبخواه انتخاب میشه بسته به نوع ولتاژ و جریان و مقدار اونها
    مقدار R1 از اون فرمول بدست میاد میشه برای تنظیم دقیق تر از مولتی ترن که به صورت سری بسته میشه استفاده کنید

    http://up98.ir/upload/server1/mswrrw5bbffa9z7tub49.png
    مدت هاست نیستم

    دیدگاه


      #3
      پاسخ : استفاده از ADC میکرو

      بیشتر از vccآ‌ که ٥ ولت هست رو نمی تونی به میکرو بدی
      باید نسبتی از ولتاژ اولیه رو به عنوان ورودی به میکرو بدی با یه تقسیم مقاومت مثلا

      دیدگاه


        #4
        پاسخ : استفاده از ADC میکرو

        تو تنظیماتی که تو Codewizard انجام میدی میتونی 3 منبع ولتاژ رو به عنوان ولتاژ مرجع انتخاب کنی.. ولناژ مرجع داخلی (2.56 ولت) یا پایه AVCC یا پایه AREF (البته در حالت پایه AVCC i این پایه هم منبع تغذیه ADC و هم ولتاژ مرجع میباشد) همونطورم که دوستان گفتن بیشترین مقدار ولتاژ مرجع باید 5 باشد.

        بعد از اتمام ADC میکرو عدد باینری معادل ولتاژ ورودی رو در دو رجیستر ADCL وADCH قرار میدهد ( در حالت 10 بیتی: هشت بیت با ارزش کم در ADCL و 2بیت با ارزش بالاتر در ADCH )
        میتونی این شکلی بنویسی:
        a=read_adc(0);
        PORTB=ADCL;
        PORTD=ADCH;
        (در حالت ده بیتی)


        موفق باشی
        به رویاهات فکر کن!!

        دیدگاه


          #5
          پاسخ : استفاده از ADC میکرو

          نوشته اصلی توسط eric_s88 ( اریک )
          تو تنظیماتی که تو Codewizard انجام میدی میتونی 3 منبع ولتاژ رو به عنوان ولتاژ مرجع انتخاب کنی.. ولناژ مرجع داخلی (2.56 ولت) یا پایه AVCC یا پایه AREF (البته در حالت پایه AVCC i این پایه هم منبع تغذیه ADC و هم ولتاژ مرجع میباشد) همونطورم که دوستان گفتن بیشترین مقدار ولتاژ مرجع باید 5 باشد.

          بعد از اتمام ADC میکرو عدد باینری معادل ولتاژ ورودی رو در دو رجیستر ADCL وADCH قرار میدهد ( در حالت 10 بیتی: هشت بیت با ارزش کم در ADCL و 2بیت با ارزش بالاتر در ADCH )
          میتونی این شکلی بنویسی:
          a=read_adc(0);
          PORTB=ADCL;
          PORTD=ADCH;
          (در حالت ده بیتی)


          موفق باشی
          الان شما از کاراکتر a چه استفاده ای کردید؟
          مثلا من میخوام 7 ولت بدم 111 تحویل بگیرم باید چیکار کنم؟ اینتراپتو تیکشو بزنم یا نه؟

          دیدگاه


            #6
            پاسخ : استفاده از ADC میکرو

            از a برای ریختن نتیجه تبدیل adc استفاده کردم، همونطور که گفتم نتیجه تبدیل adc در دو رجیستر ADCL و ADCH ذخیره میشه ، حالا هر رقمی که میخوای تو خروجی داشته باشی باید بر اساس اون یه فرمول بدست بیاری. در ضمن مثلا اون ولتاژ 7 ولت رو باید با یه تقسیم مقاومتی بیاری تو بازه 0-5 ولت.

            به رویاهات فکر کن!!

            دیدگاه

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