اطلاعیه

Collapse
No announcement yet.

کمک برای ساخت تایمر ( کرنومتر )

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

    کمک برای ساخت تایمر ( کرنومتر )

    سلام
    میخواستم یه تایمر داشته باشم که مثلا بهش بگم 4 ساعت دیگه رله رو غیر فعال کن . ( تا 24 ساعت هم بشه بسته ).
    این عمل تکرار نشه مثل تایمر های بازاری ( تا زمانی که خودم دوباره دستور ندادم دیگه وصل نشه ).
    این تایم روی سون سگمت نمایش داده بشه ( فقط ساعت نمایش داده بشه که داره کم میشه کافیه دقیقه نمیخواد ( یه سون سگمنت 2 تایی )).
    اگه بشه کاری کرد که برق رفت بکارش ادامه بده عالیه .( تمکز روی این بخش زیاد ندارم )
    همین
    اگه میشه لطفا راهنماییم کنید
    با تشکر
    بازم خدا رو شکر ...

    #2
    پاسخ : کمک برای ساخت تایمر ( کرنومتر )

    نوشته اصلی توسط mosi_reali نمایش پست ها
    سلام
    میخواستم یه تایمر داشته باشم که مثلا بهش بگم 4 ساعت دیگه رله رو غیر فعال کن . ( تا 24 ساعت هم بشه بسته ).
    این عمل تکرار نشه مثل تایمر های بازاری ( تا زمانی که خودم دوباره دستور ندادم دیگه وصل نشه ).
    این تایم روی سون سگمت نمایش داده بشه ( فقط ساعت نمایش داده بشه که داره کم میشه کافیه دقیقه نمیخواد ( یه سون سگمنت 2 تایی )).
    اگه بشه کاری کرد که برق رفت بکارش ادامه بده عالیه .( تمکز روی این بخش زیاد ندارم )
    همین
    اگه میشه لطفا راهنماییم کنید
    با تشکر
    سلام
    چقدر برنامه نویسی میکروکنترلر بلد هستید؟

    دیدگاه


      #3
      پاسخ : کمک برای ساخت تایمر ( کرنومتر )

      نوشته اصلی توسط hossein.m98 نمایش پست ها
      سلام
      چقدر برنامه نویسی میکروکنترلر بلد هستید؟
      مرسی از توجهتون
      آماتور بسکام بلد هستم
      پروتیوس متوسط بلدم
      کیت هم ساختم اما با lcd سون سگمنت نبود
      بازم خدا رو شکر ...

      دیدگاه


        #4
        پاسخ : کمک برای ساخت تایمر ( کرنومتر )

        نوشته اصلی توسط mosi_reali نمایش پست ها
        مرسی از توجهتون
        آماتور بسکام بلد هستم
        پروتیوس متوسط بلدم
        کیت هم ساختم اما با lcd سون سگمنت نبود
        متاسفانه من بسکام کار نمیکنم. اما خوب چند راه برای این کار وجود داره. با استفاده از آی سی های RTC و یا استفاده از تایمرهای خود میکروکنترلر میتونید همچین کاری انجام بدید. برای این که بعد از قطع و وصل تغذیه باز تایمر به کارش ادامه بده، ناچارید از EEPROM داخلی یا حافظه های خارجی استفاده کنید که باز خودش یک مقدار داستان داره.
        با استفاده از RTC فقط کافیه توجه داشته باشید ساعت شروع به کار تایمر چنده و بعد از گذشت زمان مورد نظر به چه ساعتی میرسیم؛ با توجه به همون، ساعت و دقیقه RTC رو چک می کنید و به محض رسیدن به اون ساعت و دقیقه مورد نظر، اون عملی که بعد از سپری شدن زمان باید انجام بشه رو انجام میدید.
        توی راه حل دوم که با استفاده از تایمرهای خود میکروکنترلر باشه، کافیه تایمر داخلی راه اندازی و محاسبه بشه چندبار تایمر باید سرریز کنه تا به زمان مورد نظر رسید و سرریزهای تایمر رو شمارش کنید، بعد هم که عمل مورد نظر رو انجام بدید.
        اگر پروژه خیلی حیاتیه و خودتون مهارت لازمو ندارید، بهتره بسپاریدش به کسی که تخصصش همینه. موفق باشید

        دیدگاه


          #5
          پاسخ : کمک برای ساخت تایمر ( کرنومتر )

          نوشته اصلی توسط hossein.m98 نمایش پست ها
          متاسفانه من بسکام کار نمیکنم. اما خوب چند راه برای این کار وجود داره. با استفاده از آی سی های RTC و یا استفاده از تایمرهای خود میکروکنترلر میتونید همچین کاری انجام بدید. برای این که بعد از قطع و وصل تغذیه باز تایمر به کارش ادامه بده، ناچارید از EEPROM داخلی یا حافظه های خارجی استفاده کنید که باز خودش یک مقدار داستان داره.
          با استفاده از RTC فقط کافیه توجه داشته باشید ساعت شروع به کار تایمر چنده و بعد از گذشت زمان مورد نظر به چه ساعتی میرسیم؛ با توجه به همون، ساعت و دقیقه RTC رو چک می کنید و به محض رسیدن به اون ساعت و دقیقه مورد نظر، اون عملی که بعد از سپری شدن زمان باید انجام بشه رو انجام میدید.
          توی راه حل دوم که با استفاده از تایمرهای خود میکروکنترلر باشه، کافیه تایمر داخلی راه اندازی و محاسبه بشه چندبار تایمر باید سرریز کنه تا به زمان مورد نظر رسید و سرریزهای تایمر رو شمارش کنید، بعد هم که عمل مورد نظر رو انجام بدید.
          اگر پروژه خیلی حیاتیه و خودتون مهارت لازمو ندارید، بهتره بسپاریدش به کسی که تخصصش همینه. موفق باشید
          خیلی ممنون از راهنماییتون
          روش دوم به نظرم بهتر بود.
          بیشتر شبیه به چیزی که نیاز دارم هست.
          فقط توو این روش اگه بتونم به ۱ ثانیه برسم ( یعنی دقیقاً هر یک ثانیه یه متغییر یه عدد زیاد شه ) نصف راه رو رفتم
          بازم خدا رو شکر ...

          دیدگاه


            #6
            پاسخ : کمک برای ساخت تایمر ( کرنومتر )

            نوشته اصلی توسط mosi_reali نمایش پست ها
            خیلی ممنون از راهنماییتون
            روش دوم به نظرم بهتر بود.
            بیشتر شبیه به چیزی که نیاز دارم هست.
            فقط توو این روش اگه بتونم به ۱ ثانیه برسم ( یعنی دقیقاً هر یک ثانیه یه متغییر یه عدد زیاد شه ) نصف راه رو رفتم
            زیاد فرقی نمیکنه 1 ثانیه باشه، 1 میلی ثانیه و یا مقادیر دیگه. فقط شما باید تعداد سر ریز رو محاسبه کنید و باقی کارها.

            دیدگاه


              #7
              پاسخ : کمک برای ساخت تایمر ( کرنومتر )

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

              دیدگاه


                #8
                پاسخ : کمک برای ساخت تایمر ( کرنومتر )

                چطور با تایمر/کانتر شماره 0 یا 1 ، یک ثانیه درست کنم و بریزم داخل یک متغییر و رو lcd نشون بدم ؟؟
                دوستان کسی برنامه این کار رو میتونه بهم بده ؟؟
                با تشکر
                بازم خدا رو شکر ...

                دیدگاه


                  #9
                  پاسخ : کمک برای ساخت تایمر ( کرنومتر )

                  نوشته اصلی توسط mosi_reali نمایش پست ها
                  چطور با تایمر/کانتر شماره 0 یا 1 ، یک ثانیه درست کنم و بریزم داخل یک متغییر و رو lcd نشون بدم ؟؟
                  دوستان کسی برنامه این کار رو میتونه بهم بده ؟؟
                  با تشکر
                  با چه زبانی کار میکنید؟

                  دیدگاه


                    #10
                    پاسخ : کمک برای ساخت تایمر ( کرنومتر )

                    نوشته اصلی توسط hossein.m98 نمایش پست ها
                    با چه زبانی کار میکنید؟
                    سلام
                    بسکام
                    بازم خدا رو شکر ...

                    دیدگاه


                      #11
                      پاسخ : کمک برای ساخت تایمر ( کرنومتر )

                      نوشته اصلی توسط mosi_reali نمایش پست ها
                      سلام
                      بسکام
                      خوب متاسفانه از من کاری بر نمیاد

                      دیدگاه


                        #12
                        پاسخ : کمک برای ساخت تایمر ( کرنومتر )

                        دوستانی که بسکام بلد هستن لطفا کمک کنن.
                        بازم خدا رو شکر ...

                        دیدگاه


                          #13
                          پاسخ : کمک برای ساخت تایمر ( کرنومتر )

                          نوشته اصلی توسط mosi_reali نمایش پست ها
                          دوستانی که بسکام بلد هستن لطفا کمک کنن.
                          سلام دوست عزیز، ایک لینگ رو مشاهده کنید ( لینک )
                          توی کانال یوتیوب من قراراه طراحی انواع بردهای الکترونیکی مثل بردهای تک لایه، دو لایه یا به طور کلی بردهای چند لایه، بردهای مبتنی بر میکروکنترلر، بردهای صنعتی، بردهای الکترونیک قدرت و بردهای فرکانس بالارو یاد بگیریم.
                          همینطور کدنویسی انواع میکروکنترلرهای 8 بینی مثل میکروکنترلرهای خانواده AVR-STM8، میکروکنترلرهای میبتی بر معماری ARM مثل STM32 و پردازنده های مخصوص اینترنت اشیاء مثل ESP32-ESP8266 و DSPها یاد میگیریم.
                          https://www.youtube.com/@aKaReZa75​

                          دیدگاه


                            #14
                            پاسخ : کمک برای ساخت تایمر ( کرنومتر )

                            بهتره از ال سی دی کارکتری استفاده کنید سون سگمنت درایورش برای شماخیلی مشکل تر میشه.چون آماتور هستید عرض کردم.یا ابتدا با ال سی دی زمان تون و بسازید بعد برید سراغ سون سگمنت.
                            واسه ساختن زمان یک ثانیه هم راه های زیادی وجود داره.یکی زا راه هاش استفاده از تایمر میکرو کنترلر هست.فرضا شما می خواهید.تایمر صفر میکرو رو راه بندازید.د رابتدا باید:
                            کد HTML:
                             enable interrupts
                             config timer0=timer,prescale=256
                             enable timer0
                             on ovf0 lable
                             start timer0
                            در قطعه کد بالا فقط کانفیگ تایمر صفر برا ی حالت تایمر با پرسکالر 256وو گذاشتم.این به چه معناست؟ببین فرض کنید شما یه کریستال دارید که تو هر ثانیه 12مگاهرتز نوسان می کنه(یه چیزی تو همین مایه ها).
                            چون پرسکالر 256 گرفتیم به این معنی است که به ازای هر256پالس کریستال ، یک دونه به رجیسترشمارشگرمیکرو افزوده میشه. رجیستر شمارنده تایمر صفر باید 256 پالس بهش برسه تا به قول دیتاشیت پر بشه و مثل لیوان اب سرریز کنه.بنابراین هر بار که تایمر سرریز می کنه :
                            256*256=65536
                            65536*183=11993088
                            ضرب و تقسیم ها ی بالا در واقع میگه که اگه از هر256 تا پالس کریستال یک پالس به تایمر صفر تاثیر بذاره.در این حالت باید 65536پالس کریستال بگذره تا تایمر هر سری سرریز بشه.
                            با این شرایط در قطعه کد پایین (وقفه تایمر)تعیین کردیم که هر سری که تایمر سرریز کرد وقفه اتفاق بیفته.در این حالت میکرو کارش و رها می کنه و میره برنامه داخل وقف رو اجرا یمکنه.تو وقفه هم گفتیم که یک واحد به مقدار ssاضافه کن.
                            بعدش شرط کردیم که با گذشت 183وقفه زمان یک ثانیه رخ میده.
                            کد HTML:
                            lable:
                            incr ss:
                            if ss=183 then :incr sec:ss=0:end if
                            return
                            جدیدترین ویرایش توسط Namvar14; ۱۱:۲۷ ۱۳۹۹/۰۵/۱۶.
                            eshop-hodhod.ir

                            دیدگاه


                              #15
                              پاسخ : کمک برای ساخت تایمر ( کرنومتر )

                              نوشته اصلی توسط Namvar14 نمایش پست ها
                              بهتره از ال سی دی کارکتری استفاده کنید سون سگمنت درایورش برای شماخیلی مشکل تر میشه.چون آماتور هستید عرض کردم.یا ابتدا با ال سی دی زمان تون و بسازید بعد برید سراغ سون سگمنت.
                              واسه ساختن زمان یک ثانیه هم راه های زیادی وجود داره.یکی زا راه هاش استفاده از تایمر میکرو کنترلر هست.فرضا شما می خواهید.تایمر صفر میکرو رو راه بندازید.د رابتدا باید:
                              کد HTML:
                               enable interrupts
                               config timer0=timer,prescale=256
                               enable timer0
                               on ovf0 lable
                               start timer0
                              در قطعه کد بالا فقط کانفیگ تایمر صفر برا ی حالت تایمر با پرسکالر 256وو گذاشتم.این به چه معناست؟ببین فرض کنید شما یه کریستال دارید که تو هر ثانیه 12مگاهرتز نوسان می کنه(یه چیزی تو همین مایه ها).
                              چون پرسکالر 256 گرفتیم به این معنی است که به ازای هر256پالس کریستال ، یک دونه به رجیسترشمارشگرمیکرو افزوده میشه. رجیستر شمارنده تایمر صفر باید 256 پالس بهش برسه تا به قول دیتاشیت پر بشه و مثل لیوان اب سرریز کنه.بنابراین هر بار که تایمر سرریز می کنه :
                              256*256=65536
                              65536*183=11993088
                              ضرب و تقسیم ها ی بالا در واقع میگه که اگه از هر256 تا پالس کریستال یک پالس به تایمر صفر تاثیر بذاره.در این حالت باید 65536پالس کریستال بگذره تا تایمر هر سری سرریز بشه.
                              با این شرایط در قطعه کد پایین (وقفه تایمر)تعیین کردیم که هر سری که تایمر سرریز کرد وقفه اتفاق بیفته.در این حالت میکرو کارش و رها می کنه و میره برنامه داخل وقف رو اجرا یمکنه.تو وقفه هم گفتیم که یک واحد به مقدار ssاضافه کن.
                              بعدش شرط کردیم که با گذشت 183وقفه زمان یک ثانیه رخ میده.
                              کد HTML:
                              lable:
                              incr ss:
                              if ss=183 then :incr sec:ss=0:end if
                              return
                              نوشته اصلی توسط akaReza نمایش پست ها
                              سلام دوست عزیز، ایک لینگ رو مشاهده کنید (
                              نوشته اصلی توسط akaReza نمایش پست ها
                              خیلی ممنون از کمک هاتون
                              اگه بازم کمک خواستم
                              لطفا کمکم کنید
                              بازم ممنونم
                              بازم خدا رو شکر ...

                              دیدگاه

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