نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
أَللّهُمَّ ارْزُقْنی شَفاعَةَ الْحُسَیْنِ یَومَ الْوُرُودِ
مهدی دمیرچیلو

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

130

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

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

توجه : پروژه کار میکنه و مشکلی نداره ولی در توضیحات زیر ممکن است بد ترجمه کارده باشم یا اصلا اشتباه ترجمه کرده باشم(بعید میدونم ولی احتمالش وجود داره) ممنون میشم بهم بگید.

مشخصات آی سی ADC0820

  1. دقت : 8 بیت
  2. دارای 2 مد کاری می باشد.( RD  و WR-RD )
  3. زمان تبدیل ( برای هر مد )
    1. mode RD = 2.5 us MAX
    2. mode WR-RD = 1.5 us MAX
  4. دارای 20 پایه میباشد.
  5. به کلاک خارجی نیاز ندارد ( No external clocking )
  6. یک پایه برا خروچی سرریز ( Overflow output )
  7. در زیر میزان خطا رو ( به ازای دمل های مختلف ) مشاهده میکنید ؛ منظور از LSB بیت اول خروجی یعنی DB0 هستش.

 آموزش کار با ADC0820

 

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

  1. VCC = 10v
  2. میزان توان مصرفی ( در دمای 25°c ) برار است با 875mW
  3. جریان هر پایه ورودی = والا من دقیقا نفهمیدم 1mA هستش یا 4mA — در کل یکی از این دو تاس دیگه ^_^

 

محدوه ها در IC ADC0820

۱) 4.5V ≤ VCC ≤ 8V
۲) 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 :

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

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

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

در زیر یه پروژه با این مد براتون میزارم…

پروژه AVR آی سی ADC خارجی

شماتیک پروژه
مثلا شماتیک پروژه قبلی هستش.

کد های پروژه

 

فیلم پروژه

3.4MB آموزش کار با آی سی ADC0820 دقت 8bit
0%
00:00  /  00:33

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

هزینه این مطلب : والا من بابام در اومد تا این مطلب رو نوشتم(مطلب چیز خاصی نداره) شمایی که از این مطلب استفاده میکنید باید یه فاتحه برا کسایی که تازه از دنیا رفتن و برا شهدا بخونید.

 

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

تعداد مطالب : 367 تا
جنگ ما فتح قدس را به همراه خواهد داشت. [ امام خمینی (ره) ]
بقیه جلسات :
این مطلب هیچ طبقه بندی یی ندارد!
ارسال دیدگاه
39
نظرات این مطلب بسته شده است.
  1. حامد

    مهمان

    حامد

    دمت گرم مطالب یکی از یکی عالی تر good victory

  2. شنتیا

    مهمان

    شنتیا

    دمت گرم … روح شهدا رو با این کارت شاد میکنی … همین که میبینن مثل شما باعث پیشرفت این آب و خاک میشن

    مشاهده پاسخ ها (1)
    • بهمن

      مهمان

      بهمن

      سلام شما توسنتین اینو درست کنین البته با ورودی سینوسی؟

  3. Mohsen

    مهمان

    Mohsen

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

  4. عزیزی

    مهمان

    عزیزی

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

  5. حسین

    مهمان

    حسین

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

  6. مجتبی

    مهمان

    مجتبی

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

  7. zzz

    مهمان

    zzz

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

  8. محسن

    مهمان

    محسن

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

  9. حمید سعیدی

    مهمان

    حمید سعیدی

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

  10. ناشناس

    مهمان

    ناشناس

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

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

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

  11. ناشناس

    مهمان

    ناشناس

    تشکر

  12. آرمان

    مهمان

    آرمان

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

  13. reza

    مهمان

    reza

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

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      good

  14. آرمین

    مهمان

    آرمین

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

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

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

  15. ali

    مهمان

    ali

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

  16. بهنام

    مهمان

    بهنام

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

  17. salary

    مهمان

    salary

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

  18. ali

    مهمان

    ali

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

  19. ali

    مهمان

    ali

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

    مشاهده پاسخ ها (2)
    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

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

      • ali

        مهمان

        ali

        tnx

  20. kamal

    مهمان

    kamal

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

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

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

  21. ایمان

    مهمان

    ایمان

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

  22. محمدرضا

    مهمان

    محمدرضا

    چجور بفرستم

  23. محمدرضا

    مهمان

    محمدرضا

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

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

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

  24. محمد

    مهمان

    محمد

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

  25. محمد

    مهمان

    محمد

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

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

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

  26. amir

    مهمان

    amir

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

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

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

  27. AMIR

    مهمان

    AMIR

    DAMET GARM

  28. وحيد

    مهمان

    وحيد

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

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      خواهش smile