اطلاعیه

Collapse
No announcement yet.

ریست شدن مدام میکرو

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

    ریست شدن مدام میکرو

    سلام دوستان ... من یه پروِژه دارم میسازم که با atmega 16 و یه lcd 4*20 ...
    600 خط برنامه تا حالا شده.... حدود 15 تا زیر برنامه که به هم راه ندارن و از زیربرنامه main وارد اونا میشم و فقط میشه به main برگشت...
    تو پروتئوس تقریبا جواب گرفتم...
    حالا دارم رو برد بورد میبندم....
    1-وقتی به یه زیربرنامه میرم و به main برمیگردم و مثلا یه دکمه دیگه میزنم تا به زیربرنامه دیگه ای برم میکرو یه دور ریست میشه ... oo: دوستام میگن نویزه...
    معذرت میخواما.... خدا این نویز رو زنده نگه داره که همیشه یه میتونه یه جواب باشه برای سوالهایی که توضیحی براشون نداریم
    2-هر از گاهی هم کاراکترهای چپندرقیچی رو lcd نمایش میده
    خدائیش این میتونه نویز باشه....
    من برای اندازه گیری کسینوس فی سیگنالهای ولتاژ و جریان رو با opamp مربعی میکنم... از 741 که استفاده کردم تو اسکوپ برای خروجی یه سیگنال dc یکدست نشون میده ... oo: oo: oo:
    رفتم سراغ lm324 اونم همینطوریه
    این به خاطر چیه ... از درست بستن مدار و سالم بودن ic ها خیالتون راحت ... تو بستنشون هم با چند تا از بچه ها که واردن کار کردم.... :nerd:
    3- من یه باتری گذاشتم که وقتی برق شهر قطع میشه باتری از طریق یه دیود میاد و میکرو رو روشن نگه میداره... اما lcd باید خاموش بشه ... چون مصرفش بالاست.... اما این خاموش شدن lcd و روشن موندن میکرو باعث مشکل نمیشه؟؟؟ ... یعنی میکرو قاطی نمیکنه.... ؟؟؟ چون داره با قطعه ای اطلاعات رد و بدل میکنه که خاموشه و پاسخی ازش دریافت نمیکنه .... اگر در این موقع بفرستمش تو زیر برنامه ای که با lcd ارتباط نداشته باشه مشکلم حل میشه...؟؟؟
    نظر شماچیه؟؟ :question:
    4- و اما خفن ترین و عجیب ترین مشکل....
    من یه زیربرنامه نوشتم برای محاسبه کسینوس فی که تو پروتئوس جواب داده ... ولی تو میکرو وقتی دکمه رفتن به زیر برنامه کسینوس فی رو میزنم میکرو قفل میکنه oo: و فاتحه.... باید ریستش کنم... :cry2:
    مشکلش چیه...
    این نکته رو هم اضافه کنم که این زیر برنامه در مقع اجرا در پروتئوس هم در حدود 95 درصد cpu کامپیوتر رو اشغال میکنه !!! oo:
    این شکلک oo: عجب پر کاربرده ... حداقل برای من ... :mrgreen:
    اینم برنامه کسینوس فی :

    Pf:
    Do
    Bitwait Pind.0 , Set
    Start Timer1
    Bitwait Pind.0 , Reset
    Stop Timer1
    Vera = Timer1
    Timer1 = 0
    Vera = Vera * 0.000001
    Vera = Vera * 1000
    Vera = Vera * 18
    'Vera = 180 - Vera
    'If Vera > 90 Then Goto Pf
    Cosphi = Deg2rad(vera)
    Cosphi = Cos(cosphi)
    Cls
    Lcd "Phi:"
    Locate 2 , 1
    Lcd Vera ; " Deg"
    Locate 3 , 1
    Lcd "Cosphi:"
    Locate 4 , 1
    Lcd Cosphi
    D = Getkbd()
    If D = 15 Then Goto Pmain
    Goto Timeer3
    Loop

    اون timeer3 هم یه زیربرنامست که زمان یک ثانیه رو ایجاد میکنه.... مرسی ... خیلی حیاتیه .... این یه کنتور دیجیتالی خانگیه.... مشابه چینیش رو استادمون از چین آورده بود.... ایشالا تموم که شد میذارم تو سایت تا بقیه هم استفاده کنن. من تا 25 شهریور برای تحویل پروژه ام وقت دارم :bye

    #2
    پاسخ : ریست شدن مدام میکرو

    تنظیمات brown out detection رو ببین ممکنه با زدن سوییچ یه چیزی باعث میشه جریان بالا میکشی افت ولتاژ بوجود میاد میکرو رست میکنه
    خوب وقتی دوباره برق اومد و دیگه نمیخوای با باتری کار کنی یه بار lcd رو initial کن

    دیدگاه


      #3
      پاسخ : ریست شدن مدام میکرو

      ممنون که جواب دادید ....مسئله وقتیه که برق رفته و باتری تو مداره .... lcd خاموش میشه ولی میکرو روشنه .... منظورتون رو نفهمیدم
      میشه بیشتر توضیح بدبد ... چیکار باید بکنم.... یعنی مشکلم حل میشه ؟؟؟؟ :nice:

      دیدگاه


        #4
        پاسخ : ریست شدن مدام میکرو

        یعنی وقتی با باتری کار میکنین باز هم کلیدها رو میخونین؟
        بعد از باتری خازن دارین؟
        باتری تون چند ولته؟

        دیدگاه


          #5
          پاسخ : ریست شدن مدام میکرو

          1.واسه چک کردن دکمه ها از چه روش و دستوری استفاده می کنی؟این خیلی مهمه
          2.پول اپ داری واسه کلید ها؟
          3.تغذیت چیه ؟قبل و بعد از رگولاتور ها خازن درست حسابی گزاشتی؟
          4.واسه وقتی که پرش داری و فریم و استک بالایی استفاده میکنی باید اینها رو تنظیم کنی
          کد:
          $hwstack = 32                        ' default use 32 for the hardware stack
          
          $swstack = 10                        'default use 10 for the SW stack
          
          $framesize = 40
          کردی؟اگر نه که حقته این همه این شکلی oo: بشی :mrgreen:
          5.احتمالا مشکل lcd نویز نیست جیگر همین کم اوردن جریانه.سعی کن یه تغذیه جدا واسش بزاری
          6.هر از گاهی می تونی از این دستور استفاده کنی اگه واقعا نویز داره اذیت lcd می کنه
          کد:
          initlcd
          7.خیلی خودمونی نشو :mrgreen: برو این کارارو انجام بده تا باقیه oo: رو هم بگم واسه چیه
          علم چندانکه بیشتر خوانی چون عمل در تو نیست نادانی

          دیدگاه


            #6
            پاسخ : ریست شدن مدام میکرو

            vcc رو در نزدیکترین مسیر از محل ورودش به pcb و انحصاری بدون هیچ انشئاب به avr بده و یک فیلتر lc بذار طوری که خازن کیپ avr باشه انشئاب گراند رو هم کوتا واز محل ورود بگیر این تجربه منه در بدترین شرایط نویز

            دیدگاه


              #7
              پاسخ : ریست شدن مدام میکرو

              سلام دوستان...
              من دیشب تلفنی با یکی از دوستام صحبت کردم ....
              اونم خیلی وارده ...
              نظر اون در مورد ریست شدن مشکل در تغذیه است ... میگفت رگولاتورم نمیتونه کل جریان مورد نیاز مدار رو تامین کنه...چون رگولاتورم به طرز عجیبی داغ میشه ...اون اعتقاد داشت به دلیل اینکه ال سی دی داره جریان زیادی میکشه و من مقاومت سر راهش نذاشتم با عث میشه که جریان زیادی بکشه و در نتیجه افت ولتاژ زیادی بوجود بیاد و هر از گاهی ال سی دی کاراکترهای عجیب غریب نشون بده .... نظرش این بود که سر راه کی بورد هم باید مقاومت بذارم ....
              اما برای قفل کردن برنامه کسینوس فی نظری نداشت ...محتمل ترین شرایط رو نیمسوز شدن میکرو میدونست...
              من فرکانسم 1000000 هست ... اون میگه در کل اگر فرکانس رو به 8000000 افزایش بدم بهتره....
              اما گفت تجربش میگه که کار کردن چند تا بع به طور همزمان در میکرو هم باعث قفل کردن میشه ... مثلا در حالی که من در یه زیربرنامه هستم هر دو تایمر دارن کار میکنن و این میتونه باعث قفل کردن میکرو بشه که احتمالش خیلی خیلی کمه ... من دو سر رگولاتور 2 خازن 470 میکرو گذاشتم ... فکر میکنم مناسب باشه ... نظر شما چیه؟؟ :sad:

              دیدگاه


                #8
                پاسخ : ریست شدن مدام میکرو


                شما فقط دوست داری بپرسی.این طور نیست؟خوب اگه نه پس به این همه نوشته های من دقت نکردی.ببین فک کنم تو نوشته هام تمام نکته هایی که دوستتون گفتن رو یاد اوری کردم
                اما در مورد فرکانس باید بگم که دوستت اشتباه میکنه افزایش فرکانس باعث افزایش جریان میکرو میشه . برنامت رو بزاری علت هنگ رو می گم تو برنامه از گزاشتن این دو دستور جدا اجتناب کن
                کد:
                return
                کد:
                goto
                نوشته اصلی توسط omega_adiban
                1.واسه چک کردن دکمه ها از چه روش و دستوری استفاده می کنی؟این خیلی مهمه
                2.پول اپ داری واسه کلید ها؟
                3.تغذیت چیه ؟قبل و بعد از رگولاتور ها خازن درست حسابی گزاشتی؟
                4.واسه وقتی که پرش داری و فریم و استک بالایی استفاده میکنی باید اینها رو تنظیم کنی
                کد:
                $hwstack = 32                       ' default use 32 for the hardware stack
                
                $swstack = 10                       'default use 10 for the SW stack
                
                $framesize = 40
                کردی؟اگر نه که حقته این همه این شکلی oo: بشی :mrgreen:
                5.احتمالا مشکل lcd نویز نیست جیگر همین کم اوردن جریانه.سعی کن یه تغذیه جدا واسش بزاری
                6.هر از گاهی می تونی از این دستور استفاده کنی اگه واقعا نویز داره اذیت lcd می کنه
                کد:
                initlcd
                7.خیلی خودمونی نشو :mrgreen: برو این کارارو انجام بده تا باقیه oo: رو هم بگم واسه چیه
                علم چندانکه بیشتر خوانی چون عمل در تو نیست نادانی

                دیدگاه

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