اطلاعیه

Collapse
No announcement yet.

مشکل در شبیه سازی pic

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

    مشکل در شبیه سازی pic

    سلام وقتتون بخیر
    من تازه کار با PIC رو شروع کردم و یه برنامه چراغ چشمک زن نوشتم که هر یک ثانیه LED متصل به پورت B_0 رو روشن و خاموش کنه. اینجوری
    while(TRUE)
    {
    output_B(0x01);
    delay_ms(1000);
    output_B(0x00);
    delay_ms(1000);
    }
    ولی وقتی دارم با پروتئوس شبیه سازی میکنم چراغ هر 8 ثانیه چشمک میزنه
    فرکانس میکرو هم روی 8 مگا تنظیم شده با کریستال خارجی،
    مشکلم کجاست؟

    #2
    پاسخ : مشکل در شبیه سازی pic

    سلام دوست عزیز.خسته نباشی.
    توی محیط شبیه سازی وقتی روی میکرو دوبار کلیک میکنی،یه عده پارامترهای دیگه هم هست،غیر از مسیر فایل هگز،
    یکیش هم فرکانس اسیلاتور هست ک اون رو هم باید روی همون مقدار تنظیم کنی.
    اگر مشکلت مرتفع شد،بیزحمت نتیجه رو همین جا قرار بده.
    من الله التوفیق
    یاعلی
    :read:
    رو به خودت نسبت هستی مده!**دل به چنین مستی و پستی مده! //زانچه نداری ز چه افسردهآ‌ای*و زغم و اندوه دل آزردهآ‌ای؟!//گر ببرد ور بدهد دست دوست*ور بِبَرد ور بنهد مُلک اوست//ور بِکِشی یا بکُشی دیو غم **کج نشود دست قضا را قلم//آنچه خدا خواست همان میآ‌شود**وآنچه دلت خواست نه آن میآ‌شود.
    ....

    دیدگاه


      #3
      پاسخ : مشکل در شبیه سازی pic

      سلام درست شد مشکلش همین بود خیلی ممنون
      با عرض معذرت یه سوال دیگه هم دارم
      حالا من میخوام این برنامه رو روی برد بورد پیاده کنم ولی نحوه پروگرم کردن pic رو بلد نیستم باید چیکار کنم؟
      من با کامپایلر ccs کار میکنم و یکی از این پروگرمرهای شرکت نوآوران الکترونیک رو دارم
      آیا در زمان پروگرم کردن باید فیوزبیتی رو دست کاری کنیم؟ من این قسمتش رو اصلا بلد نیستم
      در ضمن اگه حوصله داری بگو مدار عملی که میبندم نسبت به پروتئوس چه چیزای اضافه ای داره؟(غیر از زمین و تغذیه)
      بیشتر از یه سوال شد :rolleyes:
      انشاالله بری مکه

      دیدگاه


        #4
        پاسخ : مشکل در شبیه سازی pic

        الحمدلله ک حل شد.
        پروگرمر بنده pickit3 دارم و با استفاده از روش 5 سیمه یا همون icsp پروگرمر میکنم.
        اینو نمیدونم. بنده هم با ccs کار میکنم. اگه مشکلی بود ک نتونستید حل کنید درخدمتیم.
        اما چی اضافه داریم:
        کریستال، خازن، ریست.
        اینا ب ذهنم میرسه.

        اول کربلا بعد حالا ...... مکه هم میریم،خیلی عجله ندارم،سن قانونیم(35) نمیرسه.
        oo: oo: oo: oo: oo: oo: oo: oo: oo:
        رو به خودت نسبت هستی مده!**دل به چنین مستی و پستی مده! //زانچه نداری ز چه افسردهآ‌ای*و زغم و اندوه دل آزردهآ‌ای؟!//گر ببرد ور بدهد دست دوست*ور بِبَرد ور بنهد مُلک اوست//ور بِکِشی یا بکُشی دیو غم **کج نشود دست قضا را قلم//آنچه خدا خواست همان میآ‌شود**وآنچه دلت خواست نه آن میآ‌شود.
        ....

        دیدگاه


          #5
          پاسخ : مشکل در شبیه سازی pic

          بالا های همین بخش PIC یک تاپیک سنجاق شده هست تو اون حداقل اتصالات برای میکرو رو گذاشتم.

          باباجان یخورده بگردید بعد بیاید سوال کنید! شما میخای یه چیزی یاد بگیری اول باید مطالب رو شخم بزنی.

          دیدگاه


            #6
            پاسخ : مشکل در شبیه سازی pic

            سلام مجدد
            بعد از کلی زور زدن یه مدار بستم که با a2d کار میکنه
            یه پتانسیومتر دارم که با an0 خونده میشه و مقدارش روی هشت تا led نمایش داده میشه
            به طور کلی با کم و زیاد شدن مقاومت مقادیر خروجی هم کم و زیاد میشه ولی مشکلی که دارم اینه که بعضی چراغ ها (مخصوصا بیت های کم ارزش) دائما چشمک میزنن
            یعنی نویز داره اون هم به مقدار زیاد
            راه حلی برای این مساله وجود داره؟
            من قبل از این میکرو رو با lcd و lm35 استفاده کردم که اونجا جوابی نگرفتم و میکرو هم خیلی داغ شده بود در حد بوی سوختگی!!!! به خاطر همونه؟ یعنی این میکرو دیگه از این به بعد همینجوری نویز داره؟
            :question:
            با تشکر فراوان

            دیدگاه


              #7
              پاسخ : مشکل در شبیه سازی pic

              اون پرش مقدار adc طبیعیه و برای رفعش شما باید چند نمونه بخونی و بعد میانگین بگیری.
              اینجوری تا حدودی رفع میشه ولی بازم هست. اگز میخوای کاملاً رفع بشه باید یه چیزی بنویسی مثل این که من قبلاً نوشتم و جواب هم گرفتم.

              [code=c]#include <main.h>
              int16 val;
              int16 temp;
              int32 AdcSum;
              int8 n=0;
              int8 LSByte;
              void main()
              {
              setup_adc_ports(sAN0);
              setup_adc(ADC_CLOCK_DIV_32);
              set_adc_channel(0);
              while(1)
              {
              delay_ms(1);
              AdcSum+=read_adc();
              if(++n==0)
              {
              LSByte=AdcSum;
              temp= AdcSum>>8;
              AdcSum=0;
              int16 diff=abs((signed int16)val-temp);
              if (diff>1){
              printf("%Lu-%u\n\r", temp,LSByte );
              val=temp;}
              else if (diff==1){
              if ((temp>val && LSByte>150) || (temp<val && LSByte<100) ) {
              printf("%Lu-%u\n\r", temp,LSByte );
              val=temp;}}
              }//avg
              }//while
              }//main
              [/code]

              در مورد ربط این مشکل با داغ شدن میکرو اطلاعی ندارم ولی توصیه میکنم میکرو رو عوض کنید.

              دیدگاه


                #8
                پاسخ : مشکل در شبیه سازی pic

                ممنون از جوابت حتما امتحان میکنم
                ببخشید یه سوال دیگه هم دارم :redface:
                من خواستم دمای lm35 رو روی lcd 16*2 نشون بدم ولی lcd روشن میشه و چیزی نشون نمیده
                من خارج از مدار lcd رو تست کردم انگار تمام پایه هاش اتصال کوتاه هستن به جز پایه های نور پس زمینه
                lcd من خرابه یا مشکل از جای دیگه اس؟
                ممنون میشم جواب بدین

                دیدگاه


                  #9
                  پاسخ : مشکل در شبیه سازی pic

                  نوشته اصلی توسط mohsen68sh
                  من خواستم دمای lm35 رو روی lcd 16*2 نشون بدم ولی lcd روشن میشه و چیزی نشون نمیده
                  من خارج از مدار lcd رو تست کردم انگار تمام پایه هاش اتصال کوتاه هستن به جز پایه های نور پس زمینه
                  lcd من خرابه یا مشکل از جای دیگه اس؟
                  نمیدونم. باید با یه ال سی دی نو تست کنید. برای اینکه از بابت برنامه هم مطمئن باشید یه نمونه حاضری از اینترنت پیدا کنید. در ضمن حواستون به کنتراست ال سیدی هم باشه.

                  دیدگاه


                    #10
                    پاسخ : مشکل در شبیه سازی pic

                    سلام وقت شما بخیر
                    مشکلم با ال سی دی حل شد :wow:
                    خیلی از کمکتون ممنونم
                    در ضمن برای تغییرات مقدار a2d علاوه بر میانگین گیری زمان تاخیر قبل از خوندن a2d رو کم کردم و خیلی بهتر شده (از 50ms به 500us)

                    حالا اگه اذیت نمیشی یه سوال دیگه هم دارم
                    مقدار دمایی که روی lcd نشون میده یعنی چیزی که lm35 اندازه میگیره حداقل 6-7 درجه کمتر از دمای واقعی محیط هست چرا اینطوریه؟

                    دیدگاه


                      #11
                      پاسخ : مشکل در شبیه سازی pic

                      نوشته اصلی توسط mohsen68sh
                      مقدار دمایی که روی lcd نشون میده یعنی چیزی که lm35 اندازه میگیره حداقل 6-7 درجه کمتر از دمای واقعی محیط هست چرا اینطوریه؟
                      ممکنه از تغذیه باشه. نبود شیلد روی سیمها. طول زیاد سیمها ...

                      دیدگاه


                        #12
                        پاسخ : مشکل در شبیه سازی pic

                        نوشته اصلی توسط mohsen68sh
                        مقدار دمایی که روی lcd نشون میده یعنی چیزی که lm35 اندازه میگیره حداقل 6-7 درجه کمتر از دمای واقعی محیط هست چرا اینطوریه؟
                        بسمه تعالی

                        امیدوارم که تا امروز مشکل شما حل شده باشد .

                        اما

                        برای قرائت سنسور دما lm35 باید مبدل ADC حداقل به صورت 10 بیتی تنظیم شود. و یک سری حساب و کتاب نرم افزاری که همان تغییر ده میلی ولت به ازای یک درجه سانتیگراد را داشته باشیم..

                        یک راه آسان تر این است که ولتاژ خروجی LM35 را با ولتمتر بخوانید. ببینید که از فرمول زیر تبعیت می کند یا خیر:

                        Temp in °C = [(Vout in mV) - 500] / 10
                        والسلام علي من اتبع الهدي .... و درود بر کساني که راه هدايت را دنبال مي کنند.

                        هوشمندانه بپرسيد...

                        دیدگاه

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