اطلاعیه

Collapse
No announcement yet.

برنامه نویسی میکرو attint 13

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

    برنامه نویسی میکرو attint 13

    سلام.
    دوستان ی برنامه ای میخام که با میکرو attiny 13 اینجوری باشه.
    میخام یکی از خروجی ها تا مدت زمان 2ثانیه صفر تا صد دیوتی سایکل 100رو به اتمام برسونه.یعنی دیوتی از کمترین مقدار تا 2ثانیه که تمام شد دیوتی 100درصد شه.بعد قطع بشه.
    بعد یکی دیگه از پایه های خروجی بعد از 2ثانیه ی سیگنال دایم تولید کنه که ی رله رو بتونم روشن کنم.
    ی سیگنال ورودی adc هم بهش وارد میشه که با ورود سیگنال adc همه این فعالیتها شروع شده.
    ممنون میشم کسی کمک کنه.

    #2
    با سلام و احترام
    با این سوالتون منو یاد خاطرات قدیم انداختید. یادم میاد اون قدیما که جوون بودم و هنوز سایتها و انجمنهای ایرانی تو اینترنت راه نیفتاده بود تو یه انجمن خارجی یه موردی مشابه همین نوشتم که مثلا یه برنامه میخوام و کمکم کنید. یکی جواب داد منم یک مرسدس بنز میخوام!
    دوست عزیز شما باید اول سعی کنید خودتان مطالعات اولیه و شروع کار را انجام دهید، برنامه را بنویسید و بعد اگر در بخش مشخصی ایراد داشت و نیاز به کمک داشتید مطرح کنید.
    در حالت کلی درسته که هدف این نوع انجمنها کمک میباشد ولی نه به اینصورت که شما توضیحات مورد درخواست رو بنویسید و بعد انتظار برنامه داشته باشید. اگر چنین حالتی مورد نظرتان میباشد منطقا باید به سایتهای فریلنسری مراجعه نمایید.

    دیدگاه


      #3
      سلام خدمت دوست عزیز.
      حقیقتا نرم افزار بلد نیستم فقط سخت افزار و پروگرام کردن رو تونستم یاد بگیرم.رشتم قدرته.سخت افزار برد درست شده فقط مونده نرم افزار.
      حالا منم درخواست کردم اگه کسی بود کمک کنه ممنونش میشم نبودم که هیچ.

      دیدگاه


        #4
        سلام
        وقت بخیر
        نوشته اصلی توسط Mc2-1365 نمایش پست ها
        سلام.
        دوستان ی برنامه ای میخام که با میکرو attiny 13 اینجوری باشه.
        میخام یکی از خروجی ها تا مدت زمان 2ثانیه صفر تا صد دیوتی سایکل 100رو به اتمام برسونه.یعنی دیوتی از کمترین مقدار تا 2ثانیه که تمام شد دیوتی 100درصد شه.بعد قطع بشه.
        بعد یکی دیگه از پایه های خروجی بعد از 2ثانیه ی سیگنال دایم تولید کنه که ی رله رو بتونم روشن کنم.
        ی سیگنال ورودی adc هم بهش وارد میشه که با ورود سیگنال adc همه این فعالیتها شروع شده.
        ممنون میشم کسی کمک کنه.
        ...................
        حقیقتا نرم افزار بلد نیستم فقط سخت افزار و پروگرام کردن رو تونستم یاد بگیرم.رشتم قدرته.سخت افزار برد درست شده فقط مونده نرم افزار.
        حالا منم درخواست کردم اگه کسی بود کمک کنه ممنونش میشم نبودم که هیچ.​
        میتونید شماتیک سخت افزارتون رو جهت بررسی دوستان قرار بدید ؟

        03-01-26

        دیدگاه


          #5
          نوشته اصلی توسط Mc2-1365 نمایش پست ها
          سلام خدمت دوست عزیز.
          حقیقتا نرم افزار بلد نیستم فقط سخت افزار و پروگرام کردن رو تونستم یاد بگیرم.رشتم قدرته.سخت افزار برد درست شده فقط مونده نرم افزار.
          حالا منم درخواست کردم اگه کسی بود کمک کنه ممنونش میشم نبودم که هیچ.
          با سلام و درود،
          در مواردی که در پست اول گفتید ابهاماتی وجود داره.
          برای مثال اینکه گفتید « همه فعالیت ها با ورود سیگنال ADC شروع بشه » یعنی ورودی شما آنالوگ و بین ۰ تا ۵ ولت هست و مثلا می‌خوایید وقتی از حدی بالاتر رفت فعالیت ها شروع بشن، یا اینکه وقتی ورودی مد نظر ۱ منطقی شد؟
          یا برای مثال فرکانس PWM چقدر باشه؟
          یا اینکه بعد از قطع ورودی مورد نظر ( یعنی ۰ شدن ) همچنان فعالیت ها ادامه پیدا کنن یا قطع و ۰ بشن؟
          آیا امکان شروع مجدد وجود داشته باشه؟
          مداری ساده و عملی برای صرفه جویی در مصرف برق خانه:
          https://www.eca.ir/forums/thread89900.html

          دیدگاه


            #6
            سلام.وقت بخیر.ممنون بابت حسن توجه شما.
            ورودی adc آنالوگه.
            قراره وقتی ورودی آنالوگ شروع شد پایه خروجی اول میکرو ی پالس pwm با فرکانس 500 هرتز رو توی ۲ثانیه تولید کنه(دیوتی از صفر تا 100درصد توی ۲ثانیه شروع و تموم بشه).بعد از دو ثانیه بلا فاصله پایه خروجی دوم میکرو ی پالس دایم برای راه اندازی ی رله تولید کنه.

            دیدگاه


              #7
              ولتاژ ورودی آنالوگ کاری بین 0تا 5ولته.یعنی وقتی adcبه این ولتاژ رسید میکرو شروع به کار کنه.
              ​​​​​​ مرحله دوم وقتی ورودی adc قطع شد (ولتاژ ۰شد) پایه دوم میکرو که رله رو تحریک میکرد قطع بشه و پایه اول میکرو که پالس pwmتولید میکرد حالا دیوتی رو از ۱۰۰در صد به صفر برسونه توی دو ثانیه .و فعالیت میکرو قطع بشه تا زمانی که دوباره مجدد ورودی adc (آنالوگ ولتاژ 0تا 5ولت برسه).

              دیدگاه


                #8
                نوشته اصلی توسط Mc2-1365 نمایش پست ها
                ولتاژ ورودی آنالوگ کاری بین 0تا 5ولته.یعنی وقتی adcبه این ولتاژ رسید میکرو شروع به کار کنه.
                ​​​​​​ مرحله دوم وقتی ورودی adc قطع شد (ولتاژ ۰شد) پایه دوم میکرو که رله رو تحریک میکرد قطع بشه و پایه اول میکرو که پالس pwmتولید میکرد حالا دیوتی رو از ۱۰۰در صد به صفر برسونه توی دو ثانیه .و فعالیت میکرو قطع بشه تا زمانی که دوباره مجدد ورودی adc (آنالوگ ولتاژ 0تا 5ولت برسه).
                سلام مجدد،
                این فایل HEX برنامه ای که لازم داشتید:
                دانلود کنید.


                روال کار به این صورت هست که پورت B0 ورودی مد نظر شما ( ADC ) هست که با 1 شدن اون فرایند ها آغاز میشه.
                اول PWM از 0 درصد طی 2 ثانیه میرسه به 100 درصد( PWM در پورت B1 تعریف شده )، بلافاصله بعد از 100 درصد شدن PWM ، خروجی پورت B2 وصل میشه.
                تا زمانی که ورودی B0 رو داشته باشیم.
                با قطع شدن ورودی B0 ، خروجی B2 قطع میشه و PWM که پورت B1 بود طی 2 ثانیه از 100 درصد به 0 درصد میرسه.

                ضمنا دقت کنید که پسوند .txt فایل دانلودی رو حذف کنید تا تبدیل به hex بشه.
                فیوزبیت کلاک میکروکنترلر هم روی 4.8 مگاهرتز تنظیم کنید.
                امیدوارم براتون مفید باشه.
                جدیدترین ویرایش توسط HS1386; ۱۸:۵۵ ۱۴۰۳/۰۲/۰۹.
                مداری ساده و عملی برای صرفه جویی در مصرف برق خانه:
                https://www.eca.ir/forums/thread89900.html

                دیدگاه


                  #9
                  نوشته اصلی توسط HS1386 نمایش پست ها

                  سلام مجدد،
                  این فایل HEX برنامه ای که لازم داشتید:
                  دانلود کنید.


                  روال کار به این صورت هست که پورت B0 ورودی مد نظر شما ( ADC ) هست که با 1 شدن اون فرایند ها آغاز میشه.
                  اول PWM از 0 درصد طی 2 ثانیه میرسه به 100 درصد( PWM در پورت B1 تعریف شده )، بلافاصله بعد از 100 درصد شدن PWM ، خروجی پورت B2 وصل میشه.
                  تا زمانی که ورودی B0 رو داشته باشیم.
                  با قطع شدن ورودی B0 ، خروجی B2 قطع میشه و PWM که پورت B1 بود طی 2 ثانیه از 100 درصد به 0 درصد میرسه.

                  ضمنا دقت کنید که پسوند .txt فایل دانلودی رو حذف کنید تا تبدیل به hex بشه.
                  فیوزبیت کلاک میکروکنترلر هم روی 4.8 مگاهرتز تنظیم کنید.
                  امیدوارم براتون مفید باشه.
                  خدا خیرت بده.دستت درد نکنه.واقعا لطف کردید

                  دیدگاه


                    #10
                    نوشته اصلی توسط Mc2-1365 نمایش پست ها

                    خدا خیرت بده.دستت درد نکنه.واقعا لطف کردید
                    در مورد پیامی که دادید و گفتید زمان صعود و نزول PWM زیاد هست:
                    اینکه گفتید زمان PWM زیاد هست ، بخاطر تنظیم اشتباه فیوزبیت هست.
                    فیوزبیت CKDIV8 رو غیر فعال کنید و مطمئن بشید که فیوزبیت فرکانس هم 4.8 مگاهرتز باشه.
                    در مورد ورودی فعال ساز هم فک نکنم مشکلی باشه.
                    وقتی ورودی سطح 5 ولت تشخیص بده باید عملیات شروع بشه و هر وقت هم 0 شد عملیات متوقف بشه.
                    مداری ساده و عملی برای صرفه جویی در مصرف برق خانه:
                    https://www.eca.ir/forums/thread89900.html

                    دیدگاه


                      #11
                      نوشته اصلی توسط HS1386 نمایش پست ها
                      در مورد پیامی که دادید و گفتید زمان صعود و نزول PWM زیاد هست:
                      اینکه گفتید زمان PWM زیاد هست ، بخاطر تنظیم اشتباه فیوزبیت هست.
                      فیوزبیت CKDIV8 رو غیر فعال کنید و مطمئن بشید که فیوزبیت فرکانس هم 4.8 مگاهرتز باشه.
                      در مورد ورودی فعال ساز هم فک نکنم مشکلی باشه.
                      وقتی ورودی سطح 5 ولت تشخیص بده باید عملیات شروع بشه و هر وقت هم 0 شد عملیات متوقف بشه.
                      سلام
                      فیوز بیت‌ها روی حالت دیفالته.من دست نزدم
                      واسه ورودی فعال ساز من اشتباه گفتم آنالوگ سطح ولتاژ داره.در واقع ی سیگنال عبور از صفره که سطح ولتاژش در حد صفره.میشه این رو به عنوان ورودی فعال ساز حساب کنیم؟

                      دیدگاه


                        #12
                        نوشته اصلی توسط Mc2-1365 نمایش پست ها

                        سلام
                        فیوز بیت‌ها روی حالت دیفالته.من دست نزدم
                        واسه ورودی فعال ساز من اشتباه گفتم آنالوگ سطح ولتاژ داره.در واقع ی سیگنال عبور از صفره که سطح ولتاژش در حد صفره.میشه این رو به عنوان ورودی فعال ساز حساب کنیم؟
                        خب در حالت کارخانه ای ، میکروکنترلر Attiny13 فیوزبیت CKDIV8 فرکانس رو تقسیم بر ۸ می‌کنه که برای بعضی برنامه ها( از جمله این مورد ) ایجاد مشکل می‌کنه.
                        و لازمه غیرفعال بشه.
                        اینطور که توضیح دادید بنظر سطح ولتاژ فعال ساز، در حد میلی ولت هست.
                        مبدل آنالوگ به دیجیتال میکروکنترلر tiny13 در واقع ۱۰ بیتی هست و می‌تونه در حالت عادی ولتاژ به کوچکی ۵
                        میلی ولت رو تشخیص بده.
                        ولی این هم در نظر داشته باشید در چنین ولتاژ کوچکی ، نویز ها بسیار تاثیر گذار هستن و امکان فعال شدن ناخواسته برنامه وجود داره.
                        ولی به هر حال اگه باز هم لازم دارید، میتونم برنامه رو ویرایش کنم.
                        مداری ساده و عملی برای صرفه جویی در مصرف برق خانه:
                        https://www.eca.ir/forums/thread89900.html

                        دیدگاه

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