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

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

به نام خدا : تو این مطلب میخوام یه پروژه آرم دیگه قرار بدم، تو این پروژه میخوام سرعت و جهت حرکت یه موتور 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 تا هم صلوات برا سلامتی امام خامنه ای

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

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

1) نظرات غیر فارسی به صورت خودکار حذف میشوند ( حداقل 5 حرف فارسی وارد کنید ).

2) پسورد فایل های سایت : www.dmf313.ir

3) نظرات حاوی کد برنامه نویسی تایید نمیشوند ( قالب سایت بهم میریزه )

  1. مهمان

    Milad

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

  2. مهمان

    Milad

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

  3. مهمان

    محمد

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

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

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

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

      • مهمان

        محمد

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

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

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

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

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

          • مهمان

            Milad

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

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

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

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

  4. مهمان

    محمد

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

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

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

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

  5. مهمان

    amin

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

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

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

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

      • مهمان

        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 برای نمایش سرعت دقیقا باید چکار کنم…کد هاش چی هست و کد رو تو چه نرم افزاری باید زد؟

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

      مهدی دمرچیلو

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

  10. مهمان

    بهنام

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

  11. مهمان

    سهیل

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

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

      مهدی دمرچیلو

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

  12. مهمان

    اسماعیل

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

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

      مهدی دمرچیلو

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

  13. مهمان

    RAOUF

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

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

      مهدی دمرچیلو

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

    • مهمان

      علیرضا آهنی

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

  14. مهمان

    حمید

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

  15. مهمان

    فری

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

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

      مهدی دمرچیلو

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