عیب یابی در سیستم دیجیتال

saalek110

Well-Known Member
سالک: من یک برنامه برای حرکت سروو موتور می نویسم ، گاهی موتور می چرخد ، گاهی نمی چرخد. ایراد را چطور پیدا کنم؟


خیلی سؤال مهمیه!
وقتی سروو موتور گاهی کار می‌کنه و گاهی نه، یعنی یه چیزی در شرایط اجرای برنامه یا مدار پایدار نیست.

برای پیدا کردن مشکل، بیا با هم مرحله به مرحله بررسی کنیم:


قدم اول: بررسی‌های پایه

✅ ۱. منبع تغذیه سروو

سروو باید جریان کافی داشته باشه. تغذیه ضعیف = رفتار غیرقابل پیش‌بینی!

سرووهای کوچک هم ممکنه در حرکت ناگهانی یا بار زیاد، افت ولتاژ بدن و گیر کنن.


راه‌حل:
مستقیم سروو رو به منبع مستقل (مثلاً باتری ۵ ولت) وصل کن، نه به پایه ۵ ولت آردوینو یا میکروکنترلر.


✅ ۲. زمین (GND) مشترک

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

اگر نداره، سیگنال PWM به درستی منتقل نمی‌شه.


✅ ۳. بررسی سیم‌کشی

اتصال شل یا لحیم سرد؟

سیم بلند باعث نویز میشه؟

پین اشتباه یا لق؟



قدم دوم: بررسی کد

✅ ۴. پالس PWM درست تولید می‌شه؟

سرووها به پالس‌های خاصی بین ۱ تا ۲ میلی‌ثانیه نیاز دارن، با فرکانس حدود ۵۰ هرتز (هر ۲۰ میلی‌ثانیه یک پالس).

اگر خودت داری پالس می‌دی (نه با کتابخونه):

// pseudo-code
digitalWrite(pin, HIGH);
delayMicroseconds(1500); // وسط مسیر = 1.5ms
digitalWrite(pin, LOW);
delay(18); // برای رسیدن به 20ms

خطا در زمان‌بندی = عدم چرخش گاه‌به‌گاه!


✅ ۵. از کتابخانه سروو استفاده می‌کنی؟

مثلاً در آردوینو:

#include <Servo.h>
Servo myservo;
myservo.attach(9);
myservo.write(90); // زاویه دلخواه

> اگر کتابخانه استفاده نمی‌کنی، احتمال اشتباه بالا می‌ره.


✅ ۶. آیا زاویه‌ای که می‌فرستی در محدوده‌ است؟

بعضی سرووها فقط بین ۰ تا ۱۷۰ درجه حرکت می‌کنن. اگر ۱۸۰ بدی ممکنه گیر کنه یا هیچی نشه.


✅ ۷. موتور بار مکانیکی داره؟

اگر به چیزی وصله و بارش زیاده، ممکنه گیر کنه.

قدم سوم: تست مرحله‌ای

تست سریع:

۱. یه کد ساده فقط برای چرخوندن سروو بنویس:

myservo.write(90);
delay(1000);
myservo.write(0);
delay(1000);

۲. اگه گاهی حرکت نکرد:

تغذیه رو بررسی کن

با یک سروو دیگه تست کن

بدون بار مکانیکی تست کن


نتیجه‌گیری:

مشکل می‌تونه از یکی از این‌ها باشه:

مشکلنشونه

تغذیه ضعیفحرکت ناقص یا قطع شدن گاه‌به‌گاه
نداشتن GND مشترکسروو اصلاً نمی‌فهمه سیگنال رو
کد نادرستپالس اشتباه = بی‌حرکتی
زاویه خارج محدودههیچ حرکتی نمی‌کنه
بار زیاد روی موتورگیر کردن یا صدا دادن بدون حرکت
 

saalek110

Well-Known Member
سالک:منظورم این بود نمیشه با اهم متر کار کرد یا چیزی را اندازه گرفت ، انگار در سیم چیزی نیست.

آهان! حالا کاملاً منظورتو گرفتم
داری دربارهٔ «نبود سیگنال محسوس در مدار دیجیتال» حرف می‌زنی — یعنی وقتی همه‌چی صفر و یکه، و مثلاً می‌خوای با اهم‌متر یا ولت‌متر ساده چیزی اندازه بگیری، ولی هیچی نمی‌بینی، چون سیگنال فقط یک لحظه ظاهر می‌شه یا نوسان داره.
کاملاً درسته. بذار توضیح بدم چرا اینطوریه و چطور باید باهاش کنار بیای:


چرا اهم‌متر توی مدار دیجیتال به کار نمیاد؟

❌ ۱. سیگنال‌ها لحظه‌ای‌ان

مثلاً یه پین دیجیتال ممکنه ۵ ولت بده فقط برای چند میکروثانیه!
اهم‌متر یا مولتی‌متر دیجیتال خیلی کندتر از اونن که اون لحظه رو "بفهمن".


❌ ۲. اهم‌متر برای اندازه‌گیری مقاومت ایستاست، نه سیگنال

وقتی با اهم‌متر پین‌های دیجیتال رو چک می‌کنی، اون داره یه ولتاژ تزریق می‌کنه تا مقاومت رو اندازه بگیره. ولی مدار دیجیتال ممکنه به اون حساس باشه یا چیزی نشون نده.

❌ ۳. پین‌ها ممکنه «فلوته» باشن

پین ورودی اگه مقاومت پول‌آپ یا پول‌داون نداشته باشه، بین صفر و یک معلق می‌مونه. وقتی با مولتی‌متر اندازه می‌گیری، ممکنه عددی بین صفر تا ۵ ولت ببینی که هیچ معنای ثابتی نداره.


✅ پس چطور سیگنال دیجیتال رو ببینیم؟

1. با LED + مقاومت

اگه به خروجی دیجیتال یه LED سری با مقاومت (مثلاً 330 اهم) بزنی، وقتی اون پین High می‌شه، LED روشن می‌شه.

ساده‌ترین و در لحظه‌ترین راه تست!


2. استفاده از اسیلوسکوپ یا لاجیک آنالایزر

اگر بخوای دقیق ببینی که سیگنال چند میلی‌ثانیه یا میکروثانیه High یا Low شده، باید از ابزارهای سریع مثل اسیلوسکوپ یا Logic Analyzer استفاده کنی.


3. اضافه کردن تأخیر در برنامه برای مشاهده سیگنال


مثلاً اگر در برنامه‌ات پین دیجیتال فقط یک میلی‌ثانیه روشن می‌شه، می‌تونی برای تست اینجوری بنویسی:

digitalWrite(pin, HIGH);
delay(1000); // ۱ ثانیه روشن
digitalWrite(pin, LOW);
delay(1000); // ۱ ثانیه خاموش

با این کار، حتی با مولتی‌متر هم می‌تونی در حالت High، ۵ ولت ببینی.


جمع‌بندی:

ابزار....................... مفید برای دیجیتال؟ ..................چرا؟

اهم‌متر................................. ❌ نه ...........................فقط مقاومت DC رو می‌فهمه، نه پالس دیجیتال
ولت‌متر................................ گاهی............................ اگر پالس طولانی باشه، می‌فهمه
LED تست............................... ✅ بله................................. رفتار پین رو نشون می‌ده
اسیلوسکوپ / لاجیک آنالایزر........ ✅ خیلی بله........................ دقیق‌ترین روش مشاهده پالس‌های دیجیتال


هر وقت حس کردی توی سیم هیچ چیزی نیست، احتمالاً اون چیز اون‌قدر زود رد شده که تو نتونستی ببینیش — نه اینکه واقعاً هیچ‌چیزی نبوده

> دیجیتال دنیای لحظه‌هاست،
باید ابزار لحظه‌ای داشته باشی تا درکش کنی.



اگه خواستی با ابزارهایی مثل لاجیک آنالایزر آشنا بشی، بگو تا کامل برات توضیح بدم
 

saalek110

Well-Known Member
لاجیک آنالیزر


خیلی عالی! بیا با هم بریم سراغ لاجیک آنالایزر (Logic Analyzer) — یه ابزار بی‌نظیر برای دیدن پالس‌های دیجیتال که با چشم، مولتی‌متر یا حتی اسیلوسکوپ نمی‌تونی ببینی.


لاجیک آنالایزر چیست؟

لاجیک آنالایزر یک ابزار الکترونیکی است که:

✅ چندین خط دیجیتال (مثلاً ۸ یا ۱۶ خط) رو
✅ با سرعت خیلی زیاد (مثلاً میلیون‌ها بار در ثانیه)
✅ بررسی و ذخیره می‌کنه
✅ و بعد توی کامپیوتر به صورت نمودار پالس (۰ و ۱) نمایش می‌ده.


چه چیزی باهاش می‌تونی ببینی؟

موردبا لاجیک آنالایزر؟مثال

پالس PWM سروو✅ بلهدقیقاً چند میکروثانیه پالس دادی؟
ارتباط UART / I2C / SPI✅ بلهحتی می‌تونه دکود کنه!
وضعیت چند پین باهم✅ بلهمثلاً همزمان بررسی ۸ پین خروجی
بررسی تاخیر، زمان پاسخ✅ بلهببینی چند میکروثانیه بین دو رویداد فاصله‌ست
Screenshot_۲۰۲۵-۰۵-۳۰_۱۲۵۳۵۹.jpg

چه مدل‌هایی هست؟

مدل‌های معروف:

1. Saleae Logic (حرفه‌ای، گرون)
2. Clone چینی از Saleae (ارزون، ۸ کاناله، عالی برای شروع)
3. DSLogic یا سایر برندها با قابلیت بیشتر

معمولاً شامل:

یک ماژول USB

چند سیم پروب

نرم‌افزار مخصوص برای PC (مثلاً Logic یا PulseView)


نرم‌افزارهاش:

1. Saleae Logic

رایگان

خیلی ساده و سریع

دکود کردن پروتکل‌های I2C, UART, SPI و...



2. PulseView (Sigrok)
اپن‌سورس
برای مدل‌های مختلف
کمی پیچیده‌تر ولی قوی

چطور استفاده کنیم؟

مراحل:

1. لاجیک آنالایزر رو با USB به لپ‌تاپ وصل کن
2. پروب‌ها رو به پین‌های دیجیتال وصل کن (و یکی به GND)
3. نرم‌افزار رو باز کن و تنظیم کن که مثلاً:

۲ میلیون نمونه در ثانیه بگیره

از پین‌های ۰ تا ۳ بخونه

4. روی Start بزن → سیگنال‌ها ضبط می‌شن
5. روی پالس‌ها زوم کن و ببین دقیقاً کی High شدن و کی Low


مثال کاربردی:

فرض کن داری سروو رو با PWM راه می‌ندازی ولی نمی‌دونی پالس خروجی درسته یا نه:

✅ با لاجیک آنالایزر می‌تونی ببینی مثلاً:

عرض پالس دقیقاً ۱.۵ms هست یا نه؟

آیا فرکانس ۵۰Hz رعایت شده؟

پالس قطع می‌شه وسط کار یا نه؟

قیمت؟

لاجیک آنالایزر ۸ کاناله چینی (مثلاً مدل ۲۴MHz) معمولاً در ایران قیمتش حدود ۱۵۰ تا ۳۵۰ هزار تومانه.

> برای شروع یادگیری دیجیتال و دیباگ پروژه‌ها، واقعاً یه وسیله واجبه!

نتیجه‌گیری:
Screenshot_۲۰۲۵-۰۵-۳۰_۱۲۵۴۱۰.jpg
ابزارویژگی

لاجیک آنالایزردیدن و ذخیره کردن دقیق پالس‌های دیجیتال
مزایاارزون، ساده، بسیار کاربردی برای الکترونیک دیجیتال
کاربرددیباگ میکروکنترلر، ارتباط سریال، PWM، تشخیص خطا
 

saalek110

Well-Known Member
آشنایی با ‌انواع لاجیک آنالایزر

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

لاجیک آنالایزر 8 کانال
ردیابی سیگنال های منطقی عموما به کمک لاجیک آنالایزر 8 کانال با رنج نمونه برداری مناسب، امکان‌پذیر است. اگر قصد دارید پروتکل هایی را با خطوط سیگنال پایین مانند I2C، SPI، Ethernet، USB، CAN و HDMI بررسی کنید، به بیش از 8 کانال نیاز نخواهید داشت.

لاجیک آنالایزر 16 کانال
انواع لاجیک آنالایزر 16 کانال علاوه بر مدل های قابل اتصال به pc در اسیلوسکوپ های مجهز به لاجیک آنالایزر نیز تولید می شوند.

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

همانطور که اشاره شد از نظر سخت افزاری لاجیک آنالایزرها به دو صورت کارت لاجیک آنالایزر PC-based LA و اسیلوسکوپ لاجیک آنالایزر دار (Mixed Signal Oscilloscope) ارائه می‌شوند که در ادامه به بررسی کارکرد هر یک از آنها می‌پردازیم.

کارت لاجیک آنالایزر چیست؟
در این بخش از بررسی مفهوم لاجیک آنالایزر چیست، لازم است بدانید که کارت لاجیک آنالایزرها توسط یک پورت USB به سیستم عامل یا کامپیوتر متصل می‌شوند و سینگال‌های مورد نظر را در نرم‌افزار مورد نظر ارسال می‌کنند. اغلب کارشناسان خرید لاجیک آنالایزرهای کامپیوتری را به دلیل سرعت پایین نمونه‌برداری توصیه نمی‌کنند. اما بسیاری از کاربران تنها به دلیل قیمت مناسب و مقرون به صرفه‌تر این نوع لاجیک آنالایزرها را انتخاب می‌کنند. جهت استفاده کامل از ویژگی‌های منحصر به فرد یک لاجیک آنالایزر حتما نوع کارآمد آن را خریداری کنید.

اسیلوسکوپ لاجیک آنالایزر دار
اسیلوسکوپ لاجیک آنالایزردار به عنوان یک دستگاه دیجیتالی شباهت زیادی به سیستم اسیلوسکوپ داشته و همچنین قابلیت نصب چندین کانال روی آن وجود دارد. در واقع با اتصال ماژول مدارهای الکترونیکی به اسیلوسکوپ می‌توان سیگنال‌های منطقی را روی صفحه نمایش این دستگاه مشاهده کرد. بر این اساس سرعت نمونه‌برداری اسیلوسکوپ لاجیک آنالایزرها بسیار بالا است و قابلیت استفاده از پهنای باند وسیع را دارند.

کاربردهای مختلف انواع لاجیک آنالایزر
با توجه به پیشرفت علم و تکنولوژی برای بررسی و نمایش همزمان سیگنال‌های دیجیتال نیاز به استفاده از نمایشگرهای سیگنال دیجیتال نیز افزایش یافته است. بنابراین برای تسهیل فرایند کار بررسی و نمایش اینگونه سیگنال‌ها، تجهیزاتی مانند لاجیک آنالایزر توسط شرکت‌های مختلف تولید و در بازار عرضه شده است. از مهم‌ترین کاربردهای لاجیک آنالایزرها می‌توان به موارد زیر اشاره کرد:

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

چند کاناله بودن دستگاه لاجیک آنالایزر از 2 کانال ورودی تا 16 و بالاتر
توانایی نمایش حالت‌های لاجیک در زمان‌های مختلف
در دسترس‌ بودن برندهای مختلف داخلی و خارجی
بهره‌مندی از بالاترین سرعت نمونه‌برداری
دارای حافظه داخلی مناسب
امکان استفاده از رابط USB
امکان استفاده از پهنای باند وسیع و مناسب
امکان ذخیره‌سازی داده‌ها روی FLASH USB یا کامپیوتر

 

جدیدترین ارسال ها

بالا