اطلاعیه

Collapse
No announcement yet.

برنامه مقایسه در زمان نبود تغذیه میکرو

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

    برنامه مقایسه در زمان نبود تغذیه میکرو

    سلام دوستان

    موضوعی به شدت فکرمو دیگر کرده که ایا این کار بدون تغذیه میکرو( قطع شدن برق) امکان دارد یا خیر

    تایمر هست که من باید بهش بگم راس فلان ساعت خروجی رو روشن و تو فلان ساعت خاموش کن

    فرضا کنیم الان ساعت 16:16 است به میکرو دستور دادم که ساعت 8:40 خروجی رو روشن کن و ساعت 9:10 خاموش کن . خب این عمل مقایسه میکرو با ساعتمون که ds1307 میباشد کار ساده ای میباشد تا زمانی که تغذیه میکرو برقرار باشد

    اما اگر فرضا تغذیه میکرو قطع شود و بعد از مدتی وصل شود میکرو بعد ازراه اندازی ساعت و دقیقه رو از ds1307 بخونه و ساعت فرضا 8:50 دقیقه باشه چطور به میکرو بفهمونیم که باید خروجی روشن بشه

    به مساله دقت کنید چون نکته دار هست . من هر چقدر فکرکردم به این نتیجه رسیدم که تقریبا نمیشه

    ادمهای خوب تو eca خیلی پیدا میشه

    #2
    پاسخ : برنامه مقایسه در زمان نبود تغذیه میکرو

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

    دیدگاه


      #3
      پاسخ : برنامه مقایسه در زمان نبود تغذیه میکرو

      خیلی ساده یک فلگ تعریف کنید(متغییر) که بعد از دادن فرمان on ، یک بشه
      بعد در زمانی که مجددا راه اندازی شد ، چک کن که این فلگ یک هست یا نه !
      یا اینکه می تونی در بازه زمانی که بایستی روشن شود بصورت پریودیک فرمان روشن شدن رو بفرستید و بلعکس
      موفق باشید
      هميشه به ياد خدا باش !

      دیدگاه


        #4
        پاسخ : برنامه مقایسه در زمان نبود تغذیه میکرو

        سلام
        من که نفهمیدم چی گفتید.

        دیدگاه


          #5
          پاسخ : برنامه مقایسه در زمان نبود تغذیه میکرو

          نوشته اصلی توسط DDR3
          خیلی ساده یک فلگ تعریف کنید(متغییر) که بعد از دادن فرمان on ، یک بشه
          بعد در زمانی که مجددا راه اندازی شد ، چک کن که این فلگ یک هست یا نه !
          یا اینکه می تونی در بازه زمانی که بایستی روشن شود بصورت پریودیک فرمان روشن شدن رو بفرستید و بلعکس
          موفق باشید

          خب حالا فرض کنیم ساعت الان 23:40 است و دستور دادیم که ساعت 8 ( میشه فردا) رله فعال بشه تا ساعت 10 که رله خاموش بشه


          و برق میره و ساعت 8:30 برق میاد

          خب حالا گفته شما صدق میکنه

          ادمهای خوب تو eca خیلی پیدا میشه

          دیدگاه


            #6
            پاسخ : برنامه مقایسه در زمان نبود تغذیه میکرو

            این مشکل رو شما با باتری حل کنید بهتر نیست؟

            دیدگاه


              #7
              پاسخ : برنامه مقایسه در زمان نبود تغذیه میکرو

              به نظرم که نامفهوم نبود اما این توضیحش
              قراره از 8 صبح تا 10 صبح روشن باشه اینطوری میشه
              برنامه داخل روتین چک میکنه که اگر ساعت بین 8 تا 10 بود به رله فرمان روشن شدن میده و در غیر اینصورت فرمان خاموش
              میده
              حالا هر وقت برق بره ، بیاد ، روشن بشه ، خاموش بشه و ..
              چنانچه دستگاه روشن بود و در بین این ساعات بود روشن میکنه دستگاه رو
              خوبه الان دیگه؟
              هميشه به ياد خدا باش !

              دیدگاه


                #8
                پاسخ : برنامه مقایسه در زمان نبود تغذیه میکر&

                نوشته اصلی توسط SAMIN20

                خب حالا فرض کنیم ساعت الان 23:40 است و دستور دادیم که ساعت 8 ( میشه فردا) رله فعال بشه تا ساعت 10 که رله خاموش بشه


                و برق میره و ساعت 8:30 برق میاد

                خب حالا گفته شما صدق میکنه
                دوست گرامی نمی دانم مشکل شما چیست ؟! همانطور که در پست قبل نوشتم در ساعت 8:30 که دوباره برق وصل شد شما در زمان startup میکرو یکبار بررسی میکنید آیا حالا که سیستم روشن شده آیا در بین ساعات 8 الی 10 قرار داریم پس چون در ساعت 8:30 قرار داریم رله روشن شود .
                مورد پیچیده‌‌ ای نیست ، چند سال پیش یک دستگاه طراحی کردم که دقیقا با چنین موردی برخورد کردم که دستگاهها مرتب کار میکنند.

                دیدگاه


                  #9
                  پاسخ : برنامه مقایسه در زمان نبود تغذیه میکرو

                  اینطور که متوجه شدم ساعت همیشه یکسان نیست و میخواد بصورت دستی بدونه برنامه ریزی مجدد میکرو عوض بشه

                  من یه پیشنهاد دارم

                  محدوده زمانی رو داخل EEPROM ذخیره کنید و بیاد اول برنامه اون محدوده زمانی رو از EEPROM بخونید و ساعت رو هم از DS1307 بخونه و اگه دید توی همون محدوده ای است که باید روشن یشه رله رو روشن کنه
                  بهمین راحتی

                  دیدگاه


                    #10
                    پاسخ : برنامه مقایسه در زمان نبود تغذیه میکرو

                    نه نگرفتید .گفتم پیچیده است

                    فرض کنید الان ساعت 16 عصر هست
                    اگر بخواهیم رله از ساعت 8 تا 17 عصر (فردا)روشن بمونه

                    اگه به قول دوستمون هر وقت ساعت بین این محدوده بود رله فعال بشه


                    مشکل ما اینه که شاید زمانی که خواستیم تایمر تنظیم کنیم ساعت 16 عصر باشه اونوقت رله فعال میشه
                    ادمهای خوب تو eca خیلی پیدا میشه

                    دیدگاه

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