مهندسی برق و کامپیوتر

ثبت نام آزمون ورودی کارشناسی ارشد سال ۱۳۹۶ از تاریخ ۱ دی شروع شده است و تا سه شنبه ۷ دی ادامه خواهد داشت. طبق برنامه زمان بندی کنکور در روزهای پنج شنبه و جمعه ۷ و ۸ اردیبهشت ۱۳۹۵ برگزار خواهد شد. در ادامه به بررسی تغییر ضرایب دروس در رشته های مهندسی برق و مهندسی کامپیوتر و فناوری اطلاعات خواهیم پرداخت.
نکته حائز اهمیت در کنکور پیش رو افزوده شدن تعدادی گرایش جدید و تغییر ضرایب دروس مختلف برای گرایش های مختلف است. نکته ای که بیشتر از همه جلب توجه می کند اختصاص بیشترین ضریب (۴) به درس تخصصی اصلی همان گرایش و ضرایب کمتر به دروس دیگر است. این موضوع منجر به تفکیک پذیری بیشتر در رتبه بندی گرایش های مختلف نسبت به قبل خواهد شد، یعنی در گذشته برای مثال رتبه های یک شخص در گرایش های الکترونیک، مخابرات و کنترل بسیار شبیه به یکدیگر می شد در حالی که با رتبه قدرت بسیار متفاوت بود و این مسئله دست داوطلب را در انتخاب گرایش بازتر می کرد اما در حال حاضر با شرایط فعلی احتمالا اوضاع فرق خواهد کرد. در این شرایط به داوطلبان توصیه می شود که از همین الان گرایش نهایی مورد علاقه خودشان را انتخاب کنند و بیشترین انرژی را برای درس اختصصاصی اصلی همان گرایش (ضریب ۴) صرف کنند. علاوه بر آن داوطلبانی که تا کنون برای دروسی که سال های قبل ضریب صفر داشتند و امسال ضریب یک دارند وقت نگذاشته اند و وقت کافی برای مطالعه این دروس ندارند از اضافه کردن آنها به برنامه خود صرف نظر کنند. دروس زبان، ریاضیات و مدار های الکتریکی نیز همچون سال های گذشته اما با ضرایبی متفاوت برای همه گرایش ها یکسان هستند.
از تغییرات دیگر می توان به حذف دروسی همچون مدار منطقی و ریز پردازنده و بررسی سیستم های قدرت اشاره کرد که به ترتیب دروس اختصاصی گرایش های مکاترونیک و قدرت بودند. البته به نظر می رسد درس بررسی سیستم های قدرت نیز با ماشین های الکتریکی ترکیب شده و تحت عنوان ماشین های الکتریکی و تحلیل سیستم های انرژی الکتریکی در آمده است.
با وجود تغییرات گسترده در گرایش ها و ضرایب دروس امتحانی رشته مهندسی برق در سال های اخیر، شاهد تغییراتی جزیی در گرایش ها و ضرایب دروس امتحانی رشته مهندسی کامپیوتر و فناوری اطلاعات هستیم.
در ادامه گرایش ها و عناوین دروس امتحانی مجموعه مهندسی برق و مجموعه مهندسی کامپیوتر درج شده است. به منظور مشاهده تصاویر در سایز اصلی بر روی آنها کلیک کنید. به زودی لیست منابع و راهکارهای کنکوری نوشته شده در پست های بهترین مراجع مهندسی برق و منابع ارشد برق و مشاوره برقی بروزرسانی خواهند شد.


ضرایب امتحانی کنکور ارشد مهندسی برق


ضرایب امتحانی کنکور ارشد مهندسی کامپیوتر و فناوری اطلاعات

ادامه مطلب

%d8%aa%d8%b1%d9%85%d9%88%d8%b3%d8%aa%d8%a7%d8%aa-2

ماژول ترموستات دما و رطوبت مناسب دستگاه های جوجه کشی و سالن های پرورش قارچ و….

ترموستات دما و رطوبت

دقت اندازه گیری دما ۰٫۱ درجه سانتی گراد

دقت اندازه گیری رطوبت ۰٫۱ درصد

برای خرید این محصول از طریق لینک زیر اقدام فرمایید

 

ادامه مطلب

پروژه ربات تشخیص مانع با آردوینو و سنسور مافوق صوت

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

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

در این مدار از یک حسگر HC-SR04 که یکی از ارزان ترین قیمت ها در این نوع است استفاده شده است. این سنسور دارای ۴ پین است که دوتای آنها تغذیه و دوتای دیگر ورودی و خروجی هستند. مکانیزم آن ساده است؛ ارسال امواج و دریافت پژواک آنها.

تصاویر مدار و مراحل انجام کار کاملاً روشن و گویا هستند. در این ربات از یک آردوینو پرو مینی ۵ ولت و IC L293D جهت درایو موتورها استفاده شده و به منظور زیبا سازی کار، led و اسپیکر هم مورد استفاده قرار گرفته اند.

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

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

  •  ۱ عدد آردوینو پرو مینی
  •  ۴ عدد باطری قلمی + جا باطری
  •  ۱ عدد بلندگوی کوچک ( بیزر )
  •  ۱ عدد LED
  •  ۱ عدد حسگر مافوق صوت SR-04
  •  ۱ عدد مقاومت ۴۷۰ اهم
  •  ۱ عدد آی سی L293D
  •  ۱ عدد سوئیچ
  •  ۲ عدد موتور DC ساده
  •  مقداری پین هدر و کابل

قطعات مکانیکی مورد استفاده در پروژه ربات تشخیص مانع با آردوینو :

  •  ۲ عدد گیربکس اسباب بازی دو چرخ
  •  ۱ جعبه پلاستیکی
  •  چسب فوری

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

مرحله ۱: مونتاژ بدنه ربات

قطعات مکانیکی ربات

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

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

مرحله ۲: مونتاژ قطعات الکترونیکی مدار

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

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

برد آردوینو را توسط پین هدر ها به برد سوراخ دار متصل کنید و آی سی L293D را روی برد سوار کنید. سپس سیم کشیهای داخلی و خارجی برد را انجام دهید. در هنگام چیدمان قطعات در بدنه ربات می توانید مطابق سیلقه خود عمل کنید. قطعاتی مثل LED و Buzzer .

مونتاژ قطعات مکانیکی در بدنه ربات

مرحله ۳: کدهای برنامه

کد زیر مثال ساده و مناسبی است از پیاده‌سازی رفتارهای متفاوت در زبان C برای اجرا بر روی Embed System هایی که دارای حافظه و قدرت پردازشی محدود هستند (مانند Arduino). با توجه به محدودیت های موجود، کد مورد استفاده باید تا جای ممکن ساده و دارای پیچیدگی زمانی کمی باشد.

حالات تقسیم state ها و استفاده از متغیرهای selector ، امکان سوئیچ کردن بین رفتارهای متفاوت را به سادگی فراهم می کند.

نکته: کتابخانه NewPing به همراه حسگر sonar ارائه می‌گردد.

در ادامه می توانید کدهای برنامه را در فایل تکست زیر دانلود و مشاهده نمایید:

حجم فایل: ۲ کیلو بایت

دانلود

موفق و پیروز باشید…

 

ادامه مطلب

اگر دنبال یک نمایشگر کوچک و کم هزینه و البته کاربردی هستید و از کارکردن با السیدی های کارکتری معمول خسته شده اید، حتی اگر دانش زیادی ندارید، ما به شما پیشنهاد می کنیم خیلی راحت نمایشگر نوکیا ۵۱۱۰ (LCD NOKIA 5110) که دارای اندازه فیزیکی ۴۵×۴۳ میلیمتر و رزولوشن صفحه نمایش ۴۸*۸۴ پیکسل است، را راه اندازی نمایید.

این LCD در اصل برای گوشی های نوکیا ۳۳۱۰ و ۵۱۱۰ بکار گرفته می شده است لذا شرکت‌های مختلفی از این LCD ماژول آماده کرده و آن را با چیپ PCD8544 راه اندازی نموده اند، به این ترتیب بصورت تجاری برای عموم مردم در دسترس قرار گرفت، LCD NOKIA 5110 یک صفحه نمایش کاربردی است که می توان از آن برای طراحی  پروژه های حرفه ای و تجاری کمک گرفت.

N5110

با توجه به نمایش زیبای تصاویر و متون در این ماژول نمایشگر، در تیم فنی مهندسی برق تصمیم گرفته شد که جهت معرفی آن با استفاده از زبان سی و کامپایلر محبوب CodeVision نمایشگر نوکیا ۵۱۱۰ (LCD NOKIA 5110) را راه اندازی کرده و نمونه کد آن را منتشر نماییم، لذا در ادامه مطلب خواهید دید که از این پس به راحتی می توانید به وسیله آن انواع کارکتر ، اعداد ، علائم ، حروف ، نوشته ، انواع متغییر و تصاویر را در LCD NOKIA 5110 نمایش دهید.

 

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

یکی از قابلیت های کاربردی این نمایشگر ، امکان نمایش لوگوی دلخواه شماست که با استفاده از نرم افزار LCD Vision به راحتی می توانید کد Hex لوگو را بدست آورید و در برنامه از آن استفاده کنید.

فایل های مورد نیاز راه اندازی ماژول نمایشگر نوکیا ۵۱۱۰:

دانلود سورس کد کامل کدویژن + شماتیک مدار 

 

فیلم عملکرد LCD Nokia5110 :

 

 

.

موضوعات مرتبط و یا مشابه:

 

تاريخ: ۱۶ دی ۱۳۹۴

۳,۶۵۶ بازدید

ادامه مطلب

WiringPI یک کتابخانه به زبان C است که برای تراشه BCM2835 رزبری پای نوشته شده است ، این کتابخانه عملا توانایی راه اندازی GPIO  را برای رزبری پای مقدور می سازد.

و برای زبان های c و ++c مناسب است.این کتابخانه بگونه ای طراحی شده که  برای افرادی که با Wiring  آردوینو کار کرده اند بسیار آشنا می باشد .

Wiringpi می تواند به راحتی در محیط دستوری ترمینال مورد استفاده قرار گیرد و یا در اسکریپت های مختلف به خواندن و نوشتن پین ها بپردازد.

جهت نصب این کتابخانه بصورت زیر عمل میکنیم.

برای دانلود WiringPi از GIT

اگر برای اولین بار دستور clone را استفاده میکنید مرحله زیر را هم اجرا کنید:

سپس برای نصب دستور زیر استفاده شود:

برای تست نصب میتوانید از دستور زیر استفاده کنید:

در ادامه برنامه ی یک LED چشمک زن را بررسی کنیم. وارد محیط ترمینال رزبری شوید  و توسط دستور زیر وارد فولدر wiringPi شوید:

سپس دستورات زیر را به ترتیب وارد کنید تا وارد پوشه مثال‌های موجود در کتابخانه wiringPi را مشاهده کنید:

برای دیدن فایل های داخل پوشه از دستور زیر استفاده کنید

هم اکنون لیست مثال‌های موجود درون این کتابخانه را مشاده می‌کنید برای مثال می‌خواهیم مثال LED چشمک زن یعنی blink.c را باز کنیم برای این منظور توسط دستور nano ، فایل مورد مورد نظر خود را در ادیتور nano باز می‌کنیم.پس برای باز کردن blink.c اینگونه عمل می‌کنیم:

بعد از وارد کردن دستور فوق در ترمینال کد‌های مربوط به فایل blink را مشاهده می‌کنید.هم اکنون در کدی که مشاهده می‌کنید درون main برنامه wiringPiSetup را به wiringPiSetupGpio تغییر دهید.

بعد از تغییرات کلید ترکیبی Ctrl+O را فشار دهید تا تغییرات ذخیره شود. و بعد از کلید ترکیبی CTRL +X را فشار دهید تا از محیط ویرایشگر کد خارج شویم.هنوز با ترمینال کار داریم پس آن را باز نگه دارید.

حال LED را مطابق تصویر زیر به رزبری متصل کنید.

 

اکنون می‌بایست پروژه LED را کامپایل کنیم. برای این منظور در ترمینال دستور زیر را وارد می‌کنیم:

اکنون فایل blink.c کامپایل شده است.اکنون می‌خواهیم فایل کامپایل شده را اجرا کنیم، برای این منظور دستور زیر را در ترمینال وارد می‌کنیم:

 

ادامه مطلب

 

هفتمین قسمت از کارگاه عملی با عنوان “کار با تایمر/کانتر صفر در مد PWM” در ادامه مطلب قابل مشاهده است.

 

پس با ما در ادامه مطلب همراه باشید …

 

سلام

 

در قسمت قبلی با مد PWM آشنا شدین.

 

 

الان وقتشه که برنامه نویسیشو هم یاد بگیرین.

 

اما اول از همه بریم ببینیم که اصلا اوضاع مد PWM در میکروکنترلرهای AVR چطور هست.

 

انتخاب تایمر/کانتر در میکروکنترلر AVR :

 

گفتیم که میکروکنترلر AVR دارای سه تایمر/کانتر هست:

  • Timer/Counter 0
  • Timer/Counter 1
  • Timer/Counter 2

هر سه تای این تایمر/کانترها از PWM پشتیبانی میکنند.

تایمر/کانتر ۰ و ۲ هشت بیتی هستند و تایمر/کانتر ۱ شونزده بیتی !

 

مِن باب یادآوری : هشت بیتی از ۰ میشماره تا ۲۵۵ و شونزده بیتی از ۰ میشماره تا ۶۵۵۳۶ .

 

طبق معمول یه مسئله تعریف میکنیم و اقدام به حل کردنش میکنیم.

 

تعریف مسئله :
 

در نظر داریم با استفاده از تایمر/کانتر صفر، یک موج PWM با فرکانس ۵۰ هرتز و دیوتی سایکل ۳۰ درصد بسازیم.

 

اول یه کم محاسبات انجام میدم تا متوجه بشید که اصلا معنای فرکانس و دیوتی سایکل در اینجا چی هست ؟!

 

 

F= 50 Hz

T = 1/50 Hz = 0.02 s = 20 ms

 

 

 

T = Ton + Toff = 20ms

 

 

Duty Cycle = 30 %

 

Ton = 6 ms

Toff = 14 ms

 

اینا هم خداییش توضیحی لازم نداره !

یه دو دوتا چهارتای ساده ست !

 

از کلیه این محاسبات نتیجه گرفتیم که مدت زمانی که در یک دوره موج خروجی باید سطح یک (۵+ ولت) داشته باشه ۶ میلی ثانیه است !

و همچنین مدت زمانی که موج خروجی باید سطح صفر (۰ ولت) داشته باشه نیز ۱۴ میلی ثانیه است.

 

داریم راجع به موج مربعیه صحبت میکنیمااااا !!!

 

کلیه اینکار ها انجام میشه تا دیوتی سایکل ۳۰ درصد و فرکانس ۵۰ هرتز ساخته بشه.

 

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

لازم بذکره که با استفاده از مد PWM کلیه محاسبات و فرایند تولید موج PWM توسط پردازنده میکروکنترلر انجام میشه و نیازی به برنامه نویسی برای این کار نیست.

 

از تایمر/کانتر شماره صفر استفاده میکنیم.

 

یه سری بزنیم ببینیم رجیسترهاش چیا بودن ؛

 

بررسی رجیستر TCCR0 :

 

قبل ترها در مورد تایمر/کانتر صفر به تفصیل توضیح داده شد. میتونید اینجا ببینید : بررسی تایمر/کانتر صفر

 

اما بحث ما سر دو تا بیت با عنوان های WGM00 و WGM01 هست.

 

بیت های ۳ و ۶ ؛ WGM01:0 – Waveform Generation Mode :
 

 

میبیند که انتخاب مد PWM با انتخاب WGM01:00 بصورت ۰۱ یا ۱۱ قابل انجامه !

 

بیت های ۴ و ۵ ؛ COM01:00 – Compare Match Output Mode :

 

 

جدول بالا مربوط به مد Fast PWM تایمر/کانتر صفر میباشد.

یادآوری : یه پایه ای داریم به نام OC0 که به پایه مقایسه ای خروجی تایمر/کانتر صفر معروفه !

برای این کاری که ما میخوایم انجام بدیم از جدول بالا سطرهای سوم یا چهارم رو انتخاب کنیم.(همون Inverting و Non-Inverting)

 

گفتیم که کلیه فعالیت های مربوط به محاسبات مد PWM توسط CPU و بصورت کاملا سخت افزاری انجام میشه،یعنی مثل مدهای کاری دیگه تایمر/کانتر یعنی Normal و CTC لازم نیست که زیاد درگیر برنامه نویسی بشیم و با تنظیم رجیسترها به خواسته مون میرسیم !

 

برای ساخت موج با دیوتی سایکل و فرکانس مورد نیاز تنها کاری که باید انجام بدیم اینه که مشخص کنیم که چه بلایی سر پایه OC0 مون بیاد!تا در خروجی یه شکل موج با مشخصات دلخواه داشته باشیم.

اگه حالت ۱۰ انتخاب بشه،پایه OC0 پس از تطبیق با مقدار مقایسه ای مون،صفر بشه و در نقطه BOTTOM یک بشه.

اگه حالت ۱۱ انتخاب بشه،پایه OC0 پس از تطبیق با مقدار مقایسه ای مون،یک میشه و در نقطه BOTTOM صفر بشه.

 

جدول بالا برای مد Fast PWM بود.

اگه خواستیم از مد Phase Correct PWM استفاده کنیم،جدول مربوط به بیت های COM01:00 به قرار زیر میشود :

 

 

در ضمن یادتون نره که بیت های CS00 و CS01 رو هم برنامه ریزی کنید.

 

تا اینجا فقط،تایمر/کانتر صفرمونو در مد PWM تنظیم کردیم و بهش گفتیم میخوایم ازش برای ساخت موج PWM استفاده کنیم.

اما بهش نگفتیم که چه دیوتی سایکلی داشته باشه !

خودش هم که علم غیب نداره! باید بهش بگیم !!! laugh

 

نکته جالبی که وجود داره اینه که هر عددی که در رجیستر OCR0 ما ذخیره بشه نقش دیوتی سایکلو بازی میکنه !

یعنی چی ؟

ببینید :

 

OCR0 = DutyCycle = 30 % = 30 % of 255 = 76.5 ==> تقریبا ۷۶

 

خب …

بریم سراغ برنامه نویسی …

 

#include <mega32.h>

توضیح نمی‌دم cheeky

 

void timer0_configuration (void){
TCCR0 = (1<<WGM00) | (1<<WGM01) | (1<<COM01) | (1<<CS00); //Fast PWM Mode,Non-Inverting,No Presacling
DDRB = (1<<PB3); //OC0 Pin Set As Output
}

یه تابع تعریف کردیم به نام timer0_configuration که کلیه تنظیمات مربوط به تایمر/کانتر صفر در اون انجام میشه.

همه چی واضحه(البته برای اونایی که مطالب وبلاگو از اول دنبال کردند !)،ضمن اینکه روبروی هر خط توضیحاتشو هم نوشتم !

 

پین B3 رو هم بعنوان خروجی تنظیم کردیم.

 

void main(void){

timer0_configuration();

while(1){  //Loop For Ever

OCR0 = 76; // Dutycycle

}

} 

این هم تابع main ماست.

اول داخلش تنظیمات تایمر/کانتر صفر فراخوانی شد.

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

 

والسلام …

با این برنامه یه موج مربعی در حالت Non-Inverting ساختیم که دیوتی سایکل ۳۰ درصد و فرکانس ۵۰ هرتز داره.

 

یه مثال دیگه میزنم؛که اینقدر نگید بیشتر مثال بزن !

 

مسئله :

میخوایم یه فلاشر با LED بسازیم.

اما اشتباه نکنید !

منظور ما فلاشری مثل فلاشرهای قبلی نیست.

میخوایم نور LED رو کم و زیاد کنیم.

 

برنامه :

 

#include <mega32.h>
#include <delay.h>

timer0_configuration(void){
TCCR0 = (1<<WGM00)|(1<<WGM01)|(1<<COM01)|(1<<CS00);
DDRB = (1<<PB3);
}

unsigned int brightness;

void main(void){

timer0_configuration();

while(1){  //Loop For Ever

for(brightness=0;brightness<255;bightness++){  // Loop For Increasing Brightness

OCR0 = brightness;
delay_ms(10);

}
for(brightness=255;brightness>0;brightness--){  //Loop For Decreasing Brightness

OCR0 = brightness;
delay_ms(10);

}
}

}  

 

برنامه از دو تا حلقه For تشکیل شده که اولی وظیفه‌ی افزایش نور LED رو به عهده داره و دومی وظیفه‌ی کاهش نور LED رو.

یه تاخیر ۱۰ میلی ثانیه ای هم گذاشتیم برای اینکه متوجه این کاهش و افزایش بشیم !

 

خب این هم از بنامه نویسی و کلا مد PWM…

 

یه نکته ای رو هم خدمتتون عرض کنم،اونم اینکه هیچ وقت با خوندن متنای بنده هوا برتون نداره !

تمامی این مطالبی که برای PWM مطرح و آموزش داده شد،جزو مسائل دم دستی و در ساده ترین صورت ممکن بود.

اما اگه کسی بخواد از زیر و بم PWM سر در بیاره،باید بیشتر تحقیق کنه و اگه علاقه مند بود از دیتاشیت هم استفاده کنه.

کلا بحث نکته خیزیه!(البته مخاطب بنده کسانی نیست که برای پاس کردن درس این پستو میخونن ! angry)

اینو گفتم که بدونین قضیه به این سادگی هم نیست.frown

 

 

فعلا …

ادامه مطلب

سنسور شتاب سنج و استفاده از آن در کوادکوپتر

به این نوشته رای دهید

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

 Accelerometer یا شتاب سنج چیست و چگونه کار می کند؟

یک یک سنسور شتاب سنج الکترونیکی می تواند میزان شتاب وارد شده به این سنسور را به پالس های آنالوگ یا دیجیتال تبدیل کند و با اندازه گیری مقدار الکترونیکی این سیگنال خروجی از سنسور شتاب سنج می توانید شتاب یک وسیله ای را که این سنسور روی آن سوار شده را اندازه بگیرید برای مثال شتاب یک کوادکوپتر. به طور تقریبی حتی می توان با انتگرال گیری از مقدار شتاب سرعت را محاسبه کرد.(این محاسبه در صورتی به ما جواب درستی را می دهد که شتاب نیروی جاذبه را از این مقادیر کم کرد.) یک شتاب سنج می تواند یک محوره،دو محوره یا حتی سه محوره باشد. مثلا اگر سنسور شتاب سنج شما سه محوره باشد این سنسور به شما بردار شتاب وارده به این سنسور را در بردار های X و Y و Z نشان دهد.

یک شتاب سنج مکانیکی مانند شکل زیر دارای یک وزنه، فنر و مقاومت مکانیکی یا همان Damper هست. این شتاب سنج یک محوره هست که تنها در یک جهت میزان شتاب را اندازه می گیرد.

شتاب سنج مکانیکی

Damper که با علامت R مشخص شده به این علت در این شتاب سنج استفاده شده تا بتواند از نوسانات وزنه جلوگیری کند و به اصطلاح این نوسان نا خواسته را Damp کند. با وارد شدن شتاب به این سیستم مکان وزنه m تغییر می کند میزان تغییر وزنه در بردار x مشخص می شود و می توان شتاب وارده به این سیستم را بدست آورد. اما Accelerometer های الکترونیکی چطور می توانند میزان شتاب را اندازه گیری کنند؟ شتاب سنج های الکترونیکی MEMS هستند. MEMS که مخفف MicroelEctroMechanical systems هست. سیستم های MEMS ساختار های بسیار ریز در حد میکرو یا نانو متر مکانیکی دارند که می توانند تغییرات مکانیکی را به سیگنال های الکترونیکی تبدیل کنند. یک شتاب سنج MEMS که در شکل زیر می بینید:

ساختار شتاب سنج MEMSبا وارد شدن شتاب به این سیستم جای وزنه و میزان فنر را تغییر می دهد با تغییر این وزنه میزان خازنی CS1 و CS2 تغییر کرده و با میزان تغییرات ظرفیت خازنی این دو خازن می توان شتاب را محاسبه کرد. در یک آی سی یا ماژول Accelerometer مانند  ADXL335 ADXL345 MMA8453 MMA8452 MMA8451 نیازی به اندازه گیری میزان خازنی یا سیگنال خروجی ندارد و تنها یک رابط دیجیتال مانند SPI یا I2C و یا رابط آنالوگ که با آردوینو می توان به راحتی این سیگنال ها را دریافت کرد.

چرا باید از سنسور شتاب سنج در کوادکوپتر ها استفاده کرد؟

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

راه اندازی شتاب سنج با استفاده از آردوینو:

ماژول mma8452 gy-45

ما در این پست نحوه راه اندازی یک شتاب سنج سه محوره (XYZ) را با Arduino توضیح می دهیم. سنسور شتاب شنجی که از آن استفاده می کنیم سنسور MMA8452 است. این آی سی می تواند تا ۸G شتاب را با دقت ۱۲ یا ۸ بیت اندازه گیری کند. آی سی MMA8452 از طریق رابط دیجیتالی I2C به میکروکنترلر یا Arduino متصل می شود و می تواند دیتای میزان شتاب وارد شده را در بردار XYZ به Arduino شما منتقل کند. با این سنسور میتوانید دیتای شتاب در تعداد بیت ۸ و ۱۲ اندازه گیری کند. برای این کار تنها نیاز است در کتابخانه این سنسور میزان دقت آن را تعیین کرد. همچنین می توانید حداکثر بازه شتاب که می تواند این بازه ۸G 4G 2G باشد، در تابع کتابخانه مشخص کرد. این آی سی MEMS می تواند در صورت SET کردن رجیستر های کنترلی در صورت تغییرات شتاب مانند سقوط آزاد و ضربه به میکروکنترلر یا آردوینو Interrupt دهد. کد راه انداز و کتابخانه ماژول MMA8452 را می توانید در لینک پایین Library و سورس کد های راه اندازی ماژول MMA8452 دانلود کنید:

دانلود فایل با لینک مستقیم

گروه تلگرام


Post Views:
۷۵

ادامه مطلب

مهدی زمانی_راه اندازی نمایشگر nokia 5110 با stm32 جلسه آخر_الکترونیک_الکترونیک – آموزش و پروژه های الکترونیک

سلام : از تاخیری که به وجود امده عذر خواهی میکنم, بریم سراغ راه اندازی نمایشگر nokia 5110 با stm32 جلسه آخر ؛ یه یاد اوری از جلسه قبل بگذاریم تا بعد؛ اخرین تابعی که جلسه قبل برای LCD نوشتیم تابع رفرش ال سی دی بود (اپدیت کردم محتوای ارایه به محتوای رم ال سی دی…

(مشاهده بیشتر…)

دسته بندی :

  • stm32

مهدی زمانی_راه اندازی نمایشگر nokia 5110 با stm32 جلسه آخر_الکترونیک_الکترونیک – آموزش و پروژه های الکترونیک

ادامه مطلب

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

نام این ربات DeLorean است و با آیدی @delorean_bot می توانید به آن دسترسی پیدا کنید. نحوه کار کردن با آن بسیار ساده است و پس از زدن کلید Start، انتخاب زبان و تعیین موقعیت مکانی (برای تعیین ساعت و محدوده زمانی منطقه فعلی شما) می توانید کار را شروع کنید. قابل ذکر است که این ربات از زبان فارسی پشتیبانی نمی کند. پس از انجام تنظیمات، ابتدا با انتخاب کلید Add notification و درج عنوان مد نظر یک یادآوری جدید ایجاد می کنید. در مرحله بعد باید زمان و تاریخ یادآوری را مشخص کنید. زمان و تاریخ از قالب های مشخصی پیروی می کنند که در ربات قابل مشاهده هستند. پس از اتمام مراحل، در زمان تعیین شده یادآوری به شما اعلان می شود. شکل زیر مراحل انجام کار را نشان می دهد.

امیدوارم این پست برای شما جذاب بوده باشه و بتونید از این ربات استفاده مفید رو ببرید.

به منظور آشنایی با ربات های دیگر تلگرام بر روی اینجا کلیک کنید.

ادامه مطلب

 

کیت فاصله سنج  آلتراسونیک

اندازه گیری فاصبه از ۲ سانتی متر الی ۴۵۰ سانتی متر

دقت ۱ سانتی متر

دقیق

ولتاژ تغدیه ۱۲ ولت

مجهز به ماژول آلتراسونیک

مجهز به میکروکنترلرatmega8

Buy

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

 

 

ادامه مطلب