نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه

آموزش کار با ADC خارجی آی سی ADC0820

به نام خدا : آموزش کار با ADC خارجی آی سی ADC0820 : سلام خدمت دوستان ، تو این مطلب میخوام در مورد آی سی ADC خارجی توضیح بدم و آموزش کار با ADC0820 رو  قرار بدم و یه پروژه AVR هم براتون بزارم با این IC…..والا من دیتاشیت ADC0820 رو خوندم و دارم این مطلب رو مینویسم….. لذا توضیحات زیر همگی از دیتاشیت این IC میباشند…..
آموزش کار با ADC خارجی آی سی ADC0820
توجه : پروژه کار میکنه و مشکلی نداره ولی در توضیحات زیر ممکن است بد ترجمه کارده باشم یا اصلا اشتباه ترجمه کرده باشم(بعید میدونم ولی احتمالش وجود داره) ممنون میشم بهم بگید.
 

مشخصات آی سی ADC0820

۱) دقت : ۸ بیت
۲) دارای ۲ مد کاری می باشد.( RD  و WR-RD )
۳) زمان تبدیل(برای هر مد)
mode RD = 2.5 us MAX
mode WR-RD = 1.5 us MAX
۴) دارای ۲۰ پایه میباشد.
۵) به کلاک خارجی نیاز ندارد ( No external clocking )
۶) یک پایه برا خروچی سرریز(Overflow output)
۷) در زیر میزان خطا رو (به ازای دمل های مختلف) مشاهده میکنید ؛ منظور از LSB بیت اول خروجی یعنی DB0 هستش.
 آموزش کار با ADC0820
 

ماکزیمم ها در آی سی ADC0820

۱) VCC = 10 vlot
۲) میزان توان مصرفی (در دمای ۲۵c) برار است با =۸۷۵mW
۳) جریان هر پایه ورودی = والا من دقیقا نفهمیدم ۱mA هستش یا ۴mA — در کل یکی از این دو تاس دیگه ^_^
 

محدوه ها در IC ADC0820

۱) ۴٫۵V ≤ VCC ≤ ۸V
۲) GND ≤ Vin ≤ VCC
۳) GND ≤ VREF(−) ≤ VREF(+) ≤ VCC
۴) محدوده دما به ازای مدل های مختلف(شکل زیر)
 پروژه AVR
 

توضیح پایه های آی سی ADC0820

 ADC خارجی
 

کار پایه نام پایه شماره پایه
ولتاژی که میخوایم آی سی برامون محاسبه کنه رو به این پایه وصل میکنیم. Vin ۱
وقتی آی سی ولتاژ رو محاسبه کرد از طریق پایه هایDB0 الی DB7 به میکرو انتقالشون میدهپایه DB0 که بهش LSB هم میگن. DB0 ۲
پایه DB1 DB1 ۳
پایه DB2 DB2 ۴
پایه DB3 DB3 ۵
وظیفه اعلام آغاز تبدیل رو داره (در مد WR-RD) WR/RDY ۶
این پایه وضیفه انتخاب مد کاری آی سی رو داره MODE ۷
 وظیفه اعلام آغاز تبدیل رو داره (در مد RD) RD ۸
وقتی عملیات تبدیل تموم بشه و آی سیولتاژ رو محاسبه کنه این پایه ۰ میشه INT ۹
VCC و GND پایه های تغزیه IC هستند. GND ۱۰
….در پایین توضیح داده شده…. (-)VREF ۱۱
پایه های  (+)VREF و (-)VREFپایه های مربوط به ولتاژ مرجع هستند (+)VREF ۱۲
 وظیفه فعال کردن آی سی و ریست کردن INT رو داره CS ۱۳
پایه DB4 DB4 ۱۴
پایه DB5 DB5 ۱۵
پایه DB6 DB6 ۱۶
پایه DB7 DB7 ۱۷
خروجی سرریز—–وقتی Vin از (+)Vref بیشتر بشهاین پایه بعد از پایان تبدیل صفر میشه OFL ۱۸
به جایی وصل نمیشه NC ۱۹
VCC و GND پایه های تغزیه IC هستند. VCC ۲۰

 
توجه ۲ : کلا هر موقع تو IC ها پایه ای NC روش نوشته شده بود یعنی این که به جایی وصل نمیشه و بدون اتصال باید قرارش بدید.
با توجه به خط بالا به نظرم بهتره (−)VREF رو به GND وصل کنید و (+)VREF رو به ولتاژ مورد نظرتون >>> فقط حواستون باشه که مقدارش از GND بیشتر و از VCC کمتر یا مساوی باشه باهاش >>>> من در این پروژه  (−)VREF رو به GND  و  (+)VREF رو به VCC وصل کردم و VCC رو هم به ۵ ولت وصل کردم.
در پروژه من :  VREF(−)=GND=0      و      VREF(+)=VCC=5    هستش.
 
سوال : ولتاژ مرجع چیست ؟
جواب : پل کلوم این که آی سی ولتاژ محاسبه شده رو با ولتاژ مرجع مقایسه میکنه و هر چه این ولتاژ(ولتاژ مرجع) دقیق تر(مثلا یه ۵ ولت تر و تمیز باشه و ۵٫۱ نباشه و…) باشه ولتاژ محاسبه شده توسط آیسی نیز دقیق تر میشه.
 

توضیح انواع MODE آی سی ADC0820

RD Mode :

مرحله۰) انتاخب مود RD برای آی سی >>> MODE=0
مرحله۱) فعال کردن آی سی >>> CS=0
مرحله۲) صدور فرمان آغاز نمونه گیری و تبدیل(همون محاسبه ولتاژ) >>> RD=0
مرحله۳) ما وای میستیم تا زمانی که تبدیل تمام بشه ، با پایان تبدیل پایه INT در مد RD صفر میشه >>> (while(INT
توجه : البته میتونستیم از وقفه خارجی به جای استفاده از (while(INT هم استفاده کنیم که کار دقیق تر و بهتر بشه….
مرحله۴) بعد از اتمام تبدیل اطلاعات(مقدار ولتاژ محاسبه شده) در پایه های خروجی (DB0 الی DB7) قرار میگیرد….که با وصل کردن این ۸ تا پایه به یکی از پورت های میکرو کنترلر(مثلا PORTB) اطلاعاتش رو دریافت میکنیم و در یه متغییر ذخیره میکنیم(اسم متغییر مثلا a هستش) که باید به صورت زیر بنویسیم :

 
مرحله۵) بعد از دریافت اطلاعات از IC ما باید یه سری اعداد در این عدد ضرب و تقسیم کنیم(همانند همون محاسبات توی ADC داخلی میکروکنترلر AVR) که این فرمول برای این پروژه به صورت زیر هستش :

که عدد ۲۵۶ حاکی از دقت IC ADC میباشد (دقت IC هشت بیت میباشد که ۲ بتوان ۸ میشه ۲۵۶) و عدد ۵ همون (+)Vref میباشد….ما بسته به پروژتون باید این فرمول رو تغییر بدید……یعنی Vref رو هر چی انتخاب کردی باید همون مدار رو در فرمول بالا به جای ۵ قرار بدی…
مرحله۶) برای ریست کردن پایه INT و آغاز نمونه گیری دوباره باید CS=1 شود (یا به پایه RD یه لبه بالا رونده اعمال بشه)
 
در زیر یه پروژه با این مد براتون میزارم…
پروژه AVR آی سی ADC خارجی
این از شماتیک پروژه
 دیتاشیت ADC0820
 
این از کد های پروژه

 

WR-RD Mode :

مرحله۰) انتاخب مود WR-RD برای آی سی >>> MODE=1
مرحله۱) فعال کردن آی سی >>> CS=0
مرحله۲) صدور فرمان آغاز نمونه گیری و تبدیل(همون محاسبه ولتاژ) >>> WR=0
مرحله۳) حدود ۸۰۰ns صبر میکنیم ( یه (۵)delay_ms ) و بعد باید WR=1 شود…..تا INT=0 بشه (که یعنی پایان عملیات تبدیل).
مرحله۴) در این مرحله اطلاعات در پایه های خروجی (DB0 الی DB7) قرار گرفته و با وصل کردن این ۸ تا پایه به یکی از پورت های میکرو کنترلر(مثلا PORTB) اطلاعاتش رو دریافت میکنیم و در یه متغییر ذخیره میکنیم(اسم متغییر مثلا a هستش) که باید به صورت زیر بنویسیم :

مرحله۵) بعد از دریافت اطلاعات از IC ما باید یه سری اعداد در این عدد ضرب و تقسیم کنیم(همانند همون محاسبات توی ADC داخلی میکروکنترلر AVR) که این فرمول برای این پروژه به صورت زیر هستش :

که عدد ۲۵۶ حاکی از دقت IC ADC میباشد (دقت IC هشت بیت میباشد که ۲ بتوان ۸ میشه ۲۵۶) و عدد ۵ همون (+)Vref میباشد….ما بسته به پروژتون باید این فرمول رو تغییر بدید……یعنی Vref رو هر چی انتخاب کردی باید همون مدار رو در فرمول بالا به جای ۵ قرار بدی…
مرحله۶) برای ریست کردن پایه INT و آغاز نمونه گیری دوباره باید CS=1 شود (یا به پایه RD یه لبه بالا رونده اعمال بشه)
 
در زیر یه پروژه با این مد براتون میزارم…
پروژه AVR آی سی ADC خارجی
شماتیک پروژه
مثلا شماتیک پروژه قبلی هستش.
کد های پروژه

 

فیلم پروژه

اینم از فیلم پروژه که در عمل بستم و فیلمش رو رد زیر براتون میزارم
http://www.aparat.com/v/ME5dm

 
توجه : این دو مد ولی در نحوه راه اندازی(که در بالا گفتم) و در مدت زمان مورد نیاز برا تبدیل (اول مطلب گفتم) با هم تفاوت دارن ولی این که دقیقا چه فرقی با هم دارن رو من متوجه ندم…..اگه کسی میدونه ممنون میشم بگه……در ضمن اگه چیزی رو جا انداختم بگید….
 
هزینه این مطلب : والا من بابام در اومد تا این مطلب رو نوشتم(مطلب چیز خاصی نداره) شمایی که از این مطلب استفاده میکنید باید یه فاتحه برا کسایی که تازه از دنیا رفتن و برا شهدا بخونید.
 
من جندین ساعت برا گزاشتن مطلب تو سایت وقت میزارم شما ۳۰ ثانیه برا نظر دادن وقت نمیخواین بزارید؟؟؟؟
 

دانلود پروژه این مطلب + دیتاشیت IC ADC0820

پسورد فایل های سایت :
www.dmf313.ir
جنگ ما فتح قدس را در پی خواهد داشت (امام خمینی) >>>>>> اگر از صدام بگذریم، اگر مسأله قدس را فراموش کنیم، اگر از جنایت های امریکا بگذریم از آل سعود نخواهیم گذشت. ان‌شاالله اندوه دلمان را را در وقت مناسب با انتقام از امریکا و ال سعود برطرف خواهیم کرد و داغ و حسرت حلاوت این جنایت بزرگ را بر دلشان خواهیم گذاشت و با برپایی جشن پیروزی حق بر جنود کفر و نفاق و آزادی کعبه از دست نااهلان و نامحرمان به مسجد الحرام وارد خواهیم شد (امام خمینی)
ارسال دیدگاه
36

1) تعداد حروف غیر فارسی از حروف فارسی بیشتر باشه دیدگاه به صورت خودکار حذف میشه.

2) به موارد درخواست پروژه/کد آماده و سوالاتی که بلد نباشم پاسخ داده نمیشه.

3) برای گزاشتن کدهاتون از این سایت استفاده کنید : debian

  1. مهمان

    Mohsen

    دمت گرم، عالی بود

    1397/11/08
    03:44
  2. مهمان

    عزیزی

    سلام ممنونم برای مطالب مفید و کاربردی که آموزش می دهید.

    1397/08/28
    11:11
  3. مهمان

    حسین

    سلام خیلی عالی ممنون smile

    1397/06/09
    08:25
  4. مهمان

    مجتبی

    دمت گرم داداش ، چیزای زیادی از سایتت یاد گرفتم ???

    1397/05/24
    10:26
  5. مهمان

    zzz

    سلام
    خیلی عالیه
    خدا خیرتون بده
    تشکر فراوان

    1397/05/17
    07:32
  6. مهمان

    محسن

    سلام. می خوام سیگتال با فرکانس ۵۰ کیلو هرتز رو نمونه برداری کنم و تو متلب روش آنالیز انجام بدم .شما چه پیشنهادی دارید؟
    من lpc1768 رو با یه adc خارجی می خوام run کنم و دیتا ها رو روی sd ذخیره کنم و ….
    به نظرتون میشه ؟
    آیا این بهترین راهه ؟

    1397/04/17
    02:21
  7. مهمان

    حمید سعیدی

    سلام برای نمونه برداری از صوت (ماژول میکروفون دارم و پایه ای داره که اگه آستانه صدا به حد معینی برسه یک میشه ky-037 ) میشه از این آی سی استفاده کرد می خوام بیت ها رو دونه دونه بفرستم به محض نمونه برداری اون هم با ماژول nrf اگه میشه کمک کنید sorry

    1397/03/27
    01:21
  8. مهمان

    ناشناس

    آقا مهدی بابا دمت گرم داداش
    دست خوش اینم مثل قبلیها پروژه خوبی بود . . .
    کار تو زمینه الکترونیک چقدر برات خرج برداشته ؟

    1397/02/02
    02:25
    • نویسنده این مطلب

      مهدی دمرچیلو

      نمیدونم-ولی میدونم یه پلاستیک فاکتور جمع کردم تا الان laugh

      1397/02/02
      05:35
  9. مهمان

    ناشناس

    تشکر

    1396/09/23
    04:10
  10. مهمان

    آرمان

    درود بر شما احسنت

    1395/12/16
    07:41
  11. مهمان

    reza

    اقا ممنون واسه همه مطلب هایی که میزاری شرمنده که ما واسه ی همه مطلبهات نظرنمیزاریم خدا خیرت بده اگه میتونی ادامه بده

    1395/11/29
    06:55
    • نویسنده این مطلب

      مهدی دمرچیلو

      good

      1395/11/29
      07:00
  12. مهمان

    آرمین

    عالی بود داداش
    اقا من میخوام کار با arm و stm و رسپری رو یاد بگیرم , از کجا شروع کنم چ کلاسایی باید برم؟ میشه بدون یاد گرفتن avr مستقیم رفت arm یاد گرفت؟

    1395/09/06
    12:24
    • نویسنده این مطلب

      مهدی دمرچیلو

      من خودم به شخصه کلاس نمیرم و میشینم خودم میخونم – سایت های فارسی خارجی – کتب فارسی خارجی – دیتاشیت – هر چی خوب گیرم بیاد میخونم.
      بیشتر بابت ساده بودن avr و منابع زیاد میگن اول Avr وگرنه هیچ الزامی نیست

      1395/09/06
      07:03
  13. مهمان

    ali

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

    1395/05/15
    10:32
  14. مهمان

    بهنام

    سلام
    وبسایت بسیار خوبی داری.من همیشه از مطالب آموزشی مفید شما استفاده میکنم و خیلی چیزا یاد گرفتم. خدا خیرت بده smile

    1395/02/27
    09:18
  15. مهمان

    salary

    با تشکر مطالب مفید بودند اگر برای fpga هم توضیحاتی مشابه ارائه دهید بسیار عالی می شود

    1395/02/19
    11:49
  16. مهمان

    ali

    سلام مهندس جان
    پروتئوس به این آی سی ارور میده …هم فایل پروتئوس شما رو امتحان کردم هم خودم تک تک قطعات چیدم و اجرا کردم …
    از کتابخونه خاصی استفاده کردید ؟
    پروتئوسم جدیدتری ورژن موجود …
    اینم از خطا
    No model specified for U2. [U2]
    Simulation FAILED due to partition analysis error(s).

    1394/11/13
    11:44
  17. مهمان

    ali

    سلام
    مهندس جان مدلی که در پروتئوس شبیه سازی کردی ۰۸۲۰ ؟
    در پروتئوس من کمی فرق داره با این آی سی که گذاشتین
    همچنین موقع اجرا از ای سی ADC ارور میگیره …کتاب خونه خاصی استفاده کردین ؟
    پروتئوس من جدیدترین ورژن موجود …

    1394/11/13
    11:19
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      فک کنم در پروتئوس شبیه سازی نمیشه این ic
      چون تو عکس پروژه(از پروتئوس) هم پروژه روشن نیست
      و مجبور شدن در عمل تست کنم(که فیلمش ته مطلب هستش)

      1394/11/14
      11:44
      • مهمان

        ali

        tnx

        1394/11/14
        12:32
  18. مهمان

    kamal

    عالیه. فقط دانلود ها رو جدا کنید. مثلا یه جدول درست کنید و هر فایل هر قسمت رو جدا آپلود کنید و برای دانلود بگذارید

    1394/07/14
    02:12
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      والا چون اکثرا فایل پروژه ها به صد کیلو بایت نمیرسه چه برسه به ۱ میگ
      مثلا فایل های همین مطلب ۷۰۰ کیلوبایته که زیاد نیست
      به همین خاطر کل فایل ها رو یجا برا دانلود میزارم

      1394/07/14
      02:47
  19. مهمان

    ایمان

    سلام از اینکه به فکر پیشرفت کشور هستید بسیار سپاسگزارم کاش همه مثل شما فکر میکزدند
    مطلبتون هم عالی بود ولی ای کاش ADC های بالای ۱۰ بیت رو راه اندازی میکردید

    1394/04/22
    12:38
  20. مهمان

    محمدرضا

    چجور بفرستم

    1394/03/16
    09:15
  21. مهمان

    محمدرضا

    سلام دستتون درد نکنه ولی دانلود کردم تو پروتئوس اجرا نمیشه errorمیده مربوط به adc
    چرا اینطور میشه؟
    مگه خودتون امتحانش نکردید؟

    1394/03/05
    04:53
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      یه عکس از ارور بگیر و بفرست

      1394/03/12
      12:02
  22. مهمان

    محمد

    میتونی از همین مبدل برای سریع تر کردن اسیلوسکوپ که ساختی استفاده کنی. با avr سرعتش در حدود ۴۰ هزار نمونه بر ثانیه اما اگه از adc0820 استفاده کنی میتونی این نرخ نمونه برداری رو به ۶۵۰ هزار نمونه برسونی و اگه از ADS831 که جوان الکترونیک میفروشه و موجود داره میتونی اسیلوسکوپ با نرخ نمونه برداری ۸۰ میلیون بسازی ،
    البته اینم بگم که مبدل رو به یه FPGA باید وصل کنی و با یه میکرو ARM ، مبدل رو با FPGA هماهنگ میکنه و در اخر اطلاعات دریافتی از FPGA رو روی ال سی دی رنگی نمایش میده.

    1394/01/11
    01:35
  23. مهمان

    محمد

    سلام اموزش خوبی بود، مبدل انالوگ به دیجیتال سریع داخل ایران خیلی نایابه ، از ADS830 سریعتر هم گیرتون اومده ؟؟؟

    1394/01/11
    11:57
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      والا من زیاد تو بحرش نیستم….
      یه بار یه نفر یه پروژه ای میخواست که نیاز به آی سی Adc سریع بود….که تو ایران نبود و باز از کشور دوس و همسایه سفارش میدادی laugh …. که بعد طرف دیگه پیگیر پروژه نشد…ما هم بیخیال شدیم

      1394/01/11
      12:08
  24. مهمان

    amir

    سلام
    اقامهدی انگار من شمارو از نزدیک دیدم
    میرفتی کلاس فنی حرفه ای پیش بیگی؟
    بهرحال کارت قشنگه
    ببین دوست عزیز رزومت رو برام بفرست من بزودی میخام یه چند جایی تدریس کنم و اگه خدابهاد یه شرکتم رابندازم
    دنبال ادمایی مثل شما میگردم
    کارات رو طبقه بندی کن و همیشه یک مقدمه از فرایند کل پروژه تو اول مطلب بزار خیلی کمک میکنه
    بهرحال بدون که رفتی تو لیست bookmark من تا همیشه چکت کنم
    خسته نباشی عزیز
    خوشحال میشم باهم همکاری تو هرجور زمینه ای داشته باشیم
    موفق باشی مهندس

    1393/11/29
    08:45
    • نویسنده این مطلب

      مهدی دمرچیلو

      تو مطلب fpga جوابت رو دادم

      1393/11/29
      09:08
  25. مهمان

    AMIR

    DAMET GARM

    1393/11/12
    07:08
  26. مهمان

    وحيد

    سلام داداش مهدي
    خيلي عالي بود
    مطالب متنوع و خوبي ميزاري
    من كه خيلي خوشم اومده yes
    مرسي

    1393/11/04
    09:22
    • نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      خواهش smile

      1393/11/04
      09:44