اطلاعیه

Collapse
No announcement yet.

سوال در مورد یوزارت و یه کار خاص با این پورت

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

    سوال در مورد یوزارت و یه کار خاص با این پورت

    سلام
    من یه پروژه مستر اسلیو دارم که با rs485شبکه شدند
    تو حالت عادی خیلی خوب کار میکنندو جواب داده توعمل
    ولی به دلایلی که پروژه میطلبه من باید قبل ارسال اطلاعات چه از طرف مستر وچه از طرف اسلسو ابتدا یک میلی ثانیه روی خط ارسال TX صفر بفرستم. یعنی 1ms این پایه رو صفر کنم
    که اومدم تو یه تابع با از کار انداختن یوزارتو خرجوی تعریف کردن PORTD.1 این پایه رو یه میلی ثانیه صفر میکنمو بعد میرم یوزارتو برنامه ریزی میکنمو میرم سراغ ارسال اطلاعاتم
    این جا این مشکل پیش میاد که هنگام انجام این کار باقی اسلیو ها ارر RX Frame Error میدند.
    کسی راه حلی برای این مشکل نداره که هم بتونم اون 1ms صفرو بفرستم هم اینکه تو دریافت برای اسلوهام یا مسترم مشکل پیش نیاد.


    #2
    پاسخ : سوال در مورد یوزارت و یه کار خاص با این پورت

    بازم سلام :sad:
    مشکل دوتا شد
    بچه ها چطور میتونم بعد از این که رجیسترای یوزارتمو برنامه ریزی کردم،بعدش دوباره پایه یtx رو خرجی تعریف کنمو صفرش کنم
    من UCSRB رو صفر میکنم ولی نمیدونم چرا تویه برنامه جواب میده تو یه برنامه دیگه نه!

    دیدگاه


      #3
      پاسخ : سوال در مورد یوزارت و یه کار خاص با این پورت

      سلام دوست محترم آقای bahram1
      من فکنم دو حالت بیشتر نیست
      1 - یا سواد من در حدی نیست که جواب سوالاتی که شما می پرسین رو جواب بدم . ( سوالات دیگه شما در تاپیک های مختلف رو بطور کلی می گم )
      2- یا اینکه شما بجای اینکه مشکل اصلیتون رو مطرح کنید و راه حل بهتری براش پیدا کنید دارید سعی می کنید راه حل خودتون رو هر طوری شده به کرسی بشونید !

      کدومشون به نظر شما ؟ ( اگه یک باشه هم من ناراحت نمی شما بگید می رم سوادمو بیشتر می کنم :icon_razz: )
      - به دنبال فرصت عمري تباه کردم ! فرصت جواني ام بود من اشتباه کردم .

      دیدگاه


        #4
        پاسخ : سوال در مورد یوزارت و یه کار خاص با این پورت

        وقت بخیر

        خیلی ساده هست !!

        این پالس 1 میلی ثانیه رو یه یک خروجی دیگه قرار بدید و به همه اسلیوها به یک ورودی دیگه وارد کنید .!!

        دیدگاه


          #5
          پاسخ : سوال در مورد یوزارت و یه کار خاص با این پورت

          سلام
          :biggrin:
          به نظرم 2 درست تره
          خودتونم میدونم در گیر پروژه بودیدو میدونید وقتی افکارتون درگیرش باشه چه حالی داره
          بزارید پس توضیحاتشم بدم که فقط راه حل خودمو نخوام به کرسی بشونم
          من یه شبکه rs 485 دارم. 15 تا دستگاه به فاصله ی20 متری از هم که اولیشون مسترمه، بیشترین فاصلم میشه 300 متر
          من مجبورم که واسه هر کدومشون یه ریپیتر درست کنم. ارسالو در یافت اطلاعاتمم به صورت half dublex هستش(اگه درست نوشته باشمش همون نیمه دوطرفه)
          ریپیترمم با چهارتاma485 هست که با یه دونه میکرو جهت اطلاعاتم قراره کنترل بشه که تو مسیر رفته اطلاعات یا برگشت ، که max485 مخصوص به خودش تومد ارسال قرار بگیره.
          حالا من اومدم واسه این ایسی که قرار کنترلو انجام بده دوتا اینترابت های خارجیشو فعال کردم که یکیشون تو مسیر رفت قرار میگیره و یکیشون تو مسیر برگشت اطلاعات،که معلوم بشه کدوم مسیر باید فعال بشه.
          برای این که اینترابت اتفاق بیفته همون 1میلی ثانیه صفر شدنو من گذاشتم(یه بایت صفرو هم نفرستادم چون فکر میکردم از مستر تا اسلیو آخرم که بینشون 14 تا از این کنترل کننده های خطه یه فاصله زمانی کوچیک میفته که ممکنه یه بیتمو از بین ببره واون اسلیو آخر ارر اطلاعات بگیره که درست یه چیزیو در یافت نکرده.)
          فقطم این دوتا سیمو من بین دستگاهام دارم، یعنی نمیتونم یه پایه دیگه رو درگیر این کارم کنم. مگه این که با همین دوتا سیم!
          آقای Mania59گل ،چون میدونم اگه توضیح بدم تو توضیحاتم هزارو یه مسئله گنگ وجد داره ،اینارو فاکتور میگیرم
          این قضیه ی ریپیت کردنو هم قبلا تو یه تایپیک دنبال کرده بودمو نتیجه نگرفتم
          اینه که می خوام حرف خودمو به کرسی بشونم :rolleyes:

          دیدگاه


            #6
            پاسخ : سوال در مورد یوزارت و یه کار خاص با این پورت

            بازم خوب نگفتی 1 آبروی ما رو حفظ کردین . مرسی

            خوب دوست عزیز حالا باید بگم حق با شماست . اما این ارتباط rs485 تنها راه بود نمی تونستید از شبکه استفاده کنید البته خوب هزینش بیشتر میشه می دونم . ؟!

            راستی چرا خوب از اینتراپت RX - TX استفاده نکردین . در این صورت وقتی بافر به مقدار مورد نظر برسه میکرو فعالیت ریپیت خودش رو انجام بده ؟
            - به دنبال فرصت عمري تباه کردم ! فرصت جواني ام بود من اشتباه کردم .

            دیدگاه


              #7
              پاسخ : سوال در مورد یوزارت و یه کار خاص با این پورت

              آره ،شبکه که هزینش هیچی ،اون موقع دستگاهای منم باید تکنولوژیشون بخوره :biggrin: وکابلای ارتباطیو کلی مسائل دیگه

              تو هر دستگاه دوتا میکرو هست
              یکیشون وظیفه ی دریافت اطلاعاتو داره
              یکیشون وظیفه ی کنترل جهت اطلاعاتو داره:اینی که وظیفش کنترل جهته هیچ دیتاییو رو دریافت نمیکنه، فقط اطلاعاتو از طریق پایه ی اینترابتش سنس میکنه و طبق دستورات توی سرویس روتین وقفه یه مسیرو فعال میکنه
              واسه همین اون اینترابتا به کار این میکرو نمیاد
              باز مرسی که جواب دادید

              دیدگاه


                #8
                پاسخ : سوال در مورد یوزارت و یه کار خاص با این پورت

                وقت بخیر

                کارتون رو مطالعه کردم !

                ولی نمیدونم چه لزومی برای ریپیتر هست !؟ شایدم منظورتونو متوجه نمیشم !
                و دوم اینکه چه لزومی برای تشخیص ارسال و دریافت بطور جداگانه با یک پرسسور دیگه هست !؟ انم شایدم منظورتونو متوجه نشدم !

                با rs485 تا 1000 متر میتونی ارتباط داشته باشی به بیش از 100 تا اسلیو !
                و با همین دو سیم در مـــــد نیمه همه کار و فرمانی رو میشه انجام داد ! بازم لزوم ارسال سیگنالی شبیه sync برام آشنا نیست !

                البته جواب شما میتونه به تجربه کاری اضافه کنه .!!

                دیدگاه


                  #9
                  پاسخ : سوال در مورد یوزارت و یه کار خاص با این پورت

                  سلام مهندس
                  راستش این اولین تجربه ی کاریم با این پروتکله
                  چیزاییم که شما گفتیدو منم قبلا هزارجا دیدمو خیلیا گفتند که پروژه عملی انجام دادند باهاشو جواب گرفتند
                  ولی من ریسک نمیتونم بکنم
                  البته نظر یکی از اساتید خودمم این بود،
                  من فکر میکردم خروجی این پروتکل البته با آیسیای max485 or ADM485 روی خط A منفی 5ولت و روی خط Bمثبت5ولته، یعنی اختلافشون 10ولته،البته من زیاد ریز تحقیق نکردم درموردش ولی یه همچین ذهنیتی داشتم.
                  ولی تو عمل که تست کردم دیدم یه همچین خبری نیست ، خوش بینانه اختلاف این دو ولتاژ بین سه ونیم تا چهار ولت بود، البته اگه به ADM485 هفت ولت که ماکز تغذیش بودو وصل بکنیم این اختلاف ولـتاژ به زحمت میرسه به 5 ولت.
                  من تو این زمینه تجربه ی خاصی ندارم ولی این موضوع که این استاندار یا پروتکل میادو سطح ولتاژاشو روی مثبتو منفی شیش ولت تعریف میکنه و تو عمل اون اتفاق میفته واسه من قابل قبول نبود
                  البته شایدم کلا این پرو توکل تو یه همچین رنجیم جواب میده و کار میکنه ، ولی من که کار اولمه ترجیحا خواستم یه سری چیزارو چشم بسته قبول نکنم.
                  انشالله وقتی از این موضوع جواب گرفتم منم رو هزار مترش مثل چیزایی که رو کاغذ گفتند عمل میکنم.
                  البته این یه دلیلم بود که شاید برای کسایی که عملا یه همچین کاریو پیاده کردند قابل قبول نباشه.
                  یه دلیل دیگه ایم که داشتم (که یه کوچولو تو یه تایپیک قبلا بحثشو کردم) اینه که من می خوام البته اگه بشه (انشالله) از یکی از دو سیم Aیا B به عنوان یه زمین برای تغذیه دستگاهام استفاده کنم که یه آزمایش کوچولو کردم دیدم میشه همچین کاریم کردو تقریبا جواب گرفتم،که یه همچین کاری با توجه به جریانی که از خط میگزره یه افت ولتاژ در حد3 الی 4 ولت واسم ایجاد میکنه که منو مجبور میکنه یه ریپیتر(ریپیتو نمیدونم بقیه واسه چی استفاده میکنندولی من هدفم تقویت این اختلاف ولتاژست) تو این فواصل بزارم که لااقل همون پنج ولت اختلافو تا انتهای خط که به آخرین اسلیو برسم داشته باشم.
                  فکر کنم این کاری که تو دلیل دومم گفتم یه کار جدید باشه که کسی تاحالا انجام نداده باشه،خودم هر چی سرچ کردم که یه همچین موضوعیو ندیدم.
                  دلیل این کارمم اینه که احتمالا مجبور باشم از یه کابل چهار رشته استفاده کنم که تو تعداد سیم کشیده شده بین دستگاهام یه مقدار دستم بستست.
                  خلاصه دلیلای من این بود
                  و با همین دو سیم در مـــــد نیمه همه کار و فرمانی رو میشه انجام داد ! بازم لزوم ارسال سیگنالی شبیه sync برام آشنا نیست !
                  در مورد این sync میشه یه توضیح بدید

                  دیدگاه


                    #10
                    پاسخ : سوال در مورد یوزارت و یه کار خاص با این پورت

                    اون ریپیتریم که ازش صحبت شدو هم ازش جواب گرفتم
                    تقریبا همون روشی هست که درموردش بحث کردیم البته یه ریزه کاریایی داشت که در عین سادگی بنظرم جالبش کرد
                    تو پروتئوس قشنگ جواب میده ولی تو عمل یکمی کار داره که درست شه
                    انشالله درست شد به عنوان یه پرژه در اختیار دوستان قرار میدم،بالاخره یه جاهایی کاربرد داره

                    دیدگاه

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