اطلاعیه

Collapse
No announcement yet.

کسی اسیلوسکوپ دیجیتال داره و با AVR کار کرده؟

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

    کسی اسیلوسکوپ دیجیتال داره و با AVR کار کرده؟

    سلام دوستان و اساتید گرامی
    به دلیل نداشتن اسیلوسکوپ , یک مزاحمتی برای دوستان داشتم
    هر کس که امکانش را دارد , ممنون میشم که در این باره من را یاری کند
    یک برنامه که سورس کدش را در پایین براتون قرار میدهم
    به زبان بیسیک (با کامپایلر بسکام) نوشته شده و روی دو پایه زیر
    موج SPWM تولید میکند که برای ساخت اینورتر سینوسی کاربرد دارد:
    'Pin OC1A - PWM1a
    'Pin OC1B - PWM1b

    اگر زحمتی نیست و برای دوستان امکان دارد (واقعا لطف میکنید اگر این کار را انجام دهید)
    میخوام که یکی از دوستان این برنامه را با میکرو اجرا کرده و با اسکوپ شکل موج و فرکانس دقیق
    آن را به صورت عکس در این تاپیک قرار بده , این برنامه میتونه خیلی مفید باشه
    بی نهایت ممنون میشم که یکی از دوستان این لطف را برای من انجام بده
    سورس برنامه:
    http://s5.picofile.com/file/8138988292/ECA.pdf.html
    تاپیکی که در در آن بحث در این باره شده؟

    http://www.eca.ir/forum2/index.php?topic=80278.0

    این هم شماتیک میکرو :

    آموزش ساخت دستگاه برف ساز خانگی : https://www.eca.ir/forums/thread55009.html
    مقاله آموزشی 11 پروژه با AVR و بسکام: https://www.eca.ir/forums/thread31760.html
    _*̡͌l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡ *̡͌l̡*̡̡__*̡͌l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡ *̡͌l̡*̡̡__*̡͌l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡ *̡͌l̡*̡̡_

    #2
    پاسخ : کسی اسیلوسکوپ دیجیتال داره و با AVR کار کرده؟

    یک عکس در سرچ گوگل پیدا کردم
    به احتمال زیاد باید نتیجه کار چیزی شبیه عکس زیر باشه و فرکانس هم به گفته برنامه نویس 31 کیلو هرتزه
    حالا باید دید واقعا شکل موج به صورت زیر هست و فرکانس هم همین میزان هست؟
    ممنون میشم از دوستان اسکوپ دار , کسی کمکم کنه
    با تشکر


    آموزش ساخت دستگاه برف ساز خانگی : https://www.eca.ir/forums/thread55009.html
    مقاله آموزشی 11 پروژه با AVR و بسکام: https://www.eca.ir/forums/thread31760.html
    _*̡͌l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡ *̡͌l̡*̡̡__*̡͌l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡ *̡͌l̡*̡̡__*̡͌l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡ *̡͌l̡*̡̡_

    دیدگاه


      #3
      پاسخ : کسی اسیلوسکوپ دیجیتال داره و با AVR کار کرده؟

      دوستان کسی نبود؟
      آموزش ساخت دستگاه برف ساز خانگی : https://www.eca.ir/forums/thread55009.html
      مقاله آموزشی 11 پروژه با AVR و بسکام: https://www.eca.ir/forums/thread31760.html
      _*̡͌l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡ *̡͌l̡*̡̡__*̡͌l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡ *̡͌l̡*̡̡__*̡͌l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡ *̡͌l̡*̡̡_

      دیدگاه


        #4
        پاسخ : کسی اسیلوسکوپ دیجیتال داره و با AVR کار کرده؟

        متاسفانه اوضاع خیلی داغونه. امون از بی پولی. متاسفانه به دلیل نبود امکانات هست که ما پیشرفت نمی کنیم وگرنه اعتقاد من اینه که اگه ابزار دست ایرانی باشه همه چیز میتونه بسازه.
        در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

        1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
        2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
        3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

        دیدگاه


          #5
          پاسخ : کسی اسیلوسکوپ دیجیتال داره و با AVR کار کرده؟

          نوشته اصلی توسط siyavash2k
          متاسفانه اوضاع خیلی داغونه. امون از بی پولی. متاسفانه به دلیل نبود امکانات هست که ما پیشرفت نمی کنیم وگرنه اعتقاد من اینه که اگه ابزار دست ایرانی باشه همه چیز میتونه بسازه.
          سلام سیاوش خان
          چی بگم دوست عزیز :cry: , حرف دلمو زدید
          قیمتها بی داد میکنه
          باید حقوق چند ماهتونو بزارید کنار (هیچی نخرید - هیچی نخورید) تازه اگر بتونید بخرید :cry:


          پ.ن:
          برنامه را به صورت فایل HEX در آوردم فقط لازمه در یک مگا 16 پروگرم کنید
          با تشکر
          http://s5.picofile.com/file/8139223576/PWM_Sine_Wave_50Hz.zip.html
          آموزش ساخت دستگاه برف ساز خانگی : https://www.eca.ir/forums/thread55009.html
          مقاله آموزشی 11 پروژه با AVR و بسکام: https://www.eca.ir/forums/thread31760.html
          _*̡͌l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡ *̡͌l̡*̡̡__*̡͌l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡ *̡͌l̡*̡̡__*̡͌l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡ *̡͌l̡*̡̡_

          دیدگاه


            #6
            پاسخ : کسی اسیلوسکوپ دیجیتال داره و با AVR کار کرده؟

            سلام من یک نکته خیلی مهم رو باید بگم .
            آقا سینا این نکته خیلی مهم هست.
            اگر بخواهید از SPWM سه مرحله ای استفاده کنید سیگنال باید به صورت زیر باشه و هر چهار سیگنال رو باید میکرو تو لید کنه :
            توضیح :
            در نیم سیکل اول سوئیچ شماره یک در حال تولید SPWM است و در همان هنگام سوئیچ شماره سه کاملا روشن است.
            در نیم سیکل بعدی سوئیچ شماره چهار در حال تولید SPWM است و در همان هنگام سوئیچ شماره دو کاملا روشن است.
            پس در نیم سیکل اول سوئیچ شماره دو کاملا خاموش است.
            پس در نیم سیکل دوم سوئیچ شماره سه کاملا خاموش است.


            اما در مورد برنامه برنامه ای که من قرار است بنویسم شکل موج سینوسی را توسط جدول تولید نمی کند.
            قبلا دو برنامه برای این کار نوشتم که توسط میکرو موج آنالوگ تولید می شد یک توسط جدول و دیگری توسط محاسبات ریاضی توسط خود میکرو که در این روش قابلیت تغییر بسیار بالاست و آن کد این است :

            کد:
            $regfile = "m8def.dat"
            $crystal = 16000000
            
            Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0
            
            Config Lcd = 16 * 2
            Cursor Off
            
            Config Portd = Output
            
            Dim A As Byte
            Dim B As Word
            Dim C As Byte
            Dim D As Word
            Dim E As Word
            Dim F As Word
            Dim G As Byte
            Dim H As Byte
            Dim I As Word
            Dim J As Single
            Dim K As Byte
            Dim L As Byte
            Dim M As Byte
            
            Ddrb.0 = 0 : Portb.0 = 1
            Ddrb.1 = 0 : Portb.1 = 1
            Ddrb.2 = 0 : Portb.2 = 1
            Ddrb.3 = 0 : Portb.3 = 1
            Ddrb.4 = 0 : Portb.4 = 1
            Ddrb.5 = 0 : Portb.5 = 1
            
            Declare Sub A0
            Declare Sub A1
            Declare Sub A2
            Declare Sub A3
            Declare Sub A4
            Declare Sub A5
            Declare Sub A6
            Declare Sub A7
            Declare Sub A8
            Declare Sub A9
            Declare Sub A10
            Declare Sub A11
            Declare Sub A12
            Declare Sub A13
            Declare Sub A14
            Declare Sub A15
            Declare Sub A16
            Declare Sub A17
            
            A = 1
            B = 200
            C = 50
            F = 500
            G = 99
            
            Config Debounce = 30
            
            Cls
            
            Main1:
            Cls
            Do
              Debounce Pinb.2 , 0 , A1
              Debounce Pinb.0 , 0 , A2
              Home
              Lcd "SELECT WAVEFORM?"
              Lowerline
              If A = 1 Then
              Lcd "WAVE IS:SINE  "
              Elseif A = 2 Then
              Lcd "WAVE IS:SQUARE "
              Else
              Lcd "WAVE IS:TRIANGLE"
              End If
            Loop
            
            Main2:
            Cls
            Do
              Debounce Pinb.2 , 0 , A3
              Debounce Pinb.3 , 0 , A4
              Debounce Pinb.4 , 0 , A5
              Debounce Pinb.5 , 0 , A6
              Debounce Pinb.0 , 0 , A7
              Debounce Pinb.1 , 0 , A0
              Home
              Lcd "SET FREQUENCY ? "
              Lowerline
              Lcd "F is:" ; B ; "Hz NEXT>"
            Loop
            
            Main3:
            Cls
            Do
              Debounce Pinb.2 , 0 , A8
              Debounce Pinb.3 , 0 , A9
              Debounce Pinb.4 , 0 , A10
              Debounce Pinb.5 , 0 , A11
              Debounce Pinb.0 , 0 , A12
              Debounce Pinb.1 , 0 , A0
              Home
              Lcd "SET DUTY CYCLE ?"
              Lowerline
              Lcd "D.C.is:" ; C ; "% NEXT>"
            Loop
            
            Main4:
            Cls
            Do
              Debounce Pinb.2 , 0 , A13
              Debounce Pinb.3 , 0 , A14
              Debounce Pinb.4 , 0 , A15
              Debounce Pinb.5 , 0 , A16
              Debounce Pinb.0 , 0 , A17
              Debounce Pinb.1 , 0 , A0
              Home
              Lcd "SET AMPLITUDE ? "
              Lowerline
              Lcd "AMP.is:" ; G ; "% NEXT>"
            Loop
            
            Main5:
              H = G
              G = G - 14
              G = G * 3                        'damne tabdil be hex
              F = F / B                        'mohasebe T *500
              D = F * C                        'mohasebe takhire 1
              E = 100 - C
              E = F * E                        'mohasebe takhire 2
              D = D / 10
              E = E / 10
              Cls
              Lcd "WAVE F DC AMP"
              Lowerline
              If A = 1 Then
              Goto Main6
              Elseif A = 2 Then
              Goto Main7
              Else
              Goto Main8
              End If
            Main6:
              Lcd "SIN. " ; B ; " " ; "50 " ; H
              G = G / 2
              Do
              For I = 0 To 360 Step 3
              J = I
              J = Deg2rad(j)
              J = Sin(j)
              J = J * G
              J = Int(j)
              J = J + 128
              Portd = J
              For L = 1 To D
              nop
              Next L
              Next I
              Loop
            
            Main7:
              Lcd "SQU. " ; B ; " " ; C ; " " ; H
              Do
              Portd = G
              For L = 1 To D
              Waitus 25
              Next L
              Portd = 0
              For L = 1 To E
              Waitus 25
              Next L
              Loop
            
            Main8:
              Lcd "TRI. " ; B ; " " ; C ; " " ; H
              Do
              For M = 1 To G
              Portd = M
              For L = 1 To D
              nop
              Next L
              Next M
              For M = G To 1 Step -1
              Portd = M
              For L = 1 To E
              nop
              Next L
              Next M
              Loop
            
            
            
            End                             'end program
            
            Sub A0:
              Goto Main1
            End Sub A0
            
            Sub A1:
            If A < 3 Then
              Incr A
              Else
              A = 1
              End If
              Goto Main1
            End Sub A1
            
            Sub A2:
              Goto Main2
            End Sub A2
            
            
            Sub A3:
            If B < 500 Then
              Incr B
              Else
              B = 500
              End If
              Goto Main2
            End Sub A3
            
            Sub A4:
            If B > 0 Then Decr B
              Goto Main2
            End Sub A4
            
            Sub A5:
            If B < 480 Then
              B = B + 20
              Else
              B = 500
              End If
              Goto Main2
            End Sub A5
            
            Sub A6:
            If B > 20 Then B = B - 20
              Goto Main2
            End Sub A6
            
            Sub A7:
              Goto Main3
            End Sub A7
            
            Sub A8:
            If C < 99 Then
              Incr C
              Else
              C = 99
              End If
              Goto Main3
            End Sub A8
            
            Sub A9:
            If C > 0 Then Decr C
              Goto Main3
            End Sub A9
            
            Sub A10:
            If C < 90 Then
              C = C + 10
              Else
              C = 99
              End If
              Goto Main3
            End Sub A10
            
            Sub A11:
            If C > 10 Then C = C - 10
              Goto Main3
            End Sub A11
            
            Sub A12:
              Goto Main4
            End Sub A12
            
            Sub A13:
            If G < 99 Then
              Incr G
              Else
              G = 99
              End If
              Goto Main4
            End Sub A13
            
            Sub A14:
            If G > 14 Then Decr G
              Goto Main4
            End Sub A14
            
            Sub A15:
            If G < 90 Then
              G = G + 10
              Else
              G = 99
              End If
              Goto Main4
            End Sub A15
            
            Sub A16:
            If G > 24 Then G = G - 10
              Goto Main4
            End Sub A16
            
            Sub A17:
              Goto Main5
            End Sub A17

            البته این برنامه برای یک سیگنال ژنراتور با موج های مختلف نوشته شده است .
            نکته های مهم :
            1- ساخت SPWM سه مرحله ای یا 3LEVEL SPWM
            2- ایجاد موج سینوسی توسط محاسبات ریاضی
            3- قابلیت تغییر آسان
            البته اگر تا چند روز صبر کنید خودم برنامه را با فایل مورد نیاز قرار میدم.
            فقط یه لطفی کنید با SMS یادآوری بفرمائید تا فراموش نکنم. :mrgreen: 09193169645


            sigpic

            دیدگاه


              #7
              پاسخ : کسی اسیلوسکوپ دیجیتال داره و با AVR کار کرده؟

              ناصر خان سلام
              خسته نباشید , ممنون برای توضیحات خوبتون
              دستتون درد نکنه
              آموزش ساخت دستگاه برف ساز خانگی : https://www.eca.ir/forums/thread55009.html
              مقاله آموزشی 11 پروژه با AVR و بسکام: https://www.eca.ir/forums/thread31760.html
              _*̡͌l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡ *̡͌l̡*̡̡__*̡͌l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡ *̡͌l̡*̡̡__*̡͌l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡ *̡͌l̡*̡̡_

              دیدگاه

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