اطلاعیه

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 چقدر باشه؟
          یا اینکه بعد از قطع ورودی مورد نظر ( یعنی ۰ شدن ) همچنان فعالیت ها ادامه پیدا کنن یا قطع و ۰ بشن؟
          آیا امکان شروع مجدد وجود داشته باشه؟

          دیدگاه


            #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; ۱۸:۵۵ ۱۴۰۳/۰۲/۰۹.

                دیدگاه


                  #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 شد عملیات متوقف بشه.

                    دیدگاه


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

                      دیدگاه


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

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

                        دیدگاه


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

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

                          دیدگاه


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

                            سلام مجدد.
                            با عرض معذرت مهندس.
                            درگیر ساخت برد بود.بلاخره موفق شدم با زحمت به شما اوکی شد.فقط ی مشکل هست .
                            اونم اینه که من بجای لود یک لامپ نصب کردم.از صفزچر تا صد پروسه نور لامپ به صورت ضربانی از صفر تا صد وباالعکس خاموش و روشن میشه.
                            سخت افزاری چندین بار چک شده.
                            لازمه بگم پالس روی گیت تریاک می‌ره.
                            لطفا اگه اطلاعاتی در مورد این مشکل دارید بگید.
                            با سلام مجدد،
                            خروجی PWM رو به گیت ترایاک وصل کردید و خروجی ترایاک هم به لامپ؟
                            احتمالا ورودی ترایاک هم AC باشه.
                            مشکل شما این هست که فرمان گیت ترایاک با مقدار ولتاژ AC در لحظه هماهنگ نیست.
                            که این یعنی باید در سخت افزار و حتی احتمالا در نرم افزار تغییر ایجاد بشه.
                            اول بین میکروکنترلر و ترایاک، یه اپتوترایاک مثل MOC3063 اضافه کنید که با تشخیص عبور از صفر مشکلتون احتمالا حل بشه.

                            دیدگاه


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

                              با سلام مجدد،
                              خروجی PWM رو به گیت ترایاک وصل کردید و خروجی ترایاک هم به لامپ؟
                              احتمالا ورودی ترایاک هم AC باشه.
                              مشکل شما این هست که فرمان گیت ترایاک با مقدار ولتاژ AC در لحظه هماهنگ نیست.
                              که این یعنی باید در سخت افزار و حتی احتمالا در نرم افزار تغییر ایجاد بشه.
                              اول بین میکروکنترلر و ترایاک، یه اپتوترایاک مثل MOC3063 اضافه کنید که با تشخیص عبور از صفر مشکلتون احتمالا حل بشه.
                              سلام.
                              سختم افزار ی بخش عبور از صفر داره.که وقتی اوکی شد فرمان رو به ورودی میکرو میده.میکرو هم فرمان pwmرو به ی اپتو ترایاک moc3034 و خروجی اپتو به ترایاک میرسه.
                              به نظرتون چون خود مدار ی بخش عبور از صفر داره و خود اپتو ترایاک هم عبور از صفر داره با هم همخونی نداره؟

                              دیدگاه

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