اطلاعیه

Collapse
No announcement yet.

پول پ مقاومت داخلی میکروی avr

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

    #16
    پاسخ : پول پ مقاومت داخلی میکروی avr

    عرض کردم که نیازی به تغییر این رجیستر نیست. من تو بسکام نمی دونم چطوریه ولی فکر کنم بسکام تو نوشتن اسمبلی توی برنامش یه مشکلاتی داشته باشه
    یرای ایجاد تاپیک اگر میخوای در مورد AVR باشه از http://www.eca.ir/forum2/index.php?board=161.0 اقدام کنین اگه نگاه بکنی نوشته موضوع جدید.!

    دیدگاه


      #17
      پاسخ : پول پ مقاومت داخلی میکروی avr

      نوشته اصلی توسط saeid_ica
      خیلی سادش بخوام بگم اینجوریه که :
      پورت یا ورودی تعریف میشه یا خروجی. برای تعریف پورت به صورت خروجی باید در DDR هر پین عدد یک رو بنویسیم.وقتی پورت به صورت خروجی تعریف شد با نوشتن توی PORT می تونیم پورت رو صفر یا یک کنیم.
      اما اگه بخواسم پورت رو به صورت ورودی تعریف کنیم توی DDR صفر می نویسیم. حالا اگه بخوایم پول پ فعال باشه توی PORT یک و اگه بخوایم غیر فعال باشه صفر رو می نویسیم.

      پورت خروجی - وضعیت یک
      DDRA.0=1
      PORTA.0=1

      پورت خروجی - وضعیت صفر
      DDRA.0=1
      PORTA.0=0


      پورت ورودی - پول پ فعال
      DDRA.0=0
      PORTA.0=1

      پورت ورودی - پول پ غیر فعال
      DDRA.0=0
      PORTA.0=0


      توجه دارین که در حالتی که پورت خروجی تعریف میشه کلا مقاومت پول پ غیر فعال میشه چون فقط مثل یه بار اضافی عمل می کنه که فقط برق میسوزونه!!
      برای خوندن پورتی که بصورت ورودی تعریف شده باید PIN مربوطه رو بخونیم. خوندن PIN در حالتی که پورت به صورت خروجی تعریف شده هم که خوب معلومه بی معنیه.
      آقا ببخشید زیر خاکی میکشم بیرون.
      DDRA.0=0
      PORTA.0=0
      اینجا اومدیم پین 0 از پورت A رو کردیم ورودی
      بعد هم مقدارشو صفر قرار دادیم؟پس این پوا پ چه کارس؟

      دیدگاه


        #18
        پاسخ : پول پ مقاومت داخلی میکروی avr

        نوشته اصلی توسط gorgiro
        آقا ببخشید زیر خاکی میکشم بیرون.
        DDRA.0=0
        PORTA.0=0
        اینجا اومدیم پین 0 از پورت A رو کردیم ورودی
        بعد هم مقدارشو صفر قرار دادیم؟پس این پوا پ چه کارس؟
        در این مورد پست های زیادی داخل انجمن هست...قبلش یه سرچ میکردید به جوابای بیشتری میرسیدید....
        شما با رجیستر (DDR(Data Direction Register جهت حرکت سیگنال رو مشخص میکنید.با 0 کردنش جهت حرکت سیگنال رو ورودی انتخاب میکنید...
        با 0 کردن PORT در حالتی که DDR 0 هست مقاومت Pull Up رو غیر فعال میکنید یعنی اون پین که هم DDR و هم PORT مربوط بهش 0 شده به حالت ورودی و Tristate میره...اگه با همین مقدار DDR یعنی 0 مقدار port رو 1 کنید مقاومت pull up توسط ماسفت داخلی فعال میشه...حالا تا وقتی که سیگنال 0 به پین اعمال نشده مقدار ورودی اون پین 1 هست و وقتی که 0 بهش اعمال شد مقدار ورودی پین 0 خونده میشه و جریان بسیار کمی هم از مقاومت Pull up عبور میکنه(به خاطر اختلاف پتانسیل دوسر اون مقاومت)
        موفق باشید
        تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

        www.intelart.ir


        ساخت کنترلر دما PID فازی با AVR [آموزشی]

        دیدگاه


          #19
          پاسخ : پول پ مقاومت داخلی میکروی avr

          نوشته اصلی توسط punisher.x64
          در این مورد پست های زیادی داخل انجمن هست...قبلش یه سرچ میکردید به جوابای بیشتری میرسیدید....
          شما با رجیستر (DDR(Data Direction Register جهت حرکت سیگنال رو مشخص میکنید.با 0 کردنش جهت حرکت سیگنال رو ورودی انتخاب میکنید...
          با 0 کردن PORT در حالتی که DDR 0 هست مقاومت Pull Up رو غیر فعال میکنید یعنی اون پین که هم DDR و هم PORT مربوط بهش 0 شده به حالت ورودی و Tristate میره...اگه با همین مقدار DDR یعنی 0 مقدار port رو 1 کنید مقاومت pull up توسط ماسفت داخلی فعال میشه...حالا تا وقتی که سیگنال 0 به پین اعمال نشده مقدار ورودی اون پین 1 هست و وقتی که 0 بهش اعمال شد مقدار ورودی پین 0 خونده میشه و جریان بسیار کمی هم از مقاومت Pull up عبور میکنه(به خاطر اختلاف پتانسیل دوسر اون مقاومت)
          موفق باشید
          ممنون
          اشتباها برعکس نگفتید؟
          وقتی که پول پ یک پین رو فعال میکنم مگر مقدار پیش فرض اون پین 0 نمیشه؟حالا اگر بهش 1 بدیم وضعیتش تغییر می کنه..
          درسته؟

          دیدگاه


            #20
            پاسخ : پول پ مقاومت داخلی میکروی avr

            نوشته اصلی توسط gorgiro
            ممنون
            اشتباها برعکس نگفتید؟
            وقتی که پول پ یک پین رو فعال میکنم مگر مقدار پیش فرض اون پین 0 نمیشه؟حالا اگر بهش 1 بدیم وضعیتش تغییر می کنه..
            درسته؟
            خواهش میکنم...
            شما سرچ کردید؟؟؟؟
            وقتی پول پ فعاله مقدار دیفالت 1 هست و تا زمانی که سطح ولتاژ شیگنال ورودی 0 نشده ورودی 1خونده میشه....
            تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

            www.intelart.ir


            ساخت کنترلر دما PID فازی با AVR [آموزشی]

            دیدگاه


              #21
              پاسخ : پول پ مقاومت داخلی میکروی avr

              نوشته اصلی توسط punisher.x64
              خواهش میکنم...
              شما سرچ کردید؟؟؟؟
              وقتی پول پ فعاله مقدار دیفالت 1 هست و تا زمانی که سطح ولتاژ شیگنال ورودی 0 نشده ورودی 1خونده میشه....
              دارم دربارش میخونم الان
              یعنی پول پ تو میکرو بر خلاف تعریف ورودی های دیگس درسته؟

              مثلا تو یه آیسی میگیم وقتی از مقاومت پول پ استفاده میکنیم مقدار اون پایه صفر میشه
              و وقتی از پول داون استفاده می کنیم مقدار 1 میشه.
              الان تو میکرو این برعکس هست؟

              دیدگاه


                #22
                پاسخ : پول پ مقاومت داخلی میکروی avr

                نوشته اصلی توسط gorgiro
                دارم دربارش میخونم الان
                یعنی پول پ تو میکرو بر خلاف تعریف ورودی های دیگس درسته؟

                مثلا تو یه آیسی میگیم وقتی از مقاومت پول پ استفاده میکنیم مقدار اون پایه صفر میشه
                و وقتی از پول داون استفاده می کنیم مقدار 1 میشه.
                الان تو میکرو این برعکس هست؟
                والا این حرفو اولین بار از شما دارم میشنوم...اسمش روشه دیگه :PULL UP یعنی بالاکش...یعنی ولتاژ ورودی در حالتی کهه سیگنالی وارد نمیشه به اندازه vcc بالا میره...
                حالا پول داون هم همینطور یعنی در حالتی که سیگنالی وارد نمیشه ورودی به اندازه گراند میاد پایین....
                تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

                www.intelart.ir


                ساخت کنترلر دما PID فازی با AVR [آموزشی]

                دیدگاه


                  #23
                  پاسخ : پول پ مقاومت داخلی میکروی avr

                  با سلام . بحث Pull up فقط زمانی که پایه ورودی هست معنا پیدا می کنه. مقدار مقاومت موجود در پایه های میکروکنترلر برای کارهای معمول تقریبا مناسبه اما چیزی که باعث می شه مقاومت Pull up مقدارش عوض شه مقدار جریان مصرفی یا اعمالی میکرو هستش (Sink & Source) .مقاومت Pull up یا Pull Down به Sink و Source جریان روی خط وابسته میشه. در بیشتر مدارات این مقدار رو 10K و یا نزدیک به این مقدار می بینیمم چون برای جریان کشی و جریان دهی توسط پایه میکروکنترلر بیشتر از 20-30 ma مجاز نیستیم (مقدار 40ma که Absolute). اگه مدار ترانزیستوری رو بصورت سوئیچ ببندید اون موقع مقدار مقاومت Pull up موجود در کلکتور برای اینکه ترانزیستور به اشباع بره مهم میشه. اگه مدار داخلی پایه های میکرو رو مطالعه کنید میبینید که هر پایه یک ترانزیستور داره برای سوئیچ مقاومت Pull up.اگه از بیرون هم بخواهید مقاومت بذارید میدونید که در مداراتی که Open کلکتور هستند نیاز به Pull up و Pull Down داریم.اگه توضیح بیشتر خواستین در خدمتم.tnx
                  اینجا ماس ماست

                  دیدگاه


                    #24
                    مشکل با پول دان کردن پایه میکرو

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

                    دیدگاه

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