فهرست مطالب:
- مرحله 1:
- مرحله 2: ثبت نام پیکربندی
- مرحله 3: ثبت داده ها
- مرحله 4: حالت ADC تک پایان
- مرحله 5:
- مرحله 6: حالت ADC تفاضلی
تصویری: آردوینو و TI ADS1110 ADC 16 بیتی: 6 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
در این آموزش ما استفاده از آردوینو برای کار با Texas Instruments ADS1110 را بررسی می کنیم-یک آی سی مبدل آنالوگ به دیجیتال 16 بیتی فوق العاده کوچک اما مفید.
می تواند بین 2.7 تا 5.5 ولت کار کند ، بنابراین برای Arduino Due و سایر بردهای توسعه ولتاژ پایین نیز مناسب است. قبل از ادامه کار ، لطفاً برگه اطلاعات (pdf) را بارگیری کنید زیرا مفید خواهد بود و در این آموزش به آن اشاره می شود. ADS1110 گزینه ADC دقیق تری را نسبت به ADC های 10 بیتی Arduino ارائه می دهد-و استفاده از آن نسبتاً آسان است. با این حال ، تنها در SOT23-6 به عنوان بخش برهنه موجود است.
مرحله 1:
خبر خوب این است که می توانید ADS1110 را که بر روی یک برد بسیار راحت نصب شده است سفارش دهید. ADS1110 برای ارتباط از گذرگاه I2C استفاده می کند. و از آنجا که تنها شش پین وجود دارد که نمی توانید آدرس گذرگاه را تعیین کنید - در عوض ، می توانید از بین شش نوع ADS1110 - هر کدام آدرس خود را انتخاب کنید (به صفحه دو صفحه برگه مراجعه کنید).
همانطور که در عکس بالا مشاهده می کنید ، نام ما "EDO" است که با آدرس اتوبوس 1001000 یا 0x48h مطابقت دارد. و با مدارهای مثال ما از مقاومتهای کششی 10kΩ در گذرگاه I2C استفاده کرده ایم.
شما می توانید از ADS1110 به عنوان یک ADC تک پایان یا دیفرانسیل استفاده کنید-اما ابتدا باید ثبت پیکربندی را که برای کنترل ویژگی های مختلف و ثبت داده استفاده می شود ، مورد بررسی قرار دهیم.
مرحله 2: ثبت نام پیکربندی
به صفحه یازدهم برگه اطلاعات بروید. اندازه پیکربندی یک بایت است و با تنظیم مجدد ADS1110 در یک چرخه قدرت-اگر نیازهای شما با پیش فرض ها متفاوت است ، باید ریستور را ریست کنید. برگه اطلاعات آن را کاملاً منظم بیان می کند … بیت های 0 و 1 تنظیم سود را برای PGA (تقویت کننده افزایش برنامه ریزی) تعیین می کنند.
اگر فقط ولتاژها را اندازه گیری می کنید یا آزمایش می کنید ، برای افزایش 1 ولت/ولت آنها را صفر بگذارید. در مرحله بعد ، سرعت داده برای ADS1110 با بیت های 2 و 3 کنترل می شود. اگر نمونه برداری مداوم روشن باشد ، این تعداد نمونه های گرفته شده توسط ADC را در ثانیه تعیین می کند.
پس از آزمایش با Arduino Uno متوجه شدیم که مقادیر برگشتی از ADC هنگام استفاده از سریعترین نرخ کمی خاموش است ، بنابراین آن را به عنوان 15 SPS بگذارید مگر اینکه به طور دیگری نیاز باشد. بیت 4 نمونه گیری مداوم (0) یا نمونه گیری یکبار (1) را تنظیم می کند. بیت های 5 و 6 را نادیده بگیرید ، اما همیشه آنها 0 هستند.
سرانجام بیت 7-اگر در حالت نمونه گیری یکبار مصرف هستید ، تنظیم آن روی 1 نمونه را درخواست می کند-و خواندن آن به شما می گوید که داده های برگشتی جدید (0) یا قدیمی (1) هستند. می توانید بررسی کنید که مقدار اندازه گیری شده مقدار جدیدی است - اگر اولین بیت بایت پیکربندی که بعد از داده 0 می آید ، جدید است. اگر 1 برگرداند ، تبدیل ADC به پایان نرسیده است.
مرحله 3: ثبت داده ها
از آنجا که ADS1110 یک ADC 16 بیتی است ، داده ها را بیش از دو بایت برمی گرداند-و سپس با مقدار ثبت پیکربندی دنبال می شود. بنابراین اگر سه بایت درخواست کنید کل مقدار برمی گردد. داده ها در فرم "مکمل دو" هستند ، که روشی برای استفاده از اعداد امضا شده با باینری است.
تبدیل آن دو بایت توسط چند ریاضی ساده انجام می شود. هنگام نمونه برداری با 15 SPS ، مقدار برگشتی توسط ADS1110 (نه ولتاژ) بین -32768 و 32767 کاهش می یابد. بایت بیشتر مقدار در 256 ضرب می شود ، سپس به بایت پایین اضافه می شود -که سپس در 2.048 ضرب می شود و در نهایت تقسیم بر 32768. نگران نباشید ، زیرا ما این کار را در طرح بعدی انجام می دهیم.
مرحله 4: حالت ADC تک پایان
در این حالت می توانید ولتاژ بین صفر تا 2.048 ولت را بخوانید (که اتفاقاً ولتاژ مرجع داخلی ADS1110 نیز می باشد). مدار نمونه ساده است (از برگه داده).
مقاومت های کششی 10kΩ در گذرگاه I2C را فراموش نکنید. طرح زیر از ADS1110 در حالت پیش فرض استفاده می کند و به سادگی ولتاژ اندازه گیری شده را برمی گرداند:
// مثال 53.1 - ولت متر یک طرفه ADS1110 (0 ~ 2.048VDC) #شامل "Wire.h" #تعریف ولتاژ شناور 0x48 010 ، داده ها ؛ بایت highbyte ، lowbyte ، configRegister؛ void setup () {Serial.begin (9600)؛ Wire.begin ()؛ } void loop () {Wire.requestFrom (ads1110، 3)؛ while (Wire.available ()) // اطمینان حاصل کنید که همه داده ها وارد {highbyte = Wire.read ()؛ // بایت بالا * B11111111 lowbyte = Wire.read ()؛ // کم بایت configRegister = Wire.read ()؛ }
data = highbyte * 256؛
data = data + lowbyte؛ Serial.print ("Data >>") ؛ Serial.println (داده ها ، DEC) ؛ Serial.print ("ولتاژ >>") ؛ ولتاژ = داده * 2.048 ؛ ولتاژ = ولتاژ / 32768.0 ؛ Serial.print (ولتاژ ، DEC) ؛ Serial.println ("V") ؛ تاخیر (1000) ؛ }
مرحله 5:
پس از بارگذاری ، سیگنال را برای اندازه گیری و باز کردن مانیتور سریال متصل کنید - چیزی شبیه به تصویر مانیتور سریال نشان داده شده در این مرحله به شما نشان داده می شود.
اگر نیاز به افزایش تقویت کننده افزایش قابل برنامه ریزی داخلی ADC دارید - باید یک بایت جدید در ثبت پیکربندی با استفاده از موارد زیر بنویسید:
Wire.beginTransmission (ads1110) ؛ Wire.write (بایت پیکربندی) ؛ Wire.endTransmission ()؛
قبل از درخواست داده های ADC این مقدار 0x8D ، 0x8E یا 0x8F برای افزایش مقدار به ترتیب 2 ، 4 و 8 است - و از 0x8C برای بازنشانی ADS1110 به حالت پیش فرض استفاده کنید.
مرحله 6: حالت ADC تفاضلی
در این حالت می توانید تفاوت بین دو ولتاژ که هر کدام بین صفر تا 5 ولت افت می کنند را بخوانید. مثال مثال ساده است (از برگه اطلاعات).
در اینجا (و در برگه داده) باید توجه داشته باشیم که ADS1110 نمی تواند ولتاژ منفی را در هر یک از ورودی ها بپذیرد. برای نتایج مشابه می توانید از طرح قبلی استفاده کنید- و ولتاژ حاصله مقدار Vin خواهد بود که از Vin+کم می شود. به عنوان مثال ، اگر 2 ولت روی Vin+ و 1 ولت روی وین داشته باشید ، ولتاژ حاصل 1 ولت (با افزایش روی 1) خواهد بود.
بار دیگر امیدواریم این مورد برای شما جالب بوده و احتمالاً مفید بوده است. این پست توسط pmdway.com برای شما ارسال شده است - همه چیز برای سازندگان و علاقه مندان به لوازم الکترونیکی ، با ارسال رایگان در سراسر جهان.
توصیه شده:
نانو پیکسل 26 بیتی با استفاده از آردوینو: 4 مرحله
نانو پیکسل 26 بیتی با استفاده از آردوینو: در مقاله قبلی من ، آموزشی در مورد نحوه استفاده از LED WS2812 نانو پیکسل تهیه کردم. در آن مقاله ، من از نانو پیکسل WS2812 با حلقه 16 بیتی استفاده کردم. و در این مقاله ، نحوه استفاده از حلقه 26 بیتی Nano Pixels WS2812 را به شما نشان خواهم داد. در بخش سخت افزار ،
شمارنده دودویی 8 بیتی آردوینو: 6 مرحله
شمارنده باینری 8 بیتی آردوینو: تعداد وانت 8 بیتی آردوینو از 0 تا 255. این پروژه یک شمارنده با 8 LED برای اتصال به پین آردوینو 5 ، 3 ، 4 ، 7 ، 10 ، 11 ، 12 و آمپر است. 13 به طوری که با ایجاد کد از صفر تا 255 از راست به چپ شمارش می شود
بازی 8 بیتی آردوینو: 4 مرحله
بازی 8 بیتی آردوینو: سلام بچه ها! این یک آموزش ساده در مورد نحوه ایجاد تنظیمات بازی 8 بیتی با استفاده از آردوینو خواهد بود
DIY MusiLED ، LED های هماهنگ موسیقی با یک کلیک Windows & Linux برنامه (32 بیتی و 64 بیتی). بازآفرینی آسان ، استفاده آسان ، حمل آسان: 3 مرحله
DIY MusiLED ، LED های هماهنگ موسیقی با یک کلیک Windows & Linux برنامه (32 بیتی و 64 بیتی). آسان برای ایجاد مجدد ، آسان برای استفاده ، آسان برای انتقال: این پروژه به شما کمک می کند تا 18 LED (6 قرمز + 6 آبی + 6 زرد) را به برد Arduino خود متصل کرده و سیگنال های زمان واقعی کارت صدا رایانه خود را تجزیه و تحلیل کرده و آنها را به چراغ های LED برای روشن کردن آنها مطابق با جلوه های ضرب (Snare ، High Hat ، Kick)
ارزان ترین آردوینو -- کوچکترین آردوینو -- آردوینو پرو مینی -- برنامه نویسی -- آردوینو ننو: 6 مرحله (همراه با تصاویر)
ارزان ترین آردوینو || کوچکترین آردوینو || آردوینو پرو مینی || برنامه نویسی || آردوینو ننو: …………………………. لطفاً برای ویدیوهای بیشتر به کانال YouTube من مشترک شوید ……. .این پروژه در مورد نحوه ارتباط با کوچکترین و ارزانترین آردوینو است. کوچکترین و ارزان ترین آردوینو arduino pro mini است. شبیه آردوینو