اطلاعیه

Collapse
No announcement yet.

مشکل در برنامه نویسی کدگذاری اطلاعات برای حذف نویز ماژول HMT و HMR

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

    مشکل در برنامه نویسی کدگذاری اطلاعات برای حذف نویز ماژول HMT و HMR

    سلام , چند وقتی میشه دارم روی ارتباط usart دوتا میکرو روی یه پروژه ساد (با فشردن یه کلید PINB.0 (یک کردن در حالتی که کلید آزاده صفره) روی میکرو فرستنده یه ال ای دی PORTA.0 روی میکرو گیرنده روشن بشه , کار میکنم و تونستم با سیم جواب بگیرم البته با ماژول HMT و HMR هم جواب گرفتم تو فاصله ی خیلی کوتاه حدود 10سانتی متری اونم با هزار بار این ور اونور کردن آنتنم برای هر جفتش گذاشتم البته تو حالتی که جواب بده تو همون حالت بمونه درستن اما یکم تغییر میدم جاشو یا فاصله زیاد میشه شدت نویز به قدیه که بیشتر اطلاعات هرز میگیره گیرنده و ال ای دی بدون فشرده شدن کلید روی فرستنده مدام خاموشو روشن میکنه
    برای اینکه این اتفاق نیافته باید دستوراتمو کد گذاری کنم اما من بلد نیستم یه همچین کدی نوشتم واسه کد گذاری که حتی تو پروتئوسم جواب نداد
    اگه میشه کمک کنید کد هامو چطوری بنویسم که کار کنه چون گیرنده تو پروتئوس با همین کدها همش میره به قسمت esle و قسمت ifهای برنامه اجرا نمیشه
    میکروهام mega32 , فرکانس ماژولام 433 مگاهرتز , زبان برنامه نویسی c با کدویژن
    انتظارم اینه توی 10 متری جواب بده و درصورتی که اطلاعاتی غیر از اونی که من تعیین کردمو بگیره کاری انجام نده
    ممنون میشم تو کد نویسیش کمکم کنید کد خودمو نوشتم که گفتم مشکلش چیه
    کد:
    [
    فرستنده :
    if(PINB.0==1){
    putchar(0x58);
    delay_ms(20);
    putchar(0XA8);
    delay_ms(20);
    putchar(0x28);
    delay_ms(20)
    }
    esle{
    putchar(0x11);
    delay_ms(20);
    }
    کد مربوط به قسمت
    esle
    فرستنده برای خاموش نشدن فرستنده هست چون شنیده بودم اگه فرستنده چیزی نفرسته به حالت استندبای میره.
    گیرنده : 
    a=getchar();
    if(a==0x58){
    delay_ms(20);
    b=getchar();
    if(b==0xA8){
    delay_ms(20);
    c=getchar();
    if(c==0x28){
    PORTA.0=1;
    }}}
    else{
    PORTA.0=0;
    }
    ]

    #2
    پاسخ : مشکل در برنامه نویسی کدگذاری اطلاعات برای حذف نویز ماژول HMT و HMR

    اینو ببین


    3 تا پروژه آماده

    http://dmf313.ir/category/electronics/avr-projects/module/rf-transceivers/
    اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

    اگه دوس دارید سریع به جواب برسید :
    1) قبل از پرسیدن سوال، بسرچید.
    2) سوالاتون رو با جزئیات کامل مطرح کنید.

    دیدگاه


      #3
      پاسخ : مشکل در برنامه نویسی کدگذاری اطلاعات برای حذف نویز ماژول HMT و HMR

      سلام , پروژه LCD انجام دادم جواب میده اما بازم همون بحث هست وقتی نزدیکن بهم اطلاعات درست میره البته تو حالت نزدیک به همم بعضی موقع ها گیرنده اطلاعات هرز میگیره و دیگه به گیرنده کاری نداره تا تغذیه قطع بشه دوباره وصل بشه اما وقتی دور میشه کارکتر ثابت میشه و دیگه تغییری نداره بعضی موقع هام lcd اون اطلاعاتی که روی میکرو گیرنده بودو پشت هم اجرا میکنه بدونه فرمان فرستنده و بعد اگه فرستندم بفرسته کاری دیگه نمیکنه و باید تغذیه رو قطع کنم دوباره بزنم .
      1- مشکل از پروژه نیست مشکل ماژول گیرنده هست که اطلاعات هرز میگیره پس باید اطلاعات کد گذاری بشه منم اونو میخوام چون اون کدی که نوشتم جواب نداد حتی تو پروتئوس
      2 - برد ماژول ها باوجود آنتن خیلی کمه 10سانتیمتری اونم تو شرایطی درست جواب میده دورتر که بشم بازم همون وضعیت گرفتن اطلاعات هرز به وجود میاد

      دیدگاه


        #4
        پاسخ : مشکل در برنامه نویسی کدگذاری اطلاعات برای حذف نویز ماژول HMT و HMR

        نوشته اصلی توسط MiZuZ
        سلام , پروژه LCD انجام دادم جواب میده اما بازم همون بحث هست وقتی نزدیکن بهم اطلاعات درست میره البته تو حالت نزدیک به همم بعضی موقع ها گیرنده اطلاعات هرز میگیره و دیگه به گیرنده کاری نداره تا تغذیه قطع بشه دوباره وصل بشه اما وقتی دور میشه کارکتر ثابت میشه و دیگه تغییری نداره بعضی موقع هام lcd اون اطلاعاتی که روی میکرو گیرنده بودو پشت هم اجرا میکنه بدونه فرمان فرستنده و بعد اگه فرستندم بفرسته کاری دیگه نمیکنه و باید تغذیه رو قطع کنم دوباره بزنم .
        1- مشکل از پروژه نیست مشکل ماژول گیرنده هست که اطلاعات هرز میگیره پس باید اطلاعات کد گذاری بشه منم اونو میخوام چون اون کدی که نوشتم جواب نداد حتی تو پروتئوس
        2 - برد ماژول ها باوجود آنتن خیلی کمه 10سانتیمتری اونم تو شرایطی درست جواب میده دورتر که بشم بازم همون وضعیت گرفتن اطلاعات هرز به وجود میاد

        مورچه چیه که روغنش چی باشه oo:

        آنتن نمیخاد که....بدون آنتن هم کار میکنه....در حد تیم ملی....

        چند تا عکس از مدارت تو عمل بده ببینم چیکار کردی.....
        اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

        اگه دوس دارید سریع به جواب برسید :
        1) قبل از پرسیدن سوال، بسرچید.
        2) سوالاتون رو با جزئیات کامل مطرح کنید.

        دیدگاه


          #5
          پاسخ : مشکل در برنامه نویسی کدگذاری اطلاعات برای حذف نویز ماژول HMT و HMR

          راستی بزار بهت انرژی بدم !!!
          شاید ماژول مشکل داشته باشه....یه بار من همین ماژول رو خریدم خراب در اومدد......دفه بعد خریدم سالم در اومد.....

          کلی الاف شدیم....کلی با بچه ها بحث کردیم...آخر سر رفتم یه ماژول دیگه خریدم -- و پروژه عین ساعت کار کرد
          اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

          اگه دوس دارید سریع به جواب برسید :
          1) قبل از پرسیدن سوال، بسرچید.
          2) سوالاتون رو با جزئیات کامل مطرح کنید.

          دیدگاه


            #6
            پاسخ : مشکل در برنامه نویسی کدگذاری اطلاعات برای حذف نویز ماژول HMT و HMR

            این HMT و HMR بگیر و نگیر داره کارشون!
            یه بار به همچین مشکلی بر خورده بودم. برای رفعش این کارو کردم:
            در فرستنده به جای یک بایت، یک رشته از بایت ها رو می فرستادم:
            [code=c]
            send_char(0x11);
            send_char(0x21);
            send_char(0x32);
            send_char(0x41);
            send_char(0x51);
            [/code]
            در گیرنده بایت های دریافتی رو توی بافر ذخیره می کردم و توی بافر دنبال ترتیب خاصی که نوشته بودم می گشتم. اینجوری مشکلِ نویز حذف شد. البته مشخصه که، به جای یه بایت مجبور شدم هر بار 7-8 تا بایت بفرستم.
            بیایید با Google آشتی کنیم!

            دیدگاه


              #7
              پاسخ : مشکل در برنامه نویسی کدگذاری اطلاعات برای حذف نویز ماژول HMT و HMR

              ممنون از جواباتون
              این عکسه مدار همون پروژه Lcd که لینکشو گذاشتید تو بعضی حالات جواب میده ولی بیشتر مواقع نیز داره و lcd خود به خود صفر و یک میشه . البته ماژولها سالمه چون همونطور که گفتم جواب میده و پروژه های دیگم جواب داده ولی نویز داره و تو فاصله دیگه فقط نویز میگیره من نیاز دارم تو فاصله 10 متری جواب بده
              http://upload7.ir/imgs/2014-10/02119037098306416969.jpg
              آقای رستمی میشه یکم بیشتر راجبه کدهایی که برای کدگذاری فرستنده و گیرنده انجام دادید توضیح بدید و کدهاتونو کاملتر بزارید هم برای گیرنده هم فرستنده , من میخوام گیرنده اگه اون چیزی که من میفرستمو گرفت بازم چندتا کد دیگه بره اگه اونام درست بود کاری که نوشتمو بکنه اگه حتی یکیشم درست نبود کاری نکنه اما نمیتونم درست بنویسمش روی برنامه نویسیش کمک میخوام و اینکه تو پروتئوس جواب بده
              مشکل عجیب اینه ماژول ها تو بعضی حالات کار میکنه پس مشکل از ماژول ها نیست اما حتی وقتی فرستنده خاموشه گیرنده با اینکه من نوشتم تنها با گرفتن اون کد که فرستنده میفرسته ال ای دی روشن رو گیرنده کنه اما بازم روشن میشه و خاموش میشه یا مثل همین پروژه lcd دوستمون که بدون فرستادن کدیم از طرف فرستنده گیرنده که باید فقط با او کدها کاری انجام بده اما بازم خود به خود او کارایی که نوشتم انجام میده یعنی روی هوا دقیقا او چیزی که من میفرستم هست ؟؟؟؟

              دیدگاه


                #8
                پاسخ : مشکل در برنامه نویسی کدگذاری اطلاعات برای حذف نویز ماژول HMT و HMR

                عزیز دل برادر، من کد آماده ندارم که به شما بدم. فقط می تونم راه حل پیشنهادیِ خودم رو بگم. شما به هر طریقی که می تونی خودت پیاده سازیش کن و صد البته اگه می خوای پیشرفت کنی، در مورد نحوه پیشاده سازیش از کسی کدِ آماده نخواه لطفاً..
                اگه درست متوجه شده باشم، شما قراره یه دستوری رو از فرستنده به گیرنده بفرستی. دستورِ شما بر فرض شامل یک بایته که گیرنده بر اساسِ اون کارِ خاصی رو انجام میده.
                کافیه در فرستنده به جای یک بایت، 11 بایت بفرستی. 5 بایت قبلش، 5 بایت هم بعدش. این 10 بایتِ اضافی هر ترکیبِ ثابتی می تونه باشه.
                در گیرنده هم بافر بگذار و همه بایت ها رو از پورت سریال بخون و اگه به ترتیبِ بایت هایی که تعریف کرده بودی رسیدی، توی بافر بگرد و بایتِ فرمان رو پیدا کن و دستورِ مرتبط با اون رو انجام بده.
                همین.
                بیایید با Google آشتی کنیم!

                دیدگاه


                  #9
                  پاسخ : مشکل در برنامه نویسی کدگذاری اطلاعات برای حذف نویز ماژول HMT و HMR

                  آقا این ماژول باید دائم اطلاعات رو بفرسته و دریافت کنه وگرنه نویزی میشه
                  نباید ماژول رو بیکار بذاری
                  بزرگي سراسر به گفتار نيست

                  دو صد گفته چون نيم کردار نيست

                  دیدگاه

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