اطلاعیه

Collapse
No announcement yet.

چند سوال درمورد AVR

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

    چند سوال درمورد AVR

    باسلام دوستان میخواستم بدونم اگه پورت B رو خروجی کنم و پروگرامر کنم برای دفعه بعد پروگرام مشکلی پیش نمیاد؟؟؟ oo:
    -0-

    #2
    پاسخ : سوال درمورد پورت های AVR

    تعیین وضعیت خروجی و ورودی یک پورت توسط رجیستر مشخص میشه و با هر بار پروگرم کردن می تونید رجیستر رو تغییر بدین.پس هیچ مشکلی ایجاد نمی کنه.
    یك چند پشیمان شدم از رندی و مستی
    عمریست پشیمان زپشیمانی خویشم

    دیدگاه


      #3
      پاسخ : سوال درمورد پورت های AVR

      چندتا دیگه سوال دارم
      اگه به تغذیه ADC ولتاژ بدیم اما ازش کار نکشیم چی میشه؟
      برای اتصال ال ای دی به میکرو از چه مقاوتی استفاده کنم؟
      -0-

      دیدگاه


        #4
        پاسخ : چند سوال درمورد AVR

        هیچی نمیشه اگه از 5 ولت کمتر باشه
        برا led میتونی 330 اهم بزاری یا اصن نزاری
        حیدر قجا دونیا یالان دونیا دور...

        دیدگاه


          #5
          پاسخ : سوال درمورد پورت های AVR

          نوشته اصلی توسط (!Mostafa! (!M!
          چندتا دیگه سوال دارم
          اگه به تغذیه ADC ولتاژ بدیم اما ازش کار نکشیم چی میشه؟
          برای اتصال ال ای دی به میکرو از چه مقاوتی استفاده کنم؟
          کاری نمیشه...

          مقاومت رو جوری انتخاب کنید که جریان مصرفیش از 16 میلی آمپر بیشتر نشه
          اگه مستقیم وصل کنید پین میکرو به فنا میره...
          تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

          www.intelart.ir


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

          دیدگاه


            #6
            پاسخ : چند سوال درمورد AVR

            سلام به همه
            دوست عزیز اینقدر با حساسیت و وسواس جلو نرو چون عقب میندازتت
            در مجموع به چند نکته خیلی توجه کن:
            1- تغذیه مدارت پایدار و خوب رگوله شده باشه و از جریان خروجی خوبی هم برخوردار باشه
            2- از خازن 100 تا 220 نانو برای فیلتر در مداراتت استفاده کن
            3- ورودی وخروجی ، فعال یا غیر فعال کردن واحدهایی مثل ADC ، USART ، SPI و... رو نه تنها بعد از هر بار پروگرام کردن میتونی مشخص و فعال کنی بلکه توی هر پروژه میتونی به هر تعداد که میخوای وضعیت هر پایه رو تغییر بدی
            یک بار وقفه روژه و بدون نیاز به پروگرام کردن مجدد اون پایه رو ورودی کنی و در کل هر بلایی رو میتونی بدون نیاز به پروگرام کردن مجدد سر این میکرو ها بیاری
            و تنها چند مورد هستش که معروفن به فیوز بیت ها که فقط هنگام پروگرام کردن مشخص میشن و تا پروگرام کردن مجدد نمیشه تغییرشون داد
            مثل : نحوه تعیین منبع فرکانس مدار ، BOD ، راه اندازی قسمت سخت افزاری WDT( که البته WDT رو اگر نرم افزاری تعریف کنی بدون نیاز به پروگرام کردن میتونی تغییرش بدی) ، سرعت پایدار شدن نوسان میکرو و بقیه فیوز بیت ها
            اي خدا ، من بايد از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از اين راه طعنه زنند. بايد به آن سنگدلاني که علم را بهانه کرده و به ديگران فخر ميآ*فروشند، ثابت کنم که خاک پاي من هم نخواهند شد. بايد همه آن تيره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترين و افتاده ترين مرد روي زمين باشم.
            شهيد دکتر مصطفي چمران
            اللهم صل علي محمد و ال محمد و عجل فرجهم
            ; C is not for children

            دیدگاه


              #7
              پاسخ : چند سوال درمورد AVR

              نوشته اصلی توسط (!Mostafa! (!M!
              باسلام دوستان میخواستم بدونم اگه پورت B رو خروجی کنم و پروگرامر کنم برای دفعه بعد پروگرام مشکلی پیش نمیاد؟؟؟ oo:
              من فکر میکنم که دوستان؛ خیلی خوب به نکته ای که در سئوال شما بود توجه نکردند!

              بصورت کلی نباید با تعریف خروجی هر پورتی در میکرو، مشکلی برای پروگرام مجدد پیش بیاید. اما :

              - اگر شما از پروگرامرهایی زیف سوکت دار استفاده میکنید و میکروی شما نیز بالای 8 عدد پایه دارد؛ آنوقت است که باید کمی تامل کرد. در پروگرامرهای متداول در بازار ایران روش بسیار غلطی متداول شده است؛ و آن هم اضافه کردن زیف سوکت به پروگرامرهایی که ذاتا ISP هستند. آنهم با روش بسیار غلط و ابتدایی اتصال کوتاه کردن پین های مختلف زیف سوکت جهت درج میکروهای مختلف بر روی تنها یک زیف سوکت.

              این روش فقط به نفع فروشنده است و قطعا خریدار ضرر میکند، چون خریدار با دیدن پروگرامر دارای زیف سوکت بیشتر ترقیب به خرید آن میشود. غافل از آنکه هر گردی گردو نیست. برای توضیح بیشتر به تصویر زیر دقت کنید :



              در تصویر فوق بنده پایه های مورد استفاده در پروگرامر را نمایش دادم و هر حرف نشانگر سیگنال خاصی است که در زیر توضیح داده شده است :
              کد:
              x : xtal
              o : mosi
              i : miso
              c : sck
              v : vcc
              g : gnd
              اگر شما یک میکرو 28 پین مثل مگا هشت را در این پروگرامر قرار دهید. خواهید دید که هر پایه پورت B به که متعلق به SPI است به دو پایه غیر مرتبط اتصال کوتاه شده اند :
              پایه MOSI یا همان PB3 به پایه های PD1 و AVCC متصل شده است! (سه پایه)
              پایه MISO یا همان PB4 به پایه های PD2 و AREF متصل شده است! (سه پایه)
              پایه SCK یا همان PB5 به پایه های PD3 و GND متصل شده است! (سه پایه)

              و جالبتر آنکه : پایه ریست میکرو به پایه های PD4 و PB0 اتصال کوتاه شده است.(سه پایه)

              و اگر پورت B در برنامه کاربر به عنوان خروجی استفاده شود. با صفر شدن آن میکرو ریست خواهد شد. و همینطور به دلیل اتصال به برخی پایه های دیگر تداخل سیگنالی پروگرامر و میکرو مانع از ارتباط میکرو با پروگرامر خواهد شد و با خطای chip enable program error روبرو خواهید شد.

              توجه داشته باشید که در این دسته از پروگرامرها خطوط تغذیه بصورت دائم بر روی زیف سوکت وجود دارند و در نتیجه به محض درج میکرو و قبل از آنکه شما به پروگرامر دستور برنامه ریزی میکرو بدهید میکرو روشن شده و سیگنالهای آن همانند یک حمله پیش دستانه مانع از کارکرد درست پروگرامر میشوند.

              لطفا دوستان یکبار توضیحات اتمل را برای برنامه ریزی میکرو به دقت مطالعه کنند؛ در بخش نخست جمله زیر گفته شده است :
              کد:
              1. Power-up sequence:
              Apply power between VCC and GND while RESET and SCK are set to “0”.
              همانطور که اتمل توضیح داده در شروع کار خطوط تغذیه زمانی به میکرو اعمال میشوند که پایه های RESET و SCK صفر باشند. و یک دلیل آنهم این است که میکرو باید ریست شده تا تمامی پایه ها به حالت امپدانس بالا روند تا کمتر مشکلی در حین پروگرام بوجود آید.

              حالا خود قضاوت کنید کنید آیا در پروگرامرهایی که از روش بسیار غلطی برای زیف سوکت دار کردند استفاده میکنند، میتوان با خیال راحت میکرو را پروگرامر کرد؛ اگر در اینترنت جستجو کنید مشاهده خواهید که فقط با جستجوی خطای "chip enable program error" دو سایت فارسی در صدر نتایج گوگل هستند و جالب اینکه در نتایج صفحه گوگل میتوان رد پای پروگرامرهای زیف سوکت دار را مشاهده کرد :



              و در همین صفحه گوگل کاربری از عدم توانایی پروگرام کردن میکرو بعد از بار اول صحبت کرده است :



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

              اما برای اینکه بتوانیم بسادگی این دسته از پروگرامرها را تشخیص دهیم راه حل ساده ای وجود دارد؟
              جواب بله است. لازم نیست که حتما به کف برد نگاهی بیاندازید و آنرا تجزیه و تحلیل کنید؛ و مثل تصویر زیر آنرا موشکافانه بررسی کنید :


              بلکه اگر به راهنمای پروگرامر و یا توضیحات روی آن توجه کنید؛ متوجه خواهید شد که پروگرامرهایی با زیف غیر استاندارد؛ همگی قادر به درج میکرو از پین یک زیف سوکت نیستند و شما باید هر میکرو را در محل جداگانه از زیف درج کنید. درحالیکه در پروگرامرهای استاندارد تمامی میکروها بدون توجه به نوع و تعداد پین های آن از پین یک بر روی زیف سوکت درج میشوند. برای نمونه تصویر زیر یک پروگرامر با زیف سوکت غیر استاندارد نشان داده شده است :


              نکات بسیار مهم در تهیه پروگرامر که متاسفانه فراموش میشود!

              دیدگاه


                #8
                پاسخ : چند سوال درمورد AVR

                سلام . اساتید خسته نباشید. به عنوان یه مبتدی که میخوام آموزش AVR رو شروع کنم میخواستم بدونم برای نوشتن کد میتونم از زبان C++ استفاده کنم یا فقط از C باید استفاده کرد؟ چون یه زمینه ای توی C++ دارم. اگه میشه با چه برنامه ای ممکنه ؟ چه چیزایی لازمه بدونم ؟ممنون میشم راهنماییم کنید. :job:

                دیدگاه


                  #9
                  پاسخ : چند سوال درمورد AVR

                  نوشته اصلی توسط AR phantom
                  سلام . اساتید خسته نباشید. به عنوان یه مبتدی که میخوام آموزش AVR رو شروع کنم میخواستم بدونم برای نوشتن کد میتونم از زبان C++ استفاده کنم یا فقط از C باید استفاده کرد؟ چون یه زمینه ای توی C++ دارم. اگه میشه با چه برنامه ای ممکنه ؟ چه چیزایی لازمه بدونم ؟ممنون میشم راهنماییم کنید. :job:
                  اگه قصد دارید از C++ استفاده کنید باید از کامپایلرهایی مثل AVR-GCC استفاده کنید...ولی عموما توصیه نمیشه چون حجم کد میره بالا و واسه میکرویی مثل AVR کاربرد آنچنانی نداره...اگه C++ بلد هستید پس با C همشمکلی ندارید...فقط بعضی از امکانات C++ رو در اختیار ندارید...
                  تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

                  www.intelart.ir


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

                  دیدگاه


                    #10
                    پاسخ : چند سوال درمورد AVR

                    نوشته اصلی توسط Mahdi.Faani
                    اگه قصد دارید از C++ استفاده کنید باید از کامپایلرهایی مثل AVR-GCC استفاده کنید...ولی عموما توصیه نمیشه چون حجم کد میره بالا و واسه میکرویی مثل AVR کاربرد آنچنانی نداره...اگه C++ بلد هستید پس با C همشمکلی ندارید...فقط بعضی از امکانات C++ رو در اختیار ندارید...
                    ممنون.توصیه شما چه برنامه ایه ؟ چه برنامه ای از همه رایج تره ؟

                    دیدگاه


                      #11
                      پاسخ : چند سوال درمورد AVR

                      نوشته اصلی توسط AR phantom
                      ممنون.توصیه شما چه برنامه ایه ؟ چه برنامه ای از همه رایج تره ؟
                      از همه رایج تر CodeVision هست و توصیه من Atmel Studio هست...اگه میخاید به صورت استاندارد با C کار کنید باید با کمامپایلر codevision خدافظی کنید و برید سمت کامپایلری مثل AVR-GCC...در نهایت به یه editor هم نیاز دارید...تمام این موارد در برنامه ای به نام atmel Studio گنجانمده شده...ادیتور هم Visual Studio استفاده شده که دیگه هر چی از خوبیای visual studio بگم کم گفتم!
                      تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

                      www.intelart.ir


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

                      دیدگاه


                        #12
                        پاسخ : چند سوال درمورد AVR

                        نوشته اصلی توسط AR phantom
                        سلام . اساتید خسته نباشید. به عنوان یه مبتدی که میخوام آموزش AVR رو شروع کنم میخواستم بدونم برای نوشتن کد میتونم از زبان C++ استفاده کنم یا فقط از C باید استفاده کرد؟ چون یه زمینه ای توی C++ دارم. اگه میشه با چه برنامه ای ممکنه ؟ چه چیزایی لازمه بدونم ؟ممنون میشم راهنماییم کنید. :job:
                        سلام به همه
                        حتما برای avr از ide خود شرکتش که رایگانه استفاده کن Atmel Studio 6
                        چون قدرت خیلی خوبی داره و باعث میشه اصولی میکرو هارو یاد بگیری اینجوری فردا نه تنها با خانواه های مختلف میکرو ها مثل pic یا arm و... مشکلی نداری بلکه در کار کردن با ic های واسط هم خیلی کمک میکنه چون همگی نکاتشون در کار با رجیستراشونه
                        توی اون هم با c و هم ++c و هم اسمبل میتونی کار کنی اما ++c خیلی خیلی حجم کد تولیدی رو افزایش میده و اصلا به صرفه نیست
                        اي خدا ، من بايد از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از اين راه طعنه زنند. بايد به آن سنگدلاني که علم را بهانه کرده و به ديگران فخر ميآ*فروشند، ثابت کنم که خاک پاي من هم نخواهند شد. بايد همه آن تيره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترين و افتاده ترين مرد روي زمين باشم.
                        شهيد دکتر مصطفي چمران
                        اللهم صل علي محمد و ال محمد و عجل فرجهم
                        ; C is not for children

                        دیدگاه

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