طراحی کنترلر، مدارت دلخواه، پروژه ها و تمرینات درس میکروکنترلرها
در صورتی که برق شهر از حداقل تعریف شده کمتر، یا از حداکثر بیشتر شود رله خروجی قطع خواهد شد و از طریق بازر بوق هشدار پخش می شود. ولتاژ فعلی، زمان باقیمانده تا اتصال رله و پیغام ها روی نمایشگر نشان داده می شود.این پروژه یک مدار گیرنده رادیویی 433 یا 315 مگاهرتز می باشد که قابلیت تعریف و ذخیره سازی انواع ریموت کنترل هایی از قبیل (ریموت دزدگیر ماشین، پارکینگ، بالابر و ...) را دارد. با نگه داشتن یک میکروسوئیچ و فشار دادن یکی از کلید های ریموت به مدت 1 ثانیه کد شناسایی ریموت مورد نظر آشکار و سپس در حافظه ذخیره می شود و می توان با چهار کلید ریموت (کلیدهای A,B,C,D) چهار رله را روشن و خاموش کرد.این پروژه در اصل یک ساعت زنگ دار می باشد که قابلیت برنامه ریزی آلارم صبحگاهی و تنظیم 5 برنامه یادآور را دارد. با تنظیم آلارم هر روز راس ساعت تنظیمی آلارم پخش می شود، همچنین با تنظیم یادآور ها در ساعت و تاریخ مشخص نیز آلارم پخش می شود. از امکانات آن می توان برای هر یادآور یک نام تعیین کرد (20 کاراکتر اسکی) با قابلیت تایپ حروف کوچک و بزرگ انگلیسی با کیبورد 3×4 و ...ماشین حساب مهندسی ساده با قابلیت دریافت اعداد اعشاری و محاسبه توابع مثلثاتی به همراه سایر توابع توسط یک صفحه کلید 4*4اندازه گیری ظرفیت خازن از 1pF تا 1uF، سلف از 1nH تا 1H و فرکانس از 1Hz تا 4MHz تنها با یک میکرو سوئیچ و همچنین کلیدی برای کالیبراسیون اتوماتیک.
پروژه محافظ لوازم برقی با avr و نمایشگر LCD

MCP-23

پروژه محافظ لوازم برقی با avr و نمایشگر LCD
پروژه ریموت کنترل 433-315 مگاهرتز 4 کاناله با قابلیت لرنینگ

MCP-27

پروژه ریموت کنترل 433-315 مگاهرتز 4 کاناله با قابلیت لرنینگ
پروژه آلارم صبحگاهی و یادآور با LCD گرافیکی و avr

MCP-7

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

MCP-28

ماشین حساب مهندسی ساده
پروژه خازن سنج و سلف سنج-LC متر با avr

MCP-14

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

پروژه خازن سنج و سلف سنج-LC متر با avr
کد پروژه: MCP-14
عنوان: پروژه خازن سنج و سلف سنج-LC متر با avr
میکروکنترلر: AVR ==> زبان سی C (کدویژن)
قیمت: به جزئیات پروژه مراجعه نمایید
جزئیات سفارش خرید
اندازه گیری ظرفیت خازن از 1pF تا 1uF، سلف از 1nH تا 1H و فرکانس از 1Hz تا 4MHz تنها با یک میکرو سوئیچ و همچنین کلیدی برای کالیبراسیون اتوماتیک.
پروژه ساعت دیواری دیجیتال به همراه تاریخ شمسی و دما با avr
کد پروژه: MCP-13
عنوان: پروژه ساعت دیواری دیجیتال به همراه تاریخ شمسی و دما با avr
میکروکنترلر: AVR ==> زبان سی C (کدویژن)
قیمت: به جزئیات پروژه مراجعه نمایید
جزئیات سفارش خرید
ساعت دیواری دیجتال با قابلیت نمایش ساعت و دقیقه، دمای اتاق، تاریخ شمسی، روز هفته، زدن تک بوق وقتی که زمان یک ساعت جلو می رود، تنظیم ساعت و دما تنها با 2 کلید. ابعاد ساعت 33*27 سانتی متر می باشد.

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

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

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

  [ بازگشت ]