PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : کمک فوری



aref db
19-11-2015, 21:37
دوستان سلام
برای شمارش دور موتور تو نت خیلی گشتم
اما همه بدست آوردن rpm رو مطرح می کردن

من فقط میخواستم تعداد پالسها رو بشمارم طوری که به ازای هر پالس, پورت مربوطه در خروجی میکرو روشن بشه.و تو سرعتهای بالا هم به خوبی عمل کنه
از دستور :Config Timer1 = Counter , Edge = Rising خواستم استفاده کنم
میشه کمکم کنید
ممنون

erfanjeddy
19-11-2015, 22:57
این سوال خیلی گنگه، اصلا چطور داری اندازه میگیری، چه پالسیو اصلا داری میشمری؟ اصلا با چی داری میشمری؟

aref db
20-11-2015, 00:45
خخخخخخخ

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

erfanjeddy
20-11-2015, 01:05
بسیار عالی
همون کاری که میگی درسته یه تایمرو تبدیل به کانتر کن(یعنی external event هارو بشماره) و میرسی به چیزی که میخوای فقط تعداد بیت های کانترت و تعداد پالس هایی که میخوای بشماری رو در نظر داشته باش کانتر 16 بیتی به نظر خوب نمیاد واسه این کار
اگه میکروت تایمر 32 بیتی نداره بهتره با یه متغیر، وقفه های خارجی رو بشماری.

aref db
20-11-2015, 01:35
داداش یکم تخصصی شد.
تا به حال با کانتر و تایمر کار نکردم
مبتدی هستم .میکرو اتمگا 8 اس ام دیه.و نمیخوام محدودیتی برای تعداد شمارش داشته باشم یعنی تعداد دور خاصی در نظر ندارم
(
فقط تعداد بیت های کانترت و تعداد پالس هایی که میخوای بشماری رو در نظر داشته باش کانتر 16 بیتی به نظر خوب نمیاد واسه این کار)اینو واسم بیشتر توضیح میدی

erfanjeddy
20-11-2015, 01:46
atmega تایمر 16 بیتی داره، پس تا 65536 تا بیشتر نمیتونه بشمره، حالا راه های دیگه هم هست که از تایمر بشه استفاده کرد ولی بیخیال،
بیا یکی از اینتراپت های خارجیشو فعال کن و خروجی این پرده نوری تو وصل کن بهش ، یه متغیر 32 بیتی تعریف کن بعد تو هر بار که وقفه اتفاق میوفته یکی بهش اضافه کن

aref db
20-11-2015, 01:52
پس با 32 بیت چنتا رو میشه شمرد؟؟

erfanjeddy
20-11-2015, 01:57
4294967296

- - - Updated - - -

به شرط بی علامت بودن اگه میخوای علامت داشته باشی از منفی نصفش تا مثبت نصفش از یه طرف یکی کم

aref db
20-11-2015, 02:04
خوبه .
فرمول محاصبشو میزارید
واین که وقتی تا این مقدار شمرد چه اتفاقی میفته؟

erfanjeddy
20-11-2015, 02:19
فرمول محاسبه چیو؟ بعدش صفر میشه دوباره

aref db
20-11-2015, 02:27
بزارید از کل طرح بگم براتون
من میخوام با سنسور ir و با هر بار قطع شدن میدان نوری در پورت مشخص شده خروجی یک پالس بگیرم (ینی یک پالس به ازای یک دور گردش )
اما قصد شمردنش رو ندارم و فقط میخوام حتی در سرعت بالا هم ورودی با خروجی هم زمان باشه
من برنامشو با ایف نوشتم و جواب داد
اما از دوستان شنیدم که با دیبانس یا تایمر کانتر باید نوشت .
خواستم بدونم از لحاظ اصولی واسه این پروژه باید از چه راهی رفت ؟

erfanjeddy
20-11-2015, 02:35
اگه نوشتی و کار میکنه پس حتما درسته در ضمن دیبانس واسه کنتاکت های مکانیکیه نه solid state اصلا نیازی به نگرانی برای دیبانس نیست. فقط دیکوپلاژ کافیه.

- - - Updated - - -

این جور مواقع اول تست کن ببین اصلا مشکلی داری یا نه. بعد دنبال راه حل بگرد. واسه چیزیم که گفتی به نظرم بهترین راهو انتخاب کردی

aref db
20-11-2015, 02:40
ممنونم دوست عزیز
خیالم راحت شد

erfanjeddy
20-11-2015, 02:40
حالا ببینم اگه نمیخوای بشمری، اصلا میکرو میخوای چیکار؟؟؟
خود سیگنال با خودش همزمانه دیگه اصلا په کاریه؟؟

aref db
20-11-2015, 03:12
:)))))))))))))))))))))))))))))))))))))))))))))))))
کاملا منطقی بود
والا یه سری دستورات هست که با اولین دور (قطع سد نوری ) پرش میشه به لیبل و اونهارو انجام میده
که خارج از هدف اصلی بود
گفتم شاید با بیانش سرتونو درد بیارم
بازم ممنونم