اطلاعیه

Collapse
No announcement yet.

ایجاد PWM روی شیفت رجیستر 74hc595

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

    ایجاد PWM روی شیفت رجیستر 74hc595

    سلام به همه دوستان
    من میخوام روی شیفت رجیستر PWM ایجاد کنم ترجیها 74hc595 باشه
    ولی متاسفانه هیچ الگوریتمی به ذهنم نمیرسه برای اینکار :sad: :sad: :sad: :sad: :sad: :sad:
    از دوستان اگر کسی در این زمینه اطلاعات داره لطفا راهنمایی کنه
    ممنونم
    قومي متفکرند اندر ره دين
    قومي بگمان فتاده در راه يقين
    ميترسم از آن که بانگ آيد روزي
    که اي بي خبران ، راه نه آن است و نه اين...!

    #2
    پاسخ : ایجاد PWM روی شیفت رجیستر 74hc595

    تست نزدم ولی 595 یه پایه داره که اگه تغییر وضعیت بده خروجی اون خاموش میشه و اگه 1 بشه دیتای قبلی که داخلش شیفت دادی روی پورت نمایش داده میشه
    اون پایه به یکی از پایه های خروجی PWM متصل کن البته فکر کنم وقتی خروجی ها خاموش میشند نه 1 هست نه 0 که شما باید با مقاومت puldown
    کنی اون پایه هارو

    دیدگاه


      #3
      پاسخ : ایجاد PWM روی شیفت رجیستر 74hc595

      نوشته اصلی توسط S S
      تست نزدم ولی 595 یه پایه داره که اگه تغییر وضعیت بده خروجی اون خاموش میشه و اگه 1 بشه دیتای قبلی که داخلش شیفت دادی روی پورت نمایش داده میشه
      اون پایه به یکی از پایه های خروجی PWM متصل کن البته فکر کنم وقتی خروجی ها خاموش میشند نه 1 هست نه 0 که شما باید با مقاومت puldown
      کنی اون پایه هارو
      پایه latch داره که با یک و صفر کردن اطلاعات رو روی خروجی قفل میکنه
      یه پایه OE هم داره که اکه زمین بشه اطلاعات روی خروجی نمایش میده
      قومي متفکرند اندر ره دين
      قومي بگمان فتاده در راه يقين
      ميترسم از آن که بانگ آيد روزي
      که اي بي خبران ، راه نه آن است و نه اين...!

      دیدگاه


        #4
        پاسخ : ایجاد PWM روی شیفت رجیستر 74hc595

        درسته یکی از این پایه هاست توی پروتئوس تست کن پایه 10 یا 13 آی سی هست
        فقط باید پایه های خروجی 595 با مقاومت 1 کیلو به زمین وصل کنی

        دیدگاه


          #5
          پاسخ : ایجاد PWM روی شیفت رجیستر 74hc595


          این ویدئو رو ببینید.http://www.aparat.com/v/eH6Jc


          من اینجوری متوجه شدم :
          یک کانال PWM بسازم - خروجیش رو بدم به پایه OE شیفت رجیستر
          بعد شروع کنم به رفرش کردن - یعنی از مقدار 0x01 تا مقدار 0x80 بیت به بیت ارسال بشه و در هر ارسال هم عرض پالس مناسب رو به برای اون کد به OE اعمال کنم.!


          درسته.؟
          قومي متفکرند اندر ره دين
          قومي بگمان فتاده در راه يقين
          ميترسم از آن که بانگ آيد روزي
          که اي بي خبران ، راه نه آن است و نه اين...!

          دیدگاه


            #6
            پاسخ : ایجاد PWM روی شیفت رجیستر 74hc595

            سلام
            وقت بخیر

            جناب دادگستر گرامی

            اگر نظرتون ایجاد pwm بر روی هر یک از خروجیهای 74595 باشد ، این روشی که فرمودید ، قابلیت اجرایی ندارد .

            با احترام
            94/9/4

            دیدگاه


              #7
              پاسخ : ایجاد PWM روی شیفت رجیستر 74hc595

              نوشته اصلی توسط امیر معیری
              سلام
              وقت بخیر

              جناب دادگستر گرامی

              اگر نظرتون ایجاد pwm بر روی هر یک از خروجیهای 74595 باشد ، این روشی که فرمودید ، قابلیت اجرایی ندارد .

              با احترام
              94/9/4
              سلام
              جناب معیری عزیز راه حل پیشنهادی هم دارید برای اینکار.؟

              تنها امید من همین روش بود
              قومي متفکرند اندر ره دين
              قومي بگمان فتاده در راه يقين
              ميترسم از آن که بانگ آيد روزي
              که اي بي خبران ، راه نه آن است و نه اين...!

              دیدگاه


                #8
                پاسخ : ایجاد PWM روی شیفت رجیستر 74hc595

                نوشته اصلی توسط هادی دادگستر
                سلام به همه دوستان
                من میخوام روی شیفت رجیستر PWM ایجاد کنم ترجیها 74hc595 باشه
                ولی متاسفانه هیچ الگوریتمی به ذهنم نمیرسه برای اینکار :sad: :sad: :sad: :sad: :sad: :sad:
                از دوستان اگر کسی در این زمینه اطلاعات داره لطفا راهنمایی کنه
                ممنونم
                سلام آقای دادگستر عزیز
                ظاهرا هنوز تو زمینه تابلو کار میکنین ، خیلی خوبه
                برای ایجاد سطح های مختلف روشنایی به نظر من اول تعداد گام ها رو مشخص کنید.مثلا 4 گام که در نهایت میشه 16 سطح روشنایی ایجاد کرد.
                برای نوشتن کدش هم فکر میکنم باید به ازای هر فریم چهار بار کل تابلو رو رفرش کنین.
                برای نتیجه بهتر اگه نرم افزار کلیه تبدیلات لازم رو انجام بده و یک دیتا خام آماده برای رفرش تابلو در اختیارتون قرار بده سرعت کارتون بیشتر میشه وگرنه یه بخشی از پردازش هاتون صرف این میشه که از روی کد رنگ وضعیت روشن یا خاموش بودن هر پیکسل رو داخل یک فریم تشخیص بدین بعدش عملیات رفرش رو انجام بدین
                امیدوارم تونسته باشم منظورم رو برسونم :rolleyes:

                دیدگاه


                  #9
                  پاسخ : ایجاد PWM روی شیفت رجیستر 74hc595


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

                  برای ملموس تر شدن قضیه ، یک مثال میزنم

                  حتما مستحضرید ، برای ایجاد یک پالس با دیوتی سایکل قابل تنظیم (pwm) این پروسه طی میشه .

                  - یک شمارنده بصورت پریودیک افزایش یا کاهش داده میشود .

                  - یک رجیستر با یک عدد ثابت مقدار دهی میشود

                  - با هر بار تغییر در شمارنده (افزایش یا کاهش شمارنده ) مقدار رجیستر با مقدار فعلی شمارنده مقایسه میشود

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

                  - و اگر مقدار رجیستر کوچکتر از مقدار شمارنده باشد...
                  خروجی منتسب به PWM در وضعیت 0 قرار میگیرد .

                  و شمارنده ، در پایان هر دوره از PWM ریست میشه .

                  بدین سان ، بطور مثال ، برای یک موج 25% pwm

                  اگر
                  مقدار شمارنده = 100
                  مقدار رجیستر = 25
                  باشد
                  با هر بار کاهش مقدار شمارنده
                  مقدار رجیستر با مقدار شمارنده مقایسه شده
                  و در صورتیکه مقدار شمارنده بزرگتر یا مساوی با 25 باشد ، وضعیت خروجی pwm مساوی با 1
                  و در غیر اینصورت (مقدار شمارنده کوچکتر از 25 شد) ، وضعیت خروجی pwm مساوی با 0 میشود


                  ان شاالله که تا اینجای موضوع ، خطایی در تحلیل بنده وجود نداشته باشد .

                  با احترام
                  94/9/4

                  دیدگاه


                    #10
                    پاسخ : ایجاد PWM روی شیفت رجیستر 74hc595

                    نوشته اصلی توسط shayanmelody
                    سلام آقای دادگستر عزیز
                    ظاهرا هنوز تو زمینه تابلو کار میکنین ، خیلی خوبه
                    برای ایجاد سطح های مختلف روشنایی به نظر من اول تعداد گام ها رو مشخص کنید.مثلا 4 گام که در نهایت میشه 16 سطح روشنایی ایجاد کرد.
                    برای نوشتن کدش هم فکر میکنم باید به ازای هر فریم چهار بار کل تابلو رو رفرش کنین.
                    برای نتیجه بهتر اگه نرم افزار کلیه تبدیلات لازم رو انجام بده و یک دیتا خام آماده برای رفرش تابلو در اختیارتون قرار بده سرعت کارتون بیشتر میشه وگرنه یه بخشی از پردازش هاتون صرف این میشه که از روی کد رنگ وضعیت روشن یا خاموش بودن هر پیکسل رو داخل یک فریم تشخیص بدین بعدش عملیات رفرش رو انجام بدین
                    امیدوارم تونسته باشم منظورم رو برسونم :rolleyes:
                    سلام
                    شایان جان
                    در مورد تابلو روان کم و بیش نه - دیگه مثل قبل جدی روش کار نمیکنم
                    ممنونم از توضیحاتت ولی جواب سوال من نبود - چون من تابلویی ندارم که بخوام روش رفرش بزنم
                    فقط میخوام یه الگوریتمی یاد بگیرم که بتونم PWM روی شیفت رچیستر پیاده کنم :arrow:
                    مرسی که وقت گذاشتی

                    قومي متفکرند اندر ره دين
                    قومي بگمان فتاده در راه يقين
                    ميترسم از آن که بانگ آيد روزي
                    که اي بي خبران ، راه نه آن است و نه اين...!

                    دیدگاه


                      #11
                      پاسخ : ایجاد PWM روی شیفت رجیستر 74hc595

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

                      برای ملموس تر شدن قضیه ، یک مثال میزنم

                      حتما مستحضرید ، برای ایجاد یک پالس با دیوتی سایکل قابل تنظیم (pwm) این پروسه طی میشه .

                      - یک شمارنده بصورت پریودیک افزایش یا کاهش داده میشود .

                      - یک رجیستر با یک عدد ثابت مقدار دهی میشود

                      - با هر بار تغییر در شمارنده (افزایش یا کاهش شمارنده ) مقدار رجیستر با مقدار فعلی شمارنده مقایسه میشود

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

                      - و اگر مقدار رجیستر کوچکتر از مقدار شمارنده باشد...
                      خروجی منتسب به PWM در وضعیت 0 قرار میگیرد .

                      و شمارنده ، در پایان هر دوره از PWM ریست میشه .

                      بدین سان ، بطور مثال ، برای یک موج 25% pwm

                      اگر
                      مقدار شمارنده = 100
                      مقدار رجیستر = 25
                      باشد
                      با هر بار کاهش مقدار شمارنده
                      مقدار رجیستر با مقدار شمارنده مقایسه شده
                      و در صورتیکه مقدار شمارنده بزرگتر یا مساوی با 25 باشد ، وضعیت خروجی pwm مساوی با 1
                      و در غیر اینصورت (مقدار شمارنده کوچکتر از 25 شد) ، وضعیت خروجی pwm مساوی با 0 میشود


                      ان شاالله که تا اینجای موضوع ، خطایی در تحلیل بنده وجود نداشته باشد .

                      با احترام
                      94/9/4
                      تمامی توضیحات شما بطور کامل درک شد
                      من از همین روش که فرمودید 16 کانال PWM بر روی میکرو ایجاد کردم

                      هدف شما اینه که من همین روش رو روی شیف رجیستر بسط بدم.؟


                      قومي متفکرند اندر ره دين
                      قومي بگمان فتاده در راه يقين
                      ميترسم از آن که بانگ آيد روزي
                      که اي بي خبران ، راه نه آن است و نه اين...!

                      دیدگاه


                        #12
                        پاسخ : ایجاد PWM روی شیفت رجیستر 74hc595


                        سلام
                        وقت بخیر
                        نوشته اصلی توسط هادی دادگستر
                        تمامی توضیحات شما بطور کامل درک شد
                        من از همین روش که فرمودید 16 کانال PWM بر روی میکرو ایجاد کردم

                        هدف شما اینه که من همین روش رو روی شیف رجیستر بسط بدم.؟
                        جناب دادگستر گرامی

                        بله ، دقیقا

                        در حالت معمول ، برای فرستادن 8 بیت دیتا روی 74595 ، این پروسه اجرا میشه :
                        (فرض میکنیم چیپ 74595 ریست شده و پین OE فعال هست )

                        - دیتا روی پین 14
                        - ست کلاک (پین 11)
                        - ریست کلاک (پین 11)
                        * تکرار 8 بار موارد فوق ، برای قرار گرفتن 8 بیت دیتا در داخل چیپ

                        - ست پین لچ (پایه 12)
                        - ریست پایه لچ (پایه 12)
                        * برای ثبت 8 بیت دیتا در داخل چیپ

                        در حالت SHIFT PWM پروسه به اینصورته : (فرض میکنیم که 8 خروجی PWM نیاز داریم )
                        - یک رجیستر در داخل میکرو تعریف میشه (برای وضعیت 8 خروجی PWM)

                        - با هر بار مقایسه شمارنده با رجیستر های PWM (که در مثال پست قبلی ذکر شد) ، وضعیت خروجیهای PWM در رجیستر PWM ذخیره شده

                        - و سپس محتویات این رجیستر ، به داخل چیپ 74595 با روش مرسوم (که در بالا شرح داده شد) انتقال داده میشه ، به همین سادگی و خوشمزگی ......

                        نکته کار در این است که با هر بار مقایسه (مقایسه شمارنده با تک تک بیتها ) ، باید یک بار اطلاعات ورودی به 74595 ریفرش گردد (اطلاعات تازه بعد از مقایسه بجای اطلاعات قدیمی قبل از مقایسه )

                        با احترام
                        94/9/4

                        دیدگاه


                          #13
                          پاسخ : ایجاد PWM روی شیفت رجیستر 74hc595

                          یه چیزایی متوجه شدم
                          سوال : اگر 10 تا شیفت رجیستر داشته باشیم ---> میشه 80 تا خروجی
                          اونوقت باید 80 متغیر PWM تعریف کنیم.؟
                          قومي متفکرند اندر ره دين
                          قومي بگمان فتاده در راه يقين
                          ميترسم از آن که بانگ آيد روزي
                          که اي بي خبران ، راه نه آن است و نه اين...!

                          دیدگاه


                            #14
                            پاسخ : ایجاد PWM روی شیفت رجیستر 74hc595

                            سلام
                            وقت بخیر
                            نوشته اصلی توسط هادی دادگستر
                            تمامی توضیحات شما بطور کامل درک شد
                            من از همین روش که فرمودید 16 کانال PWM بر روی میکرو ایجاد کردم
                            هدف شما اینه که من همین روش رو روی شیف رجیستر بسط بدم.؟
                            نوشته اصلی توسط هادی دادگستر
                            یه چیزایی متوجه شدم
                            سوال : اگر 10 تا شیفت رجیستر داشته باشیم ---> میشه 80 تا خروجی
                            اونوقت باید 80 متغیر PWM تعریف کنیم.؟
                            جناب دادگستر گرامی
                            بله ، دقیقا

                            فرمودید ، با روش مرسوم ، 16 کانال PWM روی میکرو ایجاد فرمودید .

                            یعنی 16 پین میکرو برای PWM تعریف شده و نتیجه مقایسه 16 رجیستر با شمارنده مشترک ، در نهایت باعث تغییر وضعیت این 16 پین میشود .

                            حالا این پینها (10 رجیستر = 80 بیت = 80 کانال pwm) را باید بصورت بیت ، در 10 رجیستر ، داخل میکرو تعریف و همان عملیات مقایسه و تغییر وضعیت را بر روی آنها (تک تک بیتها) انجام داده و در پایان پروسه " هر مقایسه (80 مقایسه)" ، تمامی این 10 رجیستر را بروش مرسوم به 10 عدد 74595 بفرستید .

                            نمونه فلوچارت S_PWM هشت بیتی :
                            http://s6.picofile.com/file/8224830526/S_PWM.docx.html

                            شماتیک SHIFT PWM برای 8 ال ای دی آر جی بی :


                            با احترام
                            94/9/5

                            دیدگاه


                              #15
                              پاسخ : ایجاد PWM روی شیفت رجیستر 74hc595

                              نوشته اصلی توسط امیر معیری
                              سلام
                              وقت بخیرجناب دادگستر گرامی
                              بله ، دقیقا

                              فرمودید ، با روش مرسوم ، 16 کانال PWM روی میکرو ایجاد فرمودید .

                              یعنی 16 پین میکرو ببرای PWM تعریف شده و نتیجه مقایسه 16 رجیستر با شمارنده مشترک ، در نهایت باعث تغییر وضعیت این 16 پین میشود .

                              حالا این پینها (10 رجیستر = 80 بیت = 80 کانال pwm) را باید بصورت بیت ، در 10 رجیستر ، داخل میکرو تعریف و همان عملیات مقایسه و تغییر وضعیت را بر روی آنها (تک تک بیتها) انجام داده و در پایان پروسه " هر مقایسه (80 مقایسه)" ، تمامی این 10 رجیستر را بروش مرسوم به 10 عدد 74595 بفرستید .

                              نمونه فلوچارت S_PWM هشت بیتی :
                              http://s6.picofile.com/file/8224830526/S_PWM.docx.html

                              شماتیک SHIFT PWM برای 8 ال ای دی آر جی بی :


                              با احترام
                              94/9/5
                              سلام
                              واقعا ممنونم
                              خیلی لطف کردین
                              من تست میگیرم نتیجه رو اعلام میکنم
                              قومي متفکرند اندر ره دين
                              قومي بگمان فتاده در راه يقين
                              ميترسم از آن که بانگ آيد روزي
                              که اي بي خبران ، راه نه آن است و نه اين...!

                              دیدگاه

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