اطلاعیه

Collapse
No announcement yet.

محاسبه سرعت خودرو سمند با ATMEGA128

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

    محاسبه سرعت خودرو سمند با ATMEGA128

    با سلام!
    من اشکالی که برایم پیش اومده یکمی زیادی تخصصیه!!
    اساتید اگر زحمت بکشید کمک کنید ممنون میشوم!
    من با کمک mega128 دارم سرعت یک خودروی سمند رو کنترل میکنم!
    برای نمایش سرعت از icp1 کمک گرفتم و با در نظر گرفتن :
    CS0>>1, CS1<<1
    بعنوان اینکه کلاک من تقسیم بر 64 بشه کار رو شروع کردم!
    همه چیز خوب پیش میره تا زمانیکه سرعت به 80 میرسه!!!
    از 80 به بالا پرشها شروع میشه!
    مثلا تو نمایشگر سرعت به صورت پرشی بین 80 و 90 پرش میکنه تا سرعت به 90 برسه بعد شروع میکنه بین 90 و 109 پرش میکنه تا سرعت به 110 برسه و به همین ترتیب گند میزنه به محاسباتم!
    مقطع کلاک رو حتی تا clk/1024 هم تغییر دادم هیچ تفاوتی نکرد!
    مشخصا اشکال نرم افزاری نیست!
    و اما در بخش سخت افزار:
    مدار خود پشت آمپر رو که باز کردم مدار به سادگی فقط از یک آیسی رد میشه که نمیدونم چیه!!
    بعدش فقط با مقاومت سری با زمین ولتاژ تا 4.5ولت کاهش داده میشه و با یک خازن عدسی هم تا حدی تصفیه میشه و وارد آی سی میشه!
    من کارهای بین اون آیسی و میکرو را انجام دادم ولی هنوز پرش دارم!
    گفتم شاید شما اساتید بدونید این آی سی چی میتونه باشه!

    #2
    نوشته اصلی توسط offlineone23 نمایش پست ها
    با سلام!
    من اشکالی که برایم پیش اومده یکمی زیادی تخصصیه!!
    اساتید اگر زحمت بکشید کمک کنید ممنون میشوم!
    من با کمک mega128 دارم سرعت یک خودروی سمند رو کنترل میکنم!
    برای نمایش سرعت از icp1 کمک گرفتم و با در نظر گرفتن :
    CS0>>1, CS1<<1
    بعنوان اینکه کلاک من تقسیم بر 64 بشه کار رو شروع کردم!
    همه چیز خوب پیش میره تا زمانیکه سرعت به 80 میرسه!!!
    از 80 به بالا پرشها شروع میشه!
    مثلا تو نمایشگر سرعت به صورت پرشی بین 80 و 90 پرش میکنه تا سرعت به 90 برسه بعد شروع میکنه بین 90 و 109 پرش میکنه تا سرعت به 110 برسه و به همین ترتیب گند میزنه به محاسباتم!
    مقطع کلاک رو حتی تا clk/1024 هم تغییر دادم هیچ تفاوتی نکرد!
    مشخصا اشکال نرم افزاری نیست!
    و اما در بخش سخت افزار:
    مدار خود پشت آمپر رو که باز کردم مدار به سادگی فقط از یک آیسی رد میشه که نمیدونم چیه!!
    بعدش فقط با مقاومت سری با زمین ولتاژ تا 4.5ولت کاهش داده میشه و با یک خازن عدسی هم تا حدی تصفیه میشه و وارد آی سی میشه!
    من کارهای بین اون آیسی و میکرو را انجام دادم ولی هنوز پرش دارم!
    گفتم شاید شما اساتید بدونید این آی سی چی میتونه باشه!
    با سلام و احترام

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

    موفق باشید.
    جدیدترین ویرایش توسط evergreen; ۰۸:۱۷ ۱۴۰۴/۰۲/۰۶.

    دیدگاه


      #3
      نوشته اصلی توسط evergreen نمایش پست ها

      با سلام و احترام

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

      موفق باشید.
      اول از همه متشکرم که راهنمایی میکنید!!!
      خودروی من سیستم مولتی پلکس نیست و اطلاعات سرعت مستقیما از سنسور روی گریبکس همزمان به پانل پشت آمپر و ecu فرستاده میشه!
      این اطلاعات فقط یک موج پالس مربعی با تغییر سرعت هست!
      یعنی هرچقدر سرعت افزایش پیدا میکنه عرض پالس کمتر میشه.
      حالا تو شمارش این پالس با میکرو تا سرعت 70 کیلومتر تقریبانرمال نمایش داده میشه!
      اما در واقع جالب بود که وقتی دقیقا همین مدار خود ایرانخورو را روی میکرو پیاده کردم مشخص شد که پرش ها از سرعت 45 کیلومتر شروع میشه!
      در واقع سرعت به 45 که میرسه میکرو سرعت رو با پرش مداوم بین 45 تا 47 تشخیص میده!
      این پرش تو سرعتهای بالاتر بین 47تا 53 و به همین ترتیب بین 53تا59 و 60تا67 و ... و99تا106 و 106تا119 و 120تا139 با فاصله بیشتر تکرار میشه!
      یعنی شما زمانیکه بین این دو سرعت قرار گرفتید علنا مشخص نیست که سرعت دقیق شما چقدره و فقط با سرعت بین دوتا عددی که ذکر شد پرش دارید!

      تنها احتمالی که به ذهنم میرسه اینه که شاید نوع میکروی avr این مشکل رو تو تشخیص فرکانس داشته باشه! گفتم با یک میکروی arm با مشخصات lpc1768 همین کار رو تست کنم ببینم ولی فرصت نشده!
      من این شبیه سازی رو تو خونه با یک میکروی 32 انجام دادم که پالس برای 128 بفرسته و هیچ پرشی نداشت!
      ولی تو عمل با خودرو این پرش بوجود میاد!
      حالا اگر نکته خاص به ذهنتون میرسه که کمکم کنه ممنون میشم راهنماییم کنید!

      در ضمن من برای تنظیم شمارنده کلاک تنظیمات رو اینطوری در نظر گرفتم:
      TCCR1B=(1<<ICNC1) | (1<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (1<<CS11) | (1<<CS10)

      دیدگاه


        #4
        نوشته اصلی توسط offlineone23 نمایش پست ها

        اول از همه متشکرم که راهنمایی میکنید!!!
        خودروی من سیستم مولتی پلکس نیست و اطلاعات سرعت مستقیما از سنسور روی گریبکس همزمان به پانل پشت آمپر و ecu فرستاده میشه!
        این اطلاعات فقط یک موج پالس مربعی با تغییر سرعت هست!
        یعنی هرچقدر سرعت افزایش پیدا میکنه عرض پالس کمتر میشه.
        حالا تو شمارش این پالس با میکرو تا سرعت 70 کیلومتر تقریبانرمال نمایش داده میشه!
        اما در واقع جالب بود که وقتی دقیقا همین مدار خود ایرانخورو را روی میکرو پیاده کردم مشخص شد که پرش ها از سرعت 45 کیلومتر شروع میشه!
        در واقع سرعت به 45 که میرسه میکرو سرعت رو با پرش مداوم بین 45 تا 47 تشخیص میده!
        این پرش تو سرعتهای بالاتر بین 47تا 53 و به همین ترتیب بین 53تا59 و 60تا67 و ... و99تا106 و 106تا119 و 120تا139 با فاصله بیشتر تکرار میشه!
        یعنی شما زمانیکه بین این دو سرعت قرار گرفتید علنا مشخص نیست که سرعت دقیق شما چقدره و فقط با سرعت بین دوتا عددی که ذکر شد پرش دارید!

        تنها احتمالی که به ذهنم میرسه اینه که شاید نوع میکروی avr این مشکل رو تو تشخیص فرکانس داشته باشه! گفتم با یک میکروی arm با مشخصات lpc1768 همین کار رو تست کنم ببینم ولی فرصت نشده!
        من این شبیه سازی رو تو خونه با یک میکروی 32 انجام دادم که پالس برای 128 بفرسته و هیچ پرشی نداشت!
        ولی تو عمل با خودرو این پرش بوجود میاد!
        حالا اگر نکته خاص به ذهنتون میرسه که کمکم کنه ممنون میشم راهنماییم کنید!

        در ضمن من برای تنظیم شمارنده کلاک تنظیمات رو اینطوری در نظر گرفتم:
        TCCR1B=(1<<ICNC1) | (1<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (1<<CS11) | (1<<CS10)
        با سلام مجدد
        پیشنهادی که براتون دارم اینه که اول با یه میکروی دیگه همون پالس سنسور سرعت را برای تغییر سرعت، مثلا از صفر تا 120 کیلومتر بر ساعت شبیه سازی کنید و بدید به سرعت سنجی که ساختید تا در مرحله اول مطمئن شوید مشکل پرش از ارسال اطلاعات سنسوره یا از سخت افزار و نرم افزاری که طراحی نموده اید. اگر همه چی درست بود و پرشی نداشتید و تنها در عمل مشکل ایجاد میشد در صورتیکه در ماشین، ولتاژ تغذیه بوردتان را از خود ماشین تامین میکنید به مساله نویز شک کنید و اگر ولتاژ تغذیه بوردتان را از باتری مجزا تامین میکنید باید سیگنال خروجی سنسور کیلومتر را با اسکوپ بررسی کنید و مطمئن شوید بر روی آن نویز نباشد.
        اگر مسیری که در تصویر ارسالی با رنگ قرمز مشخص نموده اید مربوط به همین مسیر سنسور کیلومتر شمار است به نظر میرسد بر روی سیگنال سنسور، تغییر لول ولتاژ و فیلتر انجام شده است. شما نیز باید از همین الگو در مدار خود استفاده نمایید.
        موفق باشید
        جدیدترین ویرایش توسط evergreen; ۰۷:۴۰ ۱۴۰۴/۰۲/۰۹.

        دیدگاه

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