اطلاعیه

Collapse
No announcement yet.

مشکل با کانتر میکرو{حل شد}+فیلم

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

    #16
    پاسخ : مشکل با کانتر میکرو{مشکل با ولتمتر}کمک

    از انکودرت عکس بگیر ببینم

    دیدگاه


      #17
      پاسخ : مشکل با کانتر میکرو{مشکل با ولتمتر}کمک

      اینم عکس از مداری عالی که دوستمون گذاشتن و انکودر ...
      http://s1.img7.ir/Dossi.jpg

      عاقا مثلا فکر کن شما میخواهی روی ال سی دی گرافیکی سرعت یه موتور dc رو داشته باشی هم به صورت عدد هم به صورت انالوگ مثل{مثل کیلومتر ماشین} {مثل ساعت انالوگ ها که رو ال سی دی گرافیکی میزارن}

      حالا مثلا اگر یهو سرعت چرخش بره بالا یک ثانیه طول میکشه تا سرعت جدید روی ال سی دی نمایش داده بشه... و به جای اینکه به نرمی سرعت تغییر کنه و عقربه انالوگ بالا بره یه پرش بزرگ ایجاد میشه که اصلا خوب نیست... در نتیجه باید زمان کمتر از 1 ثانیه باشه تا این مشکل تا مقدار زیادی حل بشه{تا این جا رو متوجه شدید دیگه؟!!} :biggrin:


      و یه مشکل دیگه هم اینه که توی دور موتور 3600 مدام حدود 100 تا دویست تا پرش داره توی اعداد که اینم هر جا پروژه رو نشون بدم فکر میکنن دقتش کمه... oo:

      میخوام تا جایی که ممکنه دقت بالا بره و سرعت این کار کمتر بشه... :eek:{الان شاید بگید مگه اصلا میشه؟؟!!} :mrgreen:

      چند تا مشکل که به ذهن خودم میرسه :
      1-اینه که ممکنه پالس منظمی نداشته باشم{که شنیدم با اپ امپ منظم میکنن پالسو}از لحاظ ولتاژمنطقی
      2_مکانیک یه مقدار خرابه باید خیلی دقیق باشه
      3_چون من از کریستال خارجی برای میکرو استفاده نکردم ممکنه پالس هارو دقیق نتونه بخونه....
      4_انکودر یا باید پالس بیشتری بفرسته یا پالس کمتری ...!!!
      نظر شما چیه؟؟

      دیدگاه


        #18
        پاسخ : مشکل با کانتر میکرو{مشکل با ولتمتر}ص-2

        در داخل اینتراپت بنویس

        a++;و
        در داخل while
        aرا درون lcdنمایش بده

        دیدگاه


          #19
          پاسخ : مشکل با کانتر میکرو{مشکل با ولتمتر}ص-2

          شما واسه بهتر شدن پرشهایی که داری ، بیا از میانگین گیری استفاده کن ...
          یعنی چند بار نمونه گیری کن از داده هات و بعد میانگین گیری و بعد نمایشش بده ..
          اینجوری حتما مشکل پرش عدد حل میشه ..
          کریستال خارجی هم خالی از لطف نیست ... هرچی باشه از داخلی بهتره ...(خازنهاش یادت نره ..)
          خازن 104 عدسی مربوط به تغذیه میکرو رو هم بزن...
          تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
          علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

          دیدگاه


            #20
            پاسخ : مشکل با کانتر میکرو{مشکل با ولتمتر}ص-2

            الان هر 500میلی ثانیه به تعداد 2 بار نمونه برداری کردم اما به جا اینکه بهتر شه بدتر شد زمان همون اما بد ت

            من با بیسیک کار میکنم!!!

            دیدگاه


              #21
              پاسخ : مشکل با کانتر میکرو{مشکل با ولتمتر}ص-2

              منم بیسیک کار میکنم ..
              برنامه تو بذار تا حسابی دست به سر و گوشش بکشیم باهم....
              تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
              علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

              دیدگاه


                #22
                پاسخ : مشکل با کانتر میکرو{مشکل با ولتمتر}ص-2

                برنامم رو فکر نکنم بفهمید :biggrin:

                برنامه اینجوریه که با تایمر دو زمان 500 میلی ثانیه رو اندازه میگیرم و هر با که به وقفه میره تایمر دو .یک بار متغیرaرو افزایش میده و توی همون زیر برنامه یه بار نمونه برداری میکنه از کانتر ...بعد که متغییر دو شد{یعنی 500میلی ثانیه دوم } به یه زیر برنامه دیگه پرش میکنه و برای بار دوم نمونه برداری میکنه و توی همون زیر برنامه با مقداری که از نمونه برداری اول به دست اومد جمع میشه و تقسیم بر دو میشه...

                اون هم که ضرب در 75 شده بعد تقسیم بر 10 شده بعد ضرب در دو شده دور در دقیقه هست بقیشم مهم نیست تبدیل هایی هست که سرعتو کم کنه ...{مهم اولیاست}

                من گفتم شایدم بد برنامرو نوشتم...{البته بد که نوشتم ولی شما استادی مشکلاتشو بگو :read:}


                [code=qbasic]$regfile = "m32def.dat"
                $crystal = 10000000
                Config Lcd = 16 * 2
                Config Lcdpin = Pin , Db4 = Pind.4 , Db5 = Pind.3 , Db6 = Pind.1 , Db7 = Pind.2 , Rs = Pind.0 , E = Pind.5
                Cursor Off
                Cls
                Lcd "test3"
                Wait 2
                Cls
                Dim A As Word
                Dim Bb As Word
                Dim Cc As Word
                Dim C As Word
                Dim D As Word
                Dim Dd As Word
                Dim G As Word
                Dim Gg As Word
                Config Timer2 = Timer , Async = On , Prescale = 64
                Config Timer1 = Counter , Edge = Rising
                Enable Interrupts
                Enable Timer2
                On Timer2 Nex
                Start Timer1
                Enable Ovf1
                On Ovf1 P
                Do
                Bb = Counter1
                Locate 1 , 1
                Lcd "time:" ; A ; "rpm:" ; G
                Locate 2 , 1
                Lcd Gg ; "dor mored niaz"
                Loop
                End
                Nex:
                Incr A
                If A = 2 Then Gosub Wb
                Stop Timer1
                Timer1 = 0
                C = Bb * 75
                C = C / 10
                C = C * 2
                Cc = C / 10
                Cc = C / 3
                Start Timer1
                Return
                Wb:
                Stop Timer1
                Timer1 = 0
                A = 0
                D = Bb * 75
                D = D / 10
                D = D * 2
                Dd = D / 10
                Dd = Dd / 3
                G = D + C
                G = G / 2
                Gg = Dd + Cc
                Gg = Gg / 2
                Start Timer1
                Return
                P:
                Return[/code]

                دیدگاه


                  #23
                  پاسخ : مشکل با کانتر میکرو{مشکل با ولتمتر}ص-2

                  خب چندتا نکته :
                  1)بی زحمت هر وقت میخوای کد بذاری رو سایت ، از ابزار هایش از قسمت "کد" استفاده کنین تا متن برنامه اینجوری بهم نریزه..
                  2)هدفت از استفاده از وقفه تایمر 1 چیه؟
                  3)سعی کن برنامه رو خوشگل مشگل بنویسی که اگه خودتم خواستی یه روزی دوباره بخونیش راحتتر متوجه شی...

                  اول 2 رو جواب بده...
                  تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
                  علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

                  دیدگاه


                    #24
                    پاسخ : مشکل با کانتر میکرو{مشکل با ولتمتر}ص-2

                    هدف خاصی ندارم :applause: الکی هست این. برا موقعی بود که از کانتر صفر استفاده میکردم ...برنامه رو به مرور زمان تغییر دادم اینم همیونجور گذاشتم :redface:
                    البته فکر نکنم مشکلی ایجاد کنه این وقفه ...

                    --ممنون اینو بلد نبودم!!!درستش کردم و کد qbasicرو انتخاب کردم...

                    چشم .دیگه از بس خستم کرده حال مرتب کردنشم حتی نداشتم ----دیگه با کمک شما عزیزان کلی از مشکلاتم رو تونستم حل کنم واگرنه داشتم دیوونه میشدم oo:





                    دیدگاه


                      #25
                      پاسخ : مشکل با کانتر میکرو{مشکل با ولتمتر}ص-2

                      مشکل ایجاد نمیکنه ولی تا حد ممکن فقط از چیزایی که لازم داری استفاده کن ...
                      روال کلی رو میگم ، نوشتنش با خودت
                      واسه شمردن پالسهایی که از مدارت میان باید از کانتر استفاده کنی ..
                      تو بازه زمانی که تایمر دقیق دو میشماره ، (تو هر وقفه تایمر 2) باید تعداد پالسهای شمارش شده خونده بشن و متغیر مربوط به پالسها صفر بشه و ...
                      حله یا واضحتر بگم؟
                      تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
                      علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

                      دیدگاه


                        #26
                        پاسخ : مشکل با کانتر میکرو{مشکل با ولتمتر}ص-2

                        چشم

                        الان از کانتر یک برای شمردن پالس ها استفاده میکنم___از تایمر دو برای ایجاد زمان دقیق استفاده میکنم{کریستال32768 هم گذاشتم}

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

                        الان شما میگی دستور نمونه برداری از کانتر رو بزارم توی وقفه ی تایمر 2؟؟!!! اینجوری من از نوشته ی شما فهمیدم طی زمانی که تایمر 2 داره زمان رو میشماره هیچ نمونه گیری نباید بشه...و پس از اینکه تایمر دو زمان رو شمرد و به وقفه مورد نظرش رفت توی اون وقفه باید مقدار کانتر نمونه برداری بشه...درست فهمیدم؟؟{اگر اینجور باشه من از کجا بفهمم توی چه زمانی کانتر شمرده شده که یعدش بتونم تبدیل هارو روش انجام بدم؟؟!!}

                        دیدگاه


                          #27
                          پاسخ : مشکل با کانتر میکرو{مشکل با ولتمتر}ص-2

                          سلام دوست عزیز
                          متاسفانه فکر کنم نتونستم منظورمو برسونم ....
                          ببین در حینی که تایمر 2 داره میشماره (هنوز سرریز نشده) ، کانتر 1 باید مداوم تو وقفه خودش بره و پالسها رو بشمره.
                          وقتی تایمر 2 سرریز شد (به وقفه ش رفت) ، کانتر 1 باید مقدارش خونده بشه، محاسبات روش انجام بشه ، بعدش کانتر 1 و متغیر حاوی کانتر 1 هر دو صفر بشن و همینجور روال ادامه پیدا کنه ....
                          حله ؟؟
                          تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
                          علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

                          دیدگاه


                            #28
                            پاسخ : مشکل با کانتر میکرو{مشکل با ولتمتر}ص-2

                            نوشته اصلی توسط pars_paya
                            سلام دوست عزیز
                            متاسفانه فکر کنم نتونستم منظورمو برسونم ....
                            ببین در حینی که تایمر 2 داره میشماره (هنوز سرریز نشده) ، کانتر 1 باید مداوم تو وقفه خودش بره و پالسها رو بشمره.
                            وقتی تایمر 2 سرریز شد (به وقفه ش رفت) ، کانتر 1 باید مقدارش خونده بشه، محاسبات روش انجام بشه ، بعدش کانتر 1 و متغیر حاوی کانتر 1 هر دو صفر بشن و همینجور روال ادامه پیدا کنه ....
                            حله ؟؟
                            بله این دقیقا همون برنامه ای هست که من نوشتم {فقط توی این برنامه ای که گذاشتم الان دو بار این نمونه گیری را انجام}

                            یه سوال دیگه اینکه من هر وقت تایمر دو میره به وقفه .اولین خط وقفه تایمر دو. نمونه گیری کانتر یک رو متوقف میکنم و تبدیل هارو انجام میدم بعد مقدار کانتر یک رو صفر میکنم و در اخرین خط وقفه تایمر دو قبل ازreturn .باز دوباره نمونه گیری کانتر یک رو شروع میکنم{دلیلش اینه که وقتی تایمر دو به وقفه رفت کانتر یک الکی پالس هارو نشماره تو این مدت }
                            مشکل که نداره؟؟!! اگر نداره پس فکر کنم مشکل نرم افزاری نداشته باشم باید برم دنبال همون منظم کردن پالس ها و ساخت یک مکانیک خیلی دقیق...بعد باز میام و نتایجو میگم

                            عاقا از شما دوستان خوبم واقعا ممنونم که حداقل بسیاری از مشکلات بزرگ سخت افزاریمو به کمک شما حل کردم

                            دیدگاه


                              #29
                              پاسخ : مشکل با کانتر میکرو{مشکل با ولتمتر}ص-2

                              موفق باشی
                              تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
                              علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

                              دیدگاه


                                #30
                                پاسخ : مشکل با کانتر میکرو{مشکل با ولتمتر}ص-2

                                ممنونم واقعا ...منم برای شما ارزوی بهترین هارو دارم

                                {مشکلم رفع شد تغریبا }مشکل از اونجا بود که من تبدیل های الکی و تکراری انجام داده بودم توی نرم افزار که باعث میشد یخورده خطا خیلی بزرگ تر بشه ...الان مشکلم خیلی بهتر شد {تغریبا فیلا حل شد} و با اینکه الان هر 500میلی ثانیه نمونه برداری میکنم و فقط یک بار نمونه برداری میکنم خیلی خوبه :wow: :wow:

                                دیدگاه

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