اطلاعیه

Collapse
No announcement yet.

ذخیره داده ها در eeprom فقط در لحظه قطع برق

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

    ذخیره داده ها در eeprom فقط در لحظه قطع برق

    سلام دوستان
    یه برنامه با بسکام نوشتم که وقتی کلید زده میشه یه خروجیو toggle میکنه .مشکلم اینه می خوام موقعی که برق قطع میشه آخرین وضعیت خروجی تو eeprom داخلی ذخیره بشه و دوباره با آمدن تغذیه به همون خروجی اعمال بشه یعنی زمان قطع تغذیه اگه خروجی صفر بود ، ذخیره بشه تو eeprom وبا وصل تغذیه همون صفر ذخیره شده به خروجی اعمال بشه .تو یکی از تاپبک ها استاد عزیز آقای سپاس یار فرموده بودن باید از مقایسه کننده آنالوگ میکرو استفاده بشه برای detect قطع شدن ولتاژ ، حالا من نمیدونم چه مداری باید به پایه های مقایسه کننده میکرو اضافه بشه و چه برنامه ای برای ذخیره تو eeprom .
    خودم یه چیزایی نوشتم ولی جواب نداد .البته تو پروتیوس
    این برنامست
    کد:
    $regfile "m8def.dat"
    $regfile = "m8def.dat"
    $crystal = 1000000
    Dim Z As Byte
    
    
                               '4
    
    Config Pinb.7 = Input
    
    
    Config Pinb.0 = Output
    Config Pind.7 = Output
    Config Pind.6 = Output
    
    Config Pinb.2 = Input
    Config Pinb.3 = Input
    Config Pinb.1 = Input
    
    
    'Readeeprom Z , 2                      '2
    
    Waitms 5
    
    
    
    Do
    
    
    Debounce Pinb.2 , 1 , P , Sub
    Debounce Pinb.1 , 1 , Q , Sub
    Debounce Pinb.3 , 1 , O , Sub
    
    
    '******************************************
    
    
    If Pinb.7 = 0 Then                     '3
    
    
    Writeeeprom Z , 1
    P = Z
    
    Waitms 10
    
    
    End If
    
    If Pinb.7 = 1 Then
    Readeeprom Z , 1
    Waitms 10
    End If
    '******************************************
    Loop
    
    End                             'end program
    
    Q:
    Toggle Portb.0
    Return
    
    P:
    Toggle Portd.7
    Return
    
    O:
    Toggle Portd.6
    Return
    تو این برنامه یه سر از تغذیه رو به pinb.7 متصل کردم که قطع برقو تشخیص بده که میدونم اشتباهه.
    دوستان اگه میشه کمک کنند این برنامه و مدار اصلاح بشه .
    ممنون از همگی.
    فایل پروتیوس هم می خواستم پیوست کنم که نمیدونم چطوری باید پلود کنم

    نسبت بال زنبور به بدن او بسیار کم است
    با توجه به قوانین آیرودینامیک پرواز ممکن نیست
    اما زنبور این را نمیداند و پرواز می کند

    #2
    پاسخ : ذخیره داده ها در eeprom فقط در لحظه قطع برق

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

    دیدگاه


      #3
      پاسخ : ذخیره داده ها در eeprom فقط در لحظه قطع برق

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

      دیدگاه


        #4
        پاسخ : ذخیره داده ها در eeprom فقط در لحظه قطع برق

        یه مدار سنس ورودی بزار . که در صورت قطع یه وقفه خارجی به میکرو بده.
        نزدیک تغذیه میکرو یه خازن چند میلی فارادی بزار و البته راه برگشت جریان به مدار رو از خازن با یه دیود ببند.
        در لحظه قطع جریان یه وقفه میخوره میکرو و میاد آخرین وضعیت رو سیو میکنه.
        و البته خازن حدود چند ثانیه میکرو رو روشن نگه میداره و میکرو تو روال وقفه آخرین وضعیت رو سیو میکنه
        حواست به فیوزبیت brunout detection باشه!!!

        دیدگاه


          #5
          پاسخ : ذخیره داده ها در eeprom فقط در لحظه قطع برق

          مرسی که جواب دادی ولی مهندس مشکل من تو دستورات سیو کردنشه دیگه :biggrin:
          تازه اون مدار سنس تغذیه هم بلد نیستم :icon_razz:
          نسبت بال زنبور به بدن او بسیار کم است
          با توجه به قوانین آیرودینامیک پرواز ممکن نیست
          اما زنبور این را نمیداند و پرواز می کند

          دیدگاه


            #6
            پاسخ : ذخیره داده ها در eeprom فقط در لحظه قطع برق

            اول یه متغیر از نوع eeprom تعریف میکنی
            کد:
            eeprom unsigned char i
            بعد تو روال وقفه خارجی مینویسی
            کد:
            i=...
            برای سنس ورودی هم از یه تقسیم مقاومتی استفاده کن! یه جوری تقسیم مقاومتی رو انتخاب کن که وقتی برق قطع میشه سریعا بره به حالت منطقی 0
            یعنی وقتی تغذیه وصله خروجی تقسیم مقاومتیت یه کم بالا تر از حد اقل 1 منطقی باشه!

            دیدگاه


              #7
              پاسخ : ذخیره داده ها در eeprom فقط در لحظه قطع برق

              نمیشه از یه باتری سکه ای استفاده کرد؟

              دیدگاه


                #8
                پاسخ : ذخیره داده ها در eeprom فقط در لحظه قطع برق

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

                پیشاپیش خواهش میکنم و نیازی به تشکر نیست

                دیدگاه

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