قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

db2006
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2013
المشاركات: 71
نشاط [ db2006 ]
قوة السمعة:0
قديم 02-09-2016, 01:34 PM المشاركة 1   
ha مساعدة بخصوص كود هول سينسور اردوينو Twitter FaceBook Google+



كود:
volatile byte half_revolutions;
 unsigned int rpm;
 unsigned long timeold;
 void setup()
 {
  pinMode(13, OUTPUT);
  pinMode(2, INPUT);
   Serial.begin(9600);
   attachInterrupt(0, magnet_detect, RISING);
   half_revolutions = 0;
   rpm = 0;
   timeold = 0;
 }
 void loop()
 {
   if (half_revolutions >= 60) { 
     rpm = 30*1000/(millis() - timeold)*half_revolutions;
     timeold = millis();
     half_revolutions = 0;
     int S = analogRead(A0);
     Serial.println(S);
   }
 }
 void magnet_detect()
{
   half_revolutions++;
   }
ممكن شرك الكود باللون الاحمر
وشكرا

اعلانات

مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 620
نشاط [ مشتاق الله ]
قوة السمعة:0
قديم 03-09-2016, 09:08 PM المشاركة 2   
sun


بسم الله الرحمن الرحيم

اخى العزيز اليك الشرح:

1- ينتظر لوصول عدد اللفات الى 60 او قيمة تختارها
كود:
if (half_revolutions >= 60) {
2- يقوم بحساب عدد اللفات للدقيقة :
كود:
 rpm = 30*1000/(millis() - timeold)*half_revolutions;
و نبسط المعادلة كما يلى :
rpm = 60 * number of revolution per second(rps) ---->#1
rps = 1000 * number of revolution per millisecond --->#2

بالتعويض من 2 فى 1 :

rpm = 60 * 1000 * number of revolution per millisecond

, بما ان المتغير
half_revolutions يحتوى على ضعف عدد دورات الموتور بناءا على الداتل شيت
لذا لزم القسمة على 2 , فمثلا لو انه يحتوى على 60 فيكون دورات الموتور 30
اذا يلزم القسمة على 2 فى المعادلة :

rpm = 60 / 2 * 1000 * half_revolutions
rpm = 30 * 1000 * half_revolutions

اما اذا كان الحساس يعطى عدة واحدة لكل لفة فلن نقسم على 2 .


اللهم اجعله عيد نصر و عزة



اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

db2006
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2013
المشاركات: 71
نشاط [ db2006 ]
قوة السمعة:0
قديم 03-09-2016, 11:56 PM المشاركة 3   
افتراضي


بارك لله فيك اخ مشتاق والف شكر على المجهود

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 11:24 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025