آردوینو سخت افزار مدارهای الکترونیک

عدم نویز پذیری آردوینو و مزایای انتخاب آن در پروژه‌های سخت افزاری صنعتی

نوشته شده توسط معین صابری

از پدید آمدن پلتفرم سخت افزاری آردویینو، حدود ۱۷ سال می گذرد. شاید زمانیکه در سال ۲۰۰۳ سه دانشجوی برق، ساخت یک پلتفرم سخت افزاری که همه، بدون درگیر شدن با پیچیدگی های طراحی مدارهای الکترونیکی بتوانند وارد دنیای برق شوند را به عنوان پایان نامه خود انتخاب کردند، هیچگاه تصور این که روزی پلتفرم آن ها به یکی از ترندهای اصلی دنیای الکترونیک بدل شده و در اکثر پروژه ها، مخصوصا پروژهای صنعتی از آردویینو استفاده شود و یا کاربرد آردوینو در صنعت را از ذهن خود عبور نمی دادند. پلتفرم آردویینو که امروزه یکی از ابزارهای مهم در طراحی پروژهای الکترونیک به شمار می رود، بر خلاف تصور غلط عده ای، یکی از گزینه های اصلی طراحی سیستم های مبتنی بر میکروکنترلر (Embedded Systems) به شمار می رود. گستره کاری آردویینو به قدری وسیع شده که حتی می توان در طراحی PLC ها، نظیر پلتفرمی به نام کنترولینو، این برد جادویی را مشاهده کرد. به هرحال، چه عده ای قبول داشته باشند یا خیر، آردویینو بر خلاف تصور غلط آن ها، نه تنها در پروژه های ساده و آموزشی، بلکه در پروژهای تجاری و صنعتی، به طور روزافزون در حال استفاده است. در این نوشتار، به طور اجمالی به این پلتفرم و فواید کار در آن برای پروژه های مختلف، خواهیم پرداخت. در ادامه، با مرجع آموزش‌های DIY به زبان فارسی، دیجی اسپارک همراه باشید.

 


نگاهی اجمالی به آردویینو


پلتفرم آردویینو، یک پلتفرم نرم افزاری/سخت افزاری است که روند توسعه پروژه را به شدت تسریع می دهد. در قسمت نرم افزار می توان به وجود کتابخانه های بی شمار برای سنسورها و ماژول های مختلف برای اتصال به آردویینو، برنامه ریزی ساده به لطف وجود بوت لودر، محیط برنامه نویسی(IDE) کاربر پسند که قابلیت دانلود و نصب کتابخانه ها درون آن وجود دارد، اشاره نمود. در زیر تصویری از محیط برنامه نویسی آردویینو را مشاهده می نمایید:

نرم افزار آردوینو Arduino IDE - دیجی اسپارک

 

در قسمت سخت افزار، بردهای مختلف نظیر آردویینو uno، پرو، مگا و…. تولید شده اند که به سادگی و به لطف وجود کریستال برای واحد کلاک میکروکنترلر، بدون نیاز به مدار جانبی و تنها با اتصال به جریان برق، شروع به کار خواهد نمود. در زیر، تصویری از آردویینو uno که یکی از پرکاربردترین برد آردویینو به شمار میرود را مشاهده می نمایید.

برد آردوینو Arduino در صنعت و آموزش - دیجی اسپارک

با توجه به تصویر فوق، مشاهده می شود که پایه های GPIO به صورت استاندارد و از طریق پین هدر، قابل دسترسی هستند. از طرفی دیگر، وجود کریستال برای میکروکنترلر، راه اندازی آن را ساده و قابل اعتماد نموده است. همچنین، این برد، با اتصال کابل به رایانه، بدون نیاز به آداپتور اضافی، راه اندازی شده و از طریق همان کابل قابل برنامه ریزی خواهد بود. با توجه به رگولاتورهای به کار رفته بر روی برد آردویینو، به سادگی با یک آداپتور با ولتاژ بین ۷ الی ۱۲ ولت، آردویینو  قابل راه اندازی خواهد بود. حتی به لطف وجود یک رگولاتور ۵V و ۳٫۳V بر روی این برد، شما می توانید بدون نیاز به رگولاتور اضافی، سنسور و ماژول های مختلف نظیر سنسور دما، رطوبت، ماژول GPS و… که اکثرا با ولتاژهای بین ۳٫۳ الی ۵ ولت کار میکنند را به کمک رگولاتور موجود بر روی برد آردویینو به سادگی تغذیه نمایید.

 


آردوینو انتخاب آموزشی یا صنعتی


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

کنترولینو: مجموعه دیوایس های PLC با قابلیت اتصال به اردویینو

برد صنعتی کنترلینو برپایه آردوینو مگا2560 - دیجی اسپارک

کنترلر بی سیم صنعتی که هسته پردازشی آن رزبری پای و خطوط دیتا (I/O) آن با آردویینو طراحی شده است:

برد صنعتی کنترل بیسیم برپایه آردوینو Arduino - دیجی اسپارک

کنترلرهای صنعتی با هسته آردویینو:

برد PLC صنعتی بر پایه برد آردوینو Arduino - دیجی اسپارک

و بالاخره، آردویینو صنعتی، توسط خود شرکت آردویینو:

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

آردویینو آموزشی و غیر صنعتی است، منبع: وب سایت آردویینو!

همانطور که بیان شد، یکی از استدلال های افراد معتقد به آموزشی و غیر صنعتی بودن آردویینو، که در بسیاری از وب سایت ها رواج یافته است، استناد به متنی با عنوان زیر است:

an easy tool for fast prototyping, aimed at students without a background in electronics and programming

ترجمه عبارت فوق به فارسی چنین است:

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

در ادامه جمله فوق، عبارت زیر می آید که دوستان مخالف آردویینو، آن را به هر دلیلی، نخوانده و یا نمی خواهند بخوانند:

As soon as it reached a wider community, the Arduino board started changing to adapt to new needs and challenges, differentiating its offer from simple 8-bit boards to products for IoT applications, wearable, 3D printing, and embedded environments.

ترجمه عبارت فوق، چنین است:

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

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

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

 


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


۱- حلقه های تکرار بی نهایت: در برخی از موارد، دلیل هنگ برنامه، قرار گرفتن در یک حلقه تکرار بی نهایت است، اینکه برنامه نویس متغیری که مسئول کنترل خروج از حلقه است را در جایی دستگاری نموده و این مورد را فراموش کرده و به دنبال آن، برنامه درون حلقه تکرار بی نهایت قرار گرفته است.

مشکلات برنامه نویسی و حلقه‌های تکرار شونده - دیجی اسپارک

۲- عدم استفاده از متغیر volatile: معمولا کامپایلرها مدی به نام بهینه سازی دارند که در صورتیکه این مد فعال شود، متغیرهای بلا استفاده را پاک خواهند کرد، در صورتیکه متغیری دارید که مقدار آن درون روتین وقفه تغییر می کند، جهت جلوگیری از این موضوع،پیش از تعریف آن از کلمه کلیدی volatile استفاده نمایید.

۳- عدم بازگردانی متغیرهای دریافتی از سیستم(memory leak): در روش های تخصیص حافظه، روشی به نام تخصیص حافظه پویا (dynamic allocation memory) وجود دارد. این روش در حین اجرای برنامه، حافظه ای را از سیستم به کمک دستور new دریافت می نماید. آنچه که مسلم است، پس از دریافت حافظه از سیستم در این روش، می بایست آن را به سیستم با دستور delete برگردانیم. در صورتیکه چنین ننماییم، با توجه به اینکه برنامه در حال اجراست، تعداد زیادی حافظه از سیستم دریافت شده و بعد از چند دقیقه به دلیل اشغال تمام حجم حافظه و عدم بازگردانی آن، سیستم دچار crash شده و اجرای برنامه متوقف خواهد شد، این موضوع از آنچنان اهمیتی برخوردار است که وب سایت adafruit، فعال در زمینه بردهای الکترونیکی نیز در تصویر زیر به آن پرداخته است:

روش تخصیص حافظه dynamic allocation memory در برنامه نویسی آردوینو - دیجی اسپارک

۴- عدم توجه به حجم برنامه: همانطور که اطلاع دارید، برنامه های نوشته شده توسط برنامه نویس بر روی حافظه flash میکروکنترلر آردویینو (AVR)، ذخیره می گردد، در صورتیکه حجم برنامه وارد محدوده غیر مجاز شود، کامپایلر آردویینو این موضوع را مطابق تصویر زیر هشدار خواهد داد، حال اگر طراح سیستم به این هشدار بی اعتنا بوده و یا در حالت بدتر، برنامه تولید شده بیش از حجم حافظه در دسترس باشد، بدیهی و طبیعی است که عملکرد برنامه، پایدار، صحیح و مطمئن نخواهد بود.

حجم برنامه نویسی برد آردوینو Arduino - دیجی اسپارک

 

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

عدم تعیین زمان در حلقه های بینهایت برنامه نویسی آردوینو Arduino - دیجی اسپارک

 

۶- عدم توجه به معماری خاص نرم افزاری پردازنده های ESP8266: همانطور که اطلاع دارید، ماژول های وای فای ESP8266، در کنار اتصال به شبکه و اینترنت، این قابلیت را دارند تا برنامه ریزی نیز، شوند. یکی از کامپایلرهای محبوب و کاربردی در این زمینه، محیط برنامه نویسی آردویینو است. به کمک این کامپایلر، بدون هیچ تغییری در برنامه نویسی و یا نیاز به یادگیری زبان جدید، می توانید به سادگی این برد را همانند یک برد آردویینو، پروگرام نمایید. اما نکته بسیار مهم در رابطه با معماری نرم افزاری این پردازنده است. بر روی ماژول های ESP8266، یک سیستم عامل به نام FREE RTOS وجود دارد که وظیفه کنترل وظایف (TASK) برنامه نوشته شده توسط برنامه نویس و عملیات شبکه ای را بر عهده دارد. یکی از مهم ترین مسایلی که برنامه نویسان در هنگام کار با این ماژول می بایست در نظر بگیرند، حلقه های تکرار بی نهایت است. از آنجاییکه این سیستم عامل در حال رسیدگی  به کدهای برنامه نویس و کنترل وضعیت شبکه ای است، در صورتیکه یک حلقه تکرار بی نهایت با زمان بالا در کد خود قرار دهید، برنامه همانجا متوقف شده و سیستم عامل دیگر نمی تواند به وظایف شبکه ای خود رسیدگی کند، در نهایت این موضوع سبب crash کردن پردازنده ESP8266 و توقف اجرای برنامه خواهد شد. در این مواقع، می بایست از تابع ()yield در حلقه خود استفاده نمایید؛ این تابع به شما کمک می کند تا حین قرار گرفتن در حلقه تکرار، سیستم عامل بتواند فرصت سوییچ به وظایف شبکه ای خود را پیدا کرده و در نتیجه از carsh  شدن برنامه، جلوگیری می نماید. البته شما می توانید با قراردادن تابع delay نیز این فرصت را به سیستم عامل دهید، اما بهینه ترین حالت(از نظر تاخیر زمانی) استفاده از همین تابع yield است. در صورتیکه از کتابخانه های آردویینو برای این ماژول، نظیر کتابخانه صفحه کلید استفاده می نمایید، حتما به سراغ سورس کدهای کتابخانه رفته و درصورت مشاهده حلقه تکرار بی نهایت، این موضوع را در کتابخانه، مد نظر قرار دهید، چراکه عدم توجه به این موضوع، سبب مرگ سیستم طراحی شده خواهد شد.

 

 


مشکلات سخت افزاری و تاثیر آن در آردویینو


۱- عدم  ایزولاسیون صحیح مابین مدار فرمان و مدار قدرت: در مدار های کنترل رله، یکی از مشکلات  رایج، هنگ کردن آردویینو پس از فرمان به رله است، دلیل این امر را می توان در نویز الکترومغناطیسی حاصل از اتصال مابین کنتاکت های رله جستجو کرد. برای حل و رفع این مشکل، می بایست واحد فرمان به رله(آردویینو) به طور کامل از واحد قدرت(رله) جداسازی و یا ایزوله گردد؛ روش مفید و کاربردی برای این موضوع، استفاده از قطعه ای به نام اپتوکوپلر است. به کمک این قطعه، جریان الکتریکی نه از طریق سیم(یا مسیر ترک فیبر مدار چاپی) که خود یک آنتن و تقویت کننده نویز، که از طریق نور انتقال پیدا خواهد کرد. بنابراین، اثر نویز و عدم عملکرد صحیح آردویینو، که به نظر می رسد اولین تاثیر مخرب این نویز بر روی مدار کلاک میکروکنترلر خواهد بود، از بین خواهد رفت.

استفاده از اپتوکوپلر برای جلوگیری از نویز پذیری سخت افزاری آردوینو در صنعت - دیجی اسپارک

 

۲- عدم توجه به سطح ولتاژ منطقی در ورودی آردویینو: این مورد، یکی از شایع ترین ایرادات در حین کار با برد آردویینو با هسته AVR است. همانطور که اطلاع دارید، ورودی های دیجیتال آردویینو و یا به طور کلی هر میکروکنترلر دیگر، صفر و یا یک منطقی را به عنوان ورودی می پذیرند. از طرفی دیگر، با توجه به مباحث پایه ای در زمینه الکترونیک دیجیتال، صفر و یک منطقی، دارای محدوده ولتاژی هستند. به عبارت دیگر، ۱ منطقی، یک بازه ولتاژ و صفر منطقی نیز بازه ولتاژی مخصوص به خود را دارد. با توجه به دیتاشیت میکروکنترلر ATMEGA328P که هسته آردویینو uno به شمار رفته و از طرفی دیگر برد آردویینو uno تغذیه ۵ ولت را برای خود انتخاب کرده است، حدود ولتاژ برای سطوح منطقی، به صورت زیر است:

 

با توجه به جدول فوق، می بایست برای صفر و یا یک منطقی خود در ورودی، بازه صحیح ولتاژی را در نظر بگیرید. با توجه به ولتاژ ۵ ولت آردویینو uno، یک منطقی از ۰٫۶ مقدار ۵ ولت، یعنی ۳ ولت الی ۰٫۵ ولت بیشتر از تغذیه ۵ ولت، یعنی ۵٫۰۵ قرار می گیرد، همچنین صفر منطقی  از ۰٫۵- الی ۰٫۲ تغذیه ۵ ولت، یعنی ۱ ولت قرار میگیرد. دقت داشته باشید که هر ولتاژی که بین ۱ الی ۳ ولت قرار گیرد، جزو حاشیه نویز محسوب شده و به صورت تصادفی، صفر و یک منطقی تولید خواهد شد.

۳- عدم قرار دادن مقاومت PULL DOWN/PULLUP در ورودی: یکی از مواردی که باعث ایجاد نویز و خطا در ورودی آردویینو می شود، عدم استفاده از مقاومت های PULL UP(برای یک منطقی)  و PULLDOWN(برای صفر منطقی) است. در صورتیکه یک پایه از آردویینو به صورت ورودی تعریف شود، حتما می بایست برای آن یک مقدار پیش فرض(صفر یا یک) به کمک مقاومت ایجاد نمود، چراکه عدم استفاده از این مقاومت ها، سبب ایجاد مقادیر تصاذفی در ورودی،به دلیل وجود نویزهای محیطی، خواهد شد. در زیر تصویری از این مقاومت ها مشاهده می نمایید:

مقاومت پول آپ و پول داون آردوینو - دیجی اسپارک

البته در برد آردویینو uno، از مقاومت پول آپ داخلی به ازای هر پایه ورودی/خروجی استفاده شده که که به شکل زیر آن را می توانید در ابتدای برنامه و در تابع setup، فعال نمایید:

توجه داشته باشید که بردهای آردویینو مقاومت PULLDOWN داخلی نداشته و خود می بایست آن را در ورودی اعمال نمایید. برای مقاومت PULLDOWN نیز، با توجه به تجربه نگارنده، یک مقاومت ۱۰K اهم در اکثر مواقع، کفایت می کند.

۴- استفاده از خازن مناسب در تغذیه: در بعضی مواقع مشاهده می گردد که المان های بسیاری نظیر انواع سنسورها و نمایشگر، به رگولاتور ۵v آردویینو متصل شده اند. از طرفی، هر سنسور برای کار نیاز به جریان مصرفی مشخصی داشته و این احتمال نیز وجود دارد که در زمانهایی، شاهد پیک جریانی بالا برای سنسور باشیم. این مسئله سبب ساز ایجاد تغییراتی در ولتاژ تغذیه آردویینو شده و در نتیجه می تواند بر روی عملکرد آن، تاثیر منفی داشته باشد. در این مواقع، استفاده از خازن به طور موازی با تغذیه سنسورها، می تواند مانع ایجاد تغییر در ولتاژ شده و عملکرد صحیح آردویینو را تضمین نماید.

 


جمع بندی


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

 

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

 

درباره نویسنده

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه

۵۱ دیدگاه

  • واقعا مطالب مفیدی بود, چرا که من نیز در بسیاری از پروژه های صنعتی از این پلتفرم استفاده کردم و بار ها از کسانی شنیدم که این پلتفرم بیشتر برای اهداف آموزشی بوده ولی با توجه به توضیحات بالا من نیز با رعایت تمام شرایط سخت افزاری و نرم افزاری و با صرفه جویی در زمان خود پروژه های صنعتی زیادی را ساخته ام و تا کنون بدون مشکل بوده اند…
    ممنون بابت اطلاع رسانی شما و دوستان

    • عرض احترام حضور شما کاربر گرامی
      از اینکه تجربیات خود را به اشتراک گذاشتید، سپاسگزارم.

    • سلام ممنون از مجموعه دیجی اسپارک

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

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

      به طور کلی بوردهای آردینو برای آموزش، نمونه سازی اولیه و کاربردهای عمومی مناسب هستند و برای کاربردهای خاص باید تمهیدات ویژه ای رو در نظر گرفت.

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

  • سلام
    توضیحات به زبان ساده و روان، واقعا عالی بود.
    یه سوال در مورد بخش “عدم قرار دادن مقاومت PULL DOWN/PULLUP در ورودی”
    در رابطه با ورودی که هم می تواند منطق صفر بگیرد و هم منطق یک؛ از pull up باید استفاده کرد یا pull down ??

    و این که حدود مقدار مقاوت pull up نیز چه مقدار مناسب است؟ (البته بیان شد که در داخل اردینو وجود دارد …)

    بسیار سپاس گزارم.

    • بسته به نوع سیگنالی که برای ورودی میاد متفاوته…
      بیشتر مواقع از مقاومت ۱k برای این منظور استفاده میشه

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

  • سلام توضیحات شما رو‌خوندم
    قانع کننده بود! ولی پس این پیج هایی که با فونت درشت مینویسن نهههههه بههههههه آردوینو چی میگن ؟ یعنی همین مشکلات برنامه نویسی که شما بهش اشاره کردید بهش واقف نیستن؟ هدفشون چیه

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

  • سلام عرض ادب
    از توضیحات جنابعالی ممنونم
    از پیج خانم‌لیدی وارد این بحث شدم ما تا همین چند ماه پیش هم درگیر انتخاب بودیم و فکر میکردیم آردوینو جواب گو نیست در صورتیکه ساده ترین مسئله مثل flag در کدها به درستی نوشته نشده بود و چقدر ضربه ی بزرگی زد
    امیدوارم تجربه ما و شما بتونه به بقیه کمک کنه حداقل

  • اسم برد مهم نیست . مهم تکنولوژی طراحی و نحوه کاربرد قطعات هست که در نهایت شما به پروژه مسلط باشید و خواسته هاتون از برد مذکور برآورده بشه . حالا چه آردواینو چه یک برد کاستوم حرفه ای

    • اتفاقا برد آردویینو جزو بردهای حرفه ای قرار می گیرد، با توجه به حجم بالای مشارکت در پروژه متن باز آردویینو در سراسر جهان، استفاده آن در PLC ها، جزو بهینه ترین انتخاب ها در پروژه های صنعتی قرار می گیرد. یکی از بهترین نمونه ای برد آرویینو، برد MEGA2560 به همراه ماژول وای فای است که قابلیت های زیر را فراهم می نماید:
      ۱- تعداد بیشمار GPIO
      ۲- امکان اتصال به اینترنت
      ۳- توان پردازشی بسیار بالا به کمک پردازنده ESP8266(وای فای) قرار گرفته بر روی آن

      • سلام و تشکر از شما جناب مهندس صابری

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

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

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

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

        • اختیار دارید
          ممنون از شما که در بحث شرکت می کنید و دانش خود را با بقیه به اشتراک می گذارید.
          در لینک هایی که در متن قرار گرفته است، شرکت ها تولید کننده PLC، به سراغ طراحی این برد رفته اند.
          ماهیت و هدف این مقاله هم صحه گذاری بر کارایی آردویینو در صنعت، اما با رویکرد برنامه نویسی صحیح و طراحی سخت افزاری صحیح است. طبیعتا پلتفرمی که مشارکت کنندگانی بیشماری در سراسر دنیا دارد، درست مثل سیستم عامل لینوکس، خطاها و باگ های احتمالی آن کاهش می یابد.

          • خواهش میکنم

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

            شما بتونید از ساده ترین قطعات به نحوه صحیح یک مدار طراحی کنید مهمه ، مثلا یک میکرو مگا۱۶۸ رو ما در تجهیز پزشکی تنفسی بکار بردیم . همین میکرو رو اگه در ساده ترین محیط آزمایشگاهی کم نویز به خوبی براش مدار طراحی نکنید قطعا بسیار مشکل خواهید داشت . همین الان کل سیستم واسط برد های کارت سوخت داره با میکرو مگا ۱۶۲کار میکنه .

            حرفم اینه در تایید مقاله شما دوست عزیز:

            که درست هر قطعه ای رو طراحی کردید مهم اینه

            والا پیشرفته ترین و بهترین قطعات و برد ها رو بخرید ولی بخواهید سر سری راه بندازید امن نخواهد بود و قطعا یک پروژه مشکل دار خوشایند نخواهد بود و غیر از مشکلات فنی مشکلات مالی و گرفتاری هایی ایجاد خواهد که تصورش حتی دور از ذهنه

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

            بازم میگم طراحی مدار رو با مونتاژ چند ماژول بهم اشتباه نگیرید خیلی خطرناکه

            مشکل اصلی از اینجا ناشی میشه در کشور تولید قطعات رو نداریم و ی عده بخاطر منافع شخصیشون اجازه راه اندازی این دست امور رو نمیدهند

            در صورتی که شما میتونستید چیپ یا ریزپردازنده خودتون رو کاستوم کنید و تولید کنید و بکار ببرید خیلی بحث ها کنار میرفتن
            ولی با وجود انبوهی ماژول بعضا دوستان سمت راه اندازی ی قطعه نمیرن
            همین مسئله روی قیمت تمام شده و فروش تاثیر بدی میذاره و پروژه ها محدود به چنین ماژولهایی میشوند .

            بعنوان مثال قطعه دماسنج مادون قرمزSMTIR9902 قیمتی بین ۵۰۰-۶۰۰ هزار تومنه ماژولش ۱۰۰ هزار تومن گرون تره بخوای باهاش یه دماسنج تفنگی بسازی باید قیمت تمام شده ات بالای دو میلیون تومن باشه

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

            حالا به این ترتیب محصول نهایی چقدر ارزونتر تمام میشه و هم سود آوره برای تولید کننده هم ارز آور برای کشور وقتی برای سنسور یا ماژول آماده دلار خارج نشه

            سرتون درد نیارم
            در کل این بحث خیلی طولانیه و شاید در یک گرد همایی، همایشی چیزی بشه بهش پرداخت .

            موفق باشید
            فکر پولسازه ن قطعه و ابزار
            کار نشد نداره

            • صحبت های شما را مطالعه کردم و به چند نکته زیر برخوردم:
              ۱- فرمودید قطعات نباید سر سری راه اندازی شوند، این نکته کاملا مبرهن است، سنسورها در شرایط مختلف می بایست تست و کالیبره شوند، اما وقتیکه شرکت سازنده آن برای سنسور کتابخانه طراحی کرده است، نیازی به اختراع مجدد چرخ نیست، چراکه به عنوان یک رویه جاری، اکثر سازندگان سنسورهای مختلف، متابخانه به همراه کد راه اندازی آن به کاربر ارایه می دهند.
              ۲- فرمودید که قطعات باید در کشور تولید شوند، اما این صحبت شما به هیچ وجه صحیح نیست، همانطور که شرکت معظمی نظیر سامسونگ پردازنده خود را خود طراحی نمی کند، سنسور های خود را خود طراحی نمیکند، بلکه شرکت های دیگر تولید می کنند، حتی برای استفاده از معماری ARM، به کمپانی انگلیسی آن، حق استفاده را پرداخت می کنند، این موضوع اصلا به صرفه و منطقی نیست که با وجود یک سنسور، مجدد آن را طراحی نماییم!!!!!!!!! چراکه هزینه آن چه مالی و زمانی بسیار گزاف خواهد بود
              ۳- فرمودید چیپ بسازیم، این صحبت شما، با کمال احترام، کاملا غلط است، زمانیکه شرکت های معظم در زمینه ساخت چیپ فعال بوده و طی چندین دهه مشکلات و معایب را رفع کرده اند، آیا منطقی است چرخ از اول اختراع شود؟ کدام شرکت معظم الکترونیکی را سراغ دارید که خود چیپ خود را بسازد؟؟؟ آیا مثلا شرکت HP برای لپ تاپ های خود، خود اقدام به ساختCPU می نماید یا اینکه آن هار از شرکت های سازنده، نظیر intel می خرد؟ یا به عنوان نمونه دیگر، آیا شرکت لنوو برای لپ تاپ های خود، خود CPU می سازد؟؟
              ۴- فرمودید که فکر باید پول ساز باشد، نه ابزار، آیا غیر از این است که با فکر خوب اما بدون ابزار، نمی توان به هدف رسید؟ آیا غیر از این است که در دنیای به شدت رقابتی، آن هم زمانیکه یک ایده نه تنها فقط به ذهن شما، بلکه به ذهن میلیون ها نفر دیگر هم خطور می کند، می بایست با ابزار تسریع کننده ساخت پروژه نظیر همین آردویینو، دست به کار شد و سریع تر از دیگران، با توجه به قابلیت اطمینان بالای آردویینو، ایده را پیاده سازی کرد؟
              در پایان از اینکه در بحث مشارکت دارید، صمیمانه سپاسگزارم.

              • سلام مجدد . پاسخ شما دیگه در قالب این فروم نمیگنجه
                دعوت میکنم در یک ویدئو کنفرانس به بحث و تبادل نظر بپردازیم اگه مایل باشید .
                موفق باشید

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

              • با تشکر از مطلب شما.
                در صنایع کوچک غیر حساس.شاید بشه از آردینو استفاده کرد.که همون هم با ارزون ترین plc ها انجام میشه .اما در اکثر صنایع این امکان نیست .
                و این دلیلی بر ضعف آردینو نیست .و اصرار به قابلیت استفاده در صنعت چیزی به آردینو اضاف نمیکنه و چیزی هم از خوبی های آردینو کم نمیکنه .
                در صنعت انواع مختلفی از کنترلر ها استفاده میشه .که هر کدوم برای یه منظور استفاده میشه .
                و مفاهیمی که حتی plc ها رو از هم متمایز میکنه .

  • واقعا بعضی ها ذهن پوسیده ای دارن و فکر میکنن مهندس بودن به اینکه بشینی ۰ تا ۱۰۰ یه ماژول بنویسی و بسازی بدی بسازنن و بد میری میبینی کار نمیکنه و هزاران دردسر دیگه آخر سرم هشتگ نه به آردوینو راه میندازن! واقعا خنده دارید
    ما ها به روزیم استفاده میکنیم و پول درمیاریم و وقتمونو به جای طراحی روی توسعه کدنویسی میزاریم

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

  • سلام و خسته نباشید
    ضمن تشکر از شما بابت این سایت خفنتون و مطالب بسیار علمی و مفیدتون،میخواستم سوال کنم؛شما برنامه نویسی و رفع اشکال سخت افزاری هم انجام میدین؟بنده رو ی پروژه ای کار میکنم چن تا مشکل برام بوجود اومده موندم چیکار کنم.
    تاپیک مورد نظر رو پیدا نکردم اونجا مطرح کنم سوالمو.
    ممنون میشم پاسخ بدین.

    یا علی

    • سلام
      از توجه شما ممنونم
      بله، برنامه نویسی و رفع خطا(مشاوره) یکی از خدمات دانشجو کیت است که وب سایت دیجی اسپارک زیرمجموعه آن به حساب می آید، برای این موضوع، ابتدا به وب سایتدانشجوکیت مراجعه کرده و در منوی بالای صفحه، قسمت پرتال پشتیبانی را انتخاب نمایید. سپس در صفحه ظاهر شده، قسمت ارسال تیکت سریع، راهنمایی و مشاوره را انتخاب نمایید. بخش تیکت هم دپارتمان پشتیبانی و منوی پایین آن را خدمات فنی ویژه انتخاب نمایید. در قسمت عنوان مختصر پروژه و در قسمت متن، درخواست خود را مطرح نمایید. کارشناسان فنی در کمترین زمان، شما را راهنمایی خواهد نمود.

  • سلام و خسته نباشید
    ضمن تشکر از شما بابت این سایت خفنتون و مطالب بسیار علمی و مفیدتون،میخواستم سوال کنم؛شما برنامه نویسی و رفع اشکال سخت افزاری هم انجام میدین؟بنده رو ی پروژه ای کار میکنم چن تا مشکل برام بوجود اومده موندم چیکار کنم.
    تاپیک مورد نظر رو پیدا نکردم اونجا مطرح کنم سوالمو.
    ممنون میشم پاسخ بدین.

    یا علی

    • سلام
      از توجه شما ممنونم
      بله، برنامه نویسی و رفع خطا(مشاوره) یکی از خدمات دانشجو کیت است که وب سایت دیجی اسپارک زیرمجموعه آن به حساب می آید، برای این موضوع، ابتدا به وب سایتدانشجوکیت مراجعه کرده و در منوی بالای صفحه، قسمت پرتال پشتیبانی را انتخاب نمایید. سپس در صفحه ظاهر شده، قسمت ارسال تیکت سریع، راهنمایی و مشاوره را انتخاب نمایید. بخش تیکت هم دپارتمان پشتیبانی و منوی پایین آن را خدمات فنی ویژه انتخاب نمایید. در قسمت عنوان مختصر پروژه و در قسمت متن، درخواست خود را مطرح نمایید. کارشناسان فنی در کمترین زمان، شما را راهنمایی خواهد نمود.

  • درود فراوان
    متن شما را خوندم! به نظر من چون نمیشه کدی که روش نوشت برگردوند نکته ی منفیشه اگر برنامه به هر دلیلی نبود چی ؟

    • سلام
      اتفاقا این یک نکته مثبت است، چراکه در این صورت امنیت نرم افزار به خطر افتاده و برنامه شما توسط هر فردی، قابل دسترسی خواهد بود.

  • بالاخره فرشته نجات پیدا شد و به زبون خودمونی به بزرگان الکترونیک فهموند که بسه این تحلیل های مسخرتون! امیدوارم در جواب دلایل علمی شما پاسخ قانع کننده ای داشته باشن
    دم شما بچه های دیجی اسپارک گرم

    • ممنونم
      شما لطف دارید، امیدوارم اینگونه افراد کمی به خود بیایند
      البته نظر این افرا هرچه هست، برای خودشان ارزش دارد، چراکه قطار تکنولوژی با سرعت در حال حرکت است، اگر سوار نشوند، از آن جا خواهند ماند، اگر هم جلوی آن بخواهند بایستند، تکلیف معلوم است، له خواهند شد!!!

    • با تشکر از مطلب شما.
      در صنایع کوچک غیر حساس.شاید بشه از آردینو استفاده کرد.که همون هم با ارزون ترین plc ها انجام میشه .اما در اکثر صنایع این امکان نیست .
      و این دلیلی بر ضعف آردینو نیست .و اصرار به قابلیت استفاده در صنعت چیزی به آردینو اضاف نمیکنه و چیزی هم از خوبی های آردینو کم نمیکنه .
      در صنعت انواع مختلفی از کنترلر ها استفاده میشه .که هر کدوم برای یه منظور استفاده میشه .
      و مفاهیمی که حتی plc ها رو از هم متمایز میکنه .

      • از اینکه نظر خود را به اشتراک میگذارید، صمیمانه سپاسگزارم
        اما در مورد نظرات شما، علاقه مندم دلایل شما از اینکه آردویینو را مناسب صنایع حساس نمی دانید، جویا شوم، همانطور که اطلاع دارید، PLC ها در صنعت حساس ترین نقش را بازی می کنند، با توجه به لینک های موجود، PLC های زیادی بر مبنای آردویینو طراحی و توسعه یافته اند، پروژه آردویینو یک پروژه متن باز است که کاربران زیادی از سراسر دنیا در توسعه آن مشارکت دارند، این امر باعث ایجاد قابلیت اطمینان بسیار بالا در مورد آردویینو می گردد، این مورد نیز پیشتر در رابطه با سیستم عامل لینوکس رخ داده و همینک در حال اجراست، امروزه سیستم عامل لینوکس نقش بارزی در سیستم های مختلف، نظیر امنیت، سرور و سیستم های الکترونیکی بازی می کند مجددا از شما درخواست دارم تا دلایل خود مبنی بر عدم استفاده از آردویینو در صنایع حساس را بیان نمایید.

        • ۱.
          بله .من در یک صنعت حساس نیاز به یک PLC با استاندار SIL 3 و با قابلیت فول ریداندانسی در سطحI/O و همچنین FAIL-SAFE !و هم اینکه بتونم برای محیط EX از سیگنال NAMUR استفاده کنم .یا از کارت های ماژولار NAMUR مستقیم استفاده کنم .
          در کنار این من برای سیستم USD که میبایست یک درجه SIL از سیستم ESD بالاتر باشه .به یک کنترلر SIL4 احتیاج دارم.که ممنون میشم از PLC های مبتنی بر آردینو به من معرفی کنید.

          ۲.در کنترل levitation یک Turbocompressor هم یک کنترلر بر پایه آردینو معرفی کنید .

          ۳.همچنین برای راه اندازی یک سیستم DCS هم آردینو معرفی کنید .

          ۴.بحث ربات های صنعتی هم من تخصصی ندارم.اما اگر شما اطلاعی دارید که ربات های صنعتی هم از آردینو استفاده میکن.ممنون میشم اونم اشاره کنید.

          ۵.نرم افزار CODESYS از بیش از ۱۰۰۰ کنترلر مربوط به ۴۰۰ تولید کننده تجهیزات کنترلی پشتیبانی میکنه .به عنوان نرم افزار برنامه نویسی .در این تنوع PLC مبتنی بر آردینو هم هست .اما تعداد کمی از اون ها در صنعت های نیمه حساس و تقریبا هیچ کدوم در صنایع حساس استفاده نمیشن.

          ۶.با توجه به بحث Cyber security متن باز بودن یک مزیت حساب نمیشه .و کوچکترین باگ موجود ضرر جانی در پی داره .و یک سیستم مانیتورینگ یا یک سیستم Voip مبتنی بر لینوکس نیست که با ضرر مالی روبرو بشین .

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

          • با احترام خدمت شما کاربر گرامی
            از اینکه موارد مهمی را مورد اشاره قرار دادید، صمیمانه سپاسگزارم.
            اما در مورد مطالب جناب عالی، می بایست موارد زیر را در نظر بگیرید:
            -۱ و ۲: در مورد موارد ۱ و۲، می بایست به تاریخچه plc رجوع نماییم. از تاریخ ساخت اولین PLC چیزی در حدود ۵۲ سال می گذرد. این در حالیست که پلتفرم آردویینو تنها ۱۷ سال پیش از دل یک پایان نامه بیرون آمد و بعد از چند سال، وارد عرصه صنعت گردید. به عبارت دیگر، آردویینو یک سوم سن PLC ها را دارد، اما با همین سن کم، PLC ساخته شده مبتنی بر آن، موفق به اخذ استاندارد IEC 61131(برد PLC کنترولینو) شده است، این یک قدم بزرگ برای این پلتفرم محسوب شده و می توان انتظار آن را داشت که در سال های آتی، با روند پیش رو، PLC های بیشتر و پیشرفته تری بر مبنای آردویینو ساخته شود. از طرفی دیگر، ظهور شرکت های مختلف سازنده PLC مبتنی بر آردویینو، آن هم با استاندارد اخذ شده در مدت کوتاهی که از عمر این پلتفرم می گذرد، مهر محکمی بر توانایی استفاده از این پلتفرم در محیط های صنعتی است.

            ۳-در مورد مطلب شمار۳، این لینک را مورد بررسی قرار دهید، در این لینک به یک سیستم کنترل پنلی در این زمینه، اشاره کامل شده است. این مورد نیز بار دیگر توانایی آردویینو در صنعت را اثبات می سازد.

            در یک مقاله معتبر علمی، می توانید طراحی یک DCS را بر مبنای آردویینو را مشاهده نمایید:
            DCS بر مبنای آردویینو

            ۴- درابطه با مورد ربات صنعتی، یک مینی ربات صنعتی را در لینک زیر مشاهده می نمایید که بر مبنای آردویینو، توسعه یافته است:

            مینی ربات صنعتی مبتنی بر آردویینو

            همچنین به عناون مورد دیگر، می توانید یک ربات نظامی را در این مقاله علمی، مطالع نمایید که بر مبنای آردویینو توسعه یافته است:
            ربات نظامی توسعه یافته بر پایه آردویینو

            زمانیکه یک ربات نظامی بر مبنای آردویینو توسعه می یابد، می توان حجت را تمام دانست، علاوه بر این مورد، مقالات معتبر، تاییدی بر توانایی آردویینو در استفاده از آن در صنایع نظامی و تجاری است.

            ۵- این مورد نیز در موارد ۱و۲ توضیح داده شده است، بنابراین پاسخ این مورد را به موارد ۱ و ۲ ارجاع می دهم، سرعت رشد آردویینو و ورود آن به صنعت بسیار بالاست و می توان استانداردهای بیشتری را در سال های آبنده، برای PLC های مبتنی بر آردویینو، متصور بود.

            ۶- در این مورد، بحث بسیار است، اینکه متن باز بودن را در تضاد با امنیت دانستید، بسیار شوکه شدم. برای تست نفوذ و امنیت شبکه، از یک توزیع متن باز لینوکس به نام کالی لینوکس استفاده می شود، این ابزار سالهاست در این زمینه کاربرد داشته وهمچنان در حال توسعه و بروزرسانی است. این موضوع را در نظر بگیرید که در صورت هر اشکال و یا خرابکاری در کدها، با توجه به جمعیت زیاد توسعه دهندگان لینوکس، سریعا مشکل شناسایی و برطرف می گردد!!!! نظیر این مورد در رابطه با پیام رسان واتس آپ رخ داد، باگی که پیشتر توسط جامعه کاربری لینوکس حل شده بود، اما توسعه دهندگان واتس آپ بدون توجه به این مشکل، خود کدی را توسعه دادند و به باگ مورد نظر برخوردند!!!!!!! برای اطلاعات بیشتر، این لینک را بررسی نمایید:
            مشکل امنیتی واتس آپ

            در رابطه با موضوع امنیت و متن باز بودن، پیشنهاد می کنم این مورد را این چنین در جوامع کاربری لینوکس مطرح ننمایید، چراکه ممکن است از سوی آنان مورد شماتت و حتی تمسخر قرار بگیرید!!!!
            در مورد باگ و امنیت جانی، موضوع جالبی را اشاره نمودید، با توجه به موارد ذکر شده، پلتفرم های مختلفی از لینوکس، برای کاربردهای پزشکی توسعه یافته اند، یکی از آنها، Lin4Neuro است که برای تصویربرداری عصبی به کار میرود، موارد بسیار بیشتر را می توانید در لینک زیر، دنبال نمایید:
            کاربرد لینوکس در پزشکی
            در ادامه، ذکر این نکته بسیار مهم است که متن باز بودن، دلیل بر ضعف نیست، دلیل بر عدم اختراع چرخ از ابتداست، شما با دریافت یک پروژه متن باز (که صحت و سقم آن پیشتر توسط مشارکت کنندگان بی شمار به اثبات رسیده است)، می توانید بسته به نیاز خود آن را تغییر دهید، موردی که دقیقا برای سیستم عامل های لینوکس امبدد و سایر دستگاه ها نظیر تلفن های هوشمند اندرویدی رخ داد، از انجاییکه معماری سیستم عامل ابونتو برای کامپیوترهای x86 طراحی شده است، با در اختیار داشتن سورس آن و تغییرات لازم و کامپایل مجدد، می توان آن را به سیستم ها با معماری های متفاوت با x86 نظیر arm و حتی xtensa، توسعه داد.
            در پایان، رسالت این نوشتار این است که تفکر غلط و متاسفانه رایجی که آردویینو را غیر صنعتی و صرفا آموزشی می داند، با ارایه دلایل مستدل، به چالش بکشد، نه اینکه صرفا اصرار بر استفاده از پلتفرمی در جایی باشد. البته، همانطور که در متن این نوشتار نیز اشاره گردید، موارد سخت افزاری و نرم افزاری بسیار مهمی در توسعه صحیح آردویینو برای صنعت دخیل هستند که با رعایت آن ها، می توان از این پلتفرم در پروژه های مختلف استفاده نمود. برای اثبات هرگونه ادعا، دلایل باید مستدل و محکم باشند، همانطور که شاعر پرآوازه ما، سعدی، قرن ها پیش گفته است:
            دلایل قوی باید و معنوی
            نه رگ های گردن به حجت قوی

            • دوست عزیز.مثال های شما بیشتر از دلیل بودن .جنبه ارجاع به یک لینک دارد .
              صنعت نمیگه آردینو ۱۷ سال سن داره .صنعت از شما راهکار میخواد .معرفی محصول میخواد .
              من دو مثال از صنایع حساس زدم .که شما فرمودید باید صبر کنیم تا آردینو پیشرفت کنه !!!!

              و اینکه شما باید در مورد تفاوت آردینو و plc بیشتر مطالعه بفرمایید .کاملا مشخص هست که از plc فقط یک اسم شنیدید و از آردینو در صنعت چند لینک دیدید!

              همچنین مطالعه در رابطه با سیستم های متن باز .امنیت و کارایی سیستم ها.نه با یک مثال در پلتفرم تشخیص !!!
              شما متاسفانه تصورتون از خطرات جانی یک پلتفرم تشخیص!! پزشکی هست !و برعکس فکر میکنم اگر شما در جوامع لینوکس و متن باز این و مطرح کنید که سیستم های صنعتی رو به سمت متن باز ببریم با تمسخر روبرو میشد.که اگر این نبود در حال حاضر تمام سیستم های صنعتی متن باز بود .
              شما کاملا نسبت به خطر های محیط صنعتی و نرم افزارهای متن باز در محیط صنعتی بی اطلاع هستید .

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

              در آخر پیشنهاد میدم مقالتون و به همراه لینک ها برای برند های معتبر تولید plc بفرستید .مثل اینکه نمیدونن که باید از آردینو استفاده کنن !!
              سازندگان خودرو و کمپانی های سازنده هواپیما که از آردینو در صنعت هوایی هم استفاده کنن .

              وکلام آخر و پیام آخر امیدوارم که در استفاده و فروش! آردینو در صنعت موفق باشید .

              • در تمام کشورهای توسعه یافته، این دانشگاه و فضای آکادمیک است که صنعت را رهبری می نماید، در حقیقت، مسیر حرکت صنعت را دانشگاه تعیین می نماید، این که می فرمایید استناد شما به چند لینک!!! است، لینک های معرفی شده، لینک های مقالات علمی معتبر هستند، آنچنانکه همین مقالات هستند که رویه و trend اصلی بازار را تعیین می کنند و بسیار جای تعجب دارد که با این موضوع آشنا نیستید!!! البته این موضوع طبیعی است، چراکه متاسفانه در کشور ما ارتباط لازم بین دانشگاه و صنعت، آنچنان که باید، جدی گرفته نمی شود و رویه جاری، رویه تکنسین محور به جای طراح محور است.
                در گام دوم فرمودید که اینجانب فرق plcو آردویینو را نمیدانم، از حسن نظر شما سپاسگزارم، اما فکر میکنم مطالب درج شده توسط من در دیجی اسپارک، تا حدود زیادی رزومه اینجانب را اثبات می نماید، همچنین برای اطمینان بیشتر از اینکه من آیا فرق plc و آردویینو را می دانم یا خیر، پیشنهاد می کنم در پایگاه پایان نامه های دانشگاه علوم و تحقیقات تهران، به آدرس زیر:

                پایگاه پایان نامه های دانشگاه علوم و تحقیقات
                با ورود به صورت مهمان، عبارت زیر را در لیست پایان نامه ها، جستجو نمایید:
                کاهش توان مصرفی گرههای حسگری در شبکه اینترنت اشیا با تعریف حالتهای کاری مختلف
                البته امید است در چند ماه آینده بتوان پایان نامه فوق را به صورت یک مقاله، در مجلات علمی به چاپ برسانم.
                در رابطه با cyber security بحث نمودید، اما فراموش کردید به نقش عمده سیستم عامل لینوکس در این زمینه، اشاره ای کنید، البته به شما مجددا پیشنهاد میکنم در این حوزه، مطالعات بیشتری داشته باشید.
                بحث در رابطه با خطرات جانی گردید، فکر نمیکنم بالاتر از اهمیت سیستم های پزشکی که با جان مردم سرو کار دارند، وجود داشته باشد که نقش پر رنگ لینوکس را در آن مشاهده میکنید.
                می فرمایید از خطرات متن باز در صنعت بی خبرید، مجددا لینک مقاله ای را دز این زمینه برای شما ارسال میکنم، به امید اینکه انس بیشتری با فضای آکادمیک و ارتباط آن با رویه صنعت داشته باشید، البته مجددا پیشنهاد میکنم مفاهیم اولیه و پایه سیستم عامل لینوکس و اصول و فواید تفکر متن باز را مطالعه نمایید:
                https://www.computer.org/csdl/magazine/so/2008/03/04497764/13rRUx0xPtx

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

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

  • سلام و تشکر از توضیحات دقیق تان

    می خواستم بپرسم که آیا برای پین های آنالوگ هم، بحث استفاده از مقاومت pull-up یا pull-down مطرح است؟

    • سلام
      خیر، این مقاومت ها فقط در ورودی دیجیتال اهمیت دارند، برای کاهش نویز آنالوگ می توان با توجه به میزان فرکانس تغییرات و جریان سیگنال آنالوگ، از خازن به طور موازی با سیگنال و با ظرفیت مناسب استفاده نمود. همچنین، توجه داشته باشید که چنانچه سیگنال آنالوگ شما دارای جریان زیادی است، مثلا یک باتری و یا منبع تغذیه، جهت جلوگیری از روشن شدن آردویینو از طریق پایه آنالوگ، حتما یک مقاومت یک کیلو اهمی با سیگنال آنالوگ سری نمایید.

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

    • سلام
      ممنونم، لطف دارید
      برای پروژه شما، خیر برد صنعتی نیاز نیست
      اردویینو uno کاملا مناسب است.

  • سلام ما توی یک مداری مجبور شدیم مدار اردینو پرو مینی رو مدل کنیم از رو شماتیکش ولی نویز روش خیلی تاثیر میزاره و ریستش میکنه چی کار کنیم

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