سلام
چطور مي تونم موج سينوسي توليدكنم
در ضمن
چطور مي تونم يك ولوم با ميكرو بسازم
با تشكر از زحمات شما
براي آپلود پروژه ها كجا بايد برم
سلام
چطور مي تونم موج سينوسي توليدكنم
در ضمن
چطور مي تونم يك ولوم با ميكرو بسازم
با تشكر از زحمات شما
براي آپلود پروژه ها كجا بايد برم
این را دانلود کن: PROJECTS.RAR
داخلش پروژه های مختلفی است. فولدر prj11 یه نمونه خیلی ساده و مناسب از تولید موج سینوسیه. فایل پروتئوس هم داره. (برای CodeVisionAVR)
تولید موج هم که می دونی راهی جز استفاده از PWM نداره، چون AVR مبدل دیجیتال به آنالوگ نداره.
نمونه های پیشرفته تر هم فراوانه ولی این یکی خیلی مناسبه.
منظورت از ولوم را دقیقتر بگو. چیزی شبیه ولوم صدا می خوای بسازی؟
نوشته اصلی توسط farar_1
سلام
اوليش ولوم با ميكرو هستش و دومي يه ولوم ديجيتالي :
http://yazdkit.com/volume-digita-atmega8-613.html
http://yazdkit.com/digital-volom-174.html
سلام
برای موج سینوسی در بیسکام باید پیدا کنم
برای ولوم میخوام ولتاژ 0 تا 5 ولت خروجی رو کنترل کنم مثل یک ولوم
مثلا خروجی 1.5 یا 3.7 و . ....
برنامه ها فقط در بیسکام باشه
اگه کسی بتونه کمکم کنه مممنون میشم
برای تولید موج سینوسی نیاز به کار با dac دارید .چطور مي تونم موج سينوسي توليدكنم
dac (هشت بیتی ) دارای 8 پایه ورودی و یک خروجی هست ، هر dac دارای یک نسبت تبدیل ( دقیق نمیدونم اسمش چی هست ) میباشد ف برای تولید یک موج سینوسی شما باید ولتاژ رو از صفر زیاد کنید مثلا .1 و .2 و .3 و .4 .5 .... و 4 و سپس کم کنید 4 و ..... .5 و .4 و .3 و .2 و .1 و.... مثلا عدد باینری 11111111 که به dac اعمال میشه در خروجی اون ولتاژ 5 ولت و عدد 00000000 دذر خروجی اون عدد صفر رو بوجود میاره . اگه هنوز درگیر هستید بگید تا بیشتر توضیح بدم .
در مورد ولم هم دوتا راه دارید ف روش اول استفاده از همین dac هست و روش دوم استفاده از pwm :برای ولوم میخوام ولتاژ 0 تا 5 ولت خروجی رو کنترل کنم مثل یک ولوم
مثلا خروجی 1.5 یا 3.7 و . ...
شما توسط دوتا کلید نسبت صفر به یک پالس pwm رو کنترل میکنید و سپس ولتاز pwm رو یکسو میکنید ، همون طور که میدونید ولتاژ dc یک موج متناوب برابر با انتگرال موج هست (مساحت شکل موج .... بحث خیلی تخصصی شد ، اگه علاقه داشتید بگید تا ادامه بدم )
اطلاعات بیشتر در مورد pwm :کد:$regfile = "m16def.dat" $crystal = 8000000 Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Prescale = 1 Dim A As Word Config Porta = Input Do If Porta.0 = 1 Then Incr A End If If Porta.0 = 1 Then Decr A End If Pwm1a = A If A > 1024 Then A = 0 Loop End
http://forum.ir-man.com/showthread.php?tid=74[/quote]
براي اين منظور بايد يك فيلتر مثلا پايين گذر به يك پايه ميكرو وصل كنيد و با توجه به دامنه سينوسي فركانس لحظه اي خيلي بزرگتر از فركانس موج سينوسي مطلوب روي پايه ميكرو توليد كنيم توجه كنيد كه قطب فيلتر پايين گذر فركانس مركزي نوسانات پايه ميكرو است
اين روش به دليل نا ديده گرفتن اطلاعات فاز براي طراحي هاي مخابراتي مثل مودم خوب نيست
اگه دقيقا متوجه نشديد پاسخ فركانسي فيلتر و طيف خروجي پايه ميكرو تو بعد فركانس تجسم كنيد تا خروجي فيلتر كه تقريبا سينوسيه را بدست بياريد
از يك مقاومت و خازن به عنوان فيلتر پايين گذر استفاده كنيد
با سلام و تشکر از مدیر انجمن
بابت پاسختون
برای موج با سایتی که داده بودید تقریبا راه افتادم ولی اگه امکان داره برای ولوم حداقل یک عکس نقشه مدار اون با توضیح مختصر پایه ها اگه برام بزارید ممنون میشم
چطور موج مربعی به at mega 32 بدیم و موج سینوسی دریافت کنیم اگه امکان داره برنامه نوشته شده را بزارید
سلام. من می خوام موج سینوسی میرا با فرکانس 50kh (کیلو هرتز) بسازم.موج سینوسی ای که هم پیک مثبت داره هم پیک منفی.منظورم اینه که از مقدار صفر شروع نشه.و ضمنا میرا هم بشه.
لطفا کمکم کنید.
سلام دوست عزیز
با میکرو فقط میشه بالای خط صفر درست کرد که بعد خودتون بای آپمپ یا مداری دیگه بالا و پاینش کنید.
حالا برای تولید باید از مد pwm تامیر استفاده باید بکنید و با فاصلی زمانی یکسان که جعمشان ، زمان تناوب شما شود مقدار ocr را کم و زیاد کنید.
برای تبدیل به موج میرا باید مقدار سطح بالاترین و پایین ترین را کاهش بدیم تا به صفر تبدیل شود.
موفق باشید
ویرایش توسط wantedboy : 18-05-2013 در ساعت 10:37
سلام.
امکان داره سری فوریه ی یک تابع رو نوشت و شکل موج خروجی رو از پایه میکرو دید؟
من میخوام شکل موج سینوسی میرا بسازم ولی با فرا خوانی تابع سینوس در میکرو فقط مقدار اون تابع رو دارم.
اگر حلقه forبذارم تا دونه دونه اون مقادیر رو محاسبه کنه نمی دونم چطوری این مقادیر رو با میکرو نمایش بده.
لطفا کمکم کنید.متشکرم.
سلام ،
بهترین روش ایجاد موج های دلخواه اینه که قبلاً توی یک برنامه ای مثل matlab موجها رو ایجاد کنید بعد اعدادی که matlab محاسبه کرده رو به صورت یک آرایه عددی به میکرو منتقل کنید. بعد با توجه به فرکانس مورد نیازتون اعداد از قبل محاسبه شده رو به مبدل a2d یا pwm خود میکرو بدید تا خروجی آنالوگ بگیرید.
می تونید مینیمم و ماکسیمم موجتون رو بین 0 و 255 محاسبه کنید و عدد 128 رو معادل 0 ولت بگیرید تا بتونید هم بخش مثبت و هم بخش منفی ولتاژ رو تولید کنید.
سلام دوست عزیز چرا خودتون گیج میکنید شما اول یک موج سینوسی درست کنید با میکرو و بعد از گذشت یک سیکل مقادیر را از پایین و بالا یک واحد یک واحد کم کنید.
حالا طریقه ی تولید به این صورت است که شما اگر از تایمر صفر استفاده کنی مقدار ۲۵۵ برابر ۵ ولت و مقدار ۱۲۸ برابر ۲.۵ و مقدار ۰هم برابر صفر ولت میشه شما باید خط ۲.۵ را وسط در نظر بگیرید و بعد توسط مداری آن را به زیر صفر صفر منتقل کنید.
نحوه ی به وجود آمدن شکل موج سینوسی:
بینید شما وقتی یک شکل موج مربعی را درست کنید و زمانی که مقدا آن را بخوانید مقدار متوسط پیک موج بدست می آید حالا با تغییر دیوتی سایکل میتوانیم این مقدار متوسط را به صفر تا ۵ ولت برسانید حالا از این ویژگی میتوان یک شبه سینوسی درست کنیم که تا حالا ۸۰ در صد شبیه شکل موج سینوسی توانستند درست کنند( توسط پی دبل یو ام)
حالا نحوه ی تولید:
نگاه کنید اپتدا تایمر را روی مد pwm قرار میدیم و حالت مقایسه آن را فعال میکنیم بعد میتوانیم مقدار ocr را تغییر بدیم تا ولتاژ های مختلف به وجود آید. کار ولتاژ متغیرمان تموم شد میریم سراغ تولید موج سینوسی.
برای تولید موج سینوسی باید توسط یک تایمر دیگر یا کتابخانه تاخیر یک موج را تقسیم بر ۲۵۶ کنیم و مقدار تقسیم ها را طوری شود که برار زمان تناوبی شود ک برار زمان تناوب ۵۰ کیلو هرتز شود. بعد هر قسمت باید به مقدار مقاسیه را یک واهد افزایش بدیم د نیتجه یک شکل موج سینوسی به وجود می آيد.
حالا برای تولید موج میرا باید بعد از چند سیکل مقدار سطح بالا و پایین را کم کنیم این کار را تا زمانی ادامه میدهیم تا موج کاملا صفر شود.
امید وارم آموزش کاملی باشه
هرگونه سوالی داشتید در خدمتم
ویرایش توسط wantedboy : 19-05-2013 در ساعت 14:59
میشه خطوط برنامه رو برام بفرستید.
ممنون میشم.
سلام
سه تا موج سینوسی با فرکانس 50 هرتز می خوام با میکرو درست کنم ولی رابطه بین فرکانس pwm و فرکانس 50 هرتز سینوسی رو نمیدونم . در واقع نمیدونم چه فرکانس pwm ای برای ایجاد این موج سینوسی 50 هرتز مناسبه. ( اینو میدونم که با میکرو موج مربعی درست می کنیم و بعد از عبور از فیلتر تیدیل به موج سینوسی میشه ولی فرکانس این موج سینوسی ، 50 هرتزی که من انتظار دارم نیست ) برنامه رو باید چطور بنویسم تا موج سینوسی با فرکانس 50 هرتز تولید کنم ؟ میشه لطفا راهنمایی کنید .