طراحی کنترلر، مدارت دلخواه، پروژه ها و تمرینات درس میکروکنترلرها
این پروژه یک فاصله سنج می باشد که می توان در مواردی نیز به عنوان عمق سنج از آن استفاده نمود. حداقل فاصله قابل تشخیص 10cm و حداکثر 80cm تا 100cm می باشد.این پروژه یک ماشین حساب مهندسی می باشد که تمامی کلید ها و توابع به صورت گرافیگی بر روی LCD نمایش داده می شود و با فشردن هر کلید روی کیپد کلید متناظر آن بر روی السیدی نیز تغییر حالت می دهد. نمای کلی و توابع قابل انجام توسط این ماشین حساب در تصاویر نمایش داده شده است. همچنین قابلیت رسم نمودار را دارد.این پروژه یک دماسنج ساده می باشد که توانایی اندازه گیری دما از منفی 40 تا مثبت 120 درجه سانتی گراد با دقت دو رقم اعشار را دارد.بر اساس رنج حداقل و حداکثر تعریف شده توسط کاربر و با توجه به دمای محیط، سرعت موتور بین 10 تا 99 به صورت خودکار تنظیم می شود.خروجی سه کاناله با کنترل سرعت به صورت مجزا، دو کلید افزایشی و کاهشی برای کنترل سرعت در هر کانال، فرکانس های مختلف و ثابت برای هر کانال، جریان خروجی بیش از 10 آمپر و ولتاژ بیش از 30 ولت
پروژه فاصله سنج با سنسور مادون قرمز شارپ Sharp

MCP-37

پروژه فاصله سنج با سنسور مادون قرمز شارپ Sharp
پروژه ماشین حساب مهندسی با السیدی گرافیکی و avr

MCP-11

پروژه ماشین حساب مهندسی با السیدی گرافیکی و avr
پروژه دماسنج ساده با avr

MCP-29

پروژه دماسنج ساده با avr
پروژه کنترل دور موتور با PWM برحسب دما با avr

MCP-18

پروژه کنترل دور موتور با PWM برحسب دما با avr
پروژه کنترل دور موتور با PWM و جریان خروجی بالا با avr

MCP-19

پروژه کنترل دور موتور با PWM و جریان خروجی بالا با avr

آموزش راه اندازی پروتکل سریال در LabView

www.picpars.com آموزش راه اندازی پروتکل سریال در LabView 383

یکی از معروفترین و پرکاربردترین پروتکل های مورد استفاده در صنعت، پروتکل سریال می باشد. سهولت استفاده از این پروتکل باعث گشته تا اولین انتخاب مهندسین در زمینه طراحی و انتقال اطلاعات باشد. در پروتکل سریال ، شما با یک سیم می توانید اطلاعات خود را ارسال کنید و در صورتی که می خواهید تبادل اطلاعات بصورت دوطرفه باشد، می بایست از 2 سیم ارتباطی با نام های RX و TX، یکی برای ارسال و یکی برای دریافت اطلاعات استفاده نمایید.

از بخش سفارش طراحی هم اکنون درخواست خود را ثبت کنید
حل و تشریح کلیه تمرینات درس میکروکنترلر AVR
طراحی و ساخت مدارات دلخواه شما با میکروکنترلر AVR


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

در این آموزش سعی بر این داریم تا با کمترین بلوک های برنامه، بهینه ترین برنامه ارتباط سریال با LABVIEW را راه اندازی کنیم.

برای راه اندزای پروتکل سریال توسط لبویو، تولکیت VISA نیاز می باشد. در صورتی که این تولکیت را نصب ندارید، با مراجعه به آدرس http://www.ni.com/visa این تولکیت را دانلود و نصب کنید.

همانطور که می دانید پروتکل سریال دارای یک پورت ارسال و یک پورت دریافت اطلاعات می باشد. در تمامی برنامه ها، برنامه نویسی پروتکل سریال تقسیم به دو قسمت ، یکی دریافت و دیگری ارسال اطلاعات می گردد. توابع لبویو نیز همانند دیگر برنامه ها به دو قسمت دریافت و ارسال اطلاعات تقسیم می شود. در ادامه راه اندازی هر بخش آموزش داده می شود.
ابتدا به آدرس nstrument i/o و سپس serial مراجعه کنید.

راه اندازی پروتکل سریال در LabView

توابع اصلی که ما به آنها نیاز خواهیم داشت:
configure port : برای پیکربندی پورت سریال
write : ارسال اطلاعات ( بصورت رشته)
read : دریافت اطلاعات ( بصورت رشته)
close : بستن برنامه
byte at port : مشخص کردن تعداد کاراکتر دریافتی

اصول راه اندازی پورت سریال به این صورت می باشد که ابتدا از طریق configure port پورت سریال را پیکربندی می کنیم، سپس بر اساس اطلاعات دریافتی، توابع مربوط به خواندن و نوشتن اطلاعات را قرار داده و در انتهای کار پورت سریال را می بندیم.

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

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

راه اندازی پروتکل سریال در LabView

در این برنامه پورت سریال پیکربندی و سپس بسته می شود. تابع configure دارای پورت های زیادی بوده که با مراجعه به HELP تابع و خواندن توضیحات آن می توانید اطلاعات کاملی را کسب کنید.

در ادامه یک تابع نوشتن به این پیکربندی اضافه می کنیم.

راه اندازی پروتکل سریال در LabView

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

راه اندازی پروتکل سریال در LabView

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

راه اندازی پروتکل سریال در LabView

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

راه اندازی پروتکل سریال در LabView

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

راه اندازی پروتکل سریال در LabView

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

راه اندازی پروتکل سریال در LabView

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

ATI
SIM900 REV11
 
OK

 

 

 

همانطور که مشاهده می کنید پاسخ دارای 4 سطر می باشد، ولی شما در لبویو ، فقط عبارت ATI را دریافت می کنید!

هر تابع خواندن لبویو فقط قادر به خواندن یک سطر می باشد. گره اطلاعاتی تا پایان سطر (جایی که متن ENTER) خورده است را شمارش کرده و به عنوان تعداد بافر به تابع معرفی می کند.
در مواردی که عبارت برگشتی شما دارای چند خط می باشد، می بایست برای هر خط یک تابع خواندن قرار دهید. همانند برنامه زیر.

راه اندازی پروتکل سریال در LabView

همانطور که مشاهده می کنید، 2 تابع خواندن، هر 2 سطر برنامه را خوانده و در انتها به هم چسبانده و در یک پالت نمایش می دهد.

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

راه اندازی پروتکل سریال در LabView

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

نویسنده: فرشاد اکرمی
منبع: eca.ir

  منبع: www.picpars.com

  لطفا مقالات، آموزش‌ها و پروژه های خود را به آدرس ایمیل ارتباطی ایمیل نمائید تا آن را با نام خودتان در سایت منتشر کنیم.

به این مطلب امتیاز دهید

برچسب ها:
تاریخ ارسال شنبه، 4 دي ماه، 1395    نویسندهنویسنده: مدیریت    نظرات 0 نظر    بازدید بازدید [ 1133 ]   پرینتنسخه چاپی
فایل پی دی اف فایل پی دی اف   ارسال به دوستان ارسال به دوستان   

پروژه محافظ لوازم برقی با avr و نمایشگر سون سگمنت
کد پروژه: MCP-21
عنوان: پروژه محافظ لوازم برقی با avr و نمایشگر سون سگمنت
میکروکنترلر: AVR ==> زبان سی C (کدویژن)
قیمت: به جزئیات پروژه مراجعه نمایید
جزئیات سفارش خرید
در صورتی که برق شهر از حداقل تعریف شده کمتر، یا از حداکثر بیشتر شود رله خروجی قطع خواهد شد و از طریق بازر بوق هشدار پخش می شود.
پروژه کنترل بی سیم دور موتور برحسب دما با avr
کد پروژه: MCP-8
عنوان: پروژه کنترل بی سیم دور موتور برحسب دما با avr
میکروکنترلر: AVR ==> زبان سی C (کدویژن)
قیمت: به جزئیات پروژه مراجعه نمایید
جزئیات سفارش خرید
با استفاده از ماژول HM-R و HM-T ابتدا به کمک سنسور LM35 دما اندازه گیری شده و به ماژول HM-T ارسال می شود، در سمت گیرنده سیگنال توسط HM-R دریافت شده و بر اساس مقدار دما دور موتور به صورت PWM کنترل می شود. همچنین قابلیت تعریف رنج دمای کاری برای موتور نیز امکان پذیر می باشد.

مرتبط باموضوع :          مطالب بیشتر در این موضوع

 ارسال پیامک با LabView  [ شنبه، 4 دي ماه، 1395 ] 1389 مشاهده
 پروژه ارتباط سریال اینترفیس با LabVIEW و Flowcode  [ جمعه، 11 شهريور ماه، 1390 ] 29625 مشاهده
 آموزش نرم افزار قدرتمند LabView به زبان ساده (مقدمه)  [ جمعه، 15 بهمن ماه، 1389 ] 13591 مشاهده
 
نام شما: [ کاربر جدید ]

نام شما (ضروری): 
ایمیل شما : 
نظر:
کد امنیتی
کد امنیتی

  [ بازگشت ]