طراحی کنترلر، مدارت دلخواه، پروژه ها و تمرینات درس میکروکنترلرها
این پروژه یک ساعت آنالوگ، تاریخ شمسی و روزه هفته به زبان فارسی به همراه ساعت دیجیتال می باشد. قابلیت تنظیم ساعت و تاریخ توسط سه عدد میکروسوئچاین پروژه یک دماسنج ساده می باشد که توانایی اندازه گیری دما از منفی 40 تا مثبت 120 درجه سانتی گراد با دقت دو رقم اعشار را دارد.یک مدار فاصله سنج می باشد که می توان در مواردی نیز به عنوان عمق سنج از آن استفاده نمود. حداقل فاصله قابل تشخیص 5cm و حداکثر 5m می باشد.این پروژه قابلیت تشخیص نشتی گاز و کمی دود و افزایش دما را دارد. به این صورت که اگر نشتی رخ دهد با ارسال یک پیامک SMS برای شماره تعریف شده کاربر را مطلع می نماید. همچنین یک رله نیز فعال می شود که می تواند یه آژیر خطر را صدا درآورد.کنترل زاویه ای 0 تا 180 درجه؛ قابلیت تعریف بیش 100 برنامه مجزا توسط کاربر؛ تعیین زاویه برای هر پله حرکت سروو موتور؛ تعیین سرعت حرکت سروو موتور؛ تعیین مدت زمان کارکرد در هر برنامه از 1 تا 255 دقیقه. منوی کاربری بسیار آسان برای تعریف برنامه ها.
ساعت آنالوگ با AVR و lcd گرافیکی به زبان c

MCP-36

ساعت آنالوگ با AVR و lcd گرافیکی به زبان c
پروژه دماسنج ساده با avr

MCP-29

پروژه دماسنج ساده با avr
پروژه فاصله سنج و عمق سنج آلتراسونیک با AVR

MCP-33

پروژه فاصله سنج و عمق سنج آلتراسونیک با AVR
پروژه نشت یاب گاز و کنترل با SMS

MCP-35

پروژه نشت یاب گاز و کنترل با SMS
پروژه کنترل سروو موتور از 0 تا 180 درجه با avr

MCP-2

پروژه کنترل سروو موتور از 0 تا 180 درجه با 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 نظر    بازدید بازدید [ 1021 ]   پرینتنسخه چاپی
فایل پی دی اف فایل پی دی اف   ارسال به دوستان ارسال به دوستان   

دیمر دیجیتال با AVR به زبان سی
کد پروژه: MCP-38
عنوان: دیمر دیجیتال با AVR به زبان سی
میکروکنترلر: AVR ==> زبان سی C (کدویژن)
قیمت: به جزئیات پروژه مراجعه نمایید
جزئیات سفارش خرید
کنترل نور یک لامپ 12 الی 24 ولتی DC توسط دو عدد کلید در بازه روشنایی 1 تا 99 درصد. به همراه نمایشگر جهت نمایش درصد روشنایی.
پروژه سیستم امنیتی با قابلیت تعریف کاربر و رمز عبور با avr
کد پروژه: MCP-12
عنوان: پروژه سیستم امنیتی با قابلیت تعریف کاربر و رمز عبور با avr
میکروکنترلر: AVR ==> زبان سی C (کدویژن)
قیمت: به جزئیات پروژه مراجعه نمایید
جزئیات سفارش خرید
یک سیستم امنیتی که دارای یک کاربر اصلی می باشد و توسط این کاربر می توان کاربرهای متعددی با پسورد های مجزا تعریف نمود. می توان تا 100 کاربر و 100 پسورد مختلف را تعریف، و در قسمت ورود هر یک از اعضاء که نام کاربری و رمز عبور خود را بدرستی وارد کند یک رله به همراه LED روشن خواهد شد.

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

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

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

  [ بازگشت ]