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

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

hhhhh5
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2010
المشاركات: 110
نشاط [ hhhhh5 ]
قوة السمعة:0
قديم 04-05-2010, 03:56 AM المشاركة 1   
افتراضي البيك و DTMF DECODER متزاعلين !! أيش السواه Twitter FaceBook Google+



السلام عليكم ورحمة الله وبركاته


كيفكم شباب ؟؟

أنا اشتغل على دائرة التحكم بالأجهزة عن طريق الإتصال الهاتفي

واستخدمت DTMF DECODER CM8870PI
مع PIC 16F628

جربت DTMF لحاله وشغال تمام لكن إذا وصلت البيك في الدائرة يتوقف الDTMF عن العمل

مع العلم إنها تتوقف مباشرة فور توصيل الكهرباء للبيك (يعني البيك لسى ماشبكت فيه غير القراوند و 5 فولت ) وع كذا يوقف DTMF

ياليت اللي عنده أي فكرة يرد لي

وهذا كود البيك بلغة بيك بيزك برو

كود:
* DEVICE MCLR_OFF,INTRC_OSC

 
  CMCON=7
LED1     var PORTA.0
LED2     var PORTA.1
LED3     var PORTA.2
LED4     var PORTA.3



  
TRISA.0=0
TRISA.1=0
TRISA.2=0
TRISA.3=0
      
TRISB.0=1
TRISB.1=1
TRISB.2=1
TRISB.3=1

LOW LED1
LOW LED2
LOW LED3
LOW LED4


gg: 

IF (PORTB.0 == 1) AND (PORTB.1 == 0 )AND (PORTB.2 == 0) AND (PORTB.3 == 0) THEN
            HIGH LED1



ELSEIF (PORTB.0 == 0) AND (PORTB.1 == 1) AND (PORTB.2 == 0) AND (PORTB.3 == 0) THEN
            HIGH LED2
            
            

ELSEIF (PORTB.0 == 1) AND (PORTB.1 == 1) AND (PORTB.2 == 0) AND (PORTB.3 == 0) THEN
            HIGH LED3



ELSEIF (PORTB.0 == 0) AND (PORTB.1 == 0) AND (PORTB.2 == 1) AND (PORTB.3 == 0) THEN
            HIGH LED4
            
            
ELSEIF (PORTB.0 == 1) AND (PORTB.1 == 0) AND (PORTB.2 == 1) AND (PORTB.3 == 0) THEN
            LOW LED1



ELSEIF (PORTB.0 == 0) AND (PORTB.1 == 1) AND (PORTB.2 == 1) AND (PORTB.3 == 0) THEN
            LOW LED2



ELSEIF (PORTB.0 == 1) AND (PORTB.1 == 1) AND (PORTB.2 == 1) AND (PORTB.3 == 0) THEN
             LOW LED3



ELSEIF (PORTB.0 == 0) AND (PORTB.1 == 0) AND (PORTB.2 == 0) AND (PORTB.3 == 1) THEN
            low LED4

ENDIF

goto gg

END
الكود يقوم بقرائة الخرج من DTMF ويشغل اللمبه المقابله له على أحد مخارج البيك


وشكرا

اعلانات

ماجد عباس محمد
:: نائب المشرف العام
::
تاريخ التسجيل: Jun 2009
الدولة: القاهرة - مصر
المشاركات: 12,214
نشاط [ ماجد عباس محمد ]
قوة السمعة:408
قديم 04-05-2010, 06:37 AM المشاركة 2   
افتراضي


إذا كان مجرد توصيل +5 و الأرضى يتسبب فى توقف الDTMF سيكون العيب فى خط التغذية يحتاج مكثفات عالية الجودة 0.1 ميكرو فاراد على أطراف كل من تغذية البيك و تغذية 8870 و خرج المثبت 7805 و يمكنك فصل تغذية 8870 باستخدام مقاومة 10 أوم مع مكثف 10 ميكرو + مكثف 0.1 عالى الجودة

هذه ظاهرة معروفه فى الدوائر الرقمية

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

hhhhh5
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2010
المشاركات: 110
نشاط [ hhhhh5 ]
قوة السمعة:0
قديم 04-05-2010, 02:09 PM المشاركة 3   
افتراضي


السلام عليكم

اخوي جربت الطريقة لكن للأسف لم تحل المشكلة !!!


ماجد عباس محمد
:: نائب المشرف العام
::
تاريخ التسجيل: Jun 2009
الدولة: القاهرة - مصر
المشاركات: 12,214
نشاط [ ماجد عباس محمد ]
قوة السمعة:408
قديم 04-05-2010, 02:28 PM المشاركة 4   
افتراضي


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


hhhhh5
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2010
المشاركات: 110
نشاط [ hhhhh5 ]
قوة السمعة:0
قديم 04-05-2010, 02:30 PM المشاركة 5   
افتراضي


انا استخدم
pic16f628
واستخدم الكريستال الداخلي الخاص به .


hhhhh5
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2010
المشاركات: 110
نشاط [ hhhhh5 ]
قوة السمعة:0
قديم 04-05-2010, 02:32 PM المشاركة 6   
افتراضي


اخي ماجد إذا سمحت لو ممكن تضيفي ع المسنجر يكون أحسن

لأني محتاج اليوم الحل

bassa.m(*)h o t m ail


robota
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: الخرطوم_السودان
المشاركات: 926
نشاط [ robota ]
قوة السمعة:102
قديم 04-05-2010, 03:55 PM المشاركة 7   
افتراضي


اخى هل يمكن ان تخبرنا بمقابل كل جملة مثلا
كود:
IF (PORTB.0 == 1) AND (PORTB.1 == 0 )AND (PORTB.2 == 0) AND (PORTB.3 == 0) THEN
ما هو الرقم او الحرف الى يقابله حتى نتاكد من الكود
وايضا ال Q1 هل هى متصل مع rb0 وQ2 مع RB1 وهكذا ام ان التوصيل يختلف .


ماجد عباس محمد
:: نائب المشرف العام
::
تاريخ التسجيل: Jun 2009
الدولة: القاهرة - مصر
المشاركات: 12,214
نشاط [ ماجد عباس محمد ]
قوة السمعة:408
قديم 04-05-2010, 03:55 PM المشاركة 8   
افتراضي


المشكلة أن هذا الرقم ليس به RESET و بالتالى لن تستطيع إيقافة لفحص الدائرة
الحل سيكون فى البرمجة حيث تتأكد من أن البورت المستخدم موضوع فى حال القراءة أى Input و ليس OUTPUT
لتحديد العيب من الميكرو أم من التغذية افصل كل الخطوط الواصلة بينهما بمقاومة 100 أوم أو اى قيمة مقاربة حتى 1 ك تجدها ولا يهم أن تكون متساوية
قيس التغذية يجب ان تكون 5 فولت
حاول تشغيل 8870 و قيس على الخرج بآفو رقمى مرة قبل المقاومة و أخرى بعد المقاومة و تأكد من أنك تختار المخارج المناظرة للرقم
لو خرج 8870 صفر يكون التغذية تمنعها من التحليل والمشكلة فى خط التغذية
لو الخرج موجود ولكته أقل من جهة الميكرو فالعيب فى البرنامج لأنه لا يقرأ البورت بل يحاول الكتابة عليه

إضافة رد

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

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

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


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

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