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

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

moutazyahia
:: مهندس ::
تاريخ التسجيل: Apr 2015
المشاركات: 44
نشاط [ moutazyahia ]
قوة السمعة:0
قديم 17-05-2016, 09:57 AM المشاركة 1   
افتراضي مشكلة ارسال داتا من أكثر من بيك Twitter FaceBook Google+



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

أعزائي بهذا المنتدى

مشكلتي تتلخص في الآتي:

قمت بصناعة 6 أجهزة بميكروكنترولر 16f877a وشاشة سفن سيجمنت أعتمد في

أخذ الداتا من هذه الأجهزة السبعة عن طريق ارسالها لجهاز قمت بتصميمه به وحدة

ماكس 232 متصل بجهاز الكمبيوتر عن طريق برنامج قمت بتصميمه بالفيجوال

بيسيك.

المشكلة التي واجهتني أنني لا أستطيع توصيل أكثر من جهازين للماكس وإن

وضعت الثالث لا أستطيع أن أرسل من هذه الأجهزة للماكس ومن ثم لجهاز

الكمبيوتر بمعنى أخر تتوقف كل الأجهزة بعد الجهاز الثالث عن الارسال والغريب

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

بيانات من جهاز الكمبيوتر للأجهزة وهذا أمر محير وحاولت بشتى الطرق معالجة

هذا الامر إلا أني لم أفلح علماً أن هذه الاجهزة يجب أن تعمل في المنشأة وهي

تعمل جميعها بنفس الوقت.؟!

اعلانات

hamzazayyad
:: مهندس متميز ::
تاريخ التسجيل: Aug 2005
الدولة: موزنبيق
المشاركات: 701
نشاط [ hamzazayyad ]
قوة السمعة:0
قديم 17-05-2016, 10:16 AM المشاركة 2   
افتراضي


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

أعزائي بهذا المنتدى

مشكلتي تتلخص في الآتي:

قمت بصناعة 6 أجهزة بميكروكنترولر 16f877a وشاشة سفن سيجمنت أعتمد في

أخذ الداتا من هذه الأجهزة السبعة عن طريق ارسالها لجهاز قمت بتصميمه به وحدة

ماكس 232 متصل بجهاز الكمبيوتر عن طريق برنامج قمت بتصميمه بالفيجوال

بيسيك.

المشكلة التي واجهتني أنني لا أستطيع توصيل أكثر من جهازين للماكس وإن

وضعت الثالث لا أستطيع أن أرسل من هذه الأجهزة للماكس ومن ثم لجهاز

الكمبيوتر بمعنى أخر تتوقف كل الأجهزة بعد الجهاز الثالث عن الارسال والغريب

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

بيانات من جهاز الكمبيوتر للأجهزة وهذا أمر محير وحاولت بشتى الطرق معالجة

هذا الامر إلا أني لم أفلح علماً أن هذه الاجهزة يجب أن تعمل في المنشأة وهي

تعمل جميعها بنفس الوقت.؟!
اخي لو كنت مكانك ل استخدمت usb to 232
ومن تم ساضع مدخل البيك على الكمبيوتر ك usb
وستقرا البيانات كانها com
ومن تم يمكنك توصيل عدد كبير من الاجهزه بدون اي مشاكل.

يمكنك استخدام usb hub في حال وحود مدخل usbوحيد على الجهاز.
او يمكنك استخدام اكتر من منفد usb من منافد الحاسوب.

بالتوفيق

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

moutazyahia
:: مهندس ::
تاريخ التسجيل: Apr 2015
المشاركات: 44
نشاط [ moutazyahia ]
قوة السمعة:0
قديم 17-05-2016, 10:23 AM المشاركة 3   
افتراضي


اخي لو كنت مكانك ل استخدمت usb to 232
ومن تم ساضع مدخل البيك على الكمبيوتر ك usb
وستقرا البيانات كانها com
ومن تم يمكنك توصيل عدد كبير من الاجهزه بدون اي مشاكل.

يمكنك استخدام usb hub في حال وحود مدخل usbوحيد على الجهاز.
او يمكنك استخدام اكتر من منفد usb من منافد الحاسوب.

بالتوفيق
هل ممكن توضح أكثر كيف أقوم بتوصيل usb


moutazyahia
:: مهندس ::
تاريخ التسجيل: Apr 2015
المشاركات: 44
نشاط [ moutazyahia ]
قوة السمعة:0
قديم 17-05-2016, 10:24 AM المشاركة 4   
افتراضي



يمكنك استخدام usb hub في حال وحود مدخل usbوحيد على الجهاز.
او يمكنك استخدام اكتر من منفد usb من منافد الحاسوب.

بالتوفيق
هذه النقطة تحديدا لم أفهمها هل يتم توصيل كل جهاز على حدى بال USB


ماجد عباس محمد
:: نائب المشرف العام
::
تاريخ التسجيل: Jun 2009
الدولة: القاهرة - مصر
المشاركات: 12,214
نشاط [ ماجد عباس محمد ]
قوة السمعة:408
قديم 18-05-2016, 07:16 AM المشاركة 5   
افتراضي


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

أعزائي بهذا المنتدى

مشكلتي تتلخص في الآتي:

قمت بصناعة 6 أجهزة بميكروكنترولر 16f877a وشاشة سفن سيجمنت أعتمد في

أخذ الداتا من هذه الأجهزة السبعة عن طريق ارسالها لجهاز قمت بتصميمه به وحدة

ماكس 232 متصل بجهاز الكمبيوتر عن طريق برنامج قمت بتصميمه بالفيجوال

بيسيك.

المشكلة التي واجهتني أنني لا أستطيع توصيل أكثر من جهازين للماكس وإن

وضعت الثالث لا أستطيع أن أرسل من هذه الأجهزة للماكس ومن ثم لجهاز

الكمبيوتر بمعنى أخر تتوقف كل الأجهزة بعد الجهاز الثالث عن الارسال والغريب

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

بيانات من جهاز الكمبيوتر للأجهزة وهذا أمر محير وحاولت بشتى الطرق معالجة

هذا الامر إلا أني لم أفلح علماً أن هذه الاجهزة يجب أن تعمل في المنشأة وهي

تعمل جميعها بنفس الوقت.؟!
ليس ممكنا اقتراح حلول حيث المشكلة غير معلومة فلا فكرة عن كيفية عمل كل من الأجهزة الموضحة فى مشروعك ولا كيفية عمل البرنامج الذى صنعته

لكن عموما فى الأنظمة العاملة هناك إشارات تحكم تكون بين الحاسب و الأجهزة أقلها RTS,CTS وهى إشارة يرسلها الحاسب للجهاز و يتنظر رده قبل أن يبدأ فى الإرسال ولكنك لا تعانى مشاكل فى هذا الإتجاه
وهناك زوج آخر من الإشارات شبيه ولكنه من الجهاز للحاسب DTE,DCE حيث يرسل الجهاز للحاسب هذه الإشارة و ينتظر الرد منه قبل البدء فى الإرسال و هكذا يمنع الحاسب أن تتداخل إشارات الأجهزة معا كما أنه يتحكم فى كم ما يرسله كل منهما بما يتيح له أن يأخذ البيانات و يتعامل معها قبل أن يقبل غيرها
هذه الاشارات على خطوط مستقله لكل جهاز و لهذا فالكابل يكون من 9 أسلاك.
أيضا هذه الإشارة تتيح أمر هام جدا :
عندما توصل 3 أجهزة معا (أو اكثر) ، 2 منهما يضعان خرج =1 و الثالث يحاول إرسال صفر
هل يستطيع التغلب عليهما؟؟ بالتأكيد لا وهذا ما يسبب ما تظنه توقف المجموعة، لذا فتلك الإشارة السابق ذكرها أيضا تتيح التحكم فى وحدة RS232 و تجعلها متاحة أو غير متاحة - انظر للوحدات MAX206,MAX211,MAX213,MAX241 ستجد لها طرف EN يفعل أو يوقف الوحدة و يجعلها Disabled فلا تتداخل مرسلاتها معا.

ملحوظة : محول RS232-USB لا يجدى هنا فهو ببساطة سيحول كل ما يأتى له إلى صورة أخرى ولو كان الحاسب قادر على قراءتها سيكون نفس الشيء بالمحول و السبب أن الأجهزة ليست مجهزة بهذا USB و بهذا لا يمكن التفرقة بين جهاز و آخر ولو جهزت كل جهاز بمحول يو اس بى ستحتاج إلى HUB لربطهم ثم برنامج آخر للتعامل مع يو اس بى ربما فيجيوال بيزك 10 يتعامل مع يو اس بى - ليست لدى فكرة فلم احصل عليه بعد

ملحوظة أخرى: بروتوكول يو اس بى يحتوى تعريف الجهاز وبهذا ترسل رقم التعريف فتتعامل مع وحدة واحدة فقط من الموجود على الباص بينما RS232 لا يحتوى هذه الخاصية


moutazyahia
:: مهندس ::
تاريخ التسجيل: Apr 2015
المشاركات: 44
نشاط [ moutazyahia ]
قوة السمعة:0
قديم 18-05-2016, 07:44 AM المشاركة 6   
افتراضي


ليس ممكنا اقتراح حلول حيث المشكلة غير معلومة فلا فكرة عن كيفية عمل كل من الأجهزة الموضحة فى مشروعك ولا كيفية عمل البرنامج الذى صنعته

لكن عموما فى الأنظمة العاملة هناك إشارات تحكم تكون بين الحاسب و الأجهزة أقلها RTS,CTS وهى إشارة يرسلها الحاسب للجهاز و يتنظر رده قبل أن يبدأ فى الإرسال ولكنك لا تعانى مشاكل فى هذا الإتجاه
وهناك زوج آخر من الإشارات شبيه ولكنه من الجهاز للحاسب DTE,DCE حيث يرسل الجهاز للحاسب هذه الإشارة و ينتظر الرد منه قبل البدء فى الإرسال و هكذا يمنع الحاسب أن تتداخل إشارات الأجهزة معا كما أنه يتحكم فى كم ما يرسله كل منهما بما يتيح له أن يأخذ البيانات و يتعامل معها قبل أن يقبل غيرها
هذه الاشارات على خطوط مستقله لكل جهاز و لهذا فالكابل يكون من 9 أسلاك.
أيضا هذه الإشارة تتيح أمر هام جدا :
عندما توصل 3 أجهزة معا (أو اكثر) ، 2 منهما يضعان خرج =1 و الثالث يحاول إرسال صفر
هل يستطيع التغلب عليهما؟؟ بالتأكيد لا وهذا ما يسبب ما تظنه توقف المجموعة، لذا فتلك الإشارة السابق ذكرها أيضا تتيح التحكم فى وحدة RS232 و تجعلها متاحة أو غير متاحة - انظر للوحدات MAX206,MAX211,MAX213,MAX241 ستجد لها طرف EN يفعل أو يوقف الوحدة و يجعلها Disabled فلا تتداخل مرسلاتها معا.

ملحوظة : محول RS232-USB لا يجدى هنا فهو ببساطة سيحول كل ما يأتى له إلى صورة أخرى ولو كان الحاسب قادر على قراءتها سيكون نفس الشيء بالمحول و السبب أن الأجهزة ليست مجهزة بهذا USB و بهذا لا يمكن التفرقة بين جهاز و آخر ولو جهزت كل جهاز بمحول يو اس بى ستحتاج إلى HUB لربطهم ثم برنامج آخر للتعامل مع يو اس بى ربما فيجيوال بيزك 10 يتعامل مع يو اس بى - ليست لدى فكرة فلم احصل عليه بعد

ملحوظة أخرى: بروتوكول يو اس بى يحتوى تعريف الجهاز وبهذا ترسل رقم التعريف فتتعامل مع وحدة واحدة فقط من الموجود على الباص بينما RS232 لا يحتوى هذه الخاصية
أشكرك مهندسنا الغالي دعك من أجهزتي التي صممتها قمت بعمل تجربة على

التسيت بورد وضعت 3 بيكات 16f877a ووضعت بهم هذا البرنامج

كود:
char uart_rd;

void main() {

  UART1_Init(9600);               // Initialize UART module at 9600 bps
  Delay_ms(100);                  // Wait for UART module to stabilize

  while (1) {                     // Endless loop
    if (UART1_Data_Ready()) {     // If data is received,
      uart_rd = UART1_Read();     // read the received data,
      UART1_Write(uart_rd);       // and send data via UART
    }
  }
}
وأوصلت أطرافهم بالماكس 232 على البن 7و8و9و10 بالماكس

فتوقف عن العمل بعد توصيل البيك الثالث فما رأيك


moutazyahia
:: مهندس ::
تاريخ التسجيل: Apr 2015
المشاركات: 44
نشاط [ moutazyahia ]
قوة السمعة:0
قديم 18-05-2016, 07:48 AM المشاركة 7   
افتراضي


صورة من برنامج فيجوال بيسيك قمت بتصميمه لارسال واستقبال البيانات



مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 620
نشاط [ مشتاق الله ]
قوة السمعة:0
قديم 18-05-2016, 12:39 PM المشاركة 8   
sun


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

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

حضرتك لم توضح اى معلومات عن دائرة التوصيل

http://www.qariya.info/vb/showthread.php?t=182538

و الواضح من برنامج الميكرو ان كل الميكرو تستقبل و ترسل فى نفس الوقت و بالتالى لازم يحدث تصادمات و تداخلات بين البيانات و بعضها و هو ما نبه اليه م/ ماجد ,
اعتقد حضرتك محتاج تقرأ فى بروتوكول rs232 .
و لازم كل ميكرو يكون له عنوان او رجل enable/disable .


الحمد الذى بنعمته تتم الصالحات

الله مولانا ولا مولى لهم
انى عذت بربى و ربكم ان ترجمون
الله ينصرك سوريا و . و . - كلنا حلب و غزة



إضافة رد

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

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

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


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

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