PIC18f458

C

csr1981

Guest
لا يمكن لأحد أن تعطيني منطق / المدونة لقياس سرعة المحرك باستخدام PIC18f458.لهذا لدي مربع موجة مدخلات لmicrocontroller لسرعة المحرك.ولست بحاجة لتحويل هذه الموجة القادمة مربع سرعة نبضات (دورة في الدقيقة).
تواتر الساحة موجة تتفاوت وتختلف حسب السرعة.

 
<img src="http://gallery.dpcdn.pl/imgc/News/55632/g_-_550x412_-_s_55632x20140628201109_0.jpg" alt="image" />Mobius ActionCam to tania (bo może być Wasz za zaledwie 230 zł) odpowiedż na drogie kamery dla sportowców ekstremalnych, modelarzy RC i w zasadzie wszystkich, którzy od czasu do czasu potrzebują nagrać coś w wysokiej jakości, ale nie chcą przy tym nadwerężyć swojego portfela.

Wakacje już oficjalnie rozpoczęte (przynajmniej dla niektórych — z tego miejsca pozdrawiamy wszystkich uczestników...<img src="http://feeds.feedburner.com/~r/dobreprogramy/Aktualnosci/~4/TBEXbd1Yvqg" height="1" width="1"/>

Read more...
 
مرحبا csr1981
هذا الموضوع كنت قد توجه في الاتجاه الصحيح : http://www.edaboard.com/viewtopic.php؟p=1152065

الحل شرحت ذلك ينطبق على PIC16F874 (ما كنت فعلت عندما قياسات لفة في الدقيقة) ، ولكن المبدأ نفسه يمكن أن يستخدم في معظم PIC18F MCUs كذلك.

 
مرحبا jumper2highذهبت من خلال هذا المنصب ، ولكن didnot الحصول على فكرة واضحة.

هل تستطيع أن تقدم أو رمز للمنطق نفسه ،
قد يكون كبيرا.

شكرا.

 
لم أتمكن من مساعدتك الفعلية مدونة (منذ مختلف بلدان جزر المحيط الهادئ طرق مختلفة ليفعل الشيء نفسه).

في الأساس ، إذا كان لديك مربع الموجة يمثل إشارة إلى أن دوران المحرك (1 = 1 نبض الكامل التناوب) كل ما عليك القيام به هو احصاء عدد المرات التي يذهب من الإشارة إلى ارتفاع منخفض توقيت واحد في حين أن الثانية مع توقيت.بمجرد أن يتم ذلك ، تضاعف عدد والبقول بمقدار 60 لفة في الدقيقة لديك (الدورات في الدقيقة الواحدة).هناك عيب صغير هذه الطريقة للقيام بهذه الأمور أولا ، أنت عد الحبوب واحدة لكامل الثانية ،
الأمر الذي يعني استكمال معدل من لفة في الدقيقة) ليست كثيرة ، وكنت مضاعفة النتيجة قبل 60 وهو ما يعني إذا كنت خطأ نبض تعول 1 فقط ، فإن الفرق سيكون لفة في الدقيقة 60 دورة في الدقيقة.

إذا كان المحرك الذي جعل لكل واحد 10 البقول التناوب في الدقيقة الواحدة ، وكنت أفضل لتحقيق الدقة)
، وسيكون قادرا على الحد من الوقت لفرز نصف ثانية أو أقل
، مع الحفاظ على الدقة مرضية).طريقة أخرى لحساب سرعة محرك هو استخدام الحزب الشيوعي الصيني (اسر / قارن / PWM) وحدة مع 16 بت الموقت.إذا أنشأ الحزب الشيوعي الصيني "احتجاز" الموقت عندما يحدث ارتفاع الحافة ، فإنه ما من المحل ، ثم ارتفع مرة أخرى على حافة يحدث لك طرح القيمة المخزنة من القبض على القيمة الجديدة للالموقت ،
وسوف يعرف على وجه الدقة قد انقضى وقت طويل بين اثنين من الحبوب ، مما يعني فستعرف بالضبط الوقت الذي يستغرقه القيام كامل التناوب.حساب بسيط
، ومن ثم تسمح لك حساب الفعلية لفة في الدقيقة.مثلا :

نبض # 1 Timer1 القبض القيمة = "16000"
في انتظار آخر نبضة
نبض # 2 Timer1 القبض القيمة = "36000"

أو

نبض # 1 --> الموقت هو إعادة
في انتظار آخر نبضة
نبض # 2 --> الموقت القبض على القيمة = "20000"

الآن ، نظرا لأننا باستخدام 4Mhz ساعة ، لدينا اختلاف في توقيت 20.000 microseconds الذي 20ms.وهذا يعني أن المحرك يحتاج 20 miliseconds لا احد التناوب.إذا كان لنا أن نعرف ذلك ،
لا نعرف المحرك ستفعل تناوب في 50 ثانية واحدة ، 3000 وتناوب في دقيقة واحدة.

الحد الوحيد لهذه الطريقة هو مجموعة لفة في الدقيقة.لا يمكنك قياس بسرعة بطيئة جدا (إلا إذا كنت تنفيذ المزيد من الخطوات في العد الموقت المفرطة).أقصى "الوقت" الموقت يمكن هو 65536 microseconds (بدون prescaler).ذلك يعني أنك لن تكون قادرة على قياس بسرعة 1000rpm أدناه بدون إضافة prescaler (فقدان الدقة) ، أو إضافة المزيد من رمز لخدمة احتساب الفائض.الحد الأقصى لدورة في الدقيقة يمكن القياس على هذا النحو مع 4Mhz الساعة بسرعة تتجاوز أي البدنية السيارات / مروحة يمكن تحقيقه ، بحيث لا شيء يدعو للقلق

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="ابتسامة" border="0" />
 

Welcome to EDABoard.com

Sponsor

Back
Top