اطلاعیه

Collapse
No announcement yet.

مشکل ساده با HMTR

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

    مشکل ساده با HMTR

    سلام خدمت شما دوستان
    میدونین که ماژول وقتی دیتا رو میفرسته چراغ قرمز روشن
    و وقتی دیتا رو میگیره چراغ سبزش روشن میشه
    حالا...
    من میخوام چراغ سبز(دریافت)مداوم وصل باشه...!
    وقتی که دیتا رو میفرستم چراغ قرمز مداوم روشنه و این خوبه
    ولی در این طرف چراغ سبز یه بار هر 2 ثانیه چشمک میزنه
    یه بار 5 ثانیه...!
    یعنی منی که میخوام دیتا به طور آنی ارسال شه از طرف گیرنده ایراد دارم...!
    و هر چند ثانیه دیتا رو ارسال میکنم...!

    به نظرتون میشه پایه RX ماژول رو پول پ کنم.!؟

    #2
    پاسخ : مشکل ساده با HMTR

    دوستان هر چه قدر گشتم چیزی پیدا نکردم
    خواهشا بگین چه طور میشه

    دیدگاه


      #3
      پاسخ : مشکل ساده با HMTR

      واقعا اینقدر سخته :surprised:

      دیدگاه


        #4
        پاسخ : مشکل ساده با HMTR

        نه سخت نیست دوسته خوبم.
        صبر داشته باش یکی جوابتو میده.

        شما چیزیو که دریافت میکنی رو LCD یا هرچیزه دیگه ای میبینی؟یا فقط به چشمک زدن اون LEDها اکتفا کردی؟
        ?Why not

        دیدگاه


          #5
          پاسخ : مشکل ساده با HMTR

          سلام

          تا جایی که من می دونم این ماژول نمی تونه برای ارسال دیتای پیوسته استفاده بشه . چون نیمه دو طرفه هست و دائم بین Send و receive سوئیچ میشه . در ضمن با توجه به اینکه شما احتمالا برای اینکه دیتا رو دائم بفرستید در برنامه تاخیر یا Delay نذاشتید نرخ ارسال دیتاتون بالا رفته (با تایم فرکانس کاری میکرو پارامتر رو میفرسته مثلا در 1 مگاهرتز هر 1 میکروثانیه یک عبارت رو می فرسته) و طبق گفته دیتاشیت در نرخ بادریت بالاتر 9600 داده انتقال یافته نباید از 32 بایت بیشتر باشه :

          تاپیک جامع سیستم مدیریت ساختمان BMS و خانه هوشمند Smart Home
          دانلود مجموعه آموزشی شرکت Altium ا (Altium Training)
          مقالات و فایل های آموزشی نرم افزار Labview
          حل مشکل درایور و راه اندازی FT232 های غیراورجینال

          دیدگاه


            #6
            پاسخ : مشکل ساده با HMTR

            این از برنامه فرستنده:
            $regfile = "M16def.dat"
            $crystal = 11059200
            $baud = 9600

            Dim A As Byte , B As Byte
            A = 4
            B = 6
            Config Pina.0 = Input
            Config Porta.4 = Output


            Do
            If Pina.0 = 1 Then : Printbin A : Waitms 100 : End If
            If Pina.0 = 0 Then : Printbin B : Waitms 100 : End If

            Loop

            اینم از گیرنده:

            $regfile = "M16def.dat"
            $crystal = 11059200
            $baud = 9600

            Dim A As Byte
            On Urxc Serial_int
            Enable Urxc


            Enable Interrupts


            Config Porta.1 = Output


            Do

            If A = 4 Then Set Porta.1
            If A = 6 Then Reset Porta.1
            Loop


            Serial_int:


            A = Waitkey()
            Return
            ======================
            به نظر من تو دیتا شیت اینو نگفته منظور از Half Duplex فک کنم این باشه که یک طرفه میتونه تومد سند و طرف دیگه تو مد دریافت باشه
            تو این وسط بحثی از پیوسته یا گسسته ارتباط نشده
            یعنی واقعا نمیشه کاری کرد که ماژول تو مد دریافت باشه یعنی یه چیزی تو مایه های پول پ یعنی پیوسته دریافت
            چون تو مد سند دائما میتونیم این کارو بکنیم ولی تو مد دریافت نه :angry:

            دیدگاه


              #7
              پاسخ : مشکل ساده با HMTR

              :nice:

              دیدگاه


                #8
                پاسخ : مشکل ساده با HMTR

                نوشته اصلی توسط ehsancompany
                به نظر من تو دیتا شیت اینو نگفته منظور از Half Duplex فک کنم این باشه که یک طرفه میتونه تومد سند و طرف دیگه تو مد دریافت باشه
                oo:
                اون متن رو من از توی دیتاشیت گذاشتم (عکس زیرش از دیتاشیت بود !). تا جایی که من می دونم منظور از Half Duplex اینه که نمی تونه همزمان هم بفرسته و هم بگیره . طبق گفته دیتاشیت هر 5 میلی ثانیه بین این دو سوییچ می کنه :



                نوشته اصلی توسط ehsancompany
                تو این وسط بحثی از پیوسته یا گسسته ارتباط نشده
                این رو من از روی تجربه خودم گفتم . چون توی تست هایی که روی این ماژول کردم مینیمم باید 700 میلی ثانیه برای ارسال دیتا وقت گذاشت و بعد دیتای بعدی رو فرستاد روش . پس نمیشه پیوسته باشه .

                نوشته اصلی توسط ehsancompany
                یعنی واقعا نمیشه کاری کرد که ماژول تو مد دریافت باشه یعنی یه چیزی تو مایه های پول پ یعنی پیوسته دریافت
                چون تو مد سند دائما میتونیم این کارو بکنیم ولی تو مد دریافت نه :angry:
                شما بگید هدف نهاییتون چی هست ؟ می خواید یک فایل حجیم رو باهاش انتقال بدید ؟ می خواید دائم توی مد دریافت باشه برای چی؟




                تاپیک جامع سیستم مدیریت ساختمان BMS و خانه هوشمند Smart Home
                دانلود مجموعه آموزشی شرکت Altium ا (Altium Training)
                مقالات و فایل های آموزشی نرم افزار Labview
                حل مشکل درایور و راه اندازی FT232 های غیراورجینال

                دیدگاه


                  #9
                  پاسخ : مشکل ساده با HMTR

                  ممنون از شما مهندس عزیز
                  در مورد Halfduplex من منظورم خوب همون بود دیگه.
                  -----
                  با این اوصاف که شما گفتین این ماژول به درد به فرض میگم (ریموت) نمیخوره
                  چون مثلا اگه بخواییم بازوی رباتی رو باهاش کنترل کنیم اصلا جواب نمیده
                  در حالی که تو مسابقات تیمای دیده میشن که فک کنم از این ماژول استفاده میکن (البته یه بار دیدم ولی مطمن نیستم):read:
                  ---
                  کلا این ماژول رو برای مصارف مختلفی میخوام
                  برای نمونه یه کنترلر چند کاناله...
                  خوب اگه این ماژول این طور باشه باید رفت به سمت RFM 12 ... :cry2:

                  دیدگاه


                    #10
                    پاسخ : مشکل ساده با HMTR

                    سلام خدمت مهندسان عزیز

                    با توجه به تست هایی که من روی حدود 20 تا hm-tr در پروژهآ‌های مختلف انجام دادم، این ماژول همونطورکه دوستمون گفتن نمیتونه همزمان هم سند کنه هم رسیو ولیآ‌ این قضیه 700 میلیآ‌ ثانیه غلط هستش من محدودیتی مشاهده نکردم و درست بدون تاخیر کار میآ‌کنه. متوجه نشدم که شما برای چیآ‌ میآ‌خواهید پای rx رو پول پ کنید؟!
                    Merry Christmass :p
                    تشکر لازمه! دکمه رو فشار بده ديگه!!
                    موفق باشيدددددد!!

                    دیدگاه


                      #11
                      پاسخ : مشکل ساده با HMTR

                      نوشته اصلی توسط mahanb
                      ولیآ‌ این قضیه 700 میلیآ‌ ثانیه غلط هستش من محدودیتی مشاهده نکردم و درست بدون تاخیر کار میآ‌کنه. متوجه نشدم که شما برای چیآ‌ میآ‌خواهید پای rx رو پول پ کنید؟!
                      Merry Christmass :p
                      این موضوع رو من وقتی متوجه شدم که داده هام رو با delay کمتر این مقدار می فرستادم . در این صورت داده ها رو یکی درمیون یا حتی بیشتر می فرستاد .

                      نوشته اصلی توسط ehsancompany
                      با این اوصاف که شما گفتین این ماژول به درد به فرض میگم (ریموت) نمیخوره
                      چون مثلا اگه بخواییم بازوی رباتی رو باهاش کنترل کنیم اصلا جواب نمیده
                      در حالی که تو مسابقات تیمای دیده میشن که فک کنم از این ماژول استفاده میکن (البته یه بار دیدم ولی مطمن نیستم):read:
                      ---
                      کلا این ماژول رو برای مصارف مختلفی میخوام
                      برای نمونه یه کنترلر چند کاناله...
                      خوب اگه این ماژول این طور باشه باید رفت به سمت RFM 12 ... :cry2:
                      ببینید این برمی گرده به مهارت برنامه نویسی . شما می خواید مثلا بازوی ربات رو به صورت آن لاین و دائم کنترل کنید . خوب برای این کار می تونید یک دستور به ماژول گیرنده بفرستید که مثلا بازو رو جمع کنه . خوب نیاز نیست این دستور رو دائم بهش بفرستید . کافیه داخل برنامه / طوری برنامه رو بنویسید که وقتی این دستور رو دریافت کرد بازو رو جمع کنه و تا وقتی دستور بعدی نیومده در همین حالت بمونه . حالا می خواید وایسته . یک کلید میزنید و یک دستور می فرستید به گیرنده . حالت قبلی بلافاصله کنسل میشه و در جا می ایسته . نیاز نیست دائم دیتا رو بفرستید . فقط موقعی که نیاز دارید توی کار تغییر انجام بدید فقط یک دستور می فرستید وگرنه داخل برنامه در همون حالت قبلی می مونه .
                      تاپیک جامع سیستم مدیریت ساختمان BMS و خانه هوشمند Smart Home
                      دانلود مجموعه آموزشی شرکت Altium ا (Altium Training)
                      مقالات و فایل های آموزشی نرم افزار Labview
                      حل مشکل درایور و راه اندازی FT232 های غیراورجینال

                      دیدگاه


                        #12
                        پاسخ : مشکل ساده با HMTR

                        نوشته اصلی توسط mahanb
                        سلام خدمت مهندسان عزیز

                        با توجه به تست هایی که من روی حدود 20 تا hm-tr در پروژهآ‌های مختلف انجام دادم، این ماژول همونطورکه دوستمون گفتن نمیتونه همزمان هم سند کنه هم رسیو ولیآ‌ این قضیه 700 میلیآ‌ ثانیه غلط هستش من محدودیتی مشاهده نکردم و درست بدون تاخیر کار میآ‌کنه. متوجه نشدم که شما برای چیآ‌ میآ‌خواهید پای rx رو پول پ کنید؟!
                        Merry Christmass :p
                        نه نگفتم که پول پ یه چیز تو مایه های پول پ که همیشه تو مد دریافت باشه
                        میشه نمونه کدهای رو که نوشتی بزاری تست بزنم :nice:

                        دیدگاه


                          #13
                          پاسخ : مشکل ساده با HMTR

                          نوشته اصلی توسط محمد م
                          این موضوع رو من وقتی متوجه شدم که داده هام رو با delay کمتر این مقدار می فرستادم . در این صورت داده ها رو یکی درمیون یا حتی بیشتر می فرستاد .

                          ببینید این برمی گرده به مهارت برنامه نویسی . شما می خواید مثلا بازوی ربات رو به صورت آن لاین و دائم کنترل کنید . خوب برای این کار می تونید یک دستور به ماژول گیرنده بفرستید که مثلا بازو رو جمع کنه . خوب نیاز نیست این دستور رو دائم بهش بفرستید . کافیه داخل برنامه / طوری برنامه رو بنویسید که وقتی این دستور رو دریافت کرد بازو رو جمع کنه و تا وقتی دستور بعدی نیومده در همین حالت بمونه . حالا می خواید وایسته . یک کلید میزنید و یک دستور می فرستید به گیرنده . حالت قبلی بلافاصله کنسل میشه و در جا می ایسته . نیاز نیست دائم دیتا رو بفرستید . فقط موقعی که نیاز دارید توی کار تغییر انجام بدید فقط یک دستور می فرستید وگرنه داخل برنامه در همون حالت قبلی می مونه .
                          منظورتون کد بندی دیتا هستش؟
                          مثلا وقتی 500 دریافت کرد یه موتور چپ گرد بچرخه
                          یا اگه 600 دریافت کرد راستگرد؟!
                          خوب اگه منظورتون اینه من دیتا رو با تاخییر میگیرم آخه
                          با تاخییر چند ثانیه..! :read:

                          دیدگاه


                            #14
                            پاسخ : مشکل ساده با HMTR

                            نوشته اصلی توسط ehsancompany
                            منظورتون کد بندی دیتا هستش؟
                            مثلا وقتی 500 دریافت کرد یه موتور چپ گرد بچرخه
                            یا اگه 600 دریافت کرد راستگرد؟!
                            خوب اگه منظورتون اینه من دیتا رو با تاخییر میگیرم آخه
                            با تاخییر چند ثانیه..! :read:
                            چون دارید به صورت یکسره دیتا می فرستید . چون از یک کلید استفاده کردید اون کلید یا یک هست و یا صفر و مدام باعث میشه هی دیتا بفرسته . در صورتی که فقط یکبار بفرستید کافیه . اگه دائم بفرستید توی کار ماژول اختلال ایجاد میشه . به خاطر اینکه داره با سرعت فرکانس میکرو (تایمش) داده رو هی می فرسته .به نظر من برای رفع این مشکل شما باید یکی از شرط های داخل برنامتون رو روی یک پین دیگه چک کنید . یعنی در کل 2 پین رو ورودی تعیین کنید . مثلا یکی A.0 و یکی A.1 . اگه A.0 برابر یک شد A رو بفرسته و اگه A.1 برابر یک شد B رو بفرسته . با توجه به اینکه ممکنه تا دستمون رو از روی کلید برداریم ممکنه بیشتر از 100 میلی ثانیه طول بکشه مقدار تاخیر رو بذارید حدود 1 ثانیه ای یا یکم کمتر . تاخیرهای داخل شرط ها رو بردارید و یک تاخیر یک ثانیه ای داخل خود حلقه بذارید . در این صورت هر کدوم از پین ها که یک بشه حرف مربوط به خودش رو می فرسته . فقط یکبار و نه دائم. حال توی گیرنده اون کاری که گفتم رو بکنید :

                            نوشته اصلی توسط محمد م
                            ببینید این برمی گرده به مهارت برنامه نویسی . شما می خواید مثلا بازوی ربات رو به صورت آن لاین و دائم کنترل کنید . خوب برای این کار می تونید یک دستور به ماژول گیرنده بفرستید که مثلا بازو رو جمع کنه . خوب نیاز نیست این دستور رو دائم بهش بفرستید . کافیه داخل برنامه / طوری برنامه رو بنویسید که وقتی این دستور رو دریافت کرد بازو رو جمع کنه و تا وقتی دستور بعدی نیومده در همین حالت بمونه . حالا می خواید وایسته . یک کلید میزنید و یک دستور می فرستید به گیرنده . حالت قبلی بلافاصله کنسل میشه و در جا می ایسته . نیاز نیست دائم دیتا رو بفرستید . فقط موقعی که نیاز دارید توی کار تغییر انجام بدید فقط یک دستور می فرستید وگرنه داخل برنامه در همون حالت قبلی می مونه .
                            تاپیک جامع سیستم مدیریت ساختمان BMS و خانه هوشمند Smart Home
                            دانلود مجموعه آموزشی شرکت Altium ا (Altium Training)
                            مقالات و فایل های آموزشی نرم افزار Labview
                            حل مشکل درایور و راه اندازی FT232 های غیراورجینال

                            دیدگاه


                              #15
                              پاسخ : مشکل ساده با HMTR

                              نوشته اصلی توسط محمد م
                              چون دارید به صورت یکسره دیتا می فرستید . چون از یک کلید استفاده کردید اون کلید یا یک هست و یا صفر و مدام باعث میشه هی دیتا بفرسته . در صورتی که فقط یکبار بفرستید کافیه . اگه دائم بفرستید توی کار ماژول اختلال ایجاد میشه . به خاطر اینکه داره با سرعت فرکانس میکرو (تایمش) داده رو هی می فرسته .به نظر من برای رفع این مشکل شما باید یکی از شرط های داخل برنامتون رو روی یک پین دیگه چک کنید . یعنی در کل 2 پین رو ورودی تعیین کنید . مثلا یکی A.0 و یکی A.1 . اگه A.0 برابر یک شد A رو بفرسته و اگه A.1 برابر یک شد B رو بفرسته . با توجه به اینکه ممکنه تا دستمون رو از روی کلید برداریم ممکنه بیشتر از 100 میلی ثانیه طول بکشه مقدار تاخیر رو بذارید حدود 1 ثانیه ای یا یکم کمتر . تاخیرهای داخل شرط ها رو بردارید و یک تاخیر یک ثانیه ای داخل خود حلقه بذارید . در این صورت هر کدوم از پین ها که یک بشه حرف مربوط به خودش رو می فرسته . فقط یکبار و نه دائم. حال توی گیرنده اون کاری که گفتم رو بکنید :
                              ولی من از تمامی زمان های مذکور در دیتا شیت بیشتر گذاشتم
                              گذاشتم 100 میلی ثانیه.
                              فکر کردم از تغذیه باشه ولی مدار گیرنده رو روی برد برد بستم و هر چی بلد بودم به سرش آوردم بازم دیتا با 3-4 ثانیه تاخیر ردو بدل میشه

                              دیدگاه

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