سوالات ، مشکلات و درخواست های در رابطه با میکروکنترلر ها

sh85

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

simicolon_ict

عضو جدید
سوال

سوال

سلام دوستان.
من avr کار کردم.تا به حال هم چند تا پروژه انجام دادم.الان دنبال یه کتاب توپ پروژه می گردم.کتاب های 10 و 11 پروژه (موج آبی)رو هم دارم.
اگر کسی می تونه کمکم کنه ممنون می شم.
سلام میشه مشخصات کامل کتابی که گفتین(موج آبی) رو بنویسین.واگه کتابای دیگه ای رو هم کار کردین بگین.
ممنون
 

زهرا گلی

عضو جدید
سلام میشه مشخصات کامل کتابی که گفتین(موج آبی) رو بنویسین.واگه کتابای دیگه ای رو هم کار کردین بگین.
ممنون

مجموعه کتابهای موج آبی نشر آفرنگ.نویسنده:مهندس حسینی.

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

ممنون.من اون کتاب رو هم دارم.پروژه های تو این کتاب تقریبا مشابه پروژه های کتاب مرجعavr پرتوی فرِ.
من با c می نویسم اما می تونم basic رو تحلیل کنم تبدیلش کنم به c.
شما سایت خوبی رو سراغ ندارید؟:redface:می خوام پروژه ها کاربردی باشن.:D
 

forough gh

عضو جدید
با سلام دوست عزیز
ممنون از زحمتهای که می کشید
ولی باید عرض کنم نمونه برداری از فرکانس صدا در محیط به این راحتی که می فرمایید نیست
در صورتی که یه سیگنال را توسط ژنراتور بیخوایم ایجاد و سپس اندازه گیری کنیم دقیقا همین راهی هست که شما می فرمایید ولی نمونه برداری از صدا در محیط مشکلاتی از قبیل تداخل و اعوجاج فرکانس های مختلف را در پی داره
خوب شما مدیر هستین و راهنما پس جواب درست رو پیدا کنید ااگه این نیست!!!!!!!!!!!!!1
 
  • Like
واکنش ها: sh85

sh85

مدیر بازنشسته
کاربر ممتاز
خوب شما مدیر هستین و راهنما پس جواب درست رو پیدا کنید ااگه این نیست!!!!!!!!!!!!!1
سلا دوست عزیز
پیش از هر چیز ممنون از زحمات شما در تالار
مطمئنا هیچ کس عالم مطلق نیست
اینحا همه نظارت بیان می شه تا در مجموع بتونیم نتیجه بهتر را دریافت کنیم
موفق باشید
 

forough gh

عضو جدید
سلا دوست عزیز
پیش از هر چیز ممنون از زحمات شما در تالار
مطمئنا هیچ کس عالم مطلق نیست
اینحا همه نظارت بیان می شه تا در مجموع بتونیم نتیجه بهتر را دریافت کنیم
موفق باشید
با سلام
با توجه به اینکه ماکزیمم فرکانس صدا 20000 هرتز است و میکرو کنترلر
avr
می تواند تا فرکانس 500000 هرتز را به دیجیتال تبدیل کند.
بنا براین کافی است توسط یک میکروفون مناسب امواج صدا را به امواج الکتریکی تبدیل کرد .
پس از تقویت آن با آنالوگ به دیجیتال شکل موج را برای محاسبات ریاضی بدست آورد.
هر اعوجاج و فرکانسی که در محیط وجود داشته باشد به همان صورت در خروجی میکروفون و شکل موجی که
بدست می آید , ظاهر می شود.
موفق با شید.
 

sh85

مدیر بازنشسته
کاربر ممتاز
مجموعه کتابهای موج آبی نشر آفرنگ.نویسنده:مهندس حسینی.



ممنون.من اون کتاب رو هم دارم.پروژه های تو این کتاب تقریبا مشابه پروژه های کتاب مرجعavr پرتوی فرِ.
من با c می نویسم اما می تونم basic رو تحلیل کنم تبدیلش کنم به c.
شما سایت خوبی رو سراغ ندارید؟:redface:می خوام پروژه ها کاربردی باشن.:D
خدمت شما
این یک نمونه :victory:
 

omidelectronic

عضو جدید
باز کردن قفل میکرو

باز کردن قفل میکرو

چطور میشه میکرو کنترولری (atmega32) که قفل گذاری شده(به اشتباه) پاک کرد و دوباره از اون استفاده کرد.
محتویات داخل میکرو مهم نیست فقط بشه دوباره ازش استفاده کرد.
ممنون میشم هر کی کمکم کنه:)
 

abolfazlhamzeh

عضو جدید
http://%3Ca%20href=%22http://www.img4up.com/%22%3E%3Cimg%20src=%22http://www.img4up.com/up1/02755944344380835593.jpg%22%20border=%220%22%20alt=%22Img4Up%22%20/%3E%3C/a%3Eبا عرض سلام به مهندسین الکترونیک من یه پروژه با atmega8 بستم تمام شرایط رو رعایت کردم از ولتاژ 5vثابت هم استفاده کردم و برنامه هم کار میکرد چند بار وقتی خاموش کردم وبعد می دیدم چند خط رو lcd می آد ومیکرو میسوزه علتش چی میتونه باشه :(http://www.www.www.iran-eng.ir/Thanks%20to%20Img4Up%20for%20%3Ca%20href=%22http://www.img4up.com/%22%3EFree%20image%20hosting%3C/a%3Ehttp://http://www.img4up.com/up1/02755944344380835593.jpg
 

sh85

مدیر بازنشسته
کاربر ممتاز
http://%3Ca%20href=%22http://www.img4up.com/%22%3E%3Cimg%20src=%22http://www.img4up.com/up1/02755944344380835593.jpg%22%20border=%220%22%20alt=%22Img4Up%22%20/%3E%3C/a%3Eبا عرض سلام به مهندسین الکترونیک من یه پروژه با atmega8 بستم تمام شرایط رو رعایت کردم از ولتاژ 5vثابت هم استفاده کردم و برنامه هم کار میکرد چند بار وقتی خاموش کردم وبعد می دیدم چند خط رو lcd می آد ومیکرو میسوزه علتش چی میتونه باشه :(http://www.www.www.iran-eng.ir/Thanks%20to%20Img4Up%20for%20%3Ca%20href=%22http://www.img4up.com/%22%3EFree%20image%20hosting%3C/a%3Ehttp://http://www.img4up.com/up1/02755944344380835593.jpg
سلام دوست عزیز
نحوه اتصال زمین ها و منابع به میکرو به چه طریقی هست ؟
یعنی به صورت مستقیم یه منبع یا زمین وصل کردین ؟
 

Skabirian

عضو جدید
هركس سوالي در ضمينه AVR داره بپرسه . خوشحال مي شم جواب بدم
سلام
یه سوال در مورد نحوه طراحی،ساخت و کلا کاربردهای میکروکنترلرها در قسمت اویونیک هواپیما و ناوبری آن با استفاده از همین وسائل داشتم.

ممنون میشم اگه اطلاعی دارین به من هم بدین:

Skabirian@gmail.com
 

Benefic.H

عضو جدید
کاربر ممتاز
سلام
یه سوال در مورد نحوه طراحی،ساخت و کلا کاربردهای میکروکنترلرها در قسمت اویونیک هواپیما و ناوبری آن با استفاده از همین وسائل داشتم.

ممنون میشم اگه اطلاعی دارین به من هم بدین:

Skabirian@gmail.com

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

Skabirian

عضو جدید
دوست عزیز اطلاعاتی که شما نیاز دارین معمولاً در دسترس تعداد افراد خاصی هست، و همه دسترسی به اون اطلاعات ندارند که بتونند راحت کمکتون کتتد.
این افراد خاص را شما میشناسین؟
حالا فرد هم نباشه زیاد مهم نیست@
 

pes

عضو جدید
پروگرام نشدن میکروکنترلر

پروگرام نشدن میکروکنترلر

سلام
میکرو atmega16a رو با پروگرامر شرکت نواوران که پرالل هست پروگرام کردم واسه اولین بار با نرم افزار codevision
و هیچ کدوم از تنظیمات فیوز بیت ها رو تغییر ندادم
ولی میکرو دیگه پروگرام نمیشه و ارور خاموش بودن پروگرامر یا خراب بودن میکرو رو میده
چرا اینطور شده دوستان ؟
چه کار کنم درست شه ؟
 

navidkhob

عضو جدید
پاسخ

پاسخ

سلام
میکرو atmega16a رو با پروگرامر شرکت نواوران که پرالل هست پروگرام کردم واسه اولین بار با نرم افزار codevision
و هیچ کدوم از تنظیمات فیوز بیت ها رو تغییر ندادم
ولی میکرو دیگه پروگرام نمیشه و ارور خاموش بودن پروگرامر یا خراب بودن میکرو رو میده
چرا اینطور شده دوستان ؟
چه کار کنم درست شه ؟

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

o.behnam.o

عضو جدید
سلام
میکرو atmega16a رو با پروگرامر شرکت نواوران که پرالل هست پروگرام کردم واسه اولین بار با نرم افزار codevision
و هیچ کدوم از تنظیمات فیوز بیت ها رو تغییر ندادم
ولی میکرو دیگه پروگرام نمیشه و ارور خاموش بودن پروگرامر یا خراب بودن میکرو رو میده
چرا اینطور شده دوستان ؟
چه کار کنم درست شه ؟
سلام. شما اگر یک بار هم نتونستید پروگرام کنید احتمال دارد مشکل از تنظیمات پروگرامر و پورت متصل شده به کامپیوتر از داخل نرم افزار باشد که باید به تنظیمات پروگرامر (Setting -->Programmer) در برنامه برید و نوع پروگرامر رو روی STK200/300 بزارید و پورت رو LPT1 انتخاب کنید.
اگر هم تا به حال پروگرام کردید و الان دیگه پروگرام نمیشه به یا فیوزبیت ها دستکاری شده که باید با یک منبع کلاک خارجی، کلاک AVR رو تامین کنید سپس دوباره فیوزبیت ها رو پروگرام کنید که به حالت قبل برگردد.(که احتمال زیاد به همید دلیل است چون برای من هم پیش آمده). یا ممکن است پروگرامر شما مشکل پیدا کرده باشد.
 

pes

عضو جدید
سلام دوستان چند تا مشکل ساده داشتم
یکی اینکه یه آداپتور 9 ولت 500 میلی آمپر دارم و به رگولاتور 7805 وصل می کنم برای vcc میکرو atmega16
ولی جواب نمی ده چون وقتی به منبع تغذیه ازمایشگاه وصل می کنم و روی 5.2 ولت تنظیم می کنم
میکرو جواب می ده رگولاتورم سالم هست می خوام 8706 بزارم ولی می ترسم میکرو رو بسوزونه
مشکل از چیه دوستان ؟ رگولاتور چی بزارم ؟
یکی دیگه هم این که پروگرامرم واسه pc های دیگه جواب می ده ولی pc خودم نه
تنظیمات پورت lpt توی bios رو به حالت اولیه برگردوندم ولی نمی دونم چرا
پروگرام نمیکنه همه تنظیمات هم درست انتخاب کردم


 

invincible

عضو جدید
سلام دوستان چند تا مشکل ساده داشتم
یکی اینکه یه آداپتور 9 ولت 500 میلی آمپر دارم و به رگولاتور 7805 وصل می کنم برای vcc میکرو atmega16
ولی جواب نمی ده چون وقتی به منبع تغذیه ازمایشگاه وصل می کنم و روی 5.2 ولت تنظیم می کنم
میکرو جواب می ده رگولاتورم سالم هست می خوام 8706 بزارم ولی می ترسم میکرو رو بسوزونه


سلام

این منبع تغذیه که میگین خروجیش زیاد رگوله نمیشه و احتمالا هم رگولاتور شدیدا داغ می کنه هم اینکه واسه تغذیه میکرو مناسب نیست.
می تونین اینو امتحان کنین.

به جای خازن 2200 می تونین از 4700 استفاده کنین.
و اگه رگولاتور داغ کرد ، یه رگولاتور دیگه رو باهاش موازی کنین.
موفق باشید ;)
 

pes

عضو جدید
سلام

این منبع تغذیه که میگین خروجیش زیاد رگوله نمیشه و احتمالا هم رگولاتور شدیدا داغ می کنه هم اینکه واسه تغذیه میکرو مناسب نیست.
می تونین اینو امتحان کنین.

به جای خازن 2200 می تونین از 4700 استفاده کنین.
و اگه رگولاتور داغ کرد ، یه رگولاتور دیگه رو باهاش موازی کنین.
موفق باشید ;)
مرسی دوست عزیز
ولی با آداپتور 9 ولت فکر نکنم کار کنه
تغییری نمی خواد ؟
آخه مینیمم ولتاز ورودی 7812 فکر کنم 14 باشه
 

az.a

عضو جدید
سلام

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


با کمک این بخش هم یک برنامه نوشتم ( به زبان کدویژن )

پس :
1) کل LCD های کاراکتری و گرافیکی را مطالعه کردم.
2) زبان برنامه نویسی منم با CodeVison AVR
3) نوع lcd من TS12864A-2
4) نوع میکرو کنترل Atmega16
5) با پروگرامر USB (سایز کوچک) هاتل دارم پروگرام می کنم
6) تو پروتئوس ورژن 7.4 هم داره جواب میده خیلی عالی
7)پایه های LCD رو به میکرو کنترل به صورت زیر وصل کردم:

pin1=GND
pin2=+5volt
pin3=پتانسیومتر 10 کیلو اهمی ( سر وسط پتانسیو متر به pin18 و یک سر به GND و سر دیگر به pin3 السیدی)
pin4=PORT22 avr
pin5=PORT23 avr
pin6=PORT24 avr
pin7 تا pin14 به ترتیب به PORTD.0 تا pORTD.7
pin15=PORT25 avr
pin16=PORT26 avr
pin17=PORT27 avr
pin18=سر وسط پتانسیو متر10K
pin19=GND

لینک زیر هم فایل برنامه + کدویژن :

دانلود

حالا هر کاری می کنم تو سخت افزار جواب نمی ده به خدا خسته شدم دیشب تا 6 صبح روش کار کردم جواب نداد


لطفا کمک کنید." جواب بده"


با تشکر
 

invincible

عضو جدید
سلام

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


با کمک این بخش هم یک برنامه نوشتم ( به زبان کدویژن )

پس :
1) کل LCD های کاراکتری و گرافیکی را مطالعه کردم.
2) زبان برنامه نویسی منم با CodeVison AVR
3) نوع lcd من TS12864A-2
4) نوع میکرو کنترل Atmega16
5) با پروگرامر USB (سایز کوچک) هاتل دارم پروگرام می کنم
6) تو پروتئوس ورژن 7.4 هم داره جواب میده خیلی عالی
7)پایه های LCD رو به میکرو کنترل به صورت زیر وصل کردم:

pin1=GND
pin2=+5volt
pin3=پتانسیومتر 10 کیلو اهمی ( سر وسط پتانسیو متر به pin18 و یک سر به GND و سر دیگر به pin3 السیدی)
pin4=PORT22 avr
pin5=PORT23 avr
pin6=PORT24 avr
pin7 تا pin14 به ترتیب به PORTD.0 تا pORTD.7
pin15=PORT25 avr
pin16=PORT26 avr
pin17=PORT27 avr
pin18=سر وسط پتانسیو متر10K
pin19=GND

لینک زیر هم فایل برنامه + کدویژن :

دانلود

حالا هر کاری می کنم تو سخت افزار جواب نمی ده به خدا خسته شدم دیشب تا 6 صبح روش کار کردم جواب نداد


لطفا کمک کنید." جواب بده"


با تشکر
سلام دوست عزیز :redface:
دلایل کار نکردن LCD از نظر سخت افزاری ایناست :
1. خراب بودن LCD
2. خراب بودن پایه های میکرو یا استفاده از پایه های jtag در فیوزبیت نادرست
3. فرکانس نا مناسب کاری ( برای بعضی LCD ها )
4. اتصال نادرست سیم بندی
5. منبع تغذیه نادرست
6. پیکربندی LCD در 2 پورت ( به جای یک پورت ) و یا پیکربندی نادرست LCD

در کل شما همه این موارد رو چک کنین و نکته ی مهم اینه که LCD رو به port C میکرو وصل نکنین. از portA ترجیحا استفاده کنین.
امیدوارم مشکلتون حل بشه ;)
 

az.a

عضو جدید
آقا سلام
دست شما درد نکن .
مرسی .
راه افتاد .
ایراد از پورت c بود من اصلا بهش توجه نداشتم .
چرا ؟؟؟
باید فیوز بیت ست می کردم برای پورت C ؟؟؟

بازم دست شما درد نکن .


راستی شما می دونید که LCD گرافیکی سری K108 با سری 6963 از نظر برنامه نویسی تو کدویژن فرق که نداره ؟؟؟؟؟
راستش می خوام با 6963 یکی دیگم راه بندازم.
 

invincible

عضو جدید
آقا سلام
دست شما درد نکن .
مرسی .
راه افتاد .
ایراد از پورت c بود من اصلا بهش توجه نداشتم .
چرا ؟؟؟
باید فیوز بیت ست می کردم برای پورت C ؟؟؟

بازم دست شما درد نکن .


راستی شما می دونید که LCD گرافیکی سری K108 با سری 6963 از نظر برنامه نویسی تو کدویژن فرق که نداره ؟؟؟؟؟
راستش می خوام با 6963 یکی دیگم راه بندازم.

سلام
خواهش می کنم :redface:
بله :w16:
port C برای JTAG کردنه و در صورت استفاده باید حالت JTAG میکرو رو غیر فعال کنی. ;)
 

مهرا

عضو جدید
سلام
من اخیرا کدویژن کارمیکنم
نمیدونم چطور میشه داده های یک پورت میکرو رو بدیم به پورت دیگه
یا
نمیدونم چطور میشه مکمل داده ها رو بدیم به پورتدیگه
(میخوام وقتی کلیدایی که به پورت مثلاc وصلا رو وقتی زدم led ها همون شماره ی پایه از پورت d روشن بشن یا مثلا یه همچین چیزایی )
آیا دستور جدایی داره یا باید خودمون همچین پروسه ای رو براش طراحی کنیم؟
ضمنا دستوری برای جابه جایی بیت ها داریم؟؟؟
پیشاپیش متشکر م
 

invincible

عضو جدید
سلام
من اخیرا کدویژن کارمیکنم
نمیدونم چطور میشه داده های یک پورت میکرو رو بدیم به پورت دیگه
یا
نمیدونم چطور میشه مکمل داده ها رو بدیم به پورتدیگه
(میخوام وقتی کلیدایی که به پورت مثلاc وصلا رو وقتی زدم led ها همون شماره ی پایه از پورت d روشن بشن یا مثلا یه همچین چیزایی )
آیا دستور جدایی داره یا باید خودمون همچین پروسه ای رو براش طراحی کنیم؟
ضمنا دستوری برای جابه جایی بیت ها داریم؟؟؟
پیشاپیش متشکر م
سلام
من زیاد کدویژن وارد نیستم ولی فکر نمی کنم تابع خاصی واسه این کار داشته باشه.
این مثالی که زدین تو محیط بسکام با همچین کدی اجرا میشه
کد:
$regfile = "m16def.dat"
$crystal = 8000000
Config Portc = Input
Config Portd = Output
If Pinc.1 = 1 Then
Pind.1 = 1
End If
If Pinc.2 = 1 Then
Pind.2 = 1
End If
If Pinc.3 = 1 Then
Pind.3 = 1
End If
If Pinc.4 = 1 Then
Pind.4 = 1
End If
If Pinc.5 = 1 Then
Pind.5 = 1
End If
End
 

مهرا

عضو جدید
سلام
من زیاد کدویژن وارد نیستم ولی فکر نمی کنم تابع خاصی واسه این کار داشته باشه.
این مثالی که زدین تو محیط بسکام با همچین کدی اجرا میشه
کد:
$regfile = "m16def.dat"
$crystal = 8000000
Config Portc = Input
Config Portd = Output
If Pinc.1 = 1 Then
Pind.1 = 1
End If
If Pinc.2 = 1 Then
Pind.2 = 1
End If
If Pinc.3 = 1 Then
Pind.3 = 1
End If
If Pinc.4 = 1 Then
Pind.4 = 1
End If
If Pinc.5 = 1 Then
Pind.5 = 1
End If
End

دستت درد نکنه دوست عزیز زحمت کشیدی
ولی منظور اصلیم اینه که بتونه داده ای رو که از یه پورت میگیره مثلا زده شدن کلید رو به پورت دیگه بده مثلا بتونه کلیدی رو که در پورت D .0زده میشه رو یه کاری روی پورت Aبکنه
این کارو با INTRRUPT تونستم انجام بدم ولی نمیخوام فقط به یه پین وصل کنم
من با بیسکام و کدویژن کار میکنم برام فرقی نمیکنه
ضمناا برنامه اسمبلیش رو هم دارم ولی اصلا متوجه نمیشم چیکار کرده اگر خواستید بگید تا آپ کنم
ضمناا از وقتی که گذاشتید ممنونم
 
Similar threads
Thread starter عنوان تالار پاسخ ها تاریخ
omidvarshoei سوالات و مشکلات رباتیک طراحی دیجیتال و برنامه نویسی 29

Similar threads

بالا