اطلاعیه

Collapse
No announcement yet.

هنگ کردن lcd کاراکتری و رفع مشکل به صورت نرم افزاری

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

    #16
    پاسخ : هنگ کردن lcd کاراکتری و رفع مشکل به صورت نرم افزاری

    با سلام خدمت دوستان
    شما وقتی دستور init lcd رو اجرا کنی باید مشکل به هم ریختگی ال سیدیتون برطرف بشه.شما بیایه شاسی توی میکرو تعریف کن که هرموقع اونو زدی این دستور init lcd رو اجرا کنه .حالا وقتی که رله روشن شد یا به هر شکلی ال سی دی هنگ کرد شما بیا و اون شاسی رو بزن باید نوشته هاتون درست بشه .من خودم اینو تست کردم.مشکل این تابع توی مد 4بیتی اینه که وقتی این تابع اجرا میشه ال سیدی نوشته هاش یه چشمکی میزنن ....
    بهترین راههایی که من ازش جواب گرفتم :
    1-ترکیب دیود و خازن برای تغذیه ال سیدی یا مواردی که تغذیش حساسه به افت ولتاژ (خازن 1000 میکرو یا بالاتر وترجیحا اگر تغذیه بک لایت نمایشگرو از تغذیه نمایشگر جداباشه بهتره چون در صورت افت ولتاژ اون بک لایت به سرعت انرژی خازن رو مصرف میکنه)
    2-خازن 10 میکرو فاراد موازی با تغذیه ال سی دی
    3-استفاده از ال سی در مد 8 بیتی (قبل از دستورات نشان دادن روی ال سی دی هم از init lcd استفاده شود)
    توی یه مداری من فقط از گزینه 3 استفاده کرده بودم البته بدون خازن ظرفیت بالا برای ال سی دی بعد که میومدم به صورت دستی نویز ب مدار وارد میکردم ال سی دی هنگ میکرد اما دوباره که دستورات نشان دادن اعداد روی ال سی دی توسط میکرو اجرا می شدند همه اعداد و حروف مرتب میشدند.(چون دستور init lcd هم قبلش اجرا میشد .) که با گذاشتن خازن این مشکل هم برطرف شد.

    دیدگاه


      #17
      پاسخ : هنگ کردن lcd کاراکتری و رفع مشکل به صورت نرم افزاری

      سلام .دوستان من با اضافه کردن خازن 3300 روی تغذیه ورودی مشکلم حل شد .
      در مورد منبع تغذیه هم از ماژولهای ولتاژ lm2596 استفاده کردم .
      در مورد دستور lcd_init اینکه من در موقع هنگ کردن السیدی استفاده میکردم ولی تاثیری نداشت در حالی میکرو بقیه کارها درست انجام میداد.

      ممنون از همه
      جدیدترین ویرایش توسط rasool1370; ۲۱:۰۲ ۱۳۹۷/۰۳/۱۸.

      دیدگاه


        #18
        پاسخ : هنگ کردن lcd کاراکتری و رفع مشکل به صورت نرم افزاری

        نوشته اصلی توسط rasool1370 نمایش پست ها
        سلام .دوستان من با اضافه کردن خازن 3300 روی تغذیه ورودی مشکلم حل شد .
        در مورد منبع تغذیه هم از ماژولهای ولتاژ lm2596 استفاده کردم .
        ممنون از همه
        یعنی حتما باید یه خازن 3300 بزاریم تا خیالمون از این بابت راحت بشه
        یکم عجیبه !!
        با توجه به حجم زیادی که این خازن داره تو طراحی مدار به مشکل فشردگی مدار بر میخوریم
        شما اگه روش دیود شاتکی سری با خازن رو امتحان کنید صد در صد خازنتون به اندازه قابل توجهی کوچکتر میشه
        جدیدترین ویرایش توسط rezamajdi; ۲۱:۰۷ ۱۳۹۷/۰۳/۱۸.
        آرزوی سرافرازی برای ایران عزیز . . .


        دیدگاه


          #19
          پاسخ : هنگ کردن lcd کاراکتری و رفع مشکل به صورت نرم افزاری

          من دقیقا این مشکل و دارم منتها با وصل شدن رله و کار کردن موتور۲۲۰ ولت مشکلی نیستش ولی ب محض اینکه موتور خاموش میشه lcd به هم می ریزه.
          البته با روشن شدن وسایل دیگر مثل لامپ ۲۲۰ ولت که اصلا به رله وصل نیست lcd به هم می ریزه
          تغذیه میکرو و ال سی دی و رله ها جدا هستن
          و رله ها با اپتوکوپلر و ترانزیستور تحریک میشن
          دیگه اعصابم خورد شده

          دیدگاه


            #20
            پاسخ : هنگ کردن lcd کاراکتری و رفع مشکل به صورت نرم افزاری

            نوشته اصلی توسط hamed4354 نمایش پست ها
            من دقیقا این مشکل و دارم منتها با وصل شدن رله و کار کردن موتور۲۲۰ ولت مشکلی نیستش ولی ب محض اینکه موتور خاموش میشه lcd به هم می ریزه.
            البته با روشن شدن وسایل دیگر مثل لامپ ۲۲۰ ولت که اصلا به رله وصل نیست lcd به هم می ریزه
            تغذیه میکرو و ال سی دی و رله ها جدا هستن
            و رله ها با اپتوکوپلر و ترانزیستور تحریک میشن
            دیگه اعصابم خورد شده
            مشکل شما اینه که نویز روی ال سی دی داره تاثیر میزاره که باید تاثیرش رو به شدت کم کنید
            از خازن بزرگ مثلا 1000 میکرو فاراد در نزدیک ترین مکان به تغذیه ال سی دی و میکرو استفاده کنید یکی برا میکرو یکی برا ال سی دی
            اگه خازن بزرگ ندارید یه دیود شاتکی با یه خازن معمولی مثل 100 میکرو فاراد برای تغذیه بزارید ( مثبت خازن و کاتد دیود و تغذیه مثبت ال سی دی به هم متصل باشه و منفی خازن به زمین )

            انجام بدید و حتما نتیجه رو گزارش کنید
            آرزوی سرافرازی برای ایران عزیز . . .


            دیدگاه


              #21
              پاسخ : هنگ کردن lcd کاراکتری و رفع مشکل به صورت نرم افزاری

              دو تا خازن 1000 میکرو گذاشتم ولی باز به هم میریزه

              دیدگاه


                #22
                پاسخ : هنگ کردن lcd کاراکتری و رفع مشکل به صورت نرم افزاری

                نوشته اصلی توسط hamed4354 نمایش پست ها
                دو تا خازن 1000 میکرو گذاشتم ولی باز به هم میریزه
                نویز های فرکانس بالا با گذاشتن خازن های بزرگ حذف نمیشه
                شما یه 10 نانو با یه 100 نانو رو موازی یه 1000 میکرو بزار درنزدیک ترین مکان به تغذیه
                ضمنا اگه بتونید از خازن های تانتالیوم استفاده کنید که دیگه عادی میشه
                ضمنا سلف رو فراموش نکنید یه سلف در حد چند صد میکرو هانری رو سر راه تغذیه ال سی دی و میکرو قرار بدید بعدش خازن ها رو بزارید
                آرزوی سرافرازی برای ایران عزیز . . .


                دیدگاه


                  #23
                  پاسخ : هنگ کردن lcd کاراکتری و رفع مشکل به صورت نرم افزاری

                  شما اگر از 8 بیت پین های ال سی دی استفاده کنید و ایت تابع را هر بار اجرا کنید هرگز پدیده هنگ حتی در بدترین شرایط نویزی نخواهید داشت
                  void lcd(void)
                  {
                  char s;
                  delay_ms(20);
                  lcd_rs=0;
                  lcd_port=0x02;
                  lcd_e=1;lcd_e=0;
                  delay_ms(2);

                  for(s=0;s<5;s++)
                  {
                  lcd_port=set_lcd[s];
                  lcd_e=1;lcd_e=0;
                  delay_us(dtime);
                  }
                  lcd_rs=1;
                  for(s=0;s<lcd_size;s++)
                  {
                  lcd_port=stlcd1[s];
                  lcd_e=1;lcd_e=0;
                  delay_us(dtime);
                  }
                  lcd_rs=0;
                  lcd_port=0xc0;
                  lcd_e=1;lcd_e=0;
                  delay_us(dtime);
                  lcd_rs=1;
                  for(s=0;s<lcd_size;s++)
                  {
                  lcd_port=stlcd2[s];
                  lcd_e=1;lcd_e=0;
                  delay_us(dtime);
                  }
                  }// lcd
                  //================================================== ==============

                  دیدگاه


                    #24
                    پاسخ : هنگ کردن lcd کاراکتری و رفع مشکل به صورت نرم افزاری

                    من برنامه نویسی ام مبتدیه
                    این برنامه من کجاشو تغییر بدم.
                    $regfile = "m8def.dat"
                    $crystal = 4000000
                    Config Adc = Single , Prescaler = 8 , Reference = Avcc
                    Config Lcdpin = Pin , Rs = Portd.7 , E = Portd.6 , Db4 = Portd.5 , Db5 = Portd.4 , Db6 = Portd.3 , Db7 = Portd.2
                    Config Lcd = 16 * 2
                    Cursor Off
                    Config 1wire = Portb.7
                    Dim Byte0 As Byte
                    Dim Byte1 As Byte
                    Dim Sign As String * 1
                    Dim T As String * 4
                    Dim T1 As Single
                    Dim T2 As Single
                    Dim L As Single
                    Dim H As Single
                    Dim Ll As String * 4 : Dim Xadcl As Word
                    Dim Hh As String * 4 : Dim Xadch As Word
                    Dim Adctm1 As Word : Dim Adctm2 As Word : Dim Adctmincr As Word : Dim Adctmincr2 As Word
                    Dim Adcts1 As Word : Dim Adcts2 As Word : Dim Rast_chap As Byte
                    '*******************************
                    Config Portb.0 = Output : Config Portb.1 = Output
                    Config Portb.2 = Output : Config Portb.3 = Output
                    '**************
                    Cls
                    Lcd " BE NAME KHODA"
                    Waitms 80
                    Locate 2 , 1
                    Lcd " HAMED"
                    Wait 2
                    '***********
                    Cls
                    Lcd " AND"
                    Waitms 80
                    Locate 2 , 1
                    Lcd " MOSTAFA "
                    Wait 2
                    Cls
                    Do
                    Xadcl = Getadc(0) : L = Xadcl / 200 : L = L + 34.1 : Ll = Fusing(l , "#.&") 'hade aghal dama
                    Xadch = Getadc(1) : H = Xadch / 200 : H = H + 35.1 : Hh = Fusing(h , "#.&") 'hade aksar dama
                    Adctm1 = Getadc(2) : Adctm2 = Adctm1 / 5 : Adctm2 = Adctm2 + 3
                    Adcts1 = Getadc(3) : Adcts2 = Adcts1 / 20
                    Cursor Off
                    1wreset
                    If Err = 1 Then
                    Cls
                    Lcd "NO SENSOR"
                    Wait 1
                    Else
                    1wwrite &HCC
                    1wwrite &H44
                    Waitms 250
                    1wreset
                    1wwrite &HCC
                    1wwrite &HBE
                    Byte0 = 1wread()
                    Byte1 = 1wread()
                    If Byte1 > 248 Then
                    Byte0 = &HFF - Byte0
                    Byte1 = &HFF - Byte1
                    Sign = "-"
                    Else
                    Sign = "+"
                    End If
                    T1 = Byte0 / 16
                    T2 = Byte1 * 16
                    T1 = T1 + T2
                    If Sign = "-" Then
                    T1 = T1 + 1
                    End If
                    If Sign = "+" And T1 = 0 Then
                    Sign = " "
                    End If
                    '**********
                    T = Fusing(t1 , "#.&")
                    '**********
                    Home
                    Cls
                    Lcd Ll ; " " ; Sign ; T ; "C" ; " " ; Hh
                    Locate 2 , 1
                    Lcd Adctmincr ; "-> " ; Adctm2 ; "Min" ; " " ; Adcts2 ; "S RL"
                    Waitms 500
                    End If
                    '***************
                    'Sard _shodan
                    If T1 < L Then
                    Set Portb.0
                    Waitms 500
                    Else
                    Reset Portb.0
                    Waitms 500
                    End If
                    '***************
                    'Gharm Shodan
                    If T1 > H Then
                    Set Portb.1
                    Waitms 500
                    Else
                    Reset Portb.1
                    Waitms 500
                    End If
                    '**************
                    Incr Adctmincr2
                    If Adctmincr2 = 60 Then
                    Incr Adctmincr : Adctmincr2 = 0 : End If
                    If Adctmincr > Adctm2 Then
                    Incr Rast_chap
                    Adctmincr = 0
                    '------------------------------------------------
                    If Rast_chap = 1 Then
                    Set Portb.2 : Reset Portb.3 : Wait Adcts2
                    Reset Portb.2 : Reset Portb.3
                    End If
                    '------------------------------------------------
                    If Rast_chap = 2 Then
                    Set Portb.3 : Reset Portb.2 : Wait Adcts2
                    Reset Portb.3 : Reset Portb.2
                    Rast_chap = 0
                    End If


                    End If
                    Loop
                    End

                    دیدگاه


                      #25
                      پاسخ : هنگ کردن lcd کاراکتری و رفع مشکل به صورت نرم افزاری

                      با دستور initlcd مشکل حل شد.

                      دیدگاه


                        #26
                        پاسخ : هنگ کردن lcd کاراکتری و رفع مشکل به صورت نرم افزاری

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

                        دیدگاه


                          #27
                          پاسخ : هنگ کردن lcd کاراکتری و رفع مشکل به صورت نرم افزاری

                          نوشته اصلی توسط mohammadgh1370 نمایش پست ها
                          من هم همین مشکل رو داشتم،ینی الانم دارم،ولی داخل یه تایمر هر چند ثانیه یه بار پورت مربوط به ال سی دی رو صفر و بعد بار اینیت میکنم و ال سی دی رو پاک میکنم،وقتی ال سی دی قاطی میکنه،باز به حالت اولش برمیگرده و درست نشون میده،راه اصولی نیست و لی جواب میده،به نظرتون مشکلی نداره این روش؟
                          چرا مشکل رو از ریشه حل نمیکنید
                          باید این نویز تولید شده به شدت سرکوب بشه . . .
                          برای این کار چه روش هایی رو پیش گرفتید ؟؟؟
                          ذکر کنید تا بررسی بشه
                          آرزوی سرافرازی برای ایران عزیز . . .


                          دیدگاه


                            #28
                            پاسخ : هنگ کردن lcd کاراکتری و رفع مشکل به صورت نرم افزاری

                            نوشته اصلی توسط rezamajdi نمایش پست ها
                            چرا مشکل رو از ریشه حل نمیکنید
                            باید این نویز تولید شده به شدت سرکوب بشه . . .
                            برای این کار چه روش هایی رو پیش گرفتید ؟؟؟
                            ذکر کنید تا بررسی بشه
                            برای استفاده از رله که از uln2003 استفاده کردم،که فاصلشون از میکرو زیاد کردم،و چون از ال سی دی در مد 4 بیتی استفاده کردم پایه های بی استفاده رو رو پول داون کردم،و خازن هم واسه تغذیه میکرو و خازن هم واسه تغذیه ال سی دی گذاشتم درس نشد که این کار رو کردم

                            دیدگاه


                              #29
                              پاسخ : هنگ کردن lcd کاراکتری و رفع مشکل به صورت نرم افزاری

                              نوشته اصلی توسط mohammadgh1370 نمایش پست ها
                              برای استفاده از رله که از uln2003 استفاده کردم،که فاصلشون از میکرو زیاد کردم،و چون از ال سی دی در مد 4 بیتی استفاده کردم پایه های بی استفاده رو رو پول داون کردم،و خازن هم واسه تغذیه میکرو و خازن هم واسه تغذیه ال سی دی گذاشتم درس نشد که این کار رو کردم
                              این نکات رو رعایت کنید درست میشه
                              1_ استفاده از سلف سری ( در حد چند صد میکرو هانری مثلا 270 میکرو هانری ) با تغذیه میکرو و ال سی دی
                              2_استفاده از خازن های 10 نانو و 100 نانو مولتی لایر یا عدسی به موازات خازن تانتالیوم حدود چند ده میکروفاراد در نزدیک ترین مکان به تغذیه میکرو و ال سی دی
                              3_استفاده از EMI فیلتر قبل از ورودی ترانس یا منبع تغذیه سویچینگ

                              این سلف و خازن تانتالیوم خیلی مهمه به طوری که ترکیب این دو به صورت گفته شده تغیرات قابل توجهی رو در مدار بوجود میاره
                              ضمنا نویزهایی این چنینی که باعث تداخل و بهم ریختگی آی سی ها میشه در طولانی مدت تاثیر مخرب خودش رو بر روی قطعات نشون میده بنابراین سعی در سرکوب چنین نویز هایی داشته باشید .

                              اگه قصد دارید موارد ذکر شده رو انجام بدید بگید تا بیشتر شما رو راهنمایی کنم
                              آرزوی سرافرازی برای ایران عزیز . . .


                              دیدگاه


                                #30
                                پاسخ : هنگ کردن lcd کاراکتری و رفع مشکل به صورت نرم افزاری

                                نوشته اصلی توسط rezamajdi نمایش پست ها
                                این نکات رو رعایت کنید درست میشه
                                1_ استفاده از سلف سری ( در حد چند صد میکرو هانری مثلا 270 میکرو هانری ) با تغذیه میکرو و ال سی دی
                                2_استفاده از خازن های 10 نانو و 100 نانو مولتی لایر یا عدسی به موازات خازن تانتالیوم حدود چند ده میکروفاراد در نزدیک ترین مکان به تغذیه میکرو و ال سی دی
                                3_استفاده از EMI فیلتر قبل از ورودی ترانس یا منبع تغذیه سویچینگ

                                این سلف و خازن تانتالیوم خیلی مهمه به طوری که ترکیب این دو به صورت گفته شده تغیرات قابل توجهی رو در مدار بوجود میاره
                                ضمنا نویزهایی این چنینی که باعث تداخل و بهم ریختگی آی سی ها میشه در طولانی مدت تاثیر مخرب خودش رو بر روی قطعات نشون میده بنابراین سعی در سرکوب چنین نویز هایی داشته باشید .

                                اگه قصد دارید موارد ذکر شده رو انجام بدید بگید تا بیشتر شما رو راهنمایی کنم
                                ممنون از راهنماییتون،این سلف و خازن ها کارشون چیه؟خازن تانتالیوم چی هس؟ممنون میشم کمکم کنید،بعضی جاها خوندم که باید از مدار اسنابر واسه برق 220 خروجی رله استفاده کرد تا مشکل حل بشه،این قضیش چیه؟این هم درسه؟

                                دیدگاه

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