ربات 5 سنسوره با نمایشگرLed+ولتاژوآمپرسنج+تنظیم موتور

در این بخش می توانید در رابطه با پروژه‌ها تکمیل شده رباتیک به بحث و گفتگو بپردازید

مدیران انجمن: sinaset, شوراي نظارت

ارسال پست
Colonel II
Colonel II
نمایه کاربر
پست: 7545
تاریخ عضویت: سه‌شنبه ۲۶ آذر ۱۳۸۷, ۴:۲۰ ب.ظ
سپاس‌های ارسالی: 9280 بار
سپاس‌های دریافتی: 22106 بار

ربات 5 سنسوره با نمایشگرLed+ولتاژوآمپرسنج+تنظیم موتور

پست توسط sinaset »

بنام خدا
با سلام


معرفی ربات ورژن 2 - Robot V 2

ربات ورژن 2،نوع تکامل یافته تر v1 می باشد.هدف از ساخت این ربات اقدامی برای هوشمند سازی هرچه بیشتر این ربات در آیند می باشد..
کدهای نوشته شده برای ربات،از نوع ساده و کمی ساده می باشند،برای همین تعداد خطوط کد نویسی به بیش از 1000 خط میرسد ... (که انشالله سعی میشود در V3 این مشکل برطرف شود)
در این ورژن قابلیت های چون ولتاژ سنج و آمپر سنج (آمپر مصرفی) + تعویض شدن افکت سنجش سرعت ربات اضافه شده است.

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

ولتاژ سنج مدار

تصویری از شماتیک ولتاژ سنج مدار و وصل شدن ان به پایه ADC*  تصویر   مدار بالا،در واقع به کمک قابلیت تقسیم مقاومتی،ولتاژ را افت میدهیم سپس آن را به واحد ADC* میکرو میدهیم. !  (ADC میکرو چیست ؟ واحدیست که ورودی آنالوگ را می خواند و سپس آن را به دیجیتال تبدیل می کند.این واحد می تواند تا ولتاژ 5 را اندازگیری کند و بیشتر از را نمی تواند اندازه بگیرد!)   استفاده کردن از تقسیم مقاومتی،این است که،میکرو نمی تواند بیش از 5 ولت را اندازه بگیرد،ولی ما می خواهیم تا 13 ولت (حداکثر باتری مورد استفاده ما)را اندازه بگیرم.   ما به کمک تقسیم مقاومتی ولتاژ ما بین 13 ولت تا 1 ولت را به 5 تا 1 ولت افت میدهیم. سپس به کمک ضرب و تقسیم*، ولتاژ واقعی را بدست میااوریم سپس به روی LED ها نمایش میدهیم.  (نکته دیگر در رابطه با واحد ADC میکرو.ADC دارایه دقت 10 بیتی است.یعنی 1024 واحد درون خودش دارد.حال ADC نیاز به یک ولتاژ برای مقایسه کردن نیز دارد.که این ولتاژ یا باید از طریق درون میکرو باشد ، یا که به کمک پایه AVCC میکرو باشد.که ما از پایه AVCC استفاده میکنم،و پایه avcc را 5 ولت میدهیم.حال ADC می آید 5 را تقسیم بر 1024 واحد خودش میکند، که تقریبا میشود 5 میلی ولت.5 میلی ولت در واقع دقت ADC ما میشود،یعنی ADC ما به افزایش 5 میلی ولتی،1 واحد به ADC خود اضافه میکند.به عنوان مثال اگر ADC یک ولتاژ 2.5 ولتی را خواند یعنی چه تعداد واحد درون فعال شده؟! 2.5 * 1024 تقسیم بر 5 می کنیم(فرمول صحیح برای بدست اوردن جواب) یا که به عنوان مثال ADC یک ولتاژ را 866 واحد خواند،یعنی چه ولتاژ به ولت بوده؟ 866*5 تقسیم بر 1024 جواب 4.22 ولت)   ما می آیم به کمک فرمول تقسیم ولتاژ، 13 ولت را به 5 ولت تبدیل میکنیم ...   فرمول تقسیم ولتاژ  تصویر  تصویر   مدار خودمان R1 یک مولتی ترن 100 کیلو اهمیست که روی 43 درصد تنظیم شده. که میشود 43 کیلو اهم . و R2 یک مقاومت 27 کیلو اهمیست . ولتاژ اصلی مان هم 13 ولت است    ما ابتدا 13 ولت را ضربدر مقاومت دوم 27 کیلو اهم می کنیم(جواب 351,000)، و بعد مقاومت اول و دوم رو بصورت جداگانه با هم جمع می کنیم(جواب 70,000). و در انتها 351,000 را تقسیم بر 70,000 می کنیم . که جواب حدود 5.01 میشود (یا همان 5 ولت )  شاید سوال بپرسید،خوب بعد از اینکه 13 تا 1 ولت را به 5 تا 1 ولت تبدیل کردیم،چطور میشود آن را با برنامه نویسی ، از دوباره به ولتاژ 13 تا 1 ولت مد نظرمان برسیم ..    این کار خیلی ساده 13 ولت را تقسیم بر 5 ولت میکنیم(تا اختلافشان مشخص شود) ،جواب میشود 2.6    خیلی ساده،عدد بدست امده از ADC را ضربدر 2.6 می کنیم . ..جواب بدست امد،ولتاژ واقعی گرفته شده از باتری یا منبع تغذیه زیر 13 ولت ما می باشد ...   به عنوان مثال    یک منبع تغذیه 9.2 ولتی داریم . مراحل با فرمول به چه صورت می باشد ....؟!   ابتدا توسط تقسیم مقاومتی ولتاژ 9.2 ولت به 3.538 کاهش پیدا میکند(9.2 تقسیم بر 2.6 ).(که در واحد ADC اینطور محاسبه میشود 3.538 ضربدر 1024 و در انتها تقسیم بر 5 میشود 724 واحد ADC) و در برنامه نویسی 3.538* 2.6 میشود،که حدود همان 9.2 ولت میشود.  ====  اما کدهای گفته شده در برنامه نویسی    ابتدا به کمک کدهای زیر واحد های ADC میکرو رو فعال می کنیم. 
Please Login or Register to see this code

سپس به کمک کدهای زیر ولت را خوانده و اماده نمایش می کنیم ..
Please Login or Register to see this code
انشالله در پایان کدها و سورس ها را بطور کامل قرار میدهیم ...
ادامه دارد....
باتشکر.
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.
با عرض پوزش،دیگر در انجمن حضور ندارم،که به پیام ها پاسخ بدم.
Colonel II
Colonel II
نمایه کاربر
پست: 7545
تاریخ عضویت: سه‌شنبه ۲۶ آذر ۱۳۸۷, ۴:۲۰ ب.ظ
سپاس‌های ارسالی: 9280 بار
سپاس‌های دریافتی: 22106 بار

Re: ربات خط یاب+سورس و نقشه ها (به مرور ورژن جدیدتر اضافه می

پست توسط sinaset »

بنام خدا
با سلام

نکته در رابطه با پست قبل:ADC بعد از خواندن ولتاژ انها را تبدیل به واحد های خود می کند. برای همین است که ما به کمک فرمول که در همان پست قبلی گفتیم،واحدها(منظور همان 1024 واحد ADC) را تبدیل به ولتاژ می کنیم.

ادامه معرفی Robot v2
آمپر متر مدار
 تصویر 
امپرمتر مدار،از نوعی که جریان در حال مصرف کل مدار رو بهمون میگه.
نکته:آمپر متر طراحی شده،روی ربات خودم،بدرستی کار نمی کند،اما در شبیه ساز پروتئوس مشکلی ندارد

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

فرمول بدین شکل است، ولتاژ افت تقسیم بر مقاومت .

ما برای ساخت آمپر متر باید از مقاومت کم اهم (زیر 1 اهم) استفاده کنیم،تا افت ولتاژ کل مدارمان خیلی خیلی کم باشد.
برای همین مقاومت 0.33 اهم یا 0.165 اهم یا 0.1 اهم پیشنهاد میشود ..

و ما باید بدانیم که چه میزان آمپر از مدارمان میگذرد تا نسبت به آن مقاومت های خود را انتخاب کنیم .
حال با توجه به مدار ما که کمتر از 2 امپر مصرفش هست (شاید در نهایت به 1 امپر برسد) یک مقاومت 2 واتی 0.165 اهمی را انتخاب می کنیم .(که حدود 2 امپر را می تواند از خود عبور دهد)

مقاومت را اول راه تغذیه قرار میدهیم ، ان هم بر روی جریان منفی (اینطور بهتر جواب میدهد )
 تصویر   دیگر همه چیز آسان    واحد های خوانده شد توسط ADC را تبدیل به ولتاژ می کنیم، سپس ان را تقسیم بر مقاومت می کنیم.    عنوان مثال ADC حدود 100 واحد خوانده(یعنی ولتاژی حدود 0.488 ) چه امپری از مدار می گذرد؟!(مقاومت ما 0.33 اهمی می باشد)   ADC را تبدیل به ولتاژ می کنیم 100 ضربدر 5 و تقسیم بر 1024 میشود 0.488 ولت . حال ولتاژ را تقسیم بر مقاومت می کنیم 0.488 تقسیم بر 0.33 اهم میشود. که جواب میشود 1.479 امپر.   به کمک فرمول که گفته شد متوانید امپر گذری مدار را بدست بیاورید..  برنامه نویسی کد ویژن 
Please Login or Register to see this code


ادامه دارد ...
باتشکر.
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.
با عرض پوزش،دیگر در انجمن حضور ندارم،که به پیام ها پاسخ بدم.
Colonel II
Colonel II
نمایه کاربر
پست: 7545
تاریخ عضویت: سه‌شنبه ۲۶ آذر ۱۳۸۷, ۴:۲۰ ب.ظ
سپاس‌های ارسالی: 9280 بار
سپاس‌های دریافتی: 22106 بار

Re: ربات خط یاب+سورس و نقشه ها (به مرور ورژن جدیدتر اضافه می

پست توسط sinaset »

بنام خدا
با سلام

ادامه معرفی ROBOT v2
تعویض کد های رقص نور

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

ورژن قدیمی
Please Login or Register to see this code
ورژن جدید
Please Login or Register to see this code
در حلقه بالا هر 20 میلی ثانیه پایه ها را چک می کند و سپس بعد از 10 مرتبه تکرار، به دستوری بعدی مراجعه می کند...

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

باتشکر.
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.
با عرض پوزش،دیگر در انجمن حضور ندارم،که به پیام ها پاسخ بدم.
Colonel II
Colonel II
نمایه کاربر
پست: 7545
تاریخ عضویت: سه‌شنبه ۲۶ آذر ۱۳۸۷, ۴:۲۰ ب.ظ
سپاس‌های ارسالی: 9280 بار
سپاس‌های دریافتی: 22106 بار

Re: ربات خط یاب+سورس و نقشه ها (به مرور ورژن جدیدتر اضافه می

پست توسط sinaset »

بنام خدا
با سلام


ادامه معرفی ROBOT V2
اضافه کردن پتانسیو متر با کنترول نور LED ها و چند تغییر دیگر

در ورژن جدیدت یک پتانسیو 1 کیلو اهمی به پایه های منفی LED ها برای کنترول شدت نور انها اضافه شده
 تصویر 
همانجور که مستحضر هستید پتانسیو متر یک مقاومت رشته ی درونیست،که هرچقدر درجه چرخش را به یک سمت بچرخانیم (مثلا به سمت راست) در همان جهت به مرور مقاومتش کمتر شده ،و ان جریان را به به بیرون (از طریق پایه وسطی ) میدهد
 تصویر   عنوان مثال،در تصویر بالا،هر چقدر درجه چرخش به سمت بالا حرکت کند،مقاومتش کمتر شده ولتاژ مثبت بیشتری هدایت میشود و هر چقدر به سمت پایین حرکت کند مقاومت بیشتر شده و ولتاژ افت پیدا می کند .   به کمک روش بالا ، یک پایه را به زمین و پایه دیگر را به VCC یا مثبت 5+ وصل می کنیم،بدین شکل عمل کم کردن LED ها بهتر و سریع تر انجام میشود ..     مقاومت های POLL-UP   تا بحال اسم پول آپ را شنیده اید. و برایتان سوال شده که این یعنی چه ؟ و چه کاربردی دارد ..   تصویر 
مدار و میکرو در اطرافشان نویز وجود دارد و معمولا این نویز روی 0 و 1 شدن یا داده ها تاثیر می گذارد . حالا اگر مثلا ما یک پایه را دکمه وصل کرده باشیم،بدون مقاومت پول اپ،ان نویز بدلیل نبودن جریان خاصی در ان قسمت (چون دکمه که همیشه در حال سوئیچ کردن نیست) تاثیر می گذرد و وضعیت ها را برای خودش 0 و 1 می کند!
حال ما می ایم،یک جریان ضعیف منفی را به کمک مقاومت 4.7 تا 10 کیلو اهم درست می کنیم و ان را می اندازیم روی پایه مد نظر.اینطور نویز ها نمی تواند اشکالی در وضعیت پایه ها درست کند و از ان طرف چون جریان افتاده رو پایه از جریان ازاد شده از طریق دکمه کمتر است ، اشکالی در سوئیچ کردن فرمان به وجود نمی اورد.
* عکس POLL-UP میشود POLL-DOWN .. پول دان برای زمان ایست که بخواهیم جریان منفی را از کلید ها عبور دهیم،ان وقت مقاومت ها افتاده بر روی پایه ها را بجایی منفی ،مثبت قرار میدهیم.

-------
تصویری از بعد از زدن دکمه استارت .. ابتدا میزان سرعت نشان داده میشود،سپس ولتاژ نشان داده میشود،سپس امپر گفته میشود،بعد هم یک لود برای شروع به کار کردن ربات
 تصویر  . 
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.
با عرض پوزش،دیگر در انجمن حضور ندارم،که به پیام ها پاسخ بدم.
Colonel II
Colonel II
نمایه کاربر
پست: 7545
تاریخ عضویت: سه‌شنبه ۲۶ آذر ۱۳۸۷, ۴:۲۰ ب.ظ
سپاس‌های ارسالی: 9280 بار
سپاس‌های دریافتی: 22106 بار

Re: ربات خط یاب+سورس و نقشه ها (به مرور ورژن جدیدتر اضافه می

پست توسط sinaset »

بنام خدا
باسلام


سورس و شبیه ساز ورژن 2
 تصویر   2 ربات رو تقریبا حدود 6 تا 7 ماه پیش نوشتم .. که البته برای اون زمان خوب بوده،ولی میشید خیلی خلاصه تر بنویسیم ..(ان زمان در برنامه نویسی ضعیف تر بودم)   می کنم اصلاحشون کنم،ولی اگر نتونستم،در ورژن بعدی حتما اصلاح شده تر قرارشون میدم .   پست ها قبلی در رابطه بیشتر مسال ورژن جدید توضیحات ارائه کردم. در این پست دیگه کد و شبیه ساز و یک ویدئو از ربات رو براتون میزارم .  تصویر  تصویر  کد ها به زبان کدویژن 
Please Login or Register to see this code

[External Link Removed for Guests]شبیه ساز و سورس
[External Link Removed for Guests]از ربات ورژن 2


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

بازگشت به “پروژه‌ها تکمیل شده رباتیک”