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

ایجاد موج مربعی با میکروکنترلر

26

به نام خدا

ایجاد موج مربعی با میکروکنترلر
تو این پروژ قراره که با میکرو کنترلر atmega16  یه موج مربعی درست کنیم.
 
توجه : فرق نوسان ، موج ، پالس و… : چیزی که مقدارش هی تغییر کنه میگن نوسان ساره مثلا همتون شنیدین که میگن نوسان قیمت دلار و… pardon
ایجاد موج مربعی با میکروکنترلر
تا اونجایی که من میدونم موج و پالس تقریبا مثل هم هستن ؛ به نوسانی که یه سری ویژگی به خصوص داشته باشه میگن موج ، پالس و از این جور چیزا !!!
shock
خودتون میتونید تو گوگل در مورد تقاوت اینا سرچ کنید. ^_^
خودم هم راسش رو بخواید زیاد در موردش نمیدونم. O_o
 
خوب بریم سر اصل مطلب : تو این برناهه ما میخوایم که با میکروکنترلر یه نوسانی از ولتاژ ایجاد کنیم که شکلش به صورت زیر باشه.
که سطح پایین ۰ ولت و سطح بالا ۵ ولت هستش.
ایجاد موج مربعی با میکروکنترلر
توجه : اگه یک پایه میکرو غیر فعال باشد ولتاژ ۰ ولت ( یا صفر منطقی ) دارد و اگه همون پایه فعال شود ولتاژ ۵ ولت ( ۱ منطقی ) دارد.
لذا ما با صفر و یک کردن و ایجاد تاخیر زمانی مورد نظرمون این موج رو میسازیم.
 
این شبیه سازی تو پروتئوس هستش ؛  همون طور که توشکل مشخص کردم یه دوره یا تناوب  از این موج رو مشاهده میکنید که کپی عکس بالایی هست.
اون LED هم سر کاری هستش(چون زمان صفر و یک شدن یا همون صفر و ۵ ولت شدن اونقدر کم هستش که از رو LED نمیشه متوجه شد.
البته وجودش هم بی دلیل نیست و خواستم تا تغییرات ولتاژ رو ببینید )اون فلشه(جهت) هم ولتاژ اون پایه  میکرو رو نشون میده.
ایجاد موج مربعی با میکروکنترلر
 
 
 
اینم از برنامش ، چیز خاصی نداره ، همش بازی با صفر و یک کردن و ایجاد تاخیر زمانی هستش.

دانلود پروژه ایجاد موج مربعی با میکروکنترلر

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

    مهمان

    سپیده

    خروجی پالسو باید چجوری ببینیم؟
    و اینکه شول کامل شبیه سازی میسازید مثلا lcdبه چی وصله؟

  2. حسین

    مهمان

    حسین

    سلام اگه بخواهیم موج مربعی متناوب باشه چی؟ یعنی بین دو مقدار مساوی منفی و مثبت مثلا منفی 5 و مثبت 5 نوسان کنه

  3. محسن

    مهمان

    محسن

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

  4. محمدحسین

    مهمان

    محمدحسین

    با سلام و خسته نباشید
    ببخشید بنده میخوام یک مدار تولید موج مربعی با فرکانس بالا طراحی کنم. فرکانس بالا منظور بین 10 تا 100 مگاهرتز هستش.
    آیا بدون میکرو میتونم انجامش بدم؟
    در غیر این صورت از چه میکرویی استفاده کنم؟
    هزینه واسم اهیمت داره.
    ممنون میشم اگر راهنمایی کنید.

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

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

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

      سلام – با میکرو های سری آرم بالای 100 میگ میتونی اینکارو بکنی – بدون میکرو هم میشه ولی من کار نکردم – اینو سرچ کن :
      100MHz square wave generation

  5. morteza

    مهمان

    morteza

    سلام.
    ممنون میشم این سوالو برام حل کنید.
    1_طراحی یک فاصله سنج – با ارسال یک پالس و زمان سنجی تا
    دریافت پالس انعکاس، فاصله را با دقت دھم متر اندازه گرفته توسط سه عدد
    سون سگمنت نمایش دھید

    مشاهده پاسخ ها (1)
    • محمد میرزایی

      مهمان

      محمد میرزایی

      از سنسور التراسونیک استفاده کن

  6. علی

    مهمان

    علی

    سلام بر شما من یه مولد موج مربعی متقارن می خوام با میکرو شدنی هست ؟ برنامه اش چطوری

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

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

      مهدی دمرچیلو

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

  7. ناشناس

    مهمان

    ناشناس

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

  8. mamadr

    مهمان

    mamadr

    سلام داداش یه سوال دارم درگیرشم چند روزه
    یه سوال داریم به این شکل
    http://s8.picofile.com/file/8299152434/ax11.png
    بعد کدشو نوشتیم اینجوری
    http://cpp.sh/8p7ms
    بعد شماتیکشو اینجوری کشیدیم
    http://s9.picofile.com/file/8299152726/axxx.png
    هر کاری میکنم اجرا نمیشه نمیدونم کجاشو اشتباه رفتم شنبه هم باید تحویل بدم اگه مشه یه کمکی کنی ممنون میشم heart

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

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

      مهدی دمرچیلو

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

      • mamadr

        مهمان

        mamadr

        سلام
        پیداش نکرم با سرچ متاسفانه میشه لینکی چیزی لطفا

  9. hassan

    مهمان

    hassan

    سلام مهندس .من الان چند هفته درگیر تولید فرکانس ۱ تا ۵۰۰۰ هرتز هستم اما هر کاری میکنم نمیتونم.هر جایی هم که تو نت گشتم چیزی نبود که من بتونم ازش سر در بیارم .من الان در حد یه ساله با زبان سی آشنا شدم .اما واسم خیلی سخته درک کدهای این زبان برنامه نویسی .میدونم زبان سی زبان پایه ای هستش و یادگیریش یه پیشرفت بزرگه ولی چه کنم تو شهرستانی قرار دارم که فک نکنم کسی اصلا سراغ این آموزشها بره که بتونم حتی حضوری اونجا کلاس برم.در ضمن رشته بنده برق قدرته و بیشتر با زبان plc آشنایی دارم و در کل پایه الکترونیک بنده فقط تو برنامه نویسی ضعیفه.ممنون میشم یه چنتا راه حل بهم معرفی کنی که بتونم پیشرفت کنم .چون واقعا به برنامه نویسی علاقه دارم.
    سرتو درد آوردم شرمنده. sad

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

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

      مهدی دمرچیلو

      سلام
      تنبلی خودتو پای دور بودن و شهرستان بودنو و … نزار لطفا ( البته ببخشید که این طور حرف میزنمااا )
      الان به نت دسترسی داشته باشی هر کاری میتونی بکنی – هر چیزی میتونی یاد بگیری – هر آموزشی از هر جای دنیا میتونی دانلود کنی.
      کلاس خوبه ولی تنها منبع یادگیری نیست که – همه که کلاس نرفتن!

      • hassan

        مهمان

        hassan

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

  10. علی شوندی

    مهمان

    علی شوندی

    سلام دوستان
    سوال:میخوام روی یکی از پایه های میکروم دو نوع پالس یک به صفر و صفر به یک تولید کنم که هر حالت زمانی که بهش دستور میدم فعال بشه
    برای مثال میخوام وقتی باتن۱ رو زدم پالس صفر به یک با عرض پالس ۵۰۰میلی ثانیه و هر زمان باتن دو رو زدم پالس یک به صفر با عرض پالس قبلی ایجاد بشه/
    ممنون میشم راهنمایی بفرمایید

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

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

      مهدی دمرچیلو

      سلام
      خب با تایمر میتونی – با تابع تاخیر زمانی میتونی
      آموزش اینا هم تو سایت هستش – قسمت “آموزش جامع Avr” تو سایت بسرچ

  11. مهران

    مهمان

    مهران

    سلام و خسته نباشید میخوام به کمک تایمر کانتر یه برنامه به زبان basic بنویسم که بتونه یه موج مربعی با فرکانس 10khz و D=40% تولید کنه
    و قسمت بعدش میخوام موج مربعی باشه اما فرکانس وD قابل تنظیم باشه
    ممنون میشم پاسخ بدید خیلی مهمه.

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

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

      مهدی دمرچیلو

      سلام – بیسیک کار نکردم – 3 بار همین نظرو فرستادی چرا؟ سایت مشکل داره؟

      • مهران

        مهمان

        مهران

        دوبار ارور داد سر آخر فرستادم اومد…
        حالا به هر روی کسی رو نمیشناسید که بتونه با بیسیک بنویسه این برنامه رو؟اگه هم نتونستید با همون c بنویسید ممنون

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

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

          مهدی دمرچیلو

          نمیشناسم – بیسیک چیه آخه – بیا سی کیف دنیا رو بکن – متاسفانه امکانش نیست

          • مهران

            مهمان

            مهران

            چرا؟

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

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

            مهدی دمرچیلو

            چی چرا؟

  12. nadiya

    مهمان

    nadiya

    سلام
    یه پروژه دارم که در اون یه روش ارتباطی رو میخواد پیاده سازی کنه.
    روش ارتباطی برای فرستادن داده ها از PWM استفاده میشود. به
    این صورت که طول پالس در موج PWM نشان دهنده داده است.
    اما نمیدونم چه جوری با pwm همچین موجی تولید کنم!!

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

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

      مهدی دمرچیلو

      سلام – یه عکسی از نمونه فرمت دیتات میدی؟

  13. nadiya

    مهمان

    nadiya

    سلام
    من یه پروژه دارم که یه روش ارتباطی رو میخواد پیاده سازی کنه.برای فرستادن داده از pwmاستفاده میکنه.به این صورت که طول پالس در موج pwm نشان دهنده داده است.
    1. اینکه نمیدونم چه جوی همچین موجی تولید کنم!؟ با روش CTC باید انجام بدم؟؟
    2.اینکه داده رو چه جوری بفهمم که چیه؟

  14. noshingh

    مهمان

    noshingh

    سلام و خیلی ممنون ازین پروژتون.
    من میخواستم با میکرو یه پالس مربعی با فرکانس 200 هرتز تولید کنم به کمک کدویژن. اما رنج کلاکی که میشه در حالت پیش فرض داد از 1000 هرتز شروع میشه! نمیخوام کلاک سورس رو هم عوض کنم. راه حلش چیه؟ ممنون میشم کمکم کنید.

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

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

      مهدی دمرچیلو

      سلام – یه 1-2 ساعت دیگه(شاید یکم بیشتر شاید کمتر) یه فایل قرار میدم اینجا

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

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

        مهدی دمرچیلو

        خب شما باید از مد Ctc استفاده کنید که قابلیت تغییر فرکانس رو به راحتی به شما میده و در ضمن میکرو هم زیاد درگیر این کار نمیشه – فرمول محاسبه فرکانس به صورت شکل زیر هستش :
        فرمول محاسبه فرکانس CTC
        فرکانس میکرو رو اگه 16 میگ در نظر بگیریم – با تغییر مقدار OCR1A و N میتونی فرکانس های مختلفی ایجاد کنی. مقدار N میتونه 1-8-64-256-1024 باشه – مقدار OCR1A هم اگه اشتباه نکنم یه ریجستر 16 بیتی هستش لذا مقدارش میتونه بین 0 – تا 65535 باشه.

      • اميررضا

        مهمان

        اميررضا

        سلام،ممنون بابت مطلبي كه گذاشتين،ميخواستم ببينم چجوري ميشه موج مربعي رو تبديل به مثلثي كرد يا اينكه كدي كه براي ايجاد موج مثلثي مينويسيم چيه؟

  15. علی

    مهمان

    علی

    سلام خدمت اساتید گرامی و محترم
    من میخوام برنامه ای با مگا۸ بنویسم که فرکانسی را با سنسور اثرهال دریافت کنم(فرکانس از۱تا۳۰۰هرتز)وهمین فرکانس ۳/۴برابر تو خروجی داشته باشم :ooo:با کدویژن
    در ضمن در حد مبتدی برنامه نویسی بلدم و کار با تایمر وکانتر نمیدونم :confused: ممنون میشم راهنمایی کنید یا برنامه ای را برای طراحی معرفی کنید
    پیشاپیش از همکاریتون ممنون 😎

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

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

      مهدی دمرچیلو

      سلام
      اگه میتونی صبر کنی یه چند روز دیگه مطلب کامل کامل تایمر کانتر رو میزارم تو سایت
      البته قبلش میتونی مطالب وبلاگ NOise.blog.ir رو بخوین که خوب و ساده توضیح داده

  16. mio.mj

    مهمان

    mio.mj

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

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

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

      مهدی دمرچیلو

      سلام
      ۱) delay
      ۲) timer

  17. nasrin

    مهمان

    nasrin

    slm aqa mehdi .besyar az shoma mocheram,che site khubi dari.omidvaram hamishe movafaq bashe.kheili komak kardi

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

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

      مهدی دمرچیلو

      س..م
      خ..ش
      laugh

  18. مسعود

    مهمان

    مسعود

    سلام.من با یه مازول فرستنده گیرنده مادون قرمز پروژم رو اوکی کردم
    اما الن میخوام خودم یه فررستنده گیرنده مادون قرمز طراحی کنم که تا5 متر هم جواب بده
    لطفا اگه راهنماییم میکنین کامل بهم بگین چیکار باید کنم؟مرسی از سایت خوبتون.

  19. aghaie hamsaie

    مهمان

    aghaie hamsaie

    سلام راسیاتش برام چنتا سوال پیش اومده ممنون میشم جواب بدی
    1. چرا این سایتا زدی!!
    چون سایتای زیاد دیگه ای هم در این زمینه هست
    2.چرا پروژه های avr را رایگان انجام میدی ؟
    یک جور زکات علمه?
    و در آخر اگه کسی بخواد در این سایت کمکت کنه استقبال میکنی یا نه؟
    smile
    victory
    bye

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

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

      مهدی دمرچیلو

      سلام داش رامین
      1) برای این که چزایی که بلدم و بلد میشم رو به اشتراک بزارم(تو یه چیز یاد بدی صد تا چیز قبلش خودت یاد میگیری…>>> شنیدی میگن در راه خدا بدی چند برابرش رو میگیری>>> ….)
      2) من دانشجو هستم و دانشگاه وام میده و تقریبا دخل و خرج با هم میخونه>>لذا به پولش نیاز ندارم>>>اگه داشته باشم برا بچه ها ی دانشگاه آزاد و.. پروژ هاشون رو میبندم و پول میگیرم ازشون>>>>>
      3) من از خدامه الان هم 3 نفریم >>خوشهال هم میشم.

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

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

        مهدی دمرچیلو

        راستی سایت در همین زمینه هستش ولی برا یه پروژه چرت که من دیروز اتفاقی دیدم فلان قدر دارن پول میگیرن>>>در ضمن بیشتر پروژه های خوب به زبون بیسیک هستش که من اینا رو به زبون سی مینویسمشون