اطلاعیه

Collapse
No announcement yet.

مشکل نویز گرفتن خط وقفه خارجی در هنگام خواندن پالسهای خروجی انکدر

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

    مشکل نویز گرفتن خط وقفه خارجی در هنگام خواندن پالسهای خروجی انکدر

    با سلام . من با مگا32 یک انکدر افزایشی رو میخونم و تعداد پالسهای خونده شده رو با 4 تا سون سگمنت نشون میدم . همه چی درست کار میکنه . این انکدر در هر دور 360 تا پالس خروجی میده. برای تست نویز گرفتن اومدم یک فندک گاز رو که خروجی High Voltage به صورت پالسی ایجاد میکنه کنار مدارم گذاشتم . وقتی فاصله مدار از این فندک حدود 15 سانت باشه اتفاقی نمی افته و همه چی خوب کار میکنه . اما وقتی مدار رو نزدیک فندک در حال جرقه زدن میارم به دلیل پرشهای ناگهانی ولتاژ در خطوط وقفه که به خروجی انکدر وصل شده اند شمارش صورت میگیرد و اعداد نشان داده شده زیاد میشوند. برای جلوگیری از این کار اومدم دو تا خط A,B را با مقاومت 4.7 کیلو زمین کردم یه کم بهتر شد اما بازم همینطوری میشمره . به نظرتون چیکار کنم ؟

    ممنون میشم راهنمایی کنید
    "در عجبم از مردمي که خود زير شلاق ظلم و ستم زندگي مي کنند و بر حسيني مي گريند که آزادنه زيست" شريعتي
    در جهان روشنايي هايي وجوددارد كه در عميق ترين ظلمات نهانند.

    #2
    پاسخ : مشکل نویز گرفتن خط وقفه خارجی در هنگام

    سلام.
    اگه میخواید با میکرو بخونید پالس ها رو حتما باید خروجی انکودر از اشمیت تریگر استفاده کنید.
    راهي خواهم ساخت ...

    دیدگاه


      #3
      پاسخ : مشکل نویز گرفتن خط وقفه خارجی در هنگام خواندن پالسهای خروجی انکدر

      ممنون از جوابتون . من دو تا خروجی A,B انکدر رو توسط دو تا اپ امپ LF356 تقویت دامنه میکنم و بعد به میکرو میدم . البته بین انکدر و اپ امپ ها از یک فیلتر rc پایین گذر 10 کیلو و 1 نانو استفاده میکنم و دامنه رو تقویت میکنم و بعد به میکرو میدم . شما راه بهتری سراغ دارید

      ممنون
      "در عجبم از مردمي که خود زير شلاق ظلم و ستم زندگي مي کنند و بر حسيني مي گريند که آزادنه زيست" شريعتي
      در جهان روشنايي هايي وجوددارد كه در عميق ترين ظلمات نهانند.

      دیدگاه


        #4
        پاسخ : مشکل نویز گرفتن خط وقفه خارجی در هنگام خواندن پالسهای خروجی انکدر

        سلام . کسی نیست جواب رو بده ؟
        "در عجبم از مردمي که خود زير شلاق ظلم و ستم زندگي مي کنند و بر حسيني مي گريند که آزادنه زيست" شريعتي
        در جهان روشنايي هايي وجوددارد كه در عميق ترين ظلمات نهانند.

        دیدگاه


          #5
          پاسخ : مشکل نویز گرفتن خط وقفه خارجی در هنگام خواندن پالسهای خروجی انکدر

          ببین دوست عزیز با اشمیت تریگر و کمک از فیلتر پایین گذری که از فرکانس خروجی اندکدرت فرکانس قطع کمتری داشته باشه می تونه کمکت کنه اگر خروجی اندکدرت دیجیتال نیاز به اشمیت تریگره خالیه و اگر خروجی انکدرت به سیگنال دیجیتالی نمی رسه حد بالاو پایین رو مشخص کن و با op-amp خودت براش اشمیت تریگر خاص طراحی کن و اگر فرکانس خروجی انکدرت زیاده بهتره با مقایسه کننده مثل lm393 براش اشمیت تریگر طراحی کنی بعد تو شرایط محیطی واقعی تستش کن
          همانطور كه مايل نيستم بنده كسي باشم، حاضر نيستم آقاي كسي باشم. كساني كه مخالف آزادي ديگرانند، خود لياقت آزادي را ندارند.((آبراهام لينكن))

          قدرت شگفت انگيز نيروهاي خلاق و استعدادهاي نهفته آدمي هنگامي آشكار مي شود كه نيازي حياتي، تواناييهاي او را به فعاليت وادارد و كشش آرزويي، سراپاي وجودش را به جنب و جوش درآورد.((آبراهام لينكن))

          [img width=343 height=100]http://www.elecdesigner.com/uploads/PRO-DESIGNER-GROUP.jpg[/img]

          دیدگاه


            #6
            پاسخ : مشکل نویز گرفتن خط وقفه خارجی در هنگام خواندن پالسهای خروجی انکدر

            با سلام
            بالاخره من یه انکدر دیجیتالی گرفتم که خروجی 0 و 5 ولت میده و نیازی به تقویت سیگنال خروجی اون ندارم . اول با یک فیلتر شامل مقاومت 2.2 کیلو و خازن 1 نانو به یک اشمیت تریگر وصل کردم و خروجی اون رو به میکرو دادم . (به پایه وقفه میکرو)

            مدار به خوبی کار میکنه . تعداد پالسهای انکدر اندازه گیری میشود و روی سون سگمنت نمایش داده میشود . تعداد پالسها در یک مسیر تقریبا یک متری نمایش داده میشود و در هر بار رفت و آمد تعداد پالسها با هم برابر است . با استفاده از یک تناسب مقدار مسافت طی شده بر حسب میلیمتر نمایش داده میشود . برای بررسی درستی عدد نشان داده شده با استفاده از یک متر ، مقدار نمایش داده شده را با مقدار اندازه گرفته شده مقایسه میکنم . در تمام حالات این مقدار درست نمایش داده میشود . اما نمیدونم چرا بعضی وقتها با گذشتن 1 روز از روشن بودن مدار و جلو عقب شدن این خط کش خطای نمایش داده شده با مقدار واقعی تفاوت پیدا میکند . این مدار در جایی کار میکنه که 2 تا موتور ac گردن کلفت کار میکنند و کار جلو عقب کردن یک شانه بزرگ را انجام میدهند و همچنین یک گیوتین برای برش . فکر کنم نویز باشه . نمیدونم . حالا تو خونه همون مدار رو گذاشتم که یک روز کامل کار کنه تا ببینم بازم این اتفاق میافته یا نه .
            کسی هست که تجربه ای در این زمینه داشته باشه ؟
            ممنون
            "در عجبم از مردمي که خود زير شلاق ظلم و ستم زندگي مي کنند و بر حسيني مي گريند که آزادنه زيست" شريعتي
            در جهان روشنايي هايي وجوددارد كه در عميق ترين ظلمات نهانند.

            دیدگاه


              #7
              پاسخ : مشکل نویز گرفتن خط وقفه خارجی در هنگام خواندن پالسهای خروجی انکدر

              از دوستان کسی نمیتونه راهنمایی کنه ؟! لطفا اگه کسی با این مشکل برخورد کرده کمک کنه.

              ممنون
              "در عجبم از مردمي که خود زير شلاق ظلم و ستم زندگي مي کنند و بر حسيني مي گريند که آزادنه زيست" شريعتي
              در جهان روشنايي هايي وجوددارد كه در عميق ترين ظلمات نهانند.

              دیدگاه


                #8
                پاسخ : مشکل نویز گرفتن خط وقفه خارجی در هنگام خواندن پالسهای خروجی انکدر

                شبیه مشکل شما را قبلا بصورت عملی مشاهده کرده ام. به این ترتیب که در یک سیستم کنترل موقعیت، دو میکروکنترلر قرار داده بودم که وظیفه یک AVR تنها خواندن پالس های encoder بود و موقعیت را بر حسب پالس های شمارش شده و فاز آنها نسبت به هم به میکروکنترلر دوم منتقل می کرد و برنامه این میکروکنترلر برای حداکثر سرعت عملکرد و عدم بوجود آمدن خطا با اسمبلی نوشته شده بود. اما در عمل این نتیجه حاصل شد که به دلیل لرزش هایی که در سیستم مکانیکی وجود دارد و لبه هایی که در لرزش ها با فاصله زمانی بسیار کم از یکدیگر ایجاد می شود، خطایی در طول زمان ایجاد می شود که دلیل آن، عدم توانایی نرم افزار در دنبال کردن تمام لبه های پالس است. یک چاره این امر، استفاده از خانواده هایی است که از encoder بصورت سخت افزاری پشتیبانی می کنند (مانند XMEGA ) و نیاز نیست کدی اجرا شود تا لبه پالس تشخیص داده شود. اگر مشکل شما به همین دلیل باشد که احتمال آن زیاد است، بعید است که با روش مورد نظر خود بتوانید از AVR به نتیجه برسید.
                اوژن: به معنای افکننده و شکست دهنده است
                دانایی، توانایی است-Knowledge is POWER
                برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                دیدگاه


                  #9
                  پاسخ : مشکل نویز گرفتن خط وقفه خارجی در هنگام خواندن پالسهای خروجی انکدر

                  با عرض سلام خدمت استاد بزرگوار و دوست داشتنی
                  دقیقا همین مشکلی که شما میفرمایین برای منم وجود داره . حداکثر دور موتور که شونه رو جلو عقب میکنه حدود 800 rpm می باشد . یک انکدر 334 پالس به شفت این موتور کوپل شده . وقتی که موتور حتی به تعداد زیادی جلو عقب میشه همه چی خوبه و اختلافی بین مقدار اندازه گرفته شده و نمایش داده شده وجود نداره اما وقتی که این شونه در یک فاصله مشخصی ثابت قرار میگیره و برای دفعات زیاد گیوتن شروع به کار میکنه و مقواهای مورد نظر رو برش میده و اینکار لرزش زیادی هم ایجاد میکنه ، به طوریکه بعضی وقتها عدد نمایش داده شده در همون جای ثابت یک میلیمتر تغییر میکنه ، اینم بگم با توجه به گام پیچ که شونه رو جلو عقب میکنه هر میلیمتر حدود 160 پالس میشه . دقیقا مثل همین موردی که شما میفرمایین. من مدارم رو با avr بستم . راهی به نظر شما هست که بشه این مشکل رو با همین avr رفع کرد؟ راستی من به خاطر گرونی انکدر یک موتور DC به همراه یک انکدر از لاندا خریدم که در هر دور 334 پالس میده . اینم دیتاشیتش . به نظر شما این انکدر خوبه؟ قابل اطمینانه ؟

                  http://s4.picofile.com/file/78092855..._2241.pdf.html

                  ممنون بابت مرامی که میزارین . ایشالا جبران کنم .
                  "در عجبم از مردمي که خود زير شلاق ظلم و ستم زندگي مي کنند و بر حسيني مي گريند که آزادنه زيست" شريعتي
                  در جهان روشنايي هايي وجوددارد كه در عميق ترين ظلمات نهانند.

                  دیدگاه


                    #10
                    پاسخ : مشکل نویز گرفتن خط وقفه خارجی در هنگام خواندن پالسهای خروجی انکدر

                    در مورد قابل اطمینان بودن encoder این موتور از روی شکل نمی توانم قضاوت کنم. اما همانطور که توضیح داده اید ظاهرا به درستی عمل می کند و مشکل همان لرزش است. درباره راه حل این مشکل هم همانطور که توضیح دادم باید شمارش پالس ها بصورت سخت افزاری انجام شود که در صورت اصرار برای استفاده از AVR می توانید بخش شمارش encoder را با استفاده از ترکیب مدارات منطقی طراحی کنید و AVR تنها خروج Counter نهایی را قرائت کند. در مورد XMEGA و نمایش مختصات encoder هم قبلا سورس آن را در اختیار علاقه مندان قرار داده ام و اگر هدف فقط نمایش است می توانید از سورس آن استفاده کنید:

                    http://knowledgeplus.ir/userfiles/QDEC.rar
                    اوژن: به معنای افکننده و شکست دهنده است
                    دانایی، توانایی است-Knowledge is POWER
                    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                    دیدگاه


                      #11
                      پاسخ : مشکل نویز گرفتن خط وقفه خارجی در هنگام خواندن پالسهای خروجی انکدر

                      درباره راه حل این مشکل هم همانطور که توضیح دادم باید شمارش پالس ها بصورت سخت افزاری انجام شود که در صورت اصرار برای استفاده از AVR می توانید بخش شمارش encoder را با استفاده از ترکیب مدارات منطقی طراحی کنید و AVR تنها خروج Counter نهایی را قرائت کند.
                      با سلام
                      امکانش هست که مقداری در این مورد توضیحاتی بدهید ؟
                      ممنون
                      "در عجبم از مردمي که خود زير شلاق ظلم و ستم زندگي مي کنند و بر حسيني مي گريند که آزادنه زيست" شريعتي
                      در جهان روشنايي هايي وجوددارد كه در عميق ترين ظلمات نهانند.

                      دیدگاه


                        #12
                        پاسخ : مشکل نویز گرفتن خط وقفه خارجی در هنگام خواندن پالسهای خروجی انکدر

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

                        لینک دانلود شماتیک مدار
                        http://s4.picofile.com/file/78109788...uller.pdf.html

                        عکس موتور+انکدر


                        ممنون
                        "در عجبم از مردمي که خود زير شلاق ظلم و ستم زندگي مي کنند و بر حسيني مي گريند که آزادنه زيست" شريعتي
                        در جهان روشنايي هايي وجوددارد كه در عميق ترين ظلمات نهانند.

                        دیدگاه


                          #13
                          پاسخ : مشکل نویز گرفتن خط وقفه خارجی در هنگام خواندن پالسهای خروجی انکدر

                          نوشته اصلی توسط tictactoe
                          امکانش هست که مقداری در این مورد توضیحاتی بدهید ؟
                          فرض کنید که یکی از فازها را به ورودی Clock یک UP/Down counter بدهید و فاز دوم هم به فرمان Direction این شمارنده متصل شود. در این شرایط برای یک Encoder با N پالس، در هر جهت N شمارش انجام می شود (حداکثر دقت 4N شمارش است). اما همین ترکیب هم در شرایط وجود لرزش دچار مشکل می شود. زیرا اگر مثلا لبه بالا رونده موجب ایجاد Clock برای شمارنده شود و به دلیل لرزش، در مرز ایجاد پالس دائما چندین رفت و برگشت با دامنه بسیار کم انجام شود، چند لبه متوالی بالا و پائین رونده ایجاد می شود. اما به دلیل حساس بودن شمارنده به یکی از این لبه ها، تنها عملیات افزایش یا کاهش انجام می شود که باعث بروز خطا می گردد. بنابراین باید مداری طراحی شود که به هر دو لبه بالا و پائین رونده حساس باشد و در این صورت علاوه بر عدم ایجاد خطا، دقت شمارش هم 2N به ازای هر دور چرخش Encoder خواهد بود. در صورتی که در مدار طراحی شده فاز دوم هم لحاظ شود، دقت به 4N شمارش افزایش پیدا خواهد کرد.
                          در مورد پست بعدی و در شرایط استفاده از وقفه میکروکنترلر، مشکل آن است که در مرزهای ایجاد پالس بر اثر لرزش، چند لبه بالا و پائین رونده ایجاد می شود که میکروکنترلر به دلیل تاخیر ناشی از پاسخگویی به وقفه، امکان تشخیص آن را ندارد و در زمانی که درگیر پاسخگویی به روتین وقفه ناشی از یک لبه است ممکن است با سرعت زیاد لبه های دیگری هم ایجاد شود که سرعت اجرای نرم افزار جوابگوی تشخیص همه تغییرات نخواهد بود. از نظر سخت افزاری هم نباید مدار بگونه ای طراحی شود که هیچ پالسی ولو کوتاه از دست برود. بلکه سرعت تشخیص پالس باید بالا باشد که با استفاده از روش سخت افزاری چنین امری میسر خواهد بود.
                          اوژن: به معنای افکننده و شکست دهنده است
                          دانایی، توانایی است-Knowledge is POWER
                          برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                          وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                          قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                          اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                          ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                          دیدگاه


                            #14
                            پاسخ : مشکل نویز گرفتن خط وقفه خارجی در هنگام خواندن پالسهای خروجی انکدر

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

                            ممنون از راهنمایی های بسیار مفیدتون
                            "در عجبم از مردمي که خود زير شلاق ظلم و ستم زندگي مي کنند و بر حسيني مي گريند که آزادنه زيست" شريعتي
                            در جهان روشنايي هايي وجوددارد كه در عميق ترين ظلمات نهانند.

                            دیدگاه


                              #15
                              پاسخ : مشکل نویز گرفتن خط وقفه خارجی در هنگام خواندن پالسهای خروجی انکدر

                              http://digital.ni.com/public.nsf/all...256FC1007947AA
                              با سلام
                              با توجه به لینک بالا ، میخواستم بدونم از کجا باید بفهمیم کی و کجا از کدوم نوع از درایورهای فوق یعنی Line driver یا Open collector و یا push pull میتونیم استفاده کنیم ؟

                              در ضمن این لینک رو یکی از دوستان خوبم به من داد . در مورد نحوه متصل کردن یک انکدر با دقت خوندن X1 (یعنی تولید مقدار پالس تولید شده در زمان تغییر پالس A و یا B در هنگام تغییر از صفر به یک و یا از یک به صفر ) به کانتر میکروکنترلر هستش.

                              http://ww1.microchip.com/downloads/e...tes/00696a.pdf

                              استاد ممکنه نظرتون رو بفرمایید؟ امکانش هست که یه مدار کاملتر در مورد حالت X2 با استفاده از همین فلیپ فلاپها طراحی کنید ؟( صرفا جهت اطلاع و کنجکاوی)

                              ممنون از زحمات شما.

                              "در عجبم از مردمي که خود زير شلاق ظلم و ستم زندگي مي کنند و بر حسيني مي گريند که آزادنه زيست" شريعتي
                              در جهان روشنايي هايي وجوددارد كه در عميق ترين ظلمات نهانند.

                              دیدگاه

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