اطلاعیه

Collapse
No announcement yet.

کنترل نور LED توسط پتانسیومتر دیجیتال و باقی مسائل مرتبط

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

    #16
    پاسخ : کنترل نور LED توسط پتانسیومتر دیجیتال و باقی مسائل مرتبط

    محمد جان مشکل برطرف شد! صبح هم همین مورد منو سر کار گذاشته بود. عرضم به حضور شما که من فقط LCD رو روی پورت D بستم و مشکل برطرف شد. قبلش که مشکل داشت روی C بود. غیر از LCD در مورد دیگری هم روی خروجی با پورت C مشکل داشتم! دلیلش چیه؟ دیگه تو پروتوس که نمیشه گفت یک پورتمون سوخته؟!

    دیدگاه


      #17
      پاسخ : کنترل نور LED توسط پتانسیومتر دیجیتال و باقی مسائل مرتبط

      با سلام
      از دوستا کسی می دونه کدوم نرم افزار این LCDهای توشیبا سریT6963Cرو ساپورت می کنه؟؟؟؟؟؟؟؟؟؟
      ممنون میشم

      دیدگاه


        #18
        پاسخ : کنترل نور LED توسط پتانسیومتر دیجیتال و باقی مسائل مرتبط

        سلام
        توی عمل معمولا به خاطر فعال بودن فیوز بیت JTAG پورت C رو نمی تونی به طور کامل به صورت I/O استفاده کنی،اما تو پروتئوس تا حالا همچین مشکلی نداشتم ،اما اگه برنامه و فایل پروتئوسی رو که ایراد داشته رو بذارید شاید بشه یه چیزهایی فهمید
        نوشته اصلی توسط رضا حاجی زاده
        با سلام
        از دوستا کسی می دونه کدوم نرم افزار این LCDهای توشیبا سریT6963Cرو ساپورت می کنه؟؟؟؟؟؟؟؟؟؟
        ممنون میشم
        :question:
        در دیر مغان آمد یارم قدحی در دست
        مست از می می خواران از نرگس مستش مست

        دیدگاه


          #19
          پاسخ : کنترل نور LED توسط پتانسیومتر دیجیتال و باقی مسائل مرتبط

          محمد جان تو CodeVision از چه دستوری برای تبدیل یک مقداری عددی از نوع char به رشته باید استفاده کرد؟ اون مقدار عددی با lcd_puts روی LCD نمایش داده میشه.

          دیدگاه


            #20
            پاسخ : کنترل نور LED توسط پتانسیومتر دیجیتال و باقی مسائل مرتبط

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

            دیدگاه


              #21
              پاسخ : کنترل نور LED توسط پتانسیومتر دیجیتال و باقی مسائل مرتبط

              سلام
              برای نوشتن روی lcd این کار ها رو بکنید:


              x متغیر حاوی عدد مورد نظر هست،که توی 5 کاراکتر روی lcd نمایش داده میشه،با توجه به استعداد شما در فرا گیری زیاد توضیح نمیدم اگه توضیح بیشتر لازم بود ،امر بفرمایید در خدمتم.
              در دیر مغان آمد یارم قدحی در دست
              مست از می می خواران از نرگس مستش مست

              دیدگاه


                #22
                پاسخ : کنترل نور LED توسط پتانسیومتر دیجیتال و باقی مسائل مرتبط

                ممنون از لطفت محمد جان. میتونید توضیحی در مورد چگونگی تولید pwm با atmega32 بدهید؟ از چه تایمری و به چه شکلی باید استفاده کنم؟ (ترجیحا با یک کد نمونه)
                و سوال دوم اینکه از تایمر چطور باید برای اندازه گیری گذشت زمان، مثلا بر حسب ثانیه یا دقیقه استفاده کنم؟

                دیدگاه


                  #23
                  پاسخ : کنترل نور LED توسط پتانسیومتر دیجیتال و باقی مسائل مرتبط

                  اول یک توضیح مختصر عرض کنم: قبلا میخواستم که ۴ تا کانال led رو با نورهای مختلف کنترل کنم. حالا ۶ تا کانال رو ولی با نور یکسان برای تمام کانالها میخوام کنترل کنم. بنابراین فقط نیاز به تولید یک pwm دارم ولی روی ۶ تا پین. که با شرایط مختلف هر پین میتونه خروجی داشته باشه و یا نداشته باشه! در ضمن همون کنترل ۸ بیتی برای من کافیه.
                  صفحه قبل یک مقاله در مورد نحوه ایجاد pwm گذاشته بودید. اونو مطالعه کردم. به اون شکلی که توضیح داده بودید، اون سیگنال فقط روی OC0 ایجاد میشه. چطوری میتونم این خروجی از نظر پین کنترل کنم که روی چی باشه و اینکه همانطور که عرض کردم همون سیگنال را در صورت نیاز روی پینهای دیگه هم داشته باشم؟ این سوال اول
                  سوال دوم اینکه فرکانس من باید چی باشه؟ برای اینکه چشمک زدن led ها به چشم نیاد. گذشته از اون همونطور که عرض کردم برای عکاسی میخوام استفاده کنم. اگر در بالاترین حالت سرعت شاتر دوربین رو 1/10000 (یک ده هزارم) ثانیه در نظر بگیریم، در اون صورت این فرکانس باید چی باشه که تو اون سرعت شاتر باز هم مشکلی نداشته باشیم؟
                  و یکی از همون سوالهای قبل که چطور از این تایمرها برای اندازه گیری گذشت زمان استفاده کنم؟ مثلا میخوام بعد از فشردن یک کلید تایمر تولید pwm روشن بشه و بعد از گذشت مدت زمان مشخصی خاموش بشه.

                  و یک سوال جانبی! در نرم افزار CodeVisionAVR بعد از ایجاد یک پروژه با CodeWizardAVR نمیشه مجدد با استفاده از همون Wizard تغییراتی در پروژه ایجاد شده اعمال کرد؟!

                  مجددا از لطف شما سپاسگزارم.

                  دیدگاه


                    #24
                    پاسخ : کنترل نور LED توسط پتانسیومتر دیجیتال و باقی مسائل مرتبط

                    سلام
                    شما میتونید از یه مالتی پلکسر استفاده کنید و برای عوض کردن خروجی کافیه آدرس رو عوض کنید
                    فکر می کنم باید فرکانس بیشتری ار فرکانس شاتر در نظر بگیرید،البته زیاد مشکلی نیست می تونید این فرکانس رو متغییر در نظر بگیرید و توی برنامه عوضش کنید تا بهترین حالت رو پیدا کنید
                    برای ساخت یه زمان مشخص برید به قسمت سیستم های کنترلی ----> کنترل موتور dc یه مقاله راجع به انکورد هست که توش زمان یه ثانیه رو ساختم
                    اصل قضیه به طور خلاصه اینه: تایمر با یه کلاکی که از تقسیم کلاک میکرو هست کار میکنه،فرض کنید کلاک میکرو روی 1 مگاهرتز بذاری،تایمر رو هم روی مقسم فرکانس رو هم روی 8 بذاریم کلاک تایمر میشه: 125000=8/1000000 پس تایمر توی 1 ثانیه 125000 میشمره ،برای تایمر 8 بیتی با این کلاک یعنی تقریبا 488 بار پر میشه،این جوری هر زمانی رو بخوای با کمک این زمان پایه میسازی(با تکرار)
                    . برای سوال آخر نمیشه،برای تغییرات می تونید مقادیر رجیسترها رو در محیط برنامه نویسی عوض کنید
                    ببخشید من خیلی سریع نوشتم،اگه اشکالی بود در خدمتم :rolleyes:
                    در دیر مغان آمد یارم قدحی در دست
                    مست از می می خواران از نرگس مستش مست

                    دیدگاه


                      #25
                      پاسخ : کنترل نور LED توسط پتانسیومتر دیجیتال و باقی مسائل مرتبط

                      ممنون محمد جان. بحث گذشت زمان رو متوجه شدم و فکر نکنم مشکلی باشه. ولی ظاهرا پروتوس دقیق عمل نمیکنه؟! درسته؟! مثلا طبق محاسبات اگر با 488 بار سرریز شدن تایمر در کلاک 125KHz باید یک ثانیه بگذره، تو پروتوس زمان بیشتری میبره؟ درسته؟ و در عمل نباید مشکلی باشه؟ در ضمن مهمه که از چه تایمری برای این مورد و از چه تایمری برای pwm استفاده کنم؟

                      اون قضیه مالتی پلکسر رو متوجه نشدم و عوض کردن آدرس برای خروجی. توی اون مقاله ای که برای کنترل دور موتور DC نوشتید، با کدویزارد یک سیگنال pwm تولید میکنیم. حالا من میخوام این سیگنال همزمان روی چند تا پایه تولید بشه. با چه کدی باید این کار رو انجام بدهم؟

                      دیدگاه


                        #26
                        پاسخ : کنترل نور LED توسط پتانسیومتر دیجیتال و باقی مسائل مرتبط

                        سلام
                        بله توی پروتیوس دقیق نیست،در عمل مشکلی ندارید، به شرطی که کلاک میکرو که در کامپایلر تعریف کردید با کلاک واقعی یکسان باشه
                        مهم نیست از چه تایمری استفاده می کنید،بستگی به کاربردتون داره،برای کار شما فکر می کنم،تایمر 8بیتی رو برایPWM و تایمر 16 بیتی رو برای زمان استفاده کنید بهتر باشه
                        به جای این که روی پایه های دیگه PWM بسازید خیلی راحت تر اینه که از یه دمالتی پلکسر خارجی استفاده کنید،این قطعه مثلا 8 تا پایه خروجی داره یه ورودی و 3 تا پایه آدرس به کمک این آدرسها می تونید ورودی رو به یکی از 8 تا خروجی وصل کنید:


                        http://en.wikipedia.org/wiki/7400_series
                        در دیر مغان آمد یارم قدحی در دست
                        مست از می می خواران از نرگس مستش مست

                        دیدگاه


                          #27
                          پاسخ : کنترل نور LED توسط پتانسیومتر دیجیتال و باقی مسائل مرتبط

                          محمد جان برای دمالتی پلکسر از چه قطعهآ‌ای تو پروتئوس استفاده کنم که تو بازار موجود باشه؟ همون حالت ۸ خروجی با آدرس ۳ بیتی عالیه. اگر نحوه اتصال پینهاش رو هم بگید ممنون میشم.

                          در مورد اون قضیه عکاسی با سرعت یک ده هزارم ثانیه، همونطور که فرمودید فرکانس رو باید 10KHz و یا بیشتر در نظر بگیریم. آیا عملا برای LED ها چنین چیزی امکان پذیر هست؟ ظاهرا یک زمان Rise Time و Fall Time برای LED ها هست که اگر فرکانس ما بالاتر از حدی نسبت به اون زمانها باشه، عملا هیچ تاثیری نداره و LED ها در هر حالتی با حداکثر نور خواهند بود؟! درسته؟ اگر اینطور هست، آیا اطلاعی در مورد مدت تقریبی Rise Time و Fall Time برای LED ها دارید؟ و اینکه نسبت به اون زمانها، حداکثر چه فرکانسی برای pwm با دقت ۸ بیت مناسب خواهد بود؟

                          دیدگاه


                            #28
                            پاسخ : کنترل نور LED توسط پتانسیومتر دیجیتال و باقی مسائل مرتبط

                            فرمودید که با دمالتی پلکسر میتونم ورودی رو به یکی از ۸ تا خروجی وصل کنم (و ظاهرا هم همینطوره، تو پروتئوس با 4051 تست کردم، اگر درست انتخاب کرده باشم)، ولی من عرض کرده بودم که همزمان به چندتا از خروجی ها باید وصل بشه و نه فقط یکی، با این وضعیت باید چه کنم؟

                            دیدگاه


                              #29
                              پاسخ : کنترل نور LED توسط پتانسیومتر دیجیتال و &#15

                              سلام
                              البته من گفتم فکر میکنم که باید فرکانس رو او مقدار در نظر بگیرید و گفتم که فرکانس رو تو برنامه متغییر در نظر بگیرید تا مقدار دلخواه رو پیدا کنید،این دقیقا به همین دلایلی که شما گفتید،من نمی دونستم شما اطلاعاتتون اینقدر خوبه چون گفته بودید که برق نمی خونید  و گر نه کامل توضیح میدادم
                              اون آی سی که شما انتخاب کردید مالتی پلکسر آنالوگ هست،اما کار شما رو برای اینکه تنها یه خروجی داشته باشید راه میندازه،من یه لینک زیر عکس بالا در همین رابطه براتون گذاشته بودم
                              اما برای اینکه همزمان چندتا خروجی داشته باشید فکر میکنم 74125 به دردتون بخوره،یه بافر هست،دیتاشیتشو ببینید


                              در دیر مغان آمد یارم قدحی در دست
                              مست از می می خواران از نرگس مستش مست

                              دیدگاه


                                #30
                                پاسخ : کنترل نور LED توسط پتانسیومتر دیجیتال و باقی مسائل مرتبط

                                سلام
                                با وجود اینترنت و عزیزانی مثل شما، نیازی نیست که حتما در یک رشته خاص تخصص داشته باشیم. دریایی از اطلاعات نوک انگشتان ماست!

                                بگذریم. آیا اطلاعی در مورد مدت Rise Timeآ‌ و Fall Time برای LED ها دارید؟ چون من چیزی پیدا نکردم. دیتاشیت چندتا LED رو هم دیدم ولی چیزی نداشت! به هر حال اگر پیدا نشه عملا آزمایش میکنم.

                                اون 74125 که فرمودید، شماتیکش تو پروتئوس فقط سه تا پین داره! چطور باید ازش استفاده کرد؟

                                و یک مورد عجیب دیگه که برام پیش اومده: تا اینجا همه چی خوب پیش رفته. یک کیبورد 24 کلیدی وصل کردم. یک LCD وصل کردم(حتی کاراکترهای خاص مورد نیازم رو هم تعریف کردم). و تمامی قسمتهای انتخاب دسته های لامپها، نور و زمان رو نوشتم. تو EEPROM هم به راحتی ذخیره و بازیابی میکنم. تا اینجا هیچ مشکلی نبود. حالا نمیدونم برنامه در چه وضعیتی است که به محض افزودن یک متغیر گلوبال از نوع int یا همون متغیر به صورت استاتیک در Interrupt تایمر ۰ و یا حتی غیر استاتیک، به شکل عجیبی برنامه از نظمش خارج میشه! کیبورد درست کار نمیکنه! روی LCD همه چیز نامرتب نمایش داده میشه و ... . مشکل چیه؟ احیانا مرتبط با کمبود حافظه است!؟ من فقط یک متغیر گلوبال از نوع bit تعریف کردم. احیانا چه نکاتی رو برای مدیریت حافظه باید رعایت کنم؟

                                دیدگاه

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