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

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

ennng
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 466
نشاط [ ennng ]
قوة السمعة:0
قديم 02-02-2013, 07:07 PM المشاركة 1   
افتراضي كيف نطرح اشارتيين من بعض مشروع !!! Twitter FaceBook Google+



عندي اشارتين sin waves وحده 100 هيرتز والثانية 500 هيرتز خلطناها ببعض عن طريق op amp والخرج ادخلناه على ADC0 , وعندنا نفس احدى الاشارتيين السابقتين ولنقل 500 هيرتز ادخلناها على القناة ADC1 , ومن ثم طرحنا الناتجيين من بعض يعني ADC0-ADC1 من المفترض ان يطلع الاشارة المتبقية؟؟

يعني 500+100-500=100

هذا الكود:

كود:
unsigned  int sin1;
unsigned  int sin2;
unsigned  int diff;


void main() {
Trisa =0XFF;
Trisd = 0X00;

while(1){

sin1 = ADC_Read(0);   // 500Hz+100Hz
//delay_ms(100);
sin2 = ADC_Read(1);    // 500Hz
//delay_ms(100);
//diff = ((sin1/255)*5)-((sin2/255)*5);
diff = sin1-sin2;
portd= diff;
}

}
وهذه الدائرة:


اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:394
قديم 02-02-2013, 08:24 PM المشاركة 2   
افتراضي


اولا انت هنا لم تطرح ترددات انما تتعامل مع قيم جهد .
ثانيا عبارة التاخير delay_ms(100); ستجعل جزء كبير من الاشارة يهمل لان التردد 500 هرتز زمن الموجة له 2 ملي ثانية وزمن التاخير كبير جدا مقارنة به ..
عملية الطرح تتم بصورة عشوائية لانك لم تحدد العلاقة الطورية بين الاشارتين ..
هل انت متاكد من عملية مزج الاشارتين قبل الدخول على مكبر العمليات انها صحيحة ؟؟

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

ennng
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 466
نشاط [ ennng ]
قوة السمعة:0
قديم 02-02-2013, 08:38 PM المشاركة 3   
افتراضي


دائما تتحفنا بردودك الطيبة اخي حيدر
كما تلاحظ انا حولت القيم ..
اما بالنسبة للتأخير الزمني فعلا كبير لكن انا وضعته في البداية ثم وضعته على شكل كومنت يعني هو خارج البرنامج..

عملية الطرح تتم بصورة عشوائية لانك لم تحدد العلاقة الطورية بين الاشارتين ..
ماهو قصدك هنا؟؟

هل انت متاكد من عملية مزج الاشارتين قبل الدخول على مكبر العمليات انها صحيحة ؟؟
هنا مكبر العمليات هو من يعمل المزج وتسمى الدائرة summation وانا متأكد منها باذن الله.

ياليت تتحفنا بحلول بارك الله فيك


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:394
قديم 02-02-2013, 10:15 PM المشاركة 4   
افتراضي


اذن بقيت مسئلتين ...
هل المطلوب اجراء عملية الطرح على الترددات ام على الجهد ؟؟
هل هناك فرق بالطور بين الاشارتين ام انهما متطابقتان ؟؟؟ و كيف ستضمن ذلك عمليا ؟؟


ennng
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 466
نشاط [ ennng ]
قوة السمعة:0
قديم 02-02-2013, 10:34 PM المشاركة 5   
افتراضي


المهم نحصل على الاشارة الاصلية لكن لااعلم هل الطرح يكون على الجهود او التردد؟

بالنسبة للاشارتيين مافيه اي فرق طور بينهما انما التردد الذي يختلف

وكيف تضمن ذالك عمليا؟؟

خلينا نشتغل الان على السيميلوشن اما بالنسبة للعملي انا وضعت قبل فترة موضوع ممكن نستفيد منه هنا لكن خلينا الان نشوف كيف نسترجع الاشارة المطلوبة. بارك الله فيك


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


الدائرة بها بعض الأخطاء
أولا المكبر له +/- فولت إذن الخرج منه موجب و سالب و الميكرو لا يتعامل مع الجهد السالب
لذا يجب أن تجعل ناتج جمع 100+500 يتراوح ما بين + 5 فولت و صفر
بعد ذلك تدخل الناتج على AD0 مثلا
و التردد الآخر أيضا تحوله إلى +5 فولت و صفر
و بعد ذلك تطرح بدون استخدام sin لأن التحويل AD يقرأ قيم لحظية ولا يعرف إن كانت موجة أم قيمة ثابتة
و فى النهاية تعوض مسألة الصفر أصبح 2.5 فولت


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:394
قديم 03-02-2013, 07:02 AM المشاركة 7   
افتراضي


استاذ ماجد هو لم يستخدم دالة sin انما استخدم متغير اسمه sin1 و sin2 للتمييز فقط ...
اذن عملية الطرح هي للجهود حسب الكود الذي انت كتبته ...
بقيت مشكلة الجهد السالب التي وضحها الاخ ماجد و اعتقد حلها باضافة جهد مستمر 5 فولت للاشارات لجعلها تتراوح بين (0 الى 10) فولت ...


ماجد عباس محمد
:: نائب المشرف العام
::
تاريخ التسجيل: Jun 2009
الدولة: القاهرة - مصر
المشاركات: 12,214
نشاط [ ماجد عباس محمد ]
قوة السمعة:408
قديم 03-02-2013, 09:20 AM المشاركة 8   
افتراضي


استاذ ماجد هو لم يستخدم دالة sin انما استخدم متغير اسمه sin1 و sin2 للتمييز فقط ...
اذن عملية الطرح هي للجهود حسب الكود الذي انت كتبته ...
بقيت مشكلة الجهد السالب التي وضحها الاخ ماجد و اعتقد حلها باضافة جهد مستمر 5 فولت للاشارات لجعلها تتراوح بين (0 الى 10) فولت ...
عفوا معك حق فلم ادقق فى الكود جيدا

إضافة رد

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

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

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


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

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