اطلاعیه

Collapse
No announcement yet.

adc on PIC

Collapse
این موضوع بسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    adc on PIC

    سلام
    برنامه یه ربات مسیریاب رو که فعلا فقط 3 تا از سنسوراشو فعال کردم براتون میذارم لطفا در راه اندازی adc آن کمکم کنید
    میکروی منم pic16f877a هست . در حال حاضر ورودی های آنالوگ میکرو 4.5 نشون میدن . حتی اون سنسورایی که فعال نیستند

    #2
    پاسخ : adc on PIC

    پس کو برنامه؟؟!!

    دیدگاه


      #3
      پاسخ : adc on PIC

      define osc 4


      Trisb = 0 'led
      Trisa = 1 'adc
      Trise = 1 'adc
      Trisd.7 = 0 'motor
      Trisd.6 = 0 'motor
      Trisd.5 = 0 'motor
      Trisd.4 = 0 'motor
      Trisc.1 = 0 'pwm
      Trisc.2 = 0 'pwm

      Symbol Ml1 = Portd.5
      Symbol Ml2 = Portd.4
      Symbol Mr1 = Portd.6
      Symbol Mr2 = Portd.7

      Sl1 Var Word
      Sl2 Var Word
      Sl3 Var Word
      Sr1 Var Word
      Sr2 Var Word
      Sr3 Var Word
      Sf Var Word



      '########### ADC ##########'
      Define Adc_clock 0
      Adcon1 =%10000000
      '########## ADC ###########'


      Normal:



      Adcin 1 , Sl3
      sl3=sl3*977
      sl3=sl3/1000

      Adcin 2 , Sl2
      sl2=sl2*977
      sl2=sl2/1000

      Adcin 3 , Sl1
      sl1=sl1*977
      sl1=sl1/1000

      Adcin 4 , Sf
      sf=sf*977
      sf=sf/1000

      Adcin 5 , Sr1
      sr1=sr1*977
      sr1=sr1/1000

      Adcin 6 , Sr2
      sr2=sr2*977
      sr2=sr2/1000

      Adcin 7 , Sr3
      sr3=sr3*977
      sr3=sr3/1000




      If Sr3<500 Then Portb.0= 1
      If Sr2<500 Then Portb.1 = 1
      If Sr1<500 Then Portb.2= 1
      If Sf<500 Then Portb.3 = 1
      If Sl1<500 Then Portb.4 = 1
      If Sl2<500 Then Portb.5 = 1
      If Sl3<500 Then Portb.6 = 1


      if sf < 500 then
      mr1=1
      mr2=0
      ml1=0
      ml2=1
      pwm portc.1 , 50 , 50
      pwm portc.2 , 50 , 50
      endif

      if sl1 <500 then
      mr1=1
      mr2=0
      ml1=0
      ml2=0
      pwm portc.1 , 50 , 50
      pwm portc.2 , 50 , 50
      endif


      if sr1 <500 then
      mr1=0
      mr2=0
      ml1=0
      ml2=1
      pwm portc.1 , 50 , 50
      pwm portc.2 , 50 , 50
      endif



      Goto Normal

      End




      راستی از کامپایلر microcode studio استفاده میکنم

      مرسی

      دیدگاه


        #4
        پاسخ : adc on PIC

        سلام دوست عزیز
        به نظر میرسه مشکل شما در مقدار دهی ثبات tris هستش .
        زمانی که میخوای تمام پایه هارو در حالت ورودی پیکر بندی کنی باید ثبات رو برابر 255 یا ff$ قرار بدی .

        یا حق

        دیدگاه


          #5
          پاسخ : adc on PIC

          سلام دوست گرامی.
          راحت ترین کار واسه تشخیص خط(البته به نظر من، که با میکرو16f877a و8 تا سنسور ربات تعقیب خط درست کردم) استفاده از op-amp به عنوان مقایسه کننده هست،نه تبدیل ADC.هم از نظر حجم برنامه و هم از نظر پیچیدگی اصلا تبدیل ADC رو پیشنهاد نمیکنم.اگه راهنمایی بیشتری خواستی در خدمتم. موفق باشی.

          دیدگاه


            #6
            پاسخ : adc on PIC

            بابا PIC و اپ امپ ؟؟ چرا بیخودی به خودتون زحمت میدید پول زیادی خرج میکنید؟
            ورودی های PIC بو صورت اشمیت تریگر هستن . شما میتونید سنسورها رو مستقیم بهش وصل کنید. نیازی به ADC داخلی و op-amp و ... نیست. من خودم رباتام رو اینطوری میسازم. جواب میده 100%

            دیدگاه


              #7
              پاسخ : adc on PIC

              میشه بپرسم ربات شما چندتا سنسور داشت؟ و این که دقیقا این کار رو چطور انجام دادین؟من از LM324 استفاده کردم هزینه ی زیادی هم برنمیداره. ولی خب اگه بشه بدون op-amp هم این کار رو بادقت قابل قبول و قابل تنظیم انجام داد،جالب تر میشه!!!

              دیدگاه


                #8
                پاسخ : adc on PIC

                رباتم شامل 14 سنسور بود . کار خاصی انجام ندادم. فقط مستقیم خروجی های سنسور هام رو وصل کردم به میکرو و تو برنامه هم 0 و 1 میخوندم. بدیهیه که دقتش به op-amp نمیرسه ولی جواب نسبتا مناسب و خوبی هم میده.

                دیدگاه


                  #9
                  پاسخ : adc on PIC

                  آقای ایجی میشه بپرسم که برای کالیبره کردن سنسور ها چه کار میکردین ،
                  چون سطوح اشمیت تریگر میکروی پیک ثابتن .
                  یه سوال دیگه ، سطوح اشمیت تریگر (هیستر زیس) میکرو چندن ؟

                  دیدگاه


                    #10
                    پاسخ : adc on PIC

                    خروجی هرکدوم از سنسور ها رو با یه پتاسیومتر 100K به VCC وصل کرده بودم که با اون ها کالیبرشون میکردم.
                    هیسترزیسش رو یادم نیست. باید دیتاشیت رو نگاه کنم. ولی فکر کنم 1.4 و 2.6 باشه. ‎مطمعن نیستم.

                    دیدگاه

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