طراحی درایور موتور براشلس

اصفهان درایو در شبکه های اجتماعی

تشخیص خرابی(ناهنجاری) موتور با هوش مصنوعی(TinyML) در STM32- نگهداری پیش بین(Predictive Maintenance و Anomaly Detection)

نگهداری پیش‌بین (Predictive Maintenance) یکی از ارکان اصلی صنعت است که به واسطه آن می‌توان خرابی تجهیزات مکانیکی و الکتریکی را پیش از وقوع، پیش‌بینی کرد. در حوزه درایورهای موتور، تشخیص زودهنگام فرسودگی بلبرینگ‌ها یا عدم تقارن روتور می‌تواند از توقف خطوط تولید و خسارات مالی سنگین جلوگیری کند.

 

تشخیص خرابی(ناهنجاری) موتور با هوش مصنوعی(TinyML) در STM32- نگهداری پیش بین(Predictive Maintenance و Anomaly Detection)


ورود به دنیای هوش مصنوعی برای توسعه‌دهندگان سیستم‌های نهفته (Embedded Systems) معمولاً با یک سد بزرگ همراه است: کمبود تخصص در علم داده (Data Science) و محدودیت‌های شدید حافظه رم در میکروکنترلرها. اما با ظهور مفاهیم TinyML و ابزارهایی نظیر NanoEdge AI Studio، این معادله کاملاً تغییر کرده است.


معماری یک پروژه صنعتی: از شبیه‌سازی تا استنتاج در لبه


در پروژه‌ای که اخیراً توسعه داده شده است، یک سیستم کاملِ تشخیص ناهنجاری (Anomaly Detection) مبتنی بر میکروکنترلرهای سری STM32L4 و معماری ARM Cortex-M4 طراحی شده است. این سیستم به جای ارسال داده‌های حجیم جریان موتور به سرورهای ابری، کل فرآیند پردازش و تصمیم‌گیری را به صورت محلی (On-Edge) انجام می‌دهد.
از نظر مهندسی نرم‌افزار، در این معماری به هیچ‌وجه از توابع مسدودکننده (Blocking) استفاده نشده است. روند کار به این شکل مهندسی شده است:

 

تشخیص خرابی(ناهنجاری) موتور با هوش مصنوعی(TinyML) در STM32- نگهداری پیش بین(Predictive Maintenance و Anomaly Detection)

 

 

تشخیص خرابی(ناهنجاری) موتور با هوش مصنوعی(TinyML) در STM32- نگهداری پیش بین(Predictive Maintenance و Anomaly Detection)


شبیه‌سازی سخت‌افزاری: سیگنال جریان فاز موتور و هارمونیک‌های فرکانس بالای ناشی از خرابی بلبرینگ (هارمونیک هفتم، ۳۵۰ هرتز)، با استفاده از مبدل DAC و تایمر سخت‌افزاری تولید می‌شوند.


نمونه‌برداری ناهمگام (Non-Blocking): واحد ADC با فرکانس دقیق ۲ کیلوهرتز توسط تایمر تحریک شده و انتقال داده‌ها به بافر حافظه منحصراً توسط کنترلر DMA انجام می‌پذیرد؛ در نتیجه پردازنده مرکزی کاملاً آزاد می‌ماند.

استنتاج فوق‌سریع: داده‌های بافر پس از تبدیل شدن به اعداد اعشاری توسط واحد ممیز شناور (FPU)، به کتابخانه هوش مصنوعی تحویل داده می‌شوند. زمان اجرای شبکه عصبی ZSM برای هر پنجره داده تنها ۰.۵ میلی‌ثانیه است و کمتر از ۳ کیلوبایت رم اشغال می‌کند.


یادگیری مستمر (Continual Learning): برای غلبه بر چالش «تغییر فاز محیطی» (Domain Shift) ناشی از دقت بالای DMA نسبت به فاز دیتالاگینگ، میکروکنترلر در ۳۰ سیکل ابتدایی پس از راه‌اندازی، شبکه عصبی خود را با سخت‌افزار فیزیکی کالیبره کرده و سپس وارد فاز تشخیص قطعی می‌شود.

مانیتورینگ بلادرنگ: نتایج پردازش شامل وضعیت سلامت موتور، درصد شباهت و داده‌های خام آنالوگ از طریق یک پروتکل باینریِ مبتنی بر UART DMA به یک داشبورد SCADA در زبان پایتون ارسال می‌شوند تا تبدیل فوریه (FFT) و شکل موج به صورت زنده نمایش داده شود.


آموزش ویدیویی و بررسی خط‌به‌خط پروژه


برای درک عمیق‌تر این معماری و مشاهده نحوه پیکربندی رجیسترها، تنظیمات DMA، تولید کتابخانه شبکه عصبی و راه‌اندازی داشبورد پایتون، یک آموزش ویدیویی جامع آماده شده است. در این ویدیو، مسیر تبدیل یک ایده تئوری به یک سیستم نهفته کاملاً عملیاتی قدم‌به‌قدم بررسی می‌شود.


تماشای آموزش ویدیویی در یوتیوب:

آموزش پیاده‌سازی هوش مصنوعی با STM32 | تشخیص خرابی موتور و نگهداری پیش‌بین
 

سورس‌کد متن‌باز (Open-Source):

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

لینک ریپازیتوری در GitHub
---
نگارش: محمد حسینی | اصفهان درایو

 

با اصفهان درایو همراه باشید!

۰
از ۵
۰ مشارکت کننده

نوشته های اخیر

دسته بندی ها

بلاگ تخصصی اصفهان درایو

  • ​جدیدترین محصولات اصفهان درایو

  • پنل و درایور کولرهای آبی براشلس BLDC

  • استپر موتور استوک

  • دوره آموزشی کاربردی TinyML: پردازش صوت و تشخیص کلمه کلیدی با STM32​​​​​​​