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

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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 16-07-2013, 01:59 PM المشاركة 1   
افتراضي مبين رقمى ومفتاح تحويل سرعة الماكينات الدوارة DIGITAL TACHOMETER : Twitter FaceBook Google+



مبين رقمى ومفتاح تحويل سرعة الماكينات الدوارة DIGITAL TACHOMETER :
يتم توليد قطار النبضات عن طريق دوران المحرك ، على سبيل المثال ، والذى يرتبط بمخروط مطاطى لنقل الحركة إلى قرص بلاستيك أسود به فتحة من 1 إلى 2 مم ، يمر خلال منتصف عازل ضوئى optocoupler ، خرج العازل الضوئى يصل إلى الميكروكونترولر ، من خلال ترانزستور والذى يعكس هذه الإشارة ، ويتم عرض السرعة على شاشة LCD . يستخدم نفس المبدأ فى تطبيقات متعددة مثل عداد سرعة السيارة .
المكونات :
· شاشة LCD نوع 2X16 .
· 1 مقاومة 10 أوم .
· 1 مقاومة 330 أوم .
· 1 مقاومة 1 كيلو أوم .
· 1 مقاومة 4.7K .
· 1 مقاومة متغيرة 10 كيلوأوم .
· عامود إدارة منفصل بقرص بلاستيك أسود .
· 1 عازل ضوئى بخرج ترانزستور NPN .
· ترانزستور 2N3906 .


الدائرة الكهربية :

البرنامج :
مبين السرعة :

كود:
Device = 16F628A XTAL=4 ALL_DIGITAL true LCD_DTPIN PORTB.4 LCD_RSPIN PORTB.3 LCD_ENPIN PORTB.2 ALL_DIGITAL = true ' CMCON = 7 , All PORTA pins becomes digital Dim rpm As Word ; rpm variable capacity from 0 to 65535 start: rpm = Counter PORTB.0,1000; count pulses on port B.0 during 1 sec rpm = rpm * 60 ; to obtain rpm Print Cls , ; clean LCD Print At 1,1 ," Motor turning:" 'And write Print At 2,4 , Dec rpm ; GET the value of the variable rev Print At 2,9 , " RPM" ; go to 2nd line and write RPM box 9 GoTo start End

لاحظ أن المتغير rpm قد تم ضربه فى 60 للحصول على عدد الدورات فى الدقيقة . للحصول على دقة أكبر يتم عد النبضات خلال 2 ثانية ثم الضرب فى 30 كما يلى :

كود:
rpm = Counter PORTB.0,2000; count pulses in B.0 port for 2 seconds rpm = rpm * 30 ; multiply by 30 to get 1 minute rpm



الطريقة المثالية هى عد النبضات خلال 1 دقيقة كما يلى :

كود:
rpm = Counter PORTB.0,6000; count pulses in PORTB.0 for 60 seconds.
فى هذه الحالة لن نحتاج إلى عملية الضرب ، ولكن عيب هذه الطريقة هى أنه يجب حفظ التواصل مع الآلة لمدة دقيقة حتى يتم الانتهاء من العد ، الطريقة المفضلة هى عد النبضات خلال من 2 إلى 5 ثانية وفى الحالة الأخيرة يتم الضرب فى 12 كما يلى :

كود:
rpm = rpm * 12; rpm variable multiply by 12 to get RPM


ملحوظة : من المهم أن يكون القرص أسود اللون ، لمنع الأشعة فوق البنفسجية من المرور إلى الترانزستور ، القرص المعدن يمكن أن يعمل أيضا .

إضافة مفتاح السرعة :

كود:
Device = 16F628A Xtal=4 All_Digital true LCD_DTPin PORTB.4 LCD_RSPin PORTB.3 LCD_ENPin PORTB.2 All_Digital = true ; CMCON = 7 , All PORTA pins becomes digital Dim rpm As Word ; rpm variable capacity from 0 to 65535 Dim redLED As PORTB.1 ; pin B.1 call redLED Dim greenLED As PORTA.2 ; pin A.2 call greenLED start: rpm = Counter PORTB.0,1000; count pulses on port B.0 during 1 sec rpm = rpm * 60 ; to obtain rpm Print Cls ; clean LCD Print At 1,1 ," Motor Speed:" ;And write Print At 2,4 , Dec rpm ; GET the value of the variable rev Print At 2,9 ," RPM" ; go to 2nd line and write RPM box 9 ; Speed Switch depending on RPM If rpm >1200 Then overSpeed ; if the variable exceeds 120 If rpm <1000 Then underSpeed ; if the variable low 100 Low redLED : Low greenLED ; off the 2 leds GoTo start overSpeed: High redLED ; redLED on Low greenLED ; greenLED off GoTo start underSpeed: High greenLED ; greenLED on Low redLED ; redLED off GoTo start End

اعلانات

الصورة الرمزية Omar Mekkawy
Omar Mekkawy
:: مهندس متميز ::
تاريخ التسجيل: Aug 2011
الدولة: مصر
المشاركات: 1,523
نشاط [ Omar Mekkawy ]
قوة السمعة:0
قديم 17-07-2013, 10:43 PM المشاركة 2   
افتراضي


الله يعطيك العافية أستاذي الكريم ربنا يزيدك من علمه
انا لدي optocoupler جاهز بمعنى انه به الإسطوانة وكل شىء ويمكن ان اركب عليه جنزير كمان

لكن انا اول مرة اعرف انه يمكن استخدامه لقياس السرعة
انا حصلت عليه من ماكينة طباعة كبيرة جداً كانت لدي كانت غنية بالمكونات الإلكترونية وبها شاشة جرافيك الوان تعمل باللمس كمان "وأريد ان اعرف كيفية التعامل معها "
بصراحة انا لسة مادخلتش الجامعة وهاوي الميكروكونترولر والعجيب اني ببرمج بلغة البروتون " اللي حضرتك برمجت بيها هذا المشروع

ربنا يعطيك العافية ويرزقك من علمه

وياريت حضرتك تعطيني اي دورة بلغة البروتون لاني اريد ان اتقدم فيها + اي مواضيع لحضرتك فيها مشاريع لهذه اللغة

وهناك سؤال خارج الموضوع بعد إذن حضرتك

لدي Button موصل بال pic وكلما اضغط عليه يعد على الشاشة
لكن لو دوست عليه بإستمرار يفضل يعد
انا عاوز اعمل كل ما أدوس يعد
إزاي اتخطى المشكلة هذه ؟

اتمنى الا اكون ازعجت حضرتك بأسئلتي الكثيرة

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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:332
قديم 17-07-2013, 11:27 PM المشاركة 3   
افتراضي


الله يعطيك العافية أستاذي الكريم ربنا يزيدك من علمه

انا لدي optocoupler جاهز بمعنى انه به الإسطوانة وكل شىء ويمكن ان اركب عليه جنزير كمان

لكن انا اول مرة اعرف انه يمكن استخدامه لقياس السرعة
انا حصلت عليه من ماكينة طباعة كبيرة جداً كانت لدي كانت غنية بالمكونات الإلكترونية وبها شاشة جرافيك الوان تعمل باللمس كمان "وأريد ان اعرف كيفية التعامل معها "
بصراحة انا لسة مادخلتش الجامعة وهاوي الميكروكونترولر والعجيب اني ببرمج بلغة البروتون " اللي حضرتك برمجت بيها هذا المشروع

ربنا يعطيك العافية ويرزقك من علمه

وياريت حضرتك تعطيني اي دورة بلغة البروتون لاني اريد ان اتقدم فيها + اي مواضيع لحضرتك فيها مشاريع لهذه اللغة

وهناك سؤال خارج الموضوع بعد إذن حضرتك

لدي Button موصل بال pic وكلما اضغط عليه يعد على الشاشة
لكن لو دوست عليه بإستمرار يفضل يعد
انا عاوز اعمل كل ما أدوس يعد
إزاي اتخطى المشكلة هذه ؟


اتمنى الا اكون ازعجت حضرتك بأسئلتي الكثيرة
أخى الكريم

شكرا جزيلا لك
بارك الله فيك
برجاء المتابعة وإن شاء الله تجد كل مفيد

مع تمنياتى بدوام التوفيق


الصورة الرمزية Omar Mekkawy
Omar Mekkawy
:: مهندس متميز ::
تاريخ التسجيل: Aug 2011
الدولة: مصر
المشاركات: 1,523
نشاط [ Omar Mekkawy ]
قوة السمعة:0
قديم 31-07-2014, 03:20 AM المشاركة 4   
افتراضي


سلام عليكم

تم إعادة رفع الصور التي بالموضوع :

http://im44.gulfup.com/4Do6Cj.jpg

http://im44.gulfup.com/egtg4M.jpg

http://im44.gulfup.com/iET4CW.jpg


A-M-S
:: مهندس جيد ::
تاريخ التسجيل: May 2014
المشاركات: 242
نشاط [ A-M-S ]
قوة السمعة:0
قديم 05-08-2014, 02:18 PM المشاركة 5   
sun


مبين رقمى ومفتاح تحويل سرعة الماكينات الدوارة DIGITAL TACHOMETER :
يتم توليد قطار النبضات عن طريق دوران المحرك ، على سبيل المثال ، والذى يرتبط بمخروط مطاطى لنقل الحركة إلى قرص بلاستيك أسود به فتحة من 1 إلى 2 مم ، يمر خلال منتصف عازل ضوئى optocoupler ، خرج العازل الضوئى يصل إلى الميكروكونترولر ، من خلال ترانزستور والذى يعكس هذه الإشارة ، ويتم عرض السرعة على شاشة LCD . يستخدم نفس المبدأ فى تطبيقات متعددة مثل عداد سرعة السيارة .
المكونات :
· شاشة LCD نوع 2X16 .
· 1 مقاومة 10 أوم .
· 1 مقاومة 330 أوم .
· 1 مقاومة 1 كيلو أوم .
· 1 مقاومة 4.7K .
· 1 مقاومة متغيرة 10 كيلوأوم .
· عامود إدارة منفصل بقرص بلاستيك أسود .
· 1 عازل ضوئى بخرج ترانزستور NPN .
· ترانزستور 2N3906 .






الدائرة الكهربية :












البرنامج :
مبين السرعة :

كود:
Device = 16F628A XTAL=4 ALL_DIGITAL true LCD_DTPIN PORTB.4 LCD_RSPIN PORTB.3 LCD_ENPIN PORTB.2 ALL_DIGITAL = true ' CMCON = 7 , All PORTA pins becomes digital Dim rpm As Word ; rpm variable capacity from 0 to 65535 start: rpm = Counter PORTB.0,1000; count pulses on port B.0 during 1 sec rpm = rpm * 60 ; to obtain rpm Print Cls , ; clean LCD Print At 1,1 ," Motor turning:" 'And write Print At 2,4 , Dec rpm ; GET the value of the variable rev Print At 2,9 , " RPM" ; go to 2nd line and write RPM box 9 GoTo start End

لاحظ أن المتغير rpm قد تم ضربه فى 60 للحصول على عدد الدورات فى الدقيقة . للحصول على دقة أكبر يتم عد النبضات خلال 2 ثانية ثم الضرب فى 30 كما يلى :

كود:
rpm = Counter PORTB.0,2000; count pulses in B.0 port for 2 seconds rpm = rpm * 30 ; multiply by 30 to get 1 minute rpm



الطريقة المثالية هى عد النبضات خلال 1 دقيقة كما يلى :

كود:
rpm = Counter PORTB.0,6000; count pulses in PORTB.0 for 60 seconds.
فى هذه الحالة لن نحتاج إلى عملية الضرب ، ولكن عيب هذه الطريقة هى أنه يجب حفظ التواصل مع الآلة لمدة دقيقة حتى يتم الانتهاء من العد ، الطريقة المفضلة هى عد النبضات خلال من 2 إلى 5 ثانية وفى الحالة الأخيرة يتم الضرب فى 12 كما يلى :

كود:
rpm = rpm * 12; rpm variable multiply by 12 to get RPM


ملحوظة : من المهم أن يكون القرص أسود اللون ، لمنع الأشعة فوق البنفسجية من المرور إلى الترانزستور ، القرص المعدن يمكن أن يعمل أيضا .

إضافة مفتاح السرعة :

كود:
Device = 16F628A Xtal=4 All_Digital true LCD_DTPin PORTB.4 LCD_RSPin PORTB.3 LCD_ENPin PORTB.2 All_Digital = true ; CMCON = 7 , All PORTA pins becomes digital Dim rpm As Word ; rpm variable capacity from 0 to 65535 Dim redLED As PORTB.1 ; pin B.1 call redLED Dim greenLED As PORTA.2 ; pin A.2 call greenLED start: rpm = Counter PORTB.0,1000; count pulses on port B.0 during 1 sec rpm = rpm * 60 ; to obtain rpm Print Cls ; clean LCD Print At 1,1 ," Motor Speed:" ;And write Print At 2,4 , Dec rpm ; GET the value of the variable rev Print At 2,9 ," RPM" ; go to 2nd line and write RPM box 9 ; Speed Switch depending on RPM If rpm >1200 Then overSpeed ; if the variable exceeds 120 If rpm <1000 Then underSpeed ; if the variable low 100 Low redLED : Low greenLED ; off the 2 leds GoTo start overSpeed: High redLED ; redLED on Low greenLED ; greenLED off GoTo start underSpeed: High greenLED ; greenLED on Low redLED ; redLED off GoTo start End
بارك الله فيك اخي مشروع جميل ..اخي يا ريت لو تقدر تبعت الكود بلغة السي او البيزك و لكن اذا كان بالسي بيكون افضل ..و شكرا لك

إضافة رد

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

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

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


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

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