اطلاعیه

Collapse
No announcement yet.

مشکل در ارتباط rs485 در محیط پر نویز

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل در ارتباط rs485 در محیط پر نویز

    سلام دوستان من یک کیت طراحی کردم که با کیتهای دیگه با rs485 ارتباط میگیره . توی محیط کارگاه درست جواب میداد ولی توی عمل وقتی تو تابلو برق نصبش کردم اطلاعات درست ارسال میکرد ولی توی دریافت مشکل داره .
    تو طراحی کیت همه نکات رعایت کردم مثل پلیگان ، خازن تعذیه ، سلف روی vcc ، مقاومت 22 اهم روی خط شبکه 485 و استفاده از sm712 .
    در ضمن از کابل 2 زوج استفاده کردم برای تغذیه و ارتباط 485.
    ممنون میشم راهنمایی کنید .

    #2
    پاسخ : مشکل در ارتباط rs485 در محیط پر نویز

    نوشته اصلی توسط rasool1370 نمایش پست ها
    سلام دوستان من یک کیت طراحی کردم که با کیتهای دیگه با rs485 ارتباط میگیره . توی محیط کارگاه درست جواب میداد ولی توی عمل وقتی تو تابلو برق نصبش کردم اطلاعات درست ارسال میکرد ولی توی دریافت مشکل داره .
    تو طراحی کیت همه نکات رعایت کردم مثل پلیگان ، خازن تعذیه ، سلف روی vcc ، مقاومت 22 اهم روی خط شبکه 485 و استفاده از sm712 .
    در ضمن از کابل 2 زوج استفاده کردم برای تغذیه و ارتباط 485.
    ممنون میشم راهنمایی کنید .
    سلام،
    مقاومت 22 که خیلی کمه!!!
    برای درایو باس از چه چیپی استفاده میکنی؟؟
    چندتا نود داری؟؟
    باوود ریتت چقدره؟؟
    متراژت چقدره؟؟
    جدیدترین ویرایش توسط ubub; ۲۳:۲۷ ۱۳۹۷/۱۱/۰۶.
    ◙◙◙◙◙ میخوام به دوستان یه کتاب معرفی کنم! وقت کردید، بخونید - اسمش هست قرآن، سال نشر 10، نویسنده: خدا . ◙◙◙◙◙

    دیدگاه


      #3
      پاسخ : مشکل در ارتباط rs485 در محیط پر نویز

      سلام دوست عزیز ممنون از جوابتون .
      من 3 تا دیوایس دارم یکی مستر و دو تا اسلیو که مستر اطلاعات از دو تا اسلیو دریافت میکنه مشکل من اینه که مستر درخواست دریافت اطلاعات میده و اسلیو ها هم جواب میدن ولی مستر تو مرحله دریافت مشکل داره و اطلاعات به صورت اشتباه دریافت میکنه . ولی توی کارگاه درسته توی عمل مشکل داره .
      باودریت 9600 هست و فاصله 40 متر با ایسی adm485 البته ایسی اسلیو ها دیپ هست ولی ایسی مستر smd .
      فاصله هم اینجا 40 متر ولی شاید بعدا نیاز شد جای ببندم که فاصله بیشتر بشه و یا تعداد دیوایس بیشتر بشه .
      من یکی از plc های دلتا باز کردم و دیدم که یک سلف با خط a و یکی با خط b سری کرده و هر کدوم با یک خازن با زمین موازی کرده ولی مقدار سلف و خازن نتونستن به دست بیارم .
      من مقاومت 22 اهم با خط aو b سری کردم . مقدارش کمه؟؟؟ چند باشه؟؟
      جدیدترین ویرایش توسط rasool1370; ۰۷:۵۶ ۱۳۹۷/۱۱/۰۷.

      دیدگاه


        #4
        پاسخ : مشکل در ارتباط rs485 در محیط پر نویز

        بنظرم بهتره روی اسکوپ شکل موج رو ببینی

        دیدگاه


          #5
          پاسخ : مشکل در ارتباط rs485 در محیط پر نویز

          نوشته اصلی توسط rasool1370 نمایش پست ها
          سلام دوست عزیز ممنون از جوابتون .
          من 3 تا دیوایس دارم یکی مستر و دو تا اسلیو که مستر اطلاعات از دو تا اسلیو دریافت میکنه مشکل من اینه که مستر درخواست دریافت اطلاعات میده و اسلیو ها هم جواب میدن ولی مستر تو مرحله دریافت مشکل داره و اطلاعات به صورت اشتباه دریافت میکنه . ولی توی کارگاه درسته توی عمل مشکل داره .
          باودریت 9600 هست و فاصله 40 متر با ایسی adm485 البته ایسی اسلیو ها دیپ هست ولی ایسی مستر smd .
          فاصله هم اینجا 40 متر ولی شاید بعدا نیاز شد جای ببندم که فاصله بیشتر بشه و یا تعداد دیوایس بیشتر بشه .
          من یکی از plc های دلتا باز کردم و دیدم که یک سلف با خط a و یکی با خط b سری کرده و هر کدوم با یک خازن با زمین موازی کرده ولی مقدار سلف و خازن نتونستن به دست بیارم .
          من مقاومت 22 اهم با خط aو b سری کردم . مقدارش کمه؟؟؟ چند باشه؟؟
          RS485 توی کاربرد خودش، ارتباط خیلی قوی هست!
          با این باودریت 9600 و 40 متر و 3 تا نود، میبایست مثل بنز جواب بده! (هر سه تاش پائینه!)
          اگه آخرین گزینه رو شک کردن به ADM ها در نظر بگیریم، به احتمال قوی مشکل از طراحیته!
          ...
          - صحبتی از مقاومتهای انتهای خط نکردی!!! (امیدوارم گذاشته باشی شون!!)
          از اونجایی که ارتباط RS485 در واقع برای پیاده سازی توپولوژی BUS ایجاد شده، باید فقط در دو انتهای خط اصلی، دوتا مقاومت 120 اهمی، با خط موازی کنی! (چسبیده به IC بین A و B وصل کنی!)
          حالا ما چون اغلب این ارتباط رو با توپولوژی STAR به کار میبریم، بهتره که در همه انتهای خطها، اون مقاومت رو وصل کنیم! یعنی در همه نودها چسبیده به درایور، بین A و B مقاومت انتهای خط وصل کنیم!
          البته قطعا در این حالت مقدار مقاومت باید افزایش پیدا کنه، تا از لود شدن بی رویه باس جلوگیری کنه! و مقدارش با تعداد نودها نسبت مستقیم داره، مثلا برای 10 تا نود بین 1200 تا 1500 خوبه!
          (من هم توی پست قبلی فکر کردم که مقدار 22 اهم رو برای مقاومت انتهای خط میگی، که گفتم خیلی کمه!!)
          تأثیر اون مقاومتهای سری با خط برای پروتکت هست و ضروری نیست ولی این مقاومت انتهای خط، ضروریه و جزئی از مداره!!
          ...
          احتمال دیگه که خیلی هم شایع است، ناتوان بودن نرم افزار و رعایت نشدن آدرس دهی و زمان بندیه!!!
          از اونجایی که RS485 فقط یک بستر سخت افزاریه، صحیح کار کردنش، به شدت به روال کنترل کننده اش وابسته است!!
          روی برنامه ات بیشتر کار کن! مثلا:
          - در همه نودها (چه مستر و چه اسلیو) بین ارسالها و دریافتها، یه تأخیر منطقی وجود داشته باشه! با توجه به Half Duplex بودن RS485 !! (حدودا به اندازه 10 بایت ((100ضرب در معکوس باودریت) ثانیه))! با توجه به سرعت پائینت، می تونی کمتر هم در نظر بگیری ولی دیگه از پهنای یک بایت کمتر نشه!!
          - نحوه آدرس دهی و یونیک بودن آدرسها رو چک کن!
          - معمولا چه با و چه بدون مقاومت انتهای خط، اطلاعات ارسالی هر نود برای خودش، بای پس میشه که باید اونها رو مدیریت کنی، تا با اطلاعات جدیدی که نود منتظرش هست، اشتباه و ادغام نشه!!! (یا دیسکاردشون کنی و یا برای فیدبک استفاده شون کنی ( اونها رو بخونی و با اطلاعات ارسالی مقایسه کنی، تا مطمئن بشی که فقط یک فرستنده روی باس فعاله)!!
          ...
          اینها رو چک کن، خبر بده!!
          جدیدترین ویرایش توسط ubub; ۰۹:۵۵ ۱۳۹۷/۱۱/۰۸.
          ◙◙◙◙◙ میخوام به دوستان یه کتاب معرفی کنم! وقت کردید، بخونید - اسمش هست قرآن، سال نشر 10، نویسنده: خدا . ◙◙◙◙◙

          دیدگاه


            #6
            پاسخ : مشکل در ارتباط rs485 در محیط پر نویز

            نوشته اصلی توسط ubub نمایش پست ها
            RS485 توی کاربرد خودش، ارتباط خیلی قوی هست!
            با این باودریت 9600 و 40 متر و 3 تا نود، میبایست مثل بنز جواب بده! (هر سه تاش پائینه!)
            اگه آخرین گزینه رو شک کردن به AMD ها در نظر بگیریم، به احتمال قوی مشکل از طراحیته!
            ...
            - صحبتی از مقاومتهای انتهای خط نکردی!!! (امیدوارم گذاشته باشی شون!!)
            از اونجایی که ارتباط RS485 در واقع برای پیاده سازی توپولوژی BUS ایجاد شده، باید فقط در دو انتهای خط اصلی، دوتا مقاومت 120 اهمی، با خط موازی کنی! (چسبیده به IC بین A و B وصل کنی!)
            حالا ما چون اغلب این ارتباط رو با توپولوژی STAR به کار میبریم، بهتره که در همه انتهای خطها، اون مقاومت رو وصل کنیم! یعنی در همه نودها چسبیده به درایور، بین A و B مقاومت انتهای خط وصل کنیم!
            البته قطعا در این حالت مقدار مقاومت باید افزایش پیدا کنه، تا از لود شدن بی رویه باس جلوگیری کنه! و مقدارش با تعداد نودها نسبت مستقیم داره، مثلا برای 10 تا نود بین 1200 تا 1500 خوبه!
            (من هم توی پست قبلی فکر کردم که مقدار 22 اهم رو برای مقاومت انتهای خط میگی، که گفتم خیلی کمه!!)
            تأثیر اون مقاومتهای سری با خط برای پروتکت هست و ضروری نیست ولی این مقاومت انتهای خط، ضروریه و جزئی از مداره!!
            ...
            احتمال دیگه که خیلی هم شایع است، ناتوان بودن نرم افزار و رعایت نشدن آدرس دهی و زمان بندیه!!!
            از اونجایی که RS485 فقط یک بستر سخت افزاریه، صحیح کار کردنش به شدت به روال کنترل کننده اش وابسته است!!
            روی برنامه ات بیشتر کار کن! مثلا:
            در همه نودها (چه مستر و چه اسلیو) بین ارسالها و دریافتها، یه تأخیر منطقی وجود داشته باشه (حدودا به اندازه 10 بایت ((100ضرب در معکوس باودریت) ثانیه))!
            نحوه آدرس دهی و یونیک بودن آدرسها رو چک کن!
            معمولا چه با و چه بدون مقاومت انتهای خط، اطلاعات ارسالی هر نود برای خودش بای پس میشه که باید اونها رو مدیریت کنی، تا با اطلاعات جدیدی که نود منتظرش هست، اشتباه و ادغام نشه!!! (یا دیسکاردشون کنی و یا برای فیدبک استفاده شون کنی ( اونها رو بخونی و با اطلاعات ارسالی مقایسه کنی، تا مطمئن بشی که فقط یک فرستنده روی باس فعاله)!!
            ...
            اینها رو چک کن، خبر بده!!
            من ممنون من از مقاومت های انتهای خط استفاده نکردم . ولی از لحاظ نرم افزار خیلی نکات رعایت کردم مثلا زمان بندی های که گفتید و یا آدرس دهی ها و آخر هر ارسال دوتا بایت CRC هم میفرستم که توی گیرنده صحت دریافت اطلاغات چک بشه . ولی امروز که دوباره داشتم مدار چک میکردم متوجه شدم که احتمال زیاد مشکل از میکرو هست چون وظایف دیگه درست انجام نمیداد . مثلا اینکه یک DELAY ده ثانیه به میزان 1 دقیقه طول میداد.من خیلی توی شماتیک و مدار سعی کردم که نکات رعایت کنم ولی بازم دچار مشکل شدم . چون توی محیط کار گاه درست عمل میکنه ولی وقتی توی عمل میبندم بهم میریزه . شماتیک میزارم ببینید مشکل داره؟
            برای تغذیه ها هم روی VCC و هم روی GND سلف گداشتم
            [IMG][/IMG]
            [IMG][/IMG]
            [IMG][/IMG]

            [IMG][/IMG]

            دیدگاه


              #7
              پاسخ : مشکل در ارتباط rs485 در محیط پر نویز

              چرا روی منفی مدار سلف گذاشتین!؟

              دیدگاه


                #8
                پاسخ : مشکل در ارتباط rs485 در محیط پر نویز

                چون میخواستم کلا تغذیه حالت ایزوله پیدا کنه . ولی فکر کنم همین موضوع مسئله ساز شده

                دیدگاه


                  #9
                  پاسخ : مشکل در ارتباط rs485 در محیط پر نویز

                  نوشته اصلی توسط rasool1370 نمایش پست ها
                  .... مشکل از میکرو هست چون وظایف دیگه درست انجام نمیداد . مثلا اینکه یک DELAY ده ثانیه به میزان 1 دقیقه طول میداد. ....
                  با توجه به اظهاراتتون، اصل مشکل مربوط به برنامه تونه!! (البته ربطی به خود میکرو نداره! 100 درصد، برنامه ایراد داره!!)
                  حالا چندتا ایراد سخت افزاری داری، من اشاره میکنم:
                  1- قبل از همه، اون مقاومتهای انتهای خط رو که گفتم، باید حتما بذاری! اگه واسه قانع شدن دلیل لازم داری بگو تا برات دلیلش رو بگم!
                  2- اینکه این همه سلف لازم نیست بذاری! مخصوصا موقعی که به لحاظ محل قرارگیری و مقدار، بی حساب و کتاب باشه!!!
                  3- و اگه نزدیک IC سلف میذاری باید حتما یه خازن مناسب (یک جفت خازن کوچک و بزرگ) بین سلف و IC قرار بدی!! (موضوعی که توی شماتیک ADM ها برعکس انجام شده!!!!)
                  4- و یه نکته خیلی مهم اینکه واسه ADM اون پایه های DE و RE رو از هم جدا کنی!!! و RE رو دائم زمین کنی (بهتره با پین میکرو این کار رو انجام بدی) و فقط DE رو کنترل کنی!! خیلی تأثیر داره!
                  5- پول آپ مربوط به TX و RX خود میکرو رو هم رعایت کرده باشی!!
                  6- دست آخر اینکه اگه از رگلاتور خطی استفاده کرده بودی خیلی بهتر بود! به هر حال از صحت عملکرد و توان رگلاتورت اطمینان پیدا کن!
                  ...
                  ◙◙◙◙◙ میخوام به دوستان یه کتاب معرفی کنم! وقت کردید، بخونید - اسمش هست قرآن، سال نشر 10، نویسنده: خدا . ◙◙◙◙◙

                  دیدگاه


                    #10
                    پاسخ : مشکل در ارتباط rs485 در محیط پر نویز

                    نوشته اصلی توسط rasool1370 نمایش پست ها
                    چون میخواستم کلا تغذیه حالت ایزوله پیدا کنه . ولی فکر کنم همین موضوع مسئله ساز شده
                    بنظرم اون سلف زمین مدار رو بردار یه اختلاف فاز پیدا میکنی با قسمتهای دیگه مدارت که ممکنه خطاهای عجیب غریب بده

                    دیدگاه


                      #11
                      پاسخ : مشکل در ارتباط rs485 در محیط پر نویز

                      من سلفاهای زمین برداشتم و یک ال ای دی گذاشتم که هر یک ثانیه چشمک بزنه که ببینم این تاخیرها و کار نکردن میکرو روش تاثیر داره یا نه . ولی تایمر خیلی خوب کار میکرد ولی در برنامه اصلی بعضی مواقع یک dalay 500 ms به میزان 5 ثانیه طول میکشه . مشکل از چی میتونه باشه؟؟

                      دیدگاه


                        #12
                        پاسخ : مشکل در ارتباط rs485 در محیط پر نویز

                        من امروز به این نتیجه رسیدم که مشکل از برنامه نیست .
                        چون وقتی که سیم های rs485 وصل میکردم به کیت برنامه درست کار میکرد و وقتی که وصل میکرد مشکل پیش میومد . من پایه a با مقاومت 2.2 کیلو پول اپ کردم و پایه b پول دان . مشکل حل شد . حالا میخواستم ببینم به جز روشها و نکات قبلی که گفتید چه کارهایی میشه کرد؟؟

                        دیدگاه


                          #13
                          پاسخ : مشکل در ارتباط rs485 در محیط پر نویز

                          با سلام
                          توی ارتباطات سریال 422 و 485 بعد از صحت پروتکل و نرم افزار مهمترین چیز، استفاده از مقاومت ته خط هست که سبب برقراری جریان سیگنال میشه.
                          بعد از اون اگه مشکلی وجود داشت. باید برین سراغ بقیه ی کارها.
                          معمولا 485 در بدترین محیطها هم همین با مقاومت و دو رشته سیم تابیده جواب میده و کار اضافه ای نمیخواد.
                          کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.

                          دیدگاه

                          لطفا صبر کنید...
                          X