اطلاعیه

Collapse
No announcement yet.

دو مشکل با lcd کارکتر و avr

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

    دو مشکل با lcd کارکتر و avr

    سلام خدمت همه دوستان عزیز و مهندسین گرامی.
    بنده دو تا مشکل با LCD کارکتری و AVR دارم
    1. تو چند تا مدار که از lcd استفاده کردم یک سری کارکتر های عجیب و غریب گاه و بیگاه روی lcd ظاهر میشه. که ظاهرا نویز هستش. البته در این مورد سرچ کردم گفته بودند که باید پایه های d0 تا d3 رو که تو مدچهار بیتی آزادند با مقاومت 3.3 کیلو pullup کنم ، جای دیگه گفته بودند که pulldown کنم و جای دیگه اشاره شده بود که مستقیم به زمین وصل بشه. من هر سه کار رو انجام دادم ولی نتیجه ای نداشت . مورد دیگه ای که پیشنهاد شده بود استفاده از خازن مولتی لایر 100 نانو به صورت موازی دوسر تغذیه LDC بود که باز هم جواب نداد و اون کارکتر های عجیب غریب همچنان روی lcd ظاهر میشند.دوستان اگه بفرمایند که اولا درمورد پایه های کم ارزش (d0 تا d3) کدوم یکی از موارد درسته ثانیا درکل در مورد این مشکل باید چه کنم ممنون میشم. البته عقلا pullup کردن منطقی نیست چون بیت های کم ارزش باید صفر باشند نه یک و در عمل هم با این کار lcd چیزی نمایش نمیداد.
    2. تو یه مدار من با avr و lcd کارکتری یه ساعت و تقویم برای ماشین ساختم.تغذیه ساعت قبلی ماشین سه تا ورودی داشت یک زمین و دو تا +12
    که یکی از vcc ها دایمی بود و اون یکی با سویچ قطع و وصل می شد. بر این اساس من اومدم و تغذیه میکرو رو به 12 ولت دایمی دادم و تغذیه lcd رو به 12 ولتی که با سویچ ماشین وصل می شد. تا میکرو همیشه کار کنه و با خاموش شدن ماشین ساعت صفر نشه. اما اینجوری وقتی سویچ رو می بندم و دو باره باز میکنم انگار که میکرو هنگ کنه چیزی روی lcd نمایش نمیده. دقیقا این اتفاق در استفاده از باتری backup هم میفته یعنی وقتی تو یه مداری که lcd داره برای اینکه میکرو دایما کار کنه باتری back up درو سر تغذیه میکرو قرار میدم . اگه تغدیه lcd قطع و وصل بشه همین مشکل پیش میاد.
    پیشاپیش ممنون از کمکتون.

    #2
    پاسخ : دو مشکل با lcd کارکتر و avr

    سلام داش میشه این مداری که باهاش 12ولت ماشینو خوروندی به میکرو واسه منم بزاری؟

    دیدگاه


      #3
      پاسخ : دو مشکل با lcd کارکتر و avr

      نوشته اصلی توسط mahdi1376al
      سلام داش میشه این مداری که باهاش 12ولت ماشینو خوروندی به میکرو واسه منم بزاری؟
      سلام
      بهتر بود تاپیک جدید می زدید

      شما می تونید از ماژول های DC-DC استفاده کنید که تو سایت ECA هم وجود داره
      ماژول مبدل DC-DC LM2596 کاهنده خروجی 1.23V-30V 3A
      http://eshop.eca.ir/%D9%85%D8%A7%DA%98%D9%88%D9%84-%D9%87%D8%A7%DB%8C-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C/2154-%D9%85%D8%A7%DA%98%D9%88%D9%84-%D9%85%D8%A8%D8%AF%D9%84-dc-dc-lm2596-%D8%AE%D8%B1%D9%88%D8%AC%DB%8C-123v-30v-3a.html



      اما سوال استارتر
      قسمت اول
      کامپایلری که استفاده می کنید چیه ؟
      مقدار OSC که استفاده کردید چقدر ؟
      * مقدار OCS به حداقل برسونید و ببینید بازم این مشکل پیش میاد مثلا 1MHz

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


      دیدگاه


        #4
        پاسخ : دو مشکل با lcd کارکتر و avr

        سلام.
        در مورد کاراکتر های ناخواسته که روی lcd میفته من هم تجربه هایی دارم که بهت میگم آزمایش کن شاید مشکل حل شه.
        اول از همه اگر امکانش هست، این سه مورد رو تغییر بده و آزمایش کن. هر کدوم رو که تغییر دادی و مشکل حل شد، خب مشکل همون بوده:
        1- خود ال سی دی رو عوض کن
        2- منبع تغذیه رو (مخصوصا اگر سوییچینگ هست)
        3- جایی که که مدار رو تست میکنی. تو اتاقی برو تو پذیرایی مثلا.

        آزمایش بعدی که معمولا اگر مشکل نویز باشه جواب میده و من چند بار تو مسایل مختلف ازش جواب گرفتم اینه که یه سیم اتصال به زمین وصل کن به گراند مدارت. یه لوله ی آبی گازی چیزی پیدا کن، یه تیکه سیم وصل کن بهش، یه سرش هم بزن به گراند مدارت ببین حل میشه یا نه.

        و اگر مشکل حل نشد راه حل آخر که بسیار محتمل هست که مشکل رو حل کنه رو انجام بده:
        اگر زبون برنامه نویسیت سی هست (خیلی با بیسیک آشنایی ندارم شاید تو بیسیک هم همین مشکل باشه) همه ی آرایه هاتو چک کن و حتی همه متغیر ها. با دقت تمام! از این امر مطمئن شو که هیچ آرایه ای بیشتر از ظرفیت خودش پر نمیشه، و هیچ متغیری هم بیشتر از فضایی که از حافظه میگیره پر نمیشه.
        چون زبون سی کاری نداره که آرایه با چند عضو تعریف شده یا متغیر ها چقدر حافظه اشغال کردن، لذا چه اتفاقی میفته؟ مثلا یه رشته تعریف کردی واسه ال سی دیت، بعد یه آرایه دیگه یا یه متغیر دیگه یه جا داری، اون اشتباهی بیش از حد ظرفیتش مقدار دهی میشه، بعد بدون اینکه متوجه شی، رشته ای که واسه ال سی دیت تعریف کردی، کاراکتر هاش عوض میشه و در نتیجه رو ال سی دی چرت و پرت نشون میده. این اتفاق بین اونایی که با سی برنامه مینویسن خیلی شایعه.
        حواست باشه که int شونزده بیتی هست، مثلا اگه بهش 65537 بدی، به متغیر های دیگه ای که تعریف کردی ممکنه نفوذ کنه.

        دیدگاه


          #5
          پاسخ : دو مشکل با lcd کارکتر و avr

          من میخوامds1307 اطلاعاتش بر روی lcd نمایش بده ولی نشون نمیده......
          از codewizard استفاده کردم....
          کمکم کنید لطفا سریع

          دیدگاه


            #6
            پاسخ : دو مشکل با lcd کارکتر و avr

            نوشته اصلی توسط lindiya_2006
            من میخوامds1307 اطلاعاتش بر روی lcd نمایش بده ولی نشون نمیده......
            از codewizard استفاده کردم....
            کمکم کنید لطفا سریع
            مدار نقشه کد کجاست نشون بده

            دیدگاه


              #7
              پاسخ : دو مشکل با lcd کارکتر و avr

              یک مقدار جزئی هم من تجربه دارم!

              حس می کنم میکرو در بدو راه اندازی پرت و پلا به ال سی دی ارسال می کنه پس بهتره در کد نوشته شده قبل از ارسال متن به LCD چند تا WAIT با تاخیر حدود 1000 میلی ثاینه بنویسی و بین هم کدومشون CLS بنویسی (دستورات بسکام) و بعد متن اصلی رو نمایش بدی. jtag میکرو رو غیر فعال کن
              سر راه تغذیه میکرو و ال سی دی خازن الکترولیت با ظرفیت بالا(هرچی بیشتر بهتر!!! ) قرار بده همچنین خازن های 100 نانو فاراد
              حتما تمامی ورودی های برق میکرو رو متصل کن GND,AVCC,VCC میکرو های DIP دوتا ورودی برق دارند که حتما باید متصل شود.
              هیچ پایه از دیتای ال سی دی رو لازم نیست pullup یا pulldown کنی(من که هیچ وقت اینکارو نکردم :biggrin: :biggrin: :biggrin
              AVR رو از نور لامپ های فلورسنت (فاصله نزدیک) دور نگه دار.
              از تثبیت کننده های ولتاژ در مسیر برق ورودی مدار (مثل 7805) استفاده کن

              موفق باشی
              STM32 واقعا یه چیز دیگه است...

              دیدگاه


                #8
                پاسخ : دو مشکل با lcd کارکتر و avr

                سلام.
                من به شخصه مادر السیدی کاراکتری رو دعا کردم،
                ببین داداشه من،
                1. اون d0 تا d3 هارو ول کن رو هوا، هر چی شد، با من...
                2. 12ولت ماشین به میکرو ؟؟؟ :angry: oo: oo: oo: :eek: :eek: :eek:
                ما یه بار با 6ولت مگا16 سوزوندیم، نمیدونم، ولی مثه یه لطیفه میمونه!
                الا ای حال، شما از خازن خفن میتونی استفاده کنی، چون اون داییمیه، موقع استارت زدن قطع میشه یا ضعیف میشه!
                خازن هم نشد، یه باتری شارژیه کوچولو! که تو اون چند ثانیه ساپورتت کته...
                خدا به میکروت صبر بده...
                موفق باشی...

                دیدگاه

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