اطلاعیه

Collapse
No announcement yet.

چند سوال مبتدی در رابطه با AVR

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

    #16
    پاسخ : چند سوال مبتدی در رابطه با AVR

    نوشته اصلی توسط mohsenmax70
    فدات شم به سوالم دقت کن :bye نوشتم تو پروتووس جواب گرفتی یعنی اونجا کدهای برنامت درست کار میکنن یا نه :question:
    سلام نه اونجام جواب نگرفتم. ولی بدون ترانزیستور عملی جواب گرفتم. ولی وقتی ترانزیستور واسه تقویت جریان میذارم جواب نمیگیرم.

    دیدگاه


      #17
      پاسخ : چند سوال مبتدی در رابطه با AVR

      یعنی این که مشکل از ترانزیستور هاست!!؟!!
      ببین روی چه پایه ای مشترک (بیس و کلکتور و امیتر) می کنی و یا نوع ترانزیستور (NPN , PNP) مهمه.
      همچنین سون_سگمنت تو کاتد مشترکه یا آند مشترک؟
      *همه ی این مسائل سخت افزاریه و برنامت درسته.*
      هر سوزنی که برای غیر خدا زدم به دستم فرو رفت (شیخ رجبعلی خیاط)

      دیدگاه


        #18
        پاسخ : چند سوال مبتدی در رابطه با AVR

        نوشته اصلی توسط sadeghmohebbi
        ممنون از این که کمک کردی.
        با این که فرمولی برای محاسبه ی dutyctcle توش نبود ولی در واقع خیلی سادس و با یک سری مفاهیم فیزیکی (روابط فرکانس و زمان) به دست میاد...
        خوشحالم تونستم کمکی کنم برای اطلاعات تکمیلی حتما اینجارو ببینین :
        http://www.eca.ir/forum2/index.php?topic=51858.0
        mer30

        دیدگاه


          #19
          پاسخ : چند سوال مبتدی در رابطه با AVR

          نوشته اصلی توسط sadeghmohebbi
          ....
          - برای تنظیم کلاک سیستم و کلاکی که برای timer استفاده می شه (I/O) باید چی کار کرد؟ (مثلا 4 مگاهرتز)
          ....
          سلامی دوباره
          ببخشید که موضوع رو دارم منحرف می کنم ولی من اون اول یه سوال پرسیدم ولی جوابشو پیدا نکردم! :eek:
          برای تنظیم فرکانس کلاک سیستم و همچنین کلاک I/O حتما باید از کدویزارد (توی کدویژن) استفاده کرد؟
          آخه با این که کلاک رو اونجا تنظیم می کنم ولی راه دیگه ای وجود نداره مثلا اگه کدنویسی باشه حتی اسمبلی و ...
          چون فکر نکنم زیاد مطمئن باشه.
          از کریستال هم می دونم می شه استفاده کرد ولی تا زمانی که نیازی به اون نیست برای چی الکی کریستال بذاریم؟


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

          دیدگاه


            #20
            پاسخ : چند سوال مبتدی در رابطه با AVR

            نوشته اصلی توسط sadeghmohebbi
            سلامی دوباره
            ببخشید که موضوع رو دارم منحرف می کنم ولی من اون اول یه سوال پرسیدم ولی جوابشو پیدا نکردم! :eek:
            برای تنظیم فرکانس کلاک سیستم و همچنین کلاک I/O حتما باید از کدویزارد (توی کدویژن) استفاده کرد؟
            آخه با این که کلاک رو اونجا تنظیم می کنم ولی راه دیگه ای وجود نداره مثلا اگه کدنویسی باشه حتی اسمبلی و ...
            چون فکر نکنم زیاد مطمئن باشه.
            از کریستال هم می دونم می شه استفاده کرد ولی تا زمانی که نیازی به اون نیست برای چی الکی کریستال بذاریم؟
            برای تنظیم کلاک کل سیستم که حتما لازم نیست بری تو کدویزارد میتونی با تنظیم فیوزبیتهای میکرو منبع کلاک کل سیستمو بدی تنظیم کنی که من فایل آموزشی بصورت PDF تو پستهای قبلی قرار دادم که توش کامل در موردش گفته در ضمن تو دیتاشیت میکرو هم کاملتر توضیح داده.
            حقیقتش منظورتو از کلاک ورودی و خورجی متوجه نشدم. مثلا برای تنظیم کلاک تایمر یا همون فرکانس تایمر فقط کافیه رجیسترهای مربوطه رو تنظیم کنی یا تو کدویزارد همونجا prescaler رو روی کلاکی که میخوای ببری.
            و در مورد کریستال معمولا ازش استفاده میکنن چون کریستال داخلی میکرو خیلی دقیق نیست. :applause: :applause:
            mer30

            دیدگاه


              #21
              پاسخ : چند سوال مبتدی در رابطه با AVR

              نوشته اصلی توسط mohsenmax70
              برای تنظیم کلاک کل سیستم که حتما لازم نیست بری تو کدویزارد میتونی با تنظیم فیوزبیتهای میکرو منبع کلاک کل سیستمو بدی تنظیم کنی که من فایل آموزشی بصورت PDF تو پستهای قبلی قرار دادم که توش کامل در موردش گفته در ضمن تو دیتاشیت میکرو هم کاملتر توضیح داده.
              حقیقتش منظورتو از کلاک ورودی و خورجی متوجه نشدم. مثلا برای تنظیم کلاک تایمر یا همون فرکانس تایمر فقط کافیه رجیسترهای مربوطه رو تنظیم کنی یا تو کدویزارد همونجا prescaler رو روی کلاکی که میخوای ببری.
              و در مورد کریستال معمولا ازش استفاده میکنن چون کریستال داخلی میکرو خیلی دقیق نیست. :applause: :applause:
              - یعنی شما می گین که prescaler همون فرکانس کلاک تایمره؟؟بازم که توی کد ویزارد شد که؟؟
              - شما پیشنهادتون اینه که از کریستال استفاده کنیم بهتره؟؟ (نحوه ی تنظیم فیوزبیت ها رو می دونم :biggrin
              - داخل دیتاشیت هم توی اون فرمولش (تنظیم فرکانس) از عبارت Fclk I/O استفاده کرده که این کلاک در واقع تقسیم شده ی همون کلاک سیستمه ... توی دیتاشیت هم نمای کلی اون هست... مثلا از همون کلاک سیستم برای کلاک ADC و ... هم تقسیم بندی جداگانه ای داره.
              هر سوزنی که برای غیر خدا زدم به دستم فرو رفت (شیخ رجبعلی خیاط)

              دیدگاه


                #22
                پاسخ : چند سوال مبتدی در رابطه با AVR

                نوشته اصلی توسط sadeghmohebbi
                یعنی این که مشکل از ترانزیستور هاست!!؟!!
                ببین روی چه پایه ای مشترک (بیس و کلکتور و امیتر) می کنی و یا نوع ترانزیستور (NPN , PNP) مهمه.
                همچنین سون_سگمنت تو کاتد مشترکه یا آند مشترک؟
                *همه ی این مسائل سخت افزاریه و برنامت درسته.*
                سلام
                7سگمنتام اند مشترکن. ترانزیستورا pnp هستن. امیتر مشترک بایاس شدن.
                امیتر به 5v کلکتورم به پایه مشترک 7سگمنت. بیس هم با یه مقاومت 2.2k با میکرو کنترل میشه.
                میکرو 0 بده روشن میشه. 5 بده خاموش میشه.
                فک کنم مشکل اینجا باشه که اگه میکرو 4 یا 3 ولت بده که بازم یک منطقی حساب میشه. ترانزیستور روشن میشه.!!!!!!!!!!!!!!!!!!!!!!!
                به نظرتون مشکل همینجاس ؟؟؟؟؟؟؟؟؟؟؟؟
                باید با pnp و اند مشترک چه جوری ببندم که با یک منطقی روشن بشه نه 0 منطقی???????????
                به نظرتون این مشکل به خاطره تقویت جریان زیاد نیست؟ که با افزایشه مقاومته بیس حل بشه؟

                دیدگاه


                  #23
                  پاسخ : چند سوال مبتدی در رابطه با AVR

                  نوشته اصلی توسط soso67

                  سلام
                  7سگمنتام اند مشترکن. ترانزیستورا pnp هستن. امیتر مشترک بایاس شدن.
                  امیتر به 5v کلکتورم به پایه مشترک 7سگمنت. بیس هم با یه مقاومت 2.2k با میکرو کنترل میشه.
                  میکرو 0 بده روشن میشه. 5 بده خاموش میشه.
                  فک کنم مشکل اینجا باشه که اگه میکرو 4 یا 3 ولت بده که بازم یک منطقی حساب میشه. ترانزیستور روشن میشه.!!!!!!!!!!!!!!!!!!!!!!!
                  به نظرتون مشکل همینجاس ؟؟؟؟؟؟؟؟؟؟؟؟
                  باید با pnp و اند مشترک چه جوری ببندم که با یک منطقی روشن بشه نه 0 منطقی???????????
                  به نظرتون این مشکل به خاطره تقویت جریان زیاد نیست؟ که با افزایشه مقاومته بیس حل بشه؟
                  درسته... :applause:
                  من رفتم بازم چک کردم و مداری که برای آند مشترک بسته می شه رو نگاه کردم و دیدم که اونو درست می بندین.
                  من هم مثل شما نظرم اینه که مشکل از مقادیر مقاومته و یا تقویت کنندگی ترانزیستور زیاده که هر کدوم برا خودشون فرمولی داره که راستش نمی دونم.
                  من پیشنهاد می کنم که از IC های مخصوص این کار استفاده کنی که خیلی مطمئن تر هستند و بعیده که جواب نگیری، 8447 برای کاتد مشترک و 7447 برای
                  آند مشترک هست.(توی شماره آی سی ها شک دارم ، خودت هم یه سرچی بکن)
                  هر سوزنی که برای غیر خدا زدم به دستم فرو رفت (شیخ رجبعلی خیاط)

                  دیدگاه


                    #24
                    پاسخ : چند سوال مبتدی در رابطه با AVR

                    من توی فرکانس کلاک خیلی ابهام دارم ولی آخرش به این نتیجه رسیدم که استفاده از کریستال خیلی بهتر و مطمئن تره.([glow=red,2,300]حل شد[/glow] :wow
                    ----------
                    نوشته اصلی توسط sadeghmohebbi
                    درسته... :applause:
                    من رفتم بازم چک کردم و مداری که برای آند مشترک بسته می شه رو نگاه کردم و دیدم که اونو درست می بندین.
                    من هم مثل شما نظرم اینه که مشکل از مقادیر مقاومته و یا تقویت کنندگی ترانزیستور زیاده که هر کدوم برا خودشون فرمولی داره که راستش نمی دونم.
                    من پیشنهاد می کنم که از IC های مخصوص این کار استفاده کنی که خیلی مطمئن تر هستند و بعیده که جواب نگیری، 8447 برای کاتد مشترک و 7447 برای
                    آند مشترک هست.(توی شماره آی سی ها شک دارم ، خودت هم یه سرچی بکن)
                    در این مورد راه های خیلی زیادی وجود داره و با کاربرد های مخصوص به خودش:
                    (ببخشید لینک می ذارم ولی اگه مشکلتون حل نشد من هم بیشتر از این دیگه بلد نیستم :agree
                    http://www.roboeq.ir/articles/detail/62/

                    یه مقاله هم در باره ی همین موضوع هست:
                    http://gselectronic.ir/228/
                    ببخشید که این چیزای خیلی آسون رو اینجا می ذارم ولی برای چک کردن بد نیست بعضی وقتا... :read:
                    هر سوزنی که برای غیر خدا زدم به دستم فرو رفت (شیخ رجبعلی خیاط)

                    دیدگاه


                      #25
                      پاسخ : چند سوال مبتدی در رابطه با AVR

                      نوشته اصلی توسط sadeghmohebbi
                      - یعنی شما می گین که prescaler همون فرکانس کلاک تایمره؟؟بازم که توی کد ویزارد شد که؟؟
                      - شما پیشنهادتون اینه که از کریستال استفاده کنیم بهتره؟؟ (نحوه ی تنظیم فیوزبیت ها رو می دونم :biggrin
                      - داخل دیتاشیت هم توی اون فرمولش (تنظیم فرکانس) از عبارت Fclk I/O استفاده کرده که این کلاک در واقع تقسیم شده ی همون کلاک سیستمه ... توی دیتاشیت هم نمای کلی اون هست... مثلا از همون کلاک سیستم برای کلاک ADC و ... هم تقسیم بندی جداگانه ای داره.
                      نه شما برای بدست آوردن فرکانس تایمر باید فرکانس کریستالو رو به شماره precale تقسیم کنی تا فرکانست بدست بیاد
                      اینجا در موردش بحث شده کامل:
                      http://www.eca.ir/forum2/index.php?topic=51858.0
                      mer30

                      دیدگاه


                        #26
                        پاسخ : چند سوال مبتدی در رابطه با AVR

                        سلام دوستان ممنون میشم راهنمایی کنید
                        برای این که برای تابلو ثابت بتونم 40 کانال(خروجی) pwm برای افکت fade (کم نور پر نور ) داشته باشم باید از چه میکرو یا میکروهایی استفاده کنم ایا مثلا در atmega8 میشه روی همه پایه های خروجی pwm رو اجرا کرد ؟

                        دیدگاه


                          #27
                          پاسخ : چند سوال مبتدی در رابطه با AVR

                          سلام :smile:
                          40 تا کانال pwm ??!!
                          فکر کنم با این روش نشدنی باشه ، حداقل با atmega8
                          راستش نمی دونم :redface: اساتید لطفا راهنمایی کنن.
                          هر سوزنی که برای غیر خدا زدم به دستم فرو رفت (شیخ رجبعلی خیاط)

                          دیدگاه


                            #28
                            پاسخ : چند سوال مبتدی در رابطه با AVR

                            نوشته اصلی توسط tester_t
                            سلام دوستان ممنون میشم راهنمایی کنید
                            برای این که برای تابلو ثابت بتونم 40 کانال(خروجی) pwm برای افکت fade (کم نور پر نور ) داشته باشم باید از چه میکرو یا میکروهایی استفاده کنم ایا مثلا در atmega8 میشه روی همه پایه های خروجی pwm رو اجرا کرد ؟
                            باید pwm رو بصورت نرم افزاری پیاده کنی
                            البته مگا8 حدودا 21-22 پایه قابل استفاده داره واسه 40 خروجی باید از لچ استفاده کنی

                            دیدگاه


                              #29
                              پاسخ : چند سوال مبتدی در رابطه با AVR

                              نوشته اصلی توسط tester_t
                              سلام دوستان ممنون میشم راهنمایی کنید
                              برای این که برای تابلو ثابت بتونم 40 کانال(خروجی) pwm برای افکت fade (کم نور پر نور ) داشته باشم باید از چه میکرو یا میکروهایی استفاده کنم ایا مثلا در atmega8 میشه روی همه پایه های خروجی pwm رو اجرا کرد ؟
                              40 کانال pwm چرا ؟
                              البته من هنوز درست متوجه نشدم با هر کانال میخوای چه کار کنی ولی اگه همونی که گفتی باشه میتونی از ترکیب L298 و L297 استفاده کنی که ورودیش به یه لچ متصله و البته برای دقیقتر شدن کار میتونی هر کانالو به یه ماسفت یا یه ترانزیستوری که تحمل جریان کارتو داشته باشه بدی و حالا برای راه اندازی فقط کافیه همزمان اون کانالی رو که میخوای pmw داشته باشه رو به ماسفتش فرمان بدی و البته فرمان به لچ . :applause:
                              mer30

                              دیدگاه


                                #30
                                پاسخ : چند سوال مبتدی در رابطه با AVR

                                مثل این که واضح نگفتم ، در واقع من میخوام برنامه زیر رو برای 20 پایه خروجی روی مگا 8 اجرا کنم ایا در عمل امکان پذیر هست ؟

                                $regfile = "M8DEF.DAT"
                                $crystal = 1000000

                                Config Portd = Output
                                Config Portb.0 = Output
                                Config Portb.1 = Output

                                Declare Sub Efct00
                                Declare Sub Initial_set
                                Declare Sub Initial_reset

                                Dim Rpt_cnt_00 As Byte , Rpt_cnt_01 As Byte , Rpt_cnt_02 As Byte
                                Dim Pwm_t_on As Byte , Pwm_t_of As Byte

                                Do
                                Call Efct00
                                Wait 1
                                Call Initial_reset
                                Loop

                                Sub Efct00:
                                Pwm_t_on = 1
                                Pwm_t_of = 99
                                For Rpt_cnt_00 = 1 To 100
                                For Rpt_cnt_01 = 0 To 5
                                Call Initial_set
                                For Rpt_cnt_02 = 0 To Pwm_t_on
                                Waitus 50
                                Next
                                Call Initial_reset
                                For Rpt_cnt_02 = 0 To Pwm_t_of
                                Waitus 50
                                Next
                                Next
                                Pwm_t_on = Pwm_t_on + 1
                                Pwm_t_of = Pwm_t_of - 1
                                Next
                                Call Initial_set
                                End Sub

                                Sub Initial_set:
                                Portd = 255
                                Set Portb.0
                                Set Portb.1
                                End Sub

                                Sub Initial_reset:
                                Portd = 0
                                Reset Portb.0
                                Reset Portb.1
                                End Sub

                                End

                                دیدگاه

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