اطلاعیه

Collapse
No announcement yet.

شتاب سنج ADXL345 فروشگاه [فیلم+توضیحات+سوالات]

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

    #16
    پاسخ : شتاب سنج ADXL345 فروشگاه [فیلم+توضیحات+سوالات]

    سلام به همگی
    میشه کد پروژه اجرا شده را بهم بدید؟
    بهش خیلی احتیاج دارم
    مرسی از دوستان

    دیدگاه


      #17
      پاسخ : شتاب سنج ADXL345 فروشگاه [فیلم+توضیحات+سوالات]

      سلام
      من کد بسکام را برای کار با این ماژول در اختیار دوستان قرار می دم. فقط چون از ADXL345 در مود i2c استفاده شده چند نکته را حتما دقت کنید تا جواب بگیرید:
      اول اینکه پایه CS حتما high باشه تا بره تو مود i2c
      دوم: برای این که آدرسش مطابق اون چیزی باشه که در این کد اومده، پایه SDO یا همون ALT Address حتما به زمین وصل باشه.
      این برنامه با مگا64 و به پورت سریال هم احتیاج داره
      اگر در خروجی ترمینال پیام ADXL345 Responded رو دیدید، بدونید تونستید با ADXL345 ارتباط برقرار کنید.
      کد:
      $regfile = "m64def.dat"
      $crystal = 7372800
      '$baud1 = 9600
      
      Config Pinb.5 = Output
      Config Pinb.6 = Output
      Config Pinb.7 = Output
      Config Pind.6 = Input
      Config Pind.7 = Input
      Config Com2 = 115200 , Synchrone = 0 , Parity = None , Stopbits = 2 , Databits = 8 , Clockpol = 0
      'Config Serialout = Buffered , Size = 30
      'Clear Serialout
      Config Serialout = Normal
      Config Timer0 = Timer , Prescale = 64
      Stop Timer0
      Config Int6 = Falling
      Config Int7 = Falling
      Config Scl = Portd.0
      Config Sda = Portd.1
      Config Pind.5 = Input
      Adxl_cs Alias Portd.5
      Led1 Alias Portb.5
      Led2 Alias Portb.6
      Led3 Alias Portb.7
      
      'Sfior = Sfior And &B11111011
      'Set Portd.6
      'Set Portd.7
      
      Enable Interrupts
      'Enable Serial
      Enable Int6
      On Int6 Int6_isr
      Enable Int7
      On Int7 Int7_isr
      Enable Ovf0
      On Ovf0 Ovf0_isr
      
      Reset Led1
      Reset Led2
      Reset Led3
      Open "com2:" For Binary As #2
      'Clear Serialout
      I2cinit
      Waitms 500
      Set Led1
      Set Led2
      Set Led3
      
      Const Adxl_add_write = &HA6
      Const Adxl_add_read = &HA7
      
      Dim A As Byte
      Dim B As Word
      Dim C As Byte
      Dim D As Byte
      Dim Tick_1s As Bit
      Dim Tick_5s As Bit
      Dim X_low As Byte
      Dim X_high As Byte
      Dim Y_low As Byte
      Dim Y_high As Byte
      Dim Z_low As Byte
      Dim Z_high As Byte
      Dim X As Word
      Dim Y As Word
      Dim Z As Word
      
      A = 0
      Reset Tick_1s
      Reset Tick_5s
      
      Set Portb.5
      Wait 1
      Reset Portb.5
      Wait 1
      Set Portb.5
      'Wait 1
      
      Print #2 , "Initializing ADXL345..."
      'Wait 1
      Reset Portb.5
      Print #2 , "ADXL345 goes in to I2C mode"
      Set Adxl_cs
      'Wait 1
      
      I2cstart
      I2cwbyte Adxl_add_write
      I2cwbyte &H00
      I2cstart
      I2cwbyte Adxl_add_read
      I2crbyte A , Nack
      I2cstop
      
      If A = 229 Then
        Print #2 , "ADXL345 responded"
      End If
      
      Waitms 500
      
      I2cstart
      I2cwbyte Adxl_add_write
      I2cwbyte &H2D
      I2cwbyte &H00
      I2cstop
      
      Waitms 500
      'initialize for Activity andinactivity interrupt
      I2cstart
      I2cwbyte Adxl_add_write
      I2cwbyte &H24
      I2cwbyte &HA0
      I2cwbyte &H45
      I2cwbyte &H03
      I2cwbyte &H77
      I2cstop
      
      Waitms 500
      
      I2cstart
      I2cwbyte Adxl_add_write
      I2cwbyte &H2E
      I2cwbyte &H18
      I2cwbyte &H08
      I2cstop
      
      Waitms 500
      
      I2cstart
      I2cwbyte Adxl_add_write
      I2cwbyte &H31
      I2cwbyte &H09
      I2cstop
      
      Waitms 500
      
      I2cstart
      I2cwbyte Adxl_add_write
      I2cwbyte &H2D
      I2cwbyte &H08
      I2cstop
      
      Wait 1
      'Print #2 , A
      'Wait 1
      
      A = 0
      Start Timer0
      Do
        If Tick_1s = 1 Then
         Print #2 , A
         Incr A
         Toggle Portb.5
         Reset Tick_1s
        End If
        If Pind.6 = 1 Then
         Reset Led2
        Else
         Set Led2
        End If
        If Pind.7 = 1 Then
         Reset Led3
        Else
         Set Led3
        End If
      Loop
      End                             'end program
      
      Ovf0_isr:
        If B < 450 Then
         Incr B
        Else
         B = 0
         Incr C
         Set Tick_1s
        End If
        If C = 5 Then
         C = 0
         Set Tick_5s
        End If
        Return
      
      Int6_isr:
        Waitms 10
        I2cstart
        I2cwbyte Adxl_add_write
        I2cwbyte &H2E
        I2cstart
        I2cwbyte Adxl_add_read
        I2crbyte C , Nack
        'I2crbyte D , Nack
        I2cstop
        Print #2 , "Int6: " ; C ; " " ; D
        Return
      
      Int7_isr:
        Waitms 10
        I2cstart
        I2cwbyte Adxl_add_write
        I2cwbyte &H30
        I2cstart
        I2cwbyte Adxl_add_read
        I2crbyte C , Nack
        I2cstop
        Print #2 , "Int7: " ; C
        Return

      خوب اما من با InActivity فانکشنش مشکل دارم. حد آستانه اون رو هر عددی که تنظیم میکنم، با این که بوردم رو تکون شدید می دم اما وقفه InActivity اون triger می شه. در دیتاشیتش توضیح نداده که حد آستانه و زمان InActivity آیا باید مکمل دو باشه یا نه؟ من متوجه شدم که نباید مکمل دو باشه. اما با تغییر حد آستانه، دقت اندازه گیری و نمونه برداری، تغییر حالت Link به غیر Link و برعکس و اندازه گیری ac به dc و برعکس هیچ کدوم جواب نداد. کسی هست که از این فانکشن ADXL345 استفاده کرده باشه و جواب گرفته باشه؟

      دیدگاه


        #18
        پاسخ : شتاب سنج ADXL345 فروشگاه [فیلم+توضیحات+سوالا

        مشکل حل شد
        در تشخیص عدم تحرک یا همون InActivity، من سه محور x، y و z رو برای تشخیص عدم تحرک تعیین کرده بودم. چون ADXL نتیجه همه محورها رو در تشخیص عدم تحرک با هم AND می کنه، خیلی شرایط سختی باید جور می شد (زلزله) تا اینتراپت InActivity رو فعال نکنه. یعنی هر سه محور باید در زمان مشخص حد آستانه رو رد می کردند تا وقفه عدم تحرک رو فعال نکنه. تنظیمش کردم تا فقط روی محور x تشخیص عدم تحرک بده و حالا درست کار می کنه.
        موفق باشید

        دیدگاه


          #19
          پاسخ : شتاب سنج ADXL345 فروشگاه [فیلم+توضیحات+سوالات]

          سلام.اقا من این کتابخانه رو هم روی avr و هم روی lpc1768 اجرا کردم خیلی چرت و پرت میگه.انگار که سنسور تنظیم نباشد.البته من با ماژول IMU نه محوره GY-80 راه اندازی کردم.هرچند کار خاصی نکردن تابع اینیشیال و کالیبره رو اول اجرا کردم بعد تابع Get_Accel_Angles و بعد متغیر هاش رو نمایش میدم ولی عدد ها به موقعیت مازول نمیخوره.

          دیدگاه


            #20
            پاسخ : شتاب سنج ADXL345 فروشگاه [فیلم+توضیحات+سوالات]

            نوشته اصلی توسط arvin2009
            سلام.اقا من این کتابخانه رو هم روی avr و هم روی lpc1768 اجرا کردم خیلی چرت و پرت میگه.انگار که سنسور تنظیم نباشد.البته من با ماژول IMU نه محوره GY-80 راه اندازی کردم.هرچند کار خاصی نکردن تابع اینیشیال و کالیبره رو اول اجرا کردم بعد تابع Get_Accel_Angles و بعد متغیر هاش رو نمایش میدم ولی عدد ها به موقعیت مازول نمیخوره.
            علیک سلام. اولاً من از شما سپاس گذارم که از کتابخونه استفاده کردید! :angry:
            بلاخره من نفهمیدم کتابخانه مشکل داره یا سنسور ؟؟؟!!!
            خب یک کتابخانه ی دیگه تست کنید ! :mrgreen:
            ___________________

            این که کتابخونه جواب میده یا نه که در فیلم مشخصه! البته بنده قبول دارم که کتابخونه خیلی کامل نیست و هنوز جای کار داره!
            ___________________
            چیزی که مشخصه و خودتون هم اشاره کردید ، ظاهرا سنسور تنظیم نیست ! یعنی شاید رجیستر های فرعی اون تنظیم نیستند!

            لذا شما ابتدا باید تابع ADXL345_Regs_Reset رو اجرا کنید تا همه ی رجیستر ها به حالت دیفالت برگردند، سپس با تابع ADXL345_Offset_Calib آفست ها رو تنظیم کنید، سپس رجیستر های اصلی که ADXL345_Init تنظیم می شوند رو تنظیم کنید!
            حالا می تونید هر خروجی ای رو ازش بگیرید!

            نهایتاً اگر نشد تنها راه چاره شما اینکه رجیسترهای سنسور رو به حالت های مختلف تنظیم کنید تا مشکل حل بشه!
            وگرنه سنسور کلاً مشکل داره!
            همواره يادمان باشد:
            1-مردان بزرگ اراده مي کنند و مردان کوچک آرزو
            2-افراد بزرگ، هميشه به دنبال ايده هاي بزرگند و افراد کوچک به دنبال افراد بزرگ
            3-هميشه سعي کن آنقدر کامل باشي که بزرگترين تنبيه تو براي ديگران گرفتن خودت از آنها باشد.

            دیدگاه


              #21
              پاسخ : شتاب سنج ADXL345 فروشگاه [فیلم+توضیحات+سوالات]

              خواهش میکنم. ما وظیفه خودمون میدونیم بجه ها یک کاری انجام میدن تست کنیم ببینیم وضعیت علمی بچه ها در چه حدی شده و هست.

              دیدگاه


                #22
                پاسخ : شتاب سنج ADXL345 فروشگاه [فیلم+توضیحات+سوالات]

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

                دیدگاه


                  #23
                  پاسخ : شتاب سنج ADXL345 فروشگاه [فیلم+توضیحات+سوالات]

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

                  دیدگاه


                    #24
                    پاسخ : شتاب سنج ADXL345 فروشگاه [فیلم+توضیحات+سوالات]

                    کارهایی که گفتم خدمتتون انجام دادید!؟؟؟

                    بعد از انجام هر مرحله چه اتفاقی افتاد؟؟؟
                    همواره يادمان باشد:
                    1-مردان بزرگ اراده مي کنند و مردان کوچک آرزو
                    2-افراد بزرگ، هميشه به دنبال ايده هاي بزرگند و افراد کوچک به دنبال افراد بزرگ
                    3-هميشه سعي کن آنقدر کامل باشي که بزرگترين تنبيه تو براي ديگران گرفتن خودت از آنها باشد.

                    دیدگاه


                      #25
                      پاسخ : شتاب سنج ADXL345 فروشگاه [فیلم+توضیحات+سوالات]

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

                      دیدگاه


                        #26
                        پاسخ : شتاب سنج ADXL345 فروشگاه [فیلم+توضیحات+سوالات]

                        سلام جناب موسوی!
                        بنده هم امتحان کردم و اصلا درست کار نمیکنه! ماژول سالمه چون device code رو درست برمیگردونه : 229

                        اینم از برنامه من:
                        http://uplod.ir/rz86sxdqmvws/ADXL345.rar.htm

                        http://uplod.ir/rz86sxdqmvws/ADXL345.rar.htm
                        در انتظار تو چشمم سپید گشت و غمی نیست
                        اگر قبول تو افتد، فدای چشم سیاهت

                        http://upload7.ir/images/83524254953910725183.gif

                        دیدگاه


                          #27
                          پاسخ : شتاب سنج ADXL345 فروشگاه [فیلم+توضیحات+سوالات]

                          نوشته اصلی توسط مسعود - الف
                          سلام جناب موسوی!
                          بنده هم امتحان کردم و اصلا درست کار نمیکنه! ماژول سالمه چون device code رو درست برمیگردونه : 229

                          اینم از برنامه من:
                          http://uplod.ir/rz86sxdqmvws/ADXL345.rar.htm

                          http://uplod.ir/rz86sxdqmvws/ADXL345.rar.htm
                          والاً من خودم آذر ماه 92 که کار می کردم مشکلی نداشت! دوستان دیگه هم در مشهد، راه اندازی و در رباتهای خود استفاده می کردند.
                          الان هم با توجه به مشغله ی کاری ، شرمنده ، وقت نمیشه که برگشت بزنم به عقب و دوباره با ماژول ها تست بگیرم.
                          ای کاش از اشکالی که پیش می یاد(مثلا اگر دیتا با تغییرات فیزیکی تناسبی نداره) دقیقاً یک فیلم کوتاه بگیرید تا بهتره بشه فهیمد دقیقاً اشکال چیه و کجاست!
                          نکته:البته اون زمان نوشتن کتابخانه شکل و ظاهر ماژول با الان کمی متفاوت بود!
                          ماژول های ADXL345 که الان ما(ECA) داریم ، چند وقت پیش مدلشون عوض شد، امکان داره عدم کارایی کتابخانه در حال حاضر به این تغییر هم ربط داشته باشه! البته احتمالش کمه!

                          به هر حال ، من اگر فرصت شد این موارد رو بررسی می کنم.
                          وگرنه خواهش از شما و سایر دوستان این که درصدد رفع ایراد بر بیاید و کتابخانه رو اصلاح کنید، نهایتاً برای خودتون و دوستان در همین مکان منتشر کنید.

                          با سپاس
                          همواره يادمان باشد:
                          1-مردان بزرگ اراده مي کنند و مردان کوچک آرزو
                          2-افراد بزرگ، هميشه به دنبال ايده هاي بزرگند و افراد کوچک به دنبال افراد بزرگ
                          3-هميشه سعي کن آنقدر کامل باشي که بزرگترين تنبيه تو براي ديگران گرفتن خودت از آنها باشد.

                          دیدگاه


                            #28
                            پاسخ : شتاب سنج ADXL345 فروشگاه [فیلم+توضیحات+سوالات]

                            تشکر از شما جناب موسوی!
                            خواهشی که دارم اینه که اگه امکانش هست کد کامل پروژه ای که فیلم گرفتین رو قرار بدین. چون فکر میکنم نکته ای در init کردن ماژول وجود داره که رعایت نمیکنم. البته اون چیزایی که فرمودین رعایت شده ولی جواب نمیده!
                            ممنون میشم کد کامل رو قرار بدین! :smile:
                            در انتظار تو چشمم سپید گشت و غمی نیست
                            اگر قبول تو افتد، فدای چشم سیاهت

                            http://upload7.ir/images/83524254953910725183.gif

                            دیدگاه


                              #29
                              پاسخ : شتاب سنج ADXL345 فروشگاه [فیلم+توضیحات+سوالات]

                              نوشته اصلی توسط مسعود - الف
                              تشکر از شما جناب موسوی!
                              خواهشی که دارم اینه که اگه امکانش هست کد کامل پروژه ای که فیلم گرفتین رو قرار بدین. چون فکر میکنم نکته ای در init کردن ماژول وجود داره که رعایت نمیکنم. البته اون چیزایی که فرمودین رعایت شده ولی جواب نمیده!
                              ممنون میشم کد کامل رو قرار بدین! :smile:
                              این هم فایل اصلی پروژه که در فیلم استفاده شده است. البته ممکن است بعد از ضبط فیلم دچار تغییرات هم شده باشد که من یادم نمی یاد.
                              http://dl.roboticngo.com/uploads/C-Code-2.rar
                              در ضمن جایگزینی توابع ال سی دی رو در پروژه مذکور به عهده ی خودتون !
                              همواره يادمان باشد:
                              1-مردان بزرگ اراده مي کنند و مردان کوچک آرزو
                              2-افراد بزرگ، هميشه به دنبال ايده هاي بزرگند و افراد کوچک به دنبال افراد بزرگ
                              3-هميشه سعي کن آنقدر کامل باشي که بزرگترين تنبيه تو براي ديگران گرفتن خودت از آنها باشد.

                              دیدگاه


                                #30
                                پاسخ : شتاب سنج ADXL345 فروشگاه [فیلم+توضیحات+سوالات]

                                UF4_LCD.H دقیقا چیه؟
                                اگر امکانش هست این هدر رو برای دانلود قرار میدید؟ :eek: :eek:

                                دیدگاه

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