نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
أَللّهُمَّ ارْزُقْنی شَفاعَةَ الْحُسَیْنِ یَومَ الْوُرُودِ
مهدی دمیرچیلو

پروژه کنترل دور موتور dc با میکرو lpc1768 و l298n

335

به نام خدا : تو این مطلب میخوام یه پروژه آرم دیگه قرار بدم، تو این پروژه میخوام سرعت و جهت حرکت یه موتور DC رو با استفاده از درایور L298N با هم کنترل کنیم توسط کامپیوتر که برا این کار من با #C دو تا نرم افزار ساده ولی جالب نوشتم که دستورات رو به میکروکنترلر LPC1768 میده و میکرو هم به درایور L298N دستور میده و این درایور هم به موتور ها دستور میده ^_^ این پروژه تو ماشین کنترلی – ربات مسیر یاب و کلا هر پروژه ای که توش موتور DC مورد استفاده قرار میگیره میتونه مفید باشه و خود پروژه #C اش هم میتونه شروعی باشه برا بحث ارتباط میکرو و کامپیوتر ( پروژه کنترل دور موتور dc با میکرو lpc1768 و l298n )

پروژه کنترل دور موتور dc با میکرو lpc1768 و l298n

مطلب مرتبط : پروژه کنترل دور موتور DC با PWM با AVR

 

کنترل دور موتور dc با l289n

سوال 1 : کنترل دور موتور DC یعنی چی؟

جواب 1 : بهتره بگیم کنترل سرعت و جهت، ولی خب عرفه که میگن کنترل دور موتور، بگذریم زیاد مهم نیست، تو این پروژه ما هم سرعت موتور رو کنترل میکنیم و هم  جهت چرخش موتور رو.

سوال 2 : چطور میشه سرعت موتور رو تغییر داد؟

جواب 2 : خب فرض کن یه موتور dc از این ساده ها که تو اسباببازی ها هستش داریم و 5 ولته، خب اگه ولتاژ مثلا 2 ولت بدیم به موتور موتور میچرخه ولی آروم میچرخه، خب حالا اگه ولتاژ اعمالی به موتور رو زیاد کنیم سرعت موتور هم زیاد میشه، و وقتی 5 ولت بهش بدیم، با حداکثر سرعت خودش میچرخه و بیشتر هم بدی میره اون دنیا ( اگه موتور dc داشتید و منبع تغذیه متغییر داشتید و حسش رو هم داشتید، تست کردن این مورد ظرر نداره )

سوال 3 : چطور جهت موتور رو تغییر میدیم؟

جواب 3 : اگه ولتاژ اعمالی به موتور رو برعکس کنیم، موتور هم برعکس میچرخه، یعنی اول پایه 1 موتور اومدیم vcc وصل کردیم و پایه 2 رو به gnd وصل کردیم و مثلا موتور به سمت چپ میچرخه حالا اگه بیایم پایه 1 رو به gnd و 2 رو به vcc وصل کنیم موتور به سمت راست میچرخه.

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

جواب 4 : خب دقیقا درست گفتی، برا این کار میایم و از درایور راه انداز موتور dc استفاده میکنیم، که این درایورها انواع مختلفی دارن که یه روش استفاده از L298 هستش که تو این پروژه ما از این IC استفاده کردیم ولی چون یه سری قطعه مطعه جدا داشتش و خود این IC هم رو برد برد قرار دادنش دردسر عظیمی هستش، لذا من بیخیالش شدم و برد آمادش رو خریدم.

ترتیب پایه های ماژول L298n

پروژه کنترل دور موتور dc با میکروکنترلر آرم lpc1768

شماتیک پروژه :

توجه : در مدار زیر، یه دیود بین کلکتور ترانزیستور و ولتاژ 5 ولت قرار بدید، هنگام رسم شماتیک این موردو فراموش کردم.
پروژه کنترل دور موتور dc

عکس مدار در عمل :
پروژه کنترل دور موتور dc با میکرو lpc1768 و l298n

پروژه کنترل میکرو با #C – پروژه 1
کد دو پروژه #C زیر رو من در ته مطلب برا دانلود براتون قرار میدم.
پروژه کنترل میکرو با #C

پروژه کنترل میکرو با #C – پروژه 2
پروژه کنترل میکرو با #C

فیلم پروژه :

91MB کنترل سرعت و جهت موتور DC با LPC1768 و نرم افزار #C
0%
00:00  /  10:11

 

کد پروژه LPC1768

 

هزینه این مطلب : یه فاتحه برا تموم اموات خودمو و خودتون بخونید که اونا دستشون از این دنیا کوتاهه!!!؛ 3 تا هم صلوات برا سلامتی امام خامنه ای

امام خمینی
ممنون از این که تا این جا با ما بودید و امیدوارم این مطلب براتون مفید باشه، فعلا یا علی.

تعداد مطالب : 367 تا
جنگ ما فتح قدس را به همراه خواهد داشت. [ امام خمینی (ره) ]
بقیه جلسات :
این مطلب هیچ طبقه بندی یی ندارد!
ارسال دیدگاه
30
نظرات این مطلب بسته شده است.
  1. Milad

    مهمان

    Milad

    من برنامه رو ران میکنم خطا میده ک کتابخانه lpc17xx. H تعریف نشده باید چیکار کنم

  2. Milad

    مهمان

    Milad

    آره خب اما گه بخوایم با اینکودر تنظیم کنیم دور موتور رو باید چه تغییراتی ایجاد کنیم؟

  3. محمد

    مهمان

    محمد

    داداش با کیف arm چجوری میشه این برنامه رو اجرا کرد؟
    وسیله ی اضافی هم میخواد؟
    دستور دیگه ای رو هم باید اضافه شه؟

    مشاهده پاسخ ها (5)
    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

      “کیف arm” چیه دیگه؟

      • محمد

        مهمان

        محمد

        یه ست آموزشی arm که تو آزمایشگاه ها استفاده میشه

        این یه نمونه اش

        • مهدی دمیرچیلو

          نویسنده این مطلب

          مهدی دمیرچیلو

          برد آموزشی فوق LPC1768 هستش – میکرو استفاده شده تو این پروژه هم همینه – خب برد آموزشی فوق باید کد های نمونه داشته باشه طبیعتا طوری که شما رو مطالب دیگه توی نت بی‌نیاز کنه.
          روال کار همونه – حالا شما برد آموزشی داری – ما هدربرد داریم – یکی دیگه ممکنه میکشروشو بگیره و PCB مورد نیازشو بزنه.
          برنامه رو باز کن – پروگرام کن رو میکروت – همین – چیز خاصی نداره.- شماتیک هم که تو مطلب هس.

          • Milad

            مهمان

            Milad

            این کد توkeil هم کار میکنه؟ و اگه بخوایم دور موتور را با اینکودر کنترل کنیم لازمه تغییراتی در کد ایجاد کنیم؟

          • مهدی دمیرچیلو

            نویسنده این مطلب

            مهدی دمیرچیلو

            پروژه ته مطلب رو دانلود کردید؟ با کیل هستش دیگه.

  4. محمد

    مهمان

    محمد

    داداش رمز فایل کار نمیکنه.

    مشاهده پاسخ ها (1)
    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

      تست کردم موردی نبود.
      www.dmf313.ir

  5. amin

    مهمان

    amin

    سلام
    برنامه خطا داره و اینم خطا اش هست serial.c(40): error: #20: identifier “SystemCoreClock” is undefined
    تمام فایل های کتابخونه رو هم add کردم
    پروژه زیاد نوشتم ولی با کتابخونه خودم یا سایت های مختلف میدونم مربوط به تقسیم فرکانس هست
    سایت های خارجی رو دیدم همشون اشاره به کتابخونه دارن lpc17xx دارن ولی خطا تو قمست serial.c میاد
    از طرفی من با keil ورژن 4 نوشتم ایا ربطی داره یا نه
    ممنون میشم اگه کمک کنید

    مشاهده پاسخ ها (3)
    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

      سلام – تا جایی که یادمه یه فایلی تو پروژه هستش اونو کپی نکردی – شما کد توی مطلب رو بیخیال – پروژه رو از ته مطلب دانلود کن و اجرا کن ببین باز خطا میده – اگه میده بگو تا من کیل رو نصب کنم و پروژه ته مطلبو دانلود و تست کنم و ببینم مشکل از کجاس.

      • AMIN

        مهمان

        AMIN

        همین کار رو که فرمودید انجام دادم خطا داد
        تو فایل SERIAL.C اومدم به جای متغییر SystemCoreClock از متغییر Cclk استفاده کردم که تو فایل اصلی LPC17xx هم استفاده شده ودر قسمت تعریف متغییرها یه معرفی اش کردم;uint32_t var_UART0ClockDivider_u32, var_UART0Clock_u32, var_RegValue_u32,Cclk;
        و خطا رفع شد (اینو برای دوستانی نوشتم که احمالا به این مشکل بخورن )
        برنامه پروگرم شد
        حالا از طریق نرم افزار ترمینال وقتی مثلا روی S یا R چاپ میکنم متاسفانه خروجی ندارم
        حالا نمیدونم مشکل از تغییرات هست یا چیز دیگه ؟؟؟؟؟؟؟

        • مهدی دمیرچیلو

          نویسنده این مطلب

          مهدی دمیرچیلو

          من الان Keil v5.15 رو نصب کردم پروژه ته مطلبو دانلود و اجرا کردم خطایی نداد.
          تا جایی که یادمه باید این دو فایل زیر رو در پروژت کپی کنی :
          startup_LPC17xx.s
          startup_LPC17xx.c

  6. محمد

    مهمان

    محمد

    خدا خیرتون بده
    دمتون گرم

  7. مهدی

    مهمان

    مهدی

    پروژه دانشجویی انجام نمیدید؟
    تو چه سایتی برم.

  8. مهدی

    مهمان

    مهدی

    موضوع پروژه من درمورد کنترل دور موتور ac با روش فرکانسی
    می خواستم بپرسم که شما پروژه ساخت رو انجام میدید؟

  9. مهدی

    مهمان

    مهدی

    سلام و وقت بخیر
    خواستم بپرسم برای استفاده از lcd برای نمایش سرعت دقیقا باید چکار کنم…کد هاش چی هست و کد رو تو چه نرم افزاری باید زد؟

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      با کدوم میکرو؟ lpc؟ مطلب lcd با lpc1768 تو سایت هستش.

  10. بهنام

    مهمان

    بهنام

    سلام
    با میکرو ۱۷۶۸ میخام ی برنامه بنویسم که موج سیوسی را گرفته روی ال سی دی بهمراه rms ، fft پیک تو پیک ، dc را نشان بده میتونی کمک کنی؟
    ممنونم رفیق

  11. سهیل

    مهمان

    سهیل

    سلام خسته نباشی این برنامه های c# رو چجوری متونم اجرا کنم ؟

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام-فایل exe شونو اجرا میکنی دیگه.

  12. اسماعیل

    مهمان

    اسماعیل

    سلام من میخوام کنترل دور موتور با ARM سری LPC2368 انجام بدم میتونید از یه برد آموزشی استفاده میکنم که درایور موتور l293m داره.
    چطور میتونم برنامشو بنویسم؟
    آیا میتونم از برنامه شما هم استفاده بکنم یا نه؟
    لطفا سریع جوابمو بدید ممنون.

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      ۲۳۶۸ کار نکردم – نمیدونم در چه مواردی فرق داره با ۱۷۶۸ ولی خب نباید زیاد باشه!

  13. RAOUF

    مهمان

    RAOUF

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

    مشاهده پاسخ ها (2)
    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام – اگه بخوای با میکرو انجام بدی – که بهتره کنترل فن توسط میکرو انجام بشه و هر موقع خواستی فنو خاموش کنی – به کمک یه رله ( کلید الکترونیکی ) – برق رو هم قطع کنید/

    • علیرضا آهنی

      مهمان

      علیرضا آهنی

      سلام.
      ترانزیستور بزاری بهتر از رله است.
      برای کار های با دوام. boast

  14. حمید

    مهمان

    حمید

    سلام مهندس خسته نباشی .
    یه پروژه داشتیم خواستیم راهنماییمون کنید .
    پروژه مون کنترل زاویه موتور dc با فیدبک زاویه و سرعت
    ممنونتون میشم .

  15. فری

    مهمان

    فری

    (uart3_readNumber( 100000, 3
    سلام . مرسی داداش تو اینجا که عمل دریافت رو انجام میدی این صد هزار و عدد ۳ چی رو تعیین میکنن؟

    مشاهده پاسخ ها (1)
    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      به مطلب ارتباط سریال مراجعه کن – اونجا توضیح دادم این تابع رو – از منو آموزش آرم – قسمت lpc1768