اطلاعیه

Collapse
No announcement yet.

کتابخانهآ‌ای برای چیپ AD7780-AD7730

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

    پاسخ : کتابخانهآ‌ای برای چیپ AD7730

    سلام استاد عزیز
    واقعاً ممنون از اینکه اینقدر خوب و کامل جواب میدین
    1- در مورد مقدار SPCR اشتباه از من بود شرمنده، البته قبلاً درست کرده بودم.
    2- دیشب جای AD7780 رو روی PCB که به برد بورد وصل بود عوض کردم ظاهراً خوب متصل نبود. الان یک سری اعداد منطقی نشون میده، الان وقتی جفت ورودیها به 2.5 ولت وصل هست اعدادی 16338 رو نشون میده ولی دو رقم و حتی گاهی سه رقم آخر تغییرات دارن. برای رفع این نویز چیکار کنم. با تغییر ولتاژ ورودی هم الان اعداد تغییر می کنه ولی با همون نویز که گفتم.
    4- آیا مشکل نویز بخاطر برد بورد و PCB ضعیف من نیست.
    5- سعی می کنم روش اتوی توضیحی شما رو هم حتماً اجرا کنم.
    6- ببخشید قطعات SMD رو چطور میشه با هویه در آورد. یه جا خوندم نوشته بود با اتو میشه در آورد میخوام ببینم اتو بگذارم پشتش PCBد آیسی AD7780 آسیب نمی بینه؟
    بخاطر تمام راهنمایهاتون سپاسگزارم استاد
    «اگر واقعیات با نظریات هماهنگی ندارند، واقعیتآ‌ها را تغییر بده.»
    آلبرت انشتین

    دیدگاه


      پاسخ : کتابخانهآ‌ای برای چیپ AD7730

      نوشته اصلی توسط farshchian
      سلام استاد عزیز
      واقعاً ممنون از اینکه اینقدر خوب و کامل جواب میدین
      1- در مورد مقدار SPCR اشتباه از من بود شرمنده، البته قبلاً درست کرده بودم.
      2- دیشب جای AD7780 رو روی PCB که به برد بورد وصل بود عوض کردم ظاهراً خوب متصل نبود. الان یک سری اعداد منطقی نشون میده، الان وقتی جفت ورودیها به 2.5 ولت وصل هست اعدادی 16338 رو نشون میده ولی دو رقم و حتی گاهی سه رقم آخر تغییرات دارن. برای رفع این نویز چیکار کنم. با تغییر ولتاژ ورودی هم الان اعداد تغییر می کنه ولی با همون نویز که گفتم.
      4- آیا مشکل نویز بخاطر برد بورد و PCB ضعیف من نیست.
      5- سعی می کنم روش اتوی توضیحی شما رو هم حتماً اجرا کنم.
      6- ببخشید قطعات SMD رو چطور میشه با هویه در آورد. یه جا خوندم نوشته بود با اتو میشه در آورد میخوام ببینم اتو بگذارم پشتش PCBد آیسی AD7780 آسیب نمی بینه؟
      بخاطر تمام راهنمایهاتون سپاسگزارم استاد
      قطعه ای مثل AD7780 رو به این سادگی نمیشه در آورد حتی با هویه هوای داغ. چون خیلی ظریفه و به سادگی آسیب می بینه
      واما مشکل نویز. اول سرعت آی سی رو بیار روی 10 نمی نه در ثانیه. بعد ببین آیا با همین سرعت داری می خونی. اگه سرعت همین بود یعنی پایه RDY داره درست کار می کنه و تو الکی داده نمی خوندی پس نویز واقعا از ورودیه و باید به خودت گفت که چرا ولتاژ نویزی می دی به آی سی و انتظار عدد درست داری؟
      با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

      دیدگاه


        پاسخ : کتابخانهآ‌ای برای چیپ AD7730

        با سلام . ببخشید ممکنه این سوال به نظرتون ابتدایی بیاد اما واسه من سواله . می شه بگین زمین انالوگ و زمین دیجیتال یعنی چی؟

        دیدگاه


          پاسخ : کتابخانهآ‌ای برای چیپ AD7730

          سلام دایی
          آفرین. سوال خیلی خوبیه :smile:

          بعضی از مدارات ما فقط عناصر دیجیتال رو در خودشون دارند. داخل این مدارات فقط دو سطح ولتاژ داریم که معادل صفر و یک هستند. مثلا مدارات خانواده TTL فقط صفر و 5 ولت دارند. تمام این مدارات با پالسها یا به اصطلاح، کلاکها، کار می کنند. تغذیه این مدارت ولتاژ ثابتیه اما جریانی که برای تغذیه نیاز دارند چندان ثابت نیست و اگه توی اسکوپ نگاه کنیم بصورت پالسهای تیز می بینیمش. مثلا وقتی که یه فلیپ فلاپ می خواد تغییر وضعیت بده و خروجیش از صفر به یک بره، جریان ناگهانی از تغذیه می کشه. اگه داشت 1 میلی آمپر از تغذیه جریان می کشید در موقع تغییر وضعت ناگهان 5 میلی آمپر می کشه و دوباره به همون 1 میلی آمپر برمی گرده. این پالس بسیار تیزه اما مقدارش معمولا خیلی زیاده.
          گاهی هم اونقدر زیاده که اگه سیم منفی اسکوپ رو به یک قسمت زمین مدار بزنید و سیم مثبتشو به یه همون زمین اما در جای دیگه ای از مدار بزنید داخل اسکوپ پالسهای تیزی می بینید!!!
          شما ورودی اسکوپتونو اتصال کوتاه کردید پس این ولتاژها از کجا میاد؟!
          همون جریانهای ناگهانیه که با هبور از مس PCBآ‌ باعث ایجاد ولتاژ میشه. چون مس های روی PCB هادی ایده آل نیستند. هم اندکی مقاومت اهمی دارند و هم اندکی امپدانس سلفی...

          بعضی از مدارات هم فقط عناصر آنالوگ رو در خودشون دارند. مثلا در یک پ امپ چیزی به اسم صفر و یک و پالس معنی نداره بلکه مقدار ولتاژ پایه هاش می تونه هر اندازه ای باشه. جریانی که برای تغذیه این آی سی ها نیازه خیلی صاف و عاری از پالسه. اگه هم تغذیشون صاف نباشه ورودی و خروجی هاشون سرشار از نویز خواهد شد. مخصوصا اگه این ناصافی روی زمین اونها باشه. چون مثلا ولتاژ ورودی و خروجی یه پ امپ نسبت به زمینش سنجیده میشه. اگه پ امپ شما 1000 برابر تقویت بکنه و به ورودیش 1 میلی ولت بدید تا در خروجیش 1 ولت بگیرید. حالا اگه این یک میلی ولت ورودی نسبت به یک زمین باشه که خودش 500 میکروولت پالس روش باشه چه اتفاقی می افته؟!
          شما در خروجیتون بجای 1 ولت یه پالس با دامنه 1.5 ولت می بینید!

          پس اگه داخل مداری هم قطعات دیجیتال باشه و هم قطعات آنالوگ باید زمین اونها رو جدا کنیم. حتی در بعضی از آی سی ها هم AGNDآ‌ و DGND گذاشتند.

          در خیلی از مواقع مجبوریم از یه تغذیه برای مدارات آنالوگ و دیجیتال استفاده کنیم. در این وضعیت باید وقتی که داریم PCB می کشیم دقت کنیم زمینهای دیجیتال رو به زمین های آنالوگ وصل نکنیم تا در آخر PCB فقط در یک نقطه اونها رو به هم وصل کنیم.
          اینجوری نویز موجود در زمین دیجیتال به زمین آنالوگ منتقل نمیشه.
          با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

          دیدگاه


            پاسخ : کتابخانهآ‌ای برای چیپ AD7730

            سلام استاد
            1- من یک کانتر گذاشتم که تو مثلاً 20 ثانیه تقریباً به 200 می رسه یعنی ثانیه 10 تا می خونه به نظر این قسمتش درسته.
            2- من بایت status رو هم می خونم آنم دایم در حال تغییر هست اعدادی مثل 55 و 191 و 43 و ....
            3- ورودیم هم 4 تا مقاومت 1 کیلو بصورت پل بین VCC و GND گذاشتم و ورودی - رو به یکی از این قسمتهای میانی پل زدم که 2.5 ولت هست و ورودی + رو هم به پایه دیگه که 2.5 هست می زنم 32767 با تغییر دو رقم آخرش رو به من میده حال ته یک باتری 1.5 ولت رو می زنم به رفرنس 2.5 و سرش رو به رفرنس مثبت عدد بزرگتر از 32767 میشه و وقتی معکوس می کنم باطری رو این عدد کم شده و تقریباً به 8045 می رسه درکل 2 یا 3 رقم آخر مرتب در حال تغیر هست. آیا باطری می تونه نویز داشته باشه؟
            4- منبع ولتاژم هم USB کامپیوتر هست.
            خیلی ممنون از وقتی که می گذارین.
            «اگر واقعیات با نظریات هماهنگی ندارند، واقعیتآ‌ها را تغییر بده.»
            آلبرت انشتین

            دیدگاه


              پاسخ : کتابخانهآ‌ای برای چیپ AD7730

              نوشته اصلی توسط farshchian
              سلام استاد
              1- من یک کانتر گذاشتم که تو مثلاً 20 ثانیه تقریباً به 200 می رسه یعنی ثانیه 10 تا می خونه به نظر این قسمتش درسته.
              2- من بایت status رو هم می خونم آنم دایم در حال تغییر هست اعدادی مثل 55 و 191 و 43 و ....
              3- ورودیم هم 4 تا مقاومت 1 کیلو بصورت پل بین VCC و GND گذاشتم و ورودی - رو به یکی از این قسمتهای میانی پل زدم که 2.5 ولت هست و ورودی + رو هم به پایه دیگه که 2.5 هست می زنم 32767 با تغییر دو رقم آخرش رو به من میده حال ته یک باتری 1.5 ولت رو می زنم به رفرنس 2.5 و سرش رو به رفرنس مثبت عدد بزرگتر از 32767 میشه و وقتی معکوس می کنم باطری رو این عدد کم شده و تقریباً به 8045 می رسه درکل 2 یا 3 رقم آخر مرتب در حال تغیر هست. آیا باطری می تونه نویز داشته باشه؟
              4- منبع ولتاژم هم USB کامپیوتر هست.
              خیلی ممنون از وقتی که می گذارین.
              سلام دایی
              ای ول داری خوب پیش میری :biggrin:
              لودسل مجازیت خیلی عالیه. بهتره بجای استفاده از باطری، به پل یه پتانسیومتر مولتی ترن اضافه کنی:

              اولین مشکل بایت Status است که اصلا نباید تغییر کنه و همیشه باید ثابت باشه. مثلا بیت سوم Status همون پایه gain آی سیه. چطور ممکنه وسط خوندن پایه گین صفر و یک بشه؟!!!
              پس یا پایه gain رو ول گذاشتی به امان خدا یا اینکه SPI داره اشتباه می خونه.
              بیت هفتم عدد 191 یعنی RDY یک است!!! در حالیکه RDY صفر شد که از آی سی خوندی!
              دومین حدس من اینه که پایه های دیگه ای مثل رفرنس هم ول باشه.
              تغذیه با USB فقط باعث اندکی نویز و بازی عدد خروجی میشه. باطری هم نویز بسیار اندک داره.
              با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

              دیدگاه


                پاسخ : پاسخ : کتابخانهآ‌ای برای چیپ AD7730

                نوشته اصلی توسط oghaab
                با سلام خدمت دوستان
                من می خواستم بدونم برای ارتباط با خروجی سریال آی سی حداکثر از چه ریتی می شود استفاده کرد؟
                مثلا 9600 یا بیشتر
                ممنون می شم که جوابمو بدین
                سلام دایی جان
                متوجه نشدم کدوم آی سی مد نظرتونه
                اگه منظورتون AD7780 است باید بگم که خروجی این ای سی سریال هست اما نه از نوع UARTآ‌ یا آسنکرون!!
                بلکه از نوع سنکرون هست و نیاز به کلاک داره. انتفقال داده سریال بصورت سنکرون برای داخل مدارات بکار میره و سرعتهای بسیار بالا داره. مثلا بیشتر از 10 مگابیت برثانیه
                با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

                دیدگاه


                  پاسخ : کتابخانهآ‌ای برای چیپ AD7730

                  سلام احمد آقا
                  منظور من AD7730 بود
                  میشه منو راهنمایی کنید اون کلاکی که گفتید (SCLK) تا چه فرکانسی می تونه کار کنه؟
                  ممنون از کمک تون
                  هرگز تشکر کردن از کسی که بهت کمک کرده رو فراموش نکن

                  دیدگاه


                    پاسخ : کتابخانهآ‌ای برای چیپ AD7730

                    دایی جان
                    آی سی AD7730آ‌ دوکلاک مستقل از هم لازم داره. یکی MCLK هست که باید 4.9152 مگاهرتز باشه و معمولا با کریستال ساخته میشه. دیگری SCLKآ‌ هست که در موقع خوندن یا نوشتن داخل 7730 توسط میکرو تولید میشه و می تونه تا 10 مگاهرتز هم باشه. البته فرکانس کلاک رو تنظیمات SPI داخل میکرو تعیین می کند.
                    با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

                    دیدگاه


                      پاسخ : کتابخانهآ‌ای برای چیپ AD7730

                      هر چی روش کار میکنم جواب نمیده
                      برنامه:

                      ' Auslesen AD7715 '
                      ' '
                      '-------------------------------------------------------------------------------'
                      $regfile = "m32def.dat" 'ATmega 32
                      $crystal = 16000000 'Quarz: 16 MHz
                      '$sim
                      $hwstack = 256
                      $swstack = 256
                      $framesize = 256
                      '-------------------------------------------------------------------------------'

                      '-------------------------------LED Spannung------------------------------------'

                      Config Pind.4 = Output 'Pin wird auf High, also 5V geschaltet
                      Led Alias Portd.4
                      Led = 1

                      '-------------------------------------------------------------------------------'

                      '----------------------------- Config für LCD ----------------------------------'
                      Config Lcd = 16 * 2
                      Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , _
                      Db7 = Portc.5 , E = Portd.7 , Rs = Portd.5
                      Cursor Off
                      Cls
                      '-------------------------------------------------------------------------------'

                      '----------------------------- Config für SPI ----------------------------------'
                      Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , _
                      Polarity = Low , Phase = 0 , Clockrate = 128 , Noss = 0
                      '-------------------------------------------------------------------------------'

                      Config Pind.2 = Input
                      Drdy Alias Portd.2
                      Drdy = 0

                      Config Pinb.3 = Output
                      Cs Alias Portb.3
                      Cs = 1

                      Dim Comm_reg As Byte
                      Dim Setup_reg As Byte
                      Dim Read_reg As Byte
                      Dim Ergebniss As Word


                      Comm_reg = &B00010000
                      Setup_reg = &B00101100
                      Read_reg = &B00111000

                      Spiinit


                      Cs = 0
                      Spiout Comm_reg , 1
                      Cs = 1
                      Cs = 0
                      Spiout Setup_reg , 1
                      Cs = 1
                      Cs = 0
                      Spiout Comm_reg , 1
                      Cs = 1



                      Do

                      If Drdy = 0 Then

                      Waitms 10
                      Cs = 0
                      Spiout Read_reg , 1
                      Cs = 1
                      Waitms 10
                      Cs = 0
                      Spiin Ergebniss , 2
                      Cs = 1

                      Waitms 480
                      Locate 1 , 1 : Lcd Ergebniss : Lcd " "


                      End If

                      Loop
                      امام مهدی(عج): اگر شیعیان ما ، که خداوند طاعتشان دهد. در عهد ما وفادار و همدل بودند، هرگز دیدار ما (ظهور) به تاخیر نمی افتاد.(کدام عهد ؟)

                      دیدگاه


                        پاسخ : کتابخانهآ‌ای برای چیپ AD7730

                        سلام.
                        ببخشید چند تا سوال داشتم سوال داشتم .
                        1- برای استفاده از PT100 باید Gain را روی چقدر ست کنم؟ 1 یا 128 ؟
                        اصولا اینجا Gain چه کاربردی داره و بر چه اساس تنظیم می شه؟ (طبق بررسی که کردم 1 کافیه)
                        2-من یه PT100 سه سیمه دارم Bipolar محسوب می شه یا Unipolar ؟
                        3-در مدار آقای ahmadmn چندتا تفاوت نسبت به مدار دیتاشیت AD7780 بود . در دیتاشیت بین Ref , +Ref- خازن 0.1uf داشت که مدار آقای ahmadmn نداره.
                        در دیتاشیت خازن اتصال Ref ها به زمین 10nf بود اما در مدار آقای ahmadmn خازنها 100nf بود. مقاومت های اتصال به زمین و منبع آنالوگ هم در دیتاشیت وجود نداشت. می شه در این موارد راهنمایی کنید؟
                        4- اگه ممکنه یه برنامه مربوط به AD7780 بزارین . چون برنامه های موجود تو تالار مربوط به AD7730 بودند. ظاهرا رجیسترهای این دو تا ای سی متفاوت هستند.
                        ممنون

                        دیدگاه


                          پاسخ : کتابخانهآ‌ای برای چیپ AD7730

                          ببخشید یه سوال دیگه
                          پایه های AD7780 باید به کدام پایه های میکرو وصل بشه؟
                          SCLK که مشخصه به کلاک میکرو اما 2 تای دیگه چی؟ DOUT/RDY و PDRST باید به کدام پایه ها متصل بشه؟
                          فقط اتصال همین 3 پایه به میکرو کافیه؟ در SPI با بالا و پایین بردن SS می شه اسلیو ها را تعیین کرد . من 2 تا AD7780 به عنوان Slave دارم . وقتی این آی سی CS نداره چطوری می تونم Slave ها را راه اندازی کنم؟
                          ممنون.

                          دیدگاه


                            پاسخ : کتابخانهآ‌ای برای چیپ AD7730

                            سلام
                            آیا IC و یا مدار هست که بشه خروجی PT100 به 4 تا 20 میلی آمپر و یا 0 تا 10 ولت تبدیل کنه؟آی سی آنالوگ من 12 بیتی هستش.
                            ممنون میشم در این مورد راهنمایم کنید.

                            دیدگاه


                              پاسخ : کتابخانهآ‌ای برای چیپ AD7730

                              نوشته اصلی توسط ali2914
                              سلام.
                              ببخشید چند تا سوال داشتم سوال داشتم .
                              1- برای استفاده از PT100 باید Gain را روی چقدر ست کنم؟ 1 یا 128 ؟
                              اصولا اینجا Gain چه کاربردی داره و بر چه اساس تنظیم می شه؟ (طبق بررسی که کردم 1 کافیه)
                              2-من یه PT100 سه سیمه دارم Bipolar محسوب می شه یا Unipolar ؟
                              3-در مدار آقای ahmadmn چندتا تفاوت نسبت به مدار دیتاشیت AD7780 بود . در دیتاشیت بین Ref , +Ref- خازن 0.1uf داشت که مدار آقای ahmadmn نداره.
                              در دیتاشیت خازن اتصال Ref ها به زمین 10nf بود اما در مدار آقای ahmadmn خازنها 100nf بود. مقاومت های اتصال به زمین و منبع آنالوگ هم در دیتاشیت وجود نداشت. می شه در این موارد راهنمایی کنید؟
                              4- اگه ممکنه یه برنامه مربوط به AD7780 بزارین . چون برنامه های موجود تو تالار مربوط به AD7730 بودند. ظاهرا رجیسترهای این دو تا ای سی متفاوت هستند.
                              ممنون
                              سلام دایی
                              1- گین 128 چون ولتاژ دو سر PT100 با این جریان کمی که بهش دادیم کمتر از 40 میلی ولته.
                              2- ربطی به تعداد سیم نداره دایی جان. PT100 همیشه یونیپولار حساب میشه.
                              3- این مدارتی که کشیدم برای خوندن لودسل نیست دایی جان!!!
                              4- متاسفانه الان به کامپیوتر خودم دسترسی ندارم. چند روز بعد می گذارم. اگه دوستان دیگه برنامه رو دارن ممنون میشم برای باقی دوستان بزارن.
                              با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

                              دیدگاه


                                پاسخ : کتابخانهآ‌ای برای چیپ AD7730

                                نوشته اصلی توسط ali2914
                                ببخشید یه سوال دیگه
                                پایه های AD7780 باید به کدام پایه های میکرو وصل بشه؟
                                SCLK که مشخصه به کلاک میکرو اما 2 تای دیگه چی؟ DOUT/RDY و PDRST باید به کدام پایه ها متصل بشه؟
                                فقط اتصال همین 3 پایه به میکرو کافیه؟ در SPI با بالا و پایین بردن SS می شه اسلیو ها را تعیین کرد . من 2 تا AD7780 به عنوان Slave دارم . وقتی این آی سی CS نداره چطوری می تونم Slave ها را راه اندازی کنم؟
                                ممنون.
                                پایه DOUT/RDY به پایه MISO میکرو وصل میشه و پایه PDRST هم به هر پایه دلخواه میکرو البته اگه لازمش دارید. چون من اینو به هیچ جا وصل نمی کنم.
                                بله همین ۳ تا کافیه دایی جان
                                آفرین دایی . سوال خوبی پرسیدی
                                منم چندین ۷۷۸۰ رو به میکرو وصل کردم. روش من اینه که بقیه ۷۷۸۰ ها رو با SPI نرم افزاری خوندم و چون هیچ مشکلی نداشتم دنبال راه های دیگه نرفتم.
                                هنوز فرصت نکردم برم دنبال اینکه با کنترل پایه PDRST میشه چندین ۷۷۸۰ رو به پورت SPI سخت افزاری وصل کرد یا نه.
                                راستی اینقدر به پایه SS میکرو گیر نده دایی جان چون بدرد کاری نمی خوره بجز در موارد خاص
                                با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

                                دیدگاه

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