اطلاعیه

Collapse
No announcement yet.

چگونه همه پایه های میکروکنترلر AVR را PWM کنیم ؟؟

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

    پاسخ : چگونه همه پایه های میکروکنترلر AVR را PWM کنیم ؟؟

    سلام اقای مهندس با تشکر
    برنامه انگار error داره !!!

    دیدگاه


      پاسخ : چگونه همه پایه های میکروکنترلر AVR را PWM کنیم ؟؟

      نوشته اصلی توسط stk
      سلام اقای مهندس با تشکر
      برنامه انگار error داره !!!
      درود بر شما ...
      کدوم خطش؟
      من دقیقا از سایت کپی گرفتم و بردم توی بسکام مشکلی نداشت ...
      خیلی راحت و بدون دردسر کامپایل شد ...
      [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
      معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
      معرفی نرم افزار Codewizard PWM
      با من بیشتر آشنا شوید

      دیدگاه


        پاسخ : چگونه همه پایه های میکروکنترلر AVR را PWM کن

        سلام

        با تشکر

        دیدگاه


          پاسخ : پاسخ : چگونه همه پایه های میکروکنترلر AVR را PWM کن

          نوشته اصلی توسط stk
          سلام

          با تشکر
          درود بر شما
          شاید برای کرک نامرغوب شما باشه ...
          برای من کامپایل شد ...

          من از این ورژن استفاده میکنم ....
          http://s5.picofile.com/file/8120870600/BASCOM_AVR_2_0_7_3_Techno_Electro_COM_.zip.html
          دانلود کنید و نصب کنید ...
          موفق باشید
          [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
          معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
          معرفی نرم افزار Codewizard PWM
          با من بیشتر آشنا شوید

          دیدگاه


            پاسخ : چگونه همه پایه های میکروکنترلر AVR را PWM کنیم ؟؟

            سلام اقای مهندس تشکر کاملا درست بود کامپایلر را عوض کردم ارور نداد . ممنون

            دیدگاه


              پاسخ : چگونه همه پایه های میکروکنترلر AVR را PWM کنیم ؟؟

              مهندس برای ATTINY 13 میخوامش :mrgreen:
              http://s6.uplod.ir/i/00674/9cm41hm4inx0.jpg

              دیدگاه


                پاسخ : چگونه همه پایه های میکروکنترلر AVR را PWM کنیم ؟؟

                نوشته اصلی توسط MAHDI ZAMANI
                مهندس برای ATTINY 13 میخوامش :mrgreen:
                درود به همه
                مهدی جان دارم برنامه رو روی نرم افزار پیاده میکنم ...
                کمی تحمل کنید تا کاملش کنم ...
                موفق باشید
                [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                معرفی نرم افزار Codewizard PWM
                با من بیشتر آشنا شوید

                دیدگاه


                  پاسخ : چگونه همه پایه های میکروکنترلر AVR را PWM کنیم ؟؟

                  نوشته اصلی توسط سامان اسدی
                  درود به همه
                  مهدی جان دارم برنامه رو روی نرم افزار پیاده میکنم ...
                  کمی تحمل کنید تا کاملش کنم ...
                  موفق باشید
                  درستش کردم :agree: :wow:
                  یه فلاشر قشنگ هم باهاش زدم
                  http://s6.uplod.ir/i/00674/9cm41hm4inx0.jpg

                  دیدگاه


                    پاسخ : چگونه همه پایه های میکروکنترلر AVR را PWM کن

                    با سلام و خسته نباشید
                    آقای مهندس برنامه ردیف کردم
                    در مورد افکت ها نظرتون چیه ؟ با تشکر

                    دیدگاه


                      پاسخ : چگونه همه پایه های میکروکنترلر AVR را PWM کنیم ؟؟

                      سلام اقای مهندس
                      مدار را بستم ولی رگولاتور 5 ولت زیاد گرم میشه و میکرو ۱۰۰ میلی امپر جریان میکشه ایا عادی هست ؟؟ رگورلاتور 7805cv هست خروجی میکرو هم به ۱۶ ال ای دی به دو پورت متصل هست هر ال ای دی 5 میلی امپر مصرف میکنه .

                      دیدگاه


                        پاسخ : چگونه همه پایه های میکروکنترلر AVR را PWM کن

                        نوشته اصلی توسط stk
                        با سلام و خسته نباشید
                        آقای مهندس برنامه ردیف کردم
                        در مورد افکت ها نظرتون چیه ؟ با تشکر
                        درود بر شما
                        ببخشید که دیر پاسخ میدم
                        بله دیدم ...
                        افکتهای بسیار جالبی هستن ... ولی برای اینکه مهندسی معکوس کنید یه خورده زمان گیر هست ... خدا کنه که فکر نکنید میخوام منتی بگذارم ... ولی زمانی نمیتونم برای این کار اختصاص بدم ... واقعا سرم خیلی شلوغه ... نمیتونم الکی یه قولی بدم و نتونم انجامش بدم ...
                        نوشته اصلی توسط stk
                        سلام اقای مهندس
                        مدار را بستم ولی رگولاتور 5 ولت زیاد گرم میشه و میکرو ۱۰۰ میلی امپر جریان میکشه ایا عادی هست ؟؟ رگورلاتور 7805cv هست خروجی میکرو هم به ۱۶ ال ای دی به دو پورت متصل هست هر ال ای دی 5 میلی امپر مصرف میکنه .
                        بله درسته این عادی است ... به دلیل اینکه منابع تغذیه رگولاتوری تلفات دارند و زمانی که شما جریانی میکشید شروع به گرم شدن میکنند ... اگر شما بتوانید ولتاژ ورودی را تا حدی کم کنید تلفات آن هم کمتر میکنید... مثلا اگر بتوانید ولتاژ ورودی رگولاتور را بین 7.5 و 9 ولت نگه دارید مناسبه ... برای جلوگیری از ایجاد حرارت بایستی از منابع سوئیچینگ(کلیدی) استفاده کنید ...
                        این منابع شاید به ظاهر کمی گرانتر باشند ولی از لحاظ سبکی و قدرت حرف اول را میزنند ... در توانهای خیلی بالاتر دیگه نمیشه از رگولاتور استفاده کرد چون به شدت تلفات ایجاد میشه ... تلفات که بیشتر بشه گرما بیشتر میشه و گرما که بیشتر بشه احتمال سوختنش هم بیشتر میشه ... گرما که بیشتر بشه باید به فکر سیستم خنک کننده ای باشید ... که این خود هزینه ها را بالا می برد ... با وجود اینکه در CNC های بزرگ از منابع سوئیچینگ قدرتمندی استفاده میشود ولی باز هم گرمای زیادی ایجاد میکند که برای جلوگیری از این گرماها از کولر گازی استفاده میکنند ...
                        بحث کجا بود به کجا کشید ... :mrgreen: فقط خواستم اطلاعات بدم ...
                        موفق باشید ....
                        [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                        معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                        معرفی نرم افزار Codewizard PWM
                        با من بیشتر آشنا شوید

                        دیدگاه


                          پاسخ : چگونه همه پایه های میکروکنترلر AVR را PWM کنیم ؟؟

                          با سلام خدمت آقای اسدی
                          من یه پروژه نورپردازی دارم که باید 80 ال ای دی 1وات رو بصورت آبشاری یا همون شهاب سنگ روشن کنم، خواستم از مدارهای مولتی پلکسر و ... استفاده کنم که کنترل PWM با اونها رو بلد نبودم، و خواستم برم سراغ Xmega که باز هم تعداد پایه هاش 80 تا نیست!! میشه لطف کنین و راهنمایی کنین :redface:
                          خدایا چنان کن سرانجام کار *** که تو خشنود باشی و ما رستگار

                          دیدگاه


                            پاسخ : چگونه همه پایه های میکروکنترلر AVR را PWM کنیم ؟؟

                            نوشته اصلی توسط سامان اسدی
                            درود بر شما ...
                            بله درسته
                            بررسی کردم ...
                            ولی این دیگه مقصر من نیستم ...
                            مقصر کامپایلر بد بسکام هست ...
                            دقیقا همین کد را روی کدویژن امتحان کردم و عالی عالی جواب میده ....
                            بدون یک ذره مکث و قطعی ...
                            [code=c]
                            /************************************************** ***
                            This program was produced by the
                            CodeWizardAVR V2.05.3 Standard
                            Automatic Program Generator
                            © Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.
                            http://www.hpinfotech.com
                            Project : 1 PWM
                            Resolution : 100 States (0 To 99)
                            Date : 18/Jan/2016
                            Time : 2142
                            Author : Saman.Asadi www.ECA.ir
                            Author's Email : Saman.asadi.ir@gmail.com
                            http://www.eca.ir/forum2/index.php?topic=90246.0
                            Chip type : ATmega8
                            Program type : Application
                            AVR Core Clock frequency : 8 MHz
                            Memory model : Small
                            Data Stack size : 256
                            ************************************************** ***/
                            #include <mega8.h> //for ATmega8 or ATmega8L or ATmega8A
                            #include <delay.h>

                            #define Max_Variable_PWM 99
                            #define Set_PWM Max_Variable_PWM
                            #define Reset_PWM 0

                            unsigned char Counter_PWM , pwm[3];

                            interrupt [TIM2_COMP] void timer2_comp_isr(void);

                            //pwm[1] ===> PORTD.0

                            void main(void)
                            {
                            signed char x;
                            //Config all
                            //Config timers
                            //Config PORTS
                            {
                            DDRD |= 0x01;
                            // Timer/Counter 2 initialization
                            // Clock source: System Clock
                            // Clock value: 1000.000 KHz
                            // Mode: CTC top=OCR2
                            // OC2 output: Disconnected
                            ASSR=0x00;
                            TCCR2 = 0x0A;
                            OCR2 = 0x99;
                            TCNT2= 0x00;
                            //Timer(s)/Counter(s) Interrupt(s) initialization
                            TIMSK |= 0x80;
                            // Global enable interrupts
                            #asm("sei&quot
                            }//End Config ...


                            while(1)
                            {
                            for(x=0;x<100;x++)
                            {
                            pwm[1]=x;
                            delay_ms(50);
                            }
                            for(x=99;x>0;x--)
                            {
                            pwm[1]=x;
                            delay_ms(50);
                            }
                            }
                            }


                            // Timer 2 output compare interrupt service routine
                            interrupt [TIM2_COMP] void timer2_comp_isr(void)
                            {
                            if(Counter_PWM)
                            {
                            if(Counter_PWM == pwm[1]) PORTD |= 0x01;
                            }
                            if(--Counter_PWM == 255)
                            {
                            Counter_PWM = Max_Variable_PWM;
                            PORTD &= 0xFE;
                            }
                            }
                            [/code]
                            این کد در کدویژن هست ...
                            این هم کد در بسکام
                            [code=qbasic]
                            '******************************************** *********
                            'Project : 1 PWM
                            'Resolution : 100 States (0 To 99)
                            'Date : 18/Jan/2016
                            'Time : 2125
                            'Author : Saman.Asadi www.ECA.ir
                            'Author's Email : Saman.asadi.ir@gmail.com
                            'http://www.eca.ir/forum2/index.php?topic=90246.0
                            'Chip type : ATmega8
                            'Program type : Application
                            'AVR Core Clock frequency : 8 MHz
                            '******************************************** *********
                            $regfile = "m8def.dat" 'for ATmega8 or ATmega8A
                            $crystal = 8000000
                            Max_Variable_PWM Alias 99
                            Set_PWM Alias Max_Variable_PWM
                            Reset_PWM Alias 0

                            Dim Counter_pwm As Byte , Pwm(3) As Byte

                            'Config All =============================================
                            Config Timer2 = TIMER , Prescale = 8
                            Enable Compare2
                            ON Compare2 T2
                            ' Timer/Counter 2 initialization
                            ' Clock source: System Clock
                            ' Clock value: 1000.000 KHz
                            ' Mode: CTC top=OCR2
                            ' OC2 output: Disconnected
                            Assr = &H00
                            TCCR2 = &H0A
                            OCR2 = &H99
                            Tcnt2 = &H00
                            'Timer(s)/Counter(s) Interrupt(s) initialization
                            TIMSK = &H80
                            'Global enable interrupts
                            Enable Interrupts
                            'Config Outputs
                            DDRD = &H01 OR DDRD
                            'End Config ============================================

                            Dim X1 As Byte

                            Do
                            '******************************

                            For X1 = 0 To 99 Step 1
                            Pwm(1) = X1
                            Waitms 50
                            Next X1
                            For X1 = 99 To 0 Step -1
                            Pwm(1) = X1
                            Waitms 50
                            Next X1
                            Loop
                            End


                            T2:
                            If Counter_pwm > 0 Then
                            If Counter_pwm = Pwm(1) Then PORTD = &H01 OR PORTD
                            End If
                            Decr Counter_pwm
                            If Counter_pwm = 255 Then
                            Counter_pwm = Max_variable_pwm
                            PORTD = &HFE AND PORTD
                            End If
                            Return
                            [/code]

                            توی دوره کاردانی که بودم اینقدر اشکال از بسکام گرفتم که حد و حساب نداشت ...
                            خیلی خیلی عذر میخوام ولی نظر شخصی منه ...
                            بسکام اصلا جالب نیست ...
                            از نظر خودم کدویژن بهترین نرم افزار برای این کاره ...
                            دومین نرم افزاری که من پیشنهاد میکنم اتمل استودیو است ... (به همین دلیل ترتیب نرم افزارها را به این شکل در نرم افزارم قرار دادم)

                            موفق باشید ...
                            سلام اقای اسدی
                            راستش من هم از دست بسکام خسته شدم خیلی دلم میخواد با سی وبرنامه کد ویژن استفاده کنم ولی مقاله یا جزوه خوبی پیدا نکردم
                            لطفا کتاب یا مقاله ای که به خوبی کد ویژن وزبان سی معرفی کنید :sad: :sad: :sad: :sad: :sad:

                            دیدگاه


                              پاسخ : چگونه همه پایه های میکروکنترلر AVR را PWM کنیم ؟؟

                              نوشته اصلی توسط Montazer_110
                              با سلام خدمت آقای اسدی
                              من یه پروژه نورپردازی دارم که باید 80 ال ای دی 1وات رو بصورت آبشاری یا همون شهاب سنگ روشن کنم، خواستم از مدارهای مولتی پلکسر و ... استفاده کنم که کنترل PWM با اونها رو بلد نبودم، و خواستم برم سراغ Xmega که باز هم تعداد پایه هاش 80 تا نیست!! میشه لطف کنین و راهنمایی کنین :redface:
                              درود بر شما
                              برنامه نوشته شده آماده است ...
                              البته با میکروی 640 یا 1280 یا 2560
                              فقط باید یک سری تغییراتی به انجام برسانید ...
                              موفق باشید

                              نوشته اصلی توسط sjaber
                              سلام اقای اسدی
                              راستش من هم از دست بسکام خسته شدم خیلی دلم میخواد با سی وبرنامه کد ویژن استفاده کنم ولی مقاله یا جزوه خوبی پیدا نکردم
                              لطفا کتاب یا مقاله ای که به خوبی کد ویژن وزبان سی معرفی کنید :sad: :sad: :sad: :sad: :sad:
                              درود بر شما
                              والا ...
                              خود من هم با تمرین و تمرین و تمرین یاد گرفتم ...
                              یه کتابی هست به شما معرفی میکنم... برای بچه های کامپیوتر هست ولی نیازی نیست که تا آخرش هم یاد بگیرید چون برای ما کاربردی نداره ... و فقط تا وسطش نیازه که یاد بگیری ...
                              کتاب گسترش علوم پایه ++C
                              نویسندش هم حمیدرضا مقسمی
                              من خودم با این کتاب شروع کردم
                              http://gostaresh-pub.com/BookDetile.php?SID=163
                              و به خوبی یاد گرفتم البته با کمک یکی از بچه های کامپیوتر ...
                              البته این هم هست ...
                              http://gostaresh-pub.com/BookDetile.php?SID=691
                              این هم هست ولی فکر کنم سطح این پایینتر باشه ... چون رنگش آبی هست ...
                              http://gostaresh-pub.com/BookDetile.php?SID=754
                              فقط به دنبال تمرین باشید ... با پشتکار میتوانید به خوبی یاد بگیرید ...
                              زبان سی یک زبانی هست که قابلیت بسیار زیاد دارد ... مطمئن باشید اگر خوب یاد بگیرید پشیمان نخواهید شد ...
                              اگر شما زبان سی را به خوبی یاد بگیرید در تمامی میکروها و بیشتر کامپایلرها و نرم افزارهای شی گرایی کاربرد دارد ...
                              موفق باشید
                              [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                              معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                              معرفی نرم افزار Codewizard PWM
                              با من بیشتر آشنا شوید

                              دیدگاه


                                پاسخ : چگونه همه پایه های میکروکنترلر AVR را PWM کنیم ؟؟

                                درود بر دوستان.

                                با pwm یک سافت استارتر برای موتور دی سی ساختم.
                                موتور 24 ولت دی سی میباشد و بدون بار تا 300 میلی امپر جریان کشی دارد.
                                مشکلی که هست فقط موقع سافت استارت دیود شاتکی بینهایت داغ میکنه.بعدش که موتور حرکت کرد سرد میشه.
                                دیود هم دیود دوبل شاتکی هست.از دیود هایی که داخل منابع سویچینگ استفاده میشه.

                                ایا دیود باید عوض بشه ؟؟؟؟

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

                                کافیست اولین قدمها را بدون ترس و با پشتکارِ بالا برداری مطمئن باش بزودی به اوج خواهی رسید و روزهای سخت همیشه نخواهند ماند ...

                                دیدگاه

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