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

golnazfam

عضو جدید
سلام
دوستان از كجا ميشه فهميد ميكرو سوخته يا نه؟! با Atmega 32 كار مي كنم و پروگرمر هاتل. پتو هاتل نشون ميده پروگرم كردهو خطا هم نمي ده. همه چيش اكيه. اما انگار پروگرم نمي كنه.
ي برنامه ساده نوشتم كه يه پورت و ست كنه اما نمي كنه. در ضمن ولتاژ بقيه پايه ها رو گرفتم ولتاژ داره در حد 2 ولت. ميكروم سوخته يا نه؟
ميشه با مولتي متر فهميد سوخته يا نه؟
 

golnazfam

عضو جدید
و يك سوال ديگه.
اگر بخوايم در يك مدار به جاي adc داخلي از يك adc مجزا استفاده كنيم در پيكره بندي مدار چه تفاوتي ايجاد ميشه؟
اصلا براي adc داخلي بايد چيز خاصي مثل مقاومت يا خازن به مدار اضافه كرد يا دستورات توي خود برنامه كفايت مي كنه؟
اشتابوا في الجواب لطفا.
ممنون
 

Dashpot

عضو جدید
سلام بر همه؛
می خوام برنامه ای با مطلب بنویسم که نمایش سری فوریه با محاسبه ضرایب سری فوریه بهم بده و همچنین نمودار اندازه و فاز ضرایب سری فوریه راتعیین کنه.شکل سیگنال هم اینه:

مشاهده پیوست 153891
با تشکر
 

scienceaddict

عضو جدید
سلام
دوستان از كجا ميشه فهميد ميكرو سوخته يا نه؟! با Atmega 32 كار مي كنم و پروگرمر هاتل. پتو هاتل نشون ميده پروگرم كردهو خطا هم نمي ده. همه چيش اكيه. اما انگار پروگرم نمي كنه.
ي برنامه ساده نوشتم كه يه پورت و ست كنه اما نمي كنه. در ضمن ولتاژ بقيه پايه ها رو گرفتم ولتاژ داره در حد 2 ولت. ميكروم سوخته يا نه؟
ميشه با مولتي متر فهميد سوخته يا نه؟
سلام دوست عزیز
از جایی نمیشه فهمید، باید ببینی چه بلایی سرش اوردی که احتمال سوختن میدی، وقت پروگرم کردن با پروگرمرت حتما verify کن، نمیدونم با چه نرم افزاری پروگرم میکنی، فیوز بیت هاتو چک کن شاید رو کلاک خارجی تنظیم کردی، اونوقت باید به میکروت کلاک بدی تا کار کنه، حتما حتما پایه AVCC رو به +5 وصل کن، اگه رو کریستال خارجی تنظیم کردی کریستالو که میذاری، اگه اون ال ای دی ها رو پورت سی گذاشتی، حتی اگه همه چی درست باشه کار نمیکنه، باید فیوز بیت JTAG رو غیر فعال کنی وقت پروگرم کردن، با مولتی متر نمیشه فهمید، معمولا نمیسوزن، قفل میشن، شما با پروگرمرت فیوز بیت هاتو read کن ببین لوک بیت هات فعال ان یا نه، در کل لعنت به AVR با این درد سر هاش

Good Luck
 

scienceaddict

عضو جدید
و يك سوال ديگه.
اگر بخوايم در يك مدار به جاي adc داخلي از يك adc مجزا استفاده كنيم در پيكره بندي مدار چه تفاوتي ايجاد ميشه؟
اصلا براي adc داخلي بايد چيز خاصي مثل مقاومت يا خازن به مدار اضافه كرد يا دستورات توي خود برنامه كفايت مي كنه؟
اشتابوا في الجواب لطفا.
ممنون
در پیکره بندی مدار فرقی نمیکنه فقط 7-8 هزار تومن الکی پیاده میشی و 8 پایه با ارزش از میکروکنترلرت بخاطر adc خارجی اشغال میشه ، تازه اونم adc هشت بیتی، تو میکروت یه ای دی سی ده بیتی گذاشته با چندین مد کاری مختلف بیکار نگه داشتی واسه روز مبادا؟ ، مگه 8051 کار میکنی که ای دی سی خارجی بذاری، بفکر جیبت باش
برای adc داخلی بستگی داره که ولتاژ مرجعت چی باشه، اما معمولا ولتاژ مرجع رو ولتاژ پایه avcc انتخاب میکنن ، بنابراین یه خازن 100 نانو رو پایه vref و زمین و هکذا برای avcc کافیه، اما بزرگتر ها میگن یه سلف 100 میکروهانری وصل کنید به مثلا adc0 , و پایه adc0 رو با یه خازن صد نانو زمین کنید، ورودی انالوگ رو بدید به قبل از سلف، دستور های توی برنامه هم که لازمه
اما سعی کن ولتاژ مرجعت رو 2.56 داخلی انتخاب نکنی، نه که معماری AVR بی نظیره، ولتاژی که میخونی خطا داره ، همیشه هم یه خازن الکترولیت 100 میکرو بچسبون به میکروت رو پایه vcc , gnd ،

Good Luck
 

Yuri Boyka

عضو جدید
در پیکره بندی مدار فرقی نمیکنه فقط 7-8 هزار تومن الکی پیاده میشی و 8 پایه با ارزش از میکروکنترلرت بخاطر adc خارجی اشغال میشه ، تازه اونم adc هشت بیتی، تو میکروت یه ای دی سی ده بیتی گذاشته با چندین مد کاری مختلف بیکار نگه داشتی واسه روز مبادا؟ ، مگه 8051 کار میکنی که ای دی سی خارجی بذاری، بفکر جیبت باش
برای adc داخلی بستگی داره که ولتاژ مرجعت چی باشه، اما معمولا ولتاژ مرجع رو ولتاژ پایه avcc انتخاب میکنن ، بنابراین یه خازن 100 نانو رو پایه vref و زمین و هکذا برای avcc کافیه، اما بزرگتر ها میگن یه سلف 100 میکروهانری وصل کنید به مثلا adc0 , و پایه adc0 رو با یه خازن صد نانو زمین کنید، ورودی انالوگ رو بدید به قبل از سلف، دستور های توی برنامه هم که لازمه
اما سعی کن ولتاژ مرجعت رو 2.56 داخلی انتخاب نکنی، نه که معماری AVR بی نظیره، ولتاژی که میخونی خطا داره ، همیشه هم یه خازن الکترولیت 100 میکرو بچسبون به میکروت رو پایه vcc , gnd ،

Good Luck

منم با دوست عزیز تا جائی موافقم چون مدارات داخلی میکرو از ترانزیستور های کاسفت تشکیل شده هنگام وصل این ترانزیستور ها جریان زیادی یک باره از مدار عبور میکنه هر جند که اندوکتانس سیم و پایه های میکرو خیلی کمه ولی چون di/dt خیلی زیاده یک افت ولتاژ جزئی تو ورودی مدار بوجود میاد، در عین حال مدار ADC خیلی نسبت به ولتاژ حساسه و یک نویز کوچیک ولتاژ می تونه خطا توش ایجاد کنه به همین دلیل از یک خازن استفاده می کنیم تا این جریان رو واسه مدار ت امین کنه و مانع از افت ولتاژ بشه ولی سلف رو برای اولین بار میشنوم و از دیدگاه مداری استفاده از اون رو به صلاح نمیدونم (به علت پیوستگی جریان سلف و ثابت نبودن جریان ورودی).
 

scienceaddict

عضو جدید
منم با دوست عزیز تا جائی موافقم چون مدارات داخلی میکرو از ترانزیستور های کاسفت تشکیل شده هنگام وصل این ترانزیستور ها جریان زیادی یک باره از مدار عبور میکنه هر جند که اندوکتانس سیم و پایه های میکرو خیلی کمه ولی چون di/dt خیلی زیاده یک افت ولتاژ جزئی تو ورودی مدار بوجود میاد، در عین حال مدار ADC خیلی نسبت به ولتاژ حساسه و یک نویز کوچیک ولتاژ می تونه خطا توش ایجاد کنه به همین دلیل از یک خازن استفاده می کنیم تا این جریان رو واسه مدار ت امین کنه و مانع از افت ولتاژ بشه ولی سلف رو برای اولین بار میشنوم و از دیدگاه مداری استفاده از اون رو به صلاح نمیدونم (به علت پیوستگی جریان سلف و ثابت نبودن جریان ورودی).

سلام دوست عزیز
من ممنونم از شما که اشتباه من رو گفتید، خیلی ممنونم، سلف رو AVCC باید باشه طبق توصیه اتمل،
اما مقاومت ورودی ADC اونقدر زیاد هست که من عملا دیدم کسی 220 ولت AC رو با تقسیم مقاومت وات بالا به 4 ولت تبدیل کرده و مستقیم داده به پایه ADC

http://s2.picofile.com/file/7834659672/2013_07_08_132706.jpg
http://s3.picofile.com/file/7834660000/2013_07_08_132729.jpg


Good Luck
 

Yuri Boyka

عضو جدید
سلام دوست عزیز
من ممنونم از شما که اشتباه من رو گفتید، خیلی ممنونم، سلف رو AVCC باید باشه طبق توصیه اتمل،
اما مقاومت ورودی ADC اونقدر زیاد هست که من عملا دیدم کسی 220 ولت AC رو با تقسیم مقاومت وات بالا به 4 ولت تبدیل کرده و مستقیم داده به پایه ADC

http://s2.picofile.com/file/7834659672/2013_07_08_132706.jpg
http://s3.picofile.com/file/7834660000/2013_07_08_132729.jpg


Good Luck

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

pasargad69

عضو جدید
سلام.من دو تا سوال داشتم در زمینه برنامه نویسی.اگه میتونید به یکیش جواب بدید.ممنون.
1.برنامه PIC تبادل اطلاعات بین میکرو و کامپیوتر توسط پورت سریال.
2.اندازه گیری ولتاژ برق شهر توسط میکرو کنترلر PIC و نمایش روی LCD.

ممنون میشم اگه جواب بدید.
 

ali4854

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

مشکل اجرا در پروتس

سلام خدمت دوستان.ببخشید من میخوام یک تابلو تبلیغاتی با ledکه خیلی جاها هست درس کنم.گفتم برای قشنگتر شدنش براش برنامه بنویسم.برنامه نوشتم ولی وقتی خواستم اول با نرم افزار protusشبیح سازی کنم تو اجرا به مشکل خوردم برای فرض چهار تا ال ای دی گزاشتم و تو یک لوپ قرارشون دادم که به ترتیب روشن بشن بعد به ترتیب خاموش.چهار لوپ اول درس میکرو اجرا میکن ولی از لوپ چهارم به بعد led اولم روشن میمون و بقیه فقط روشن خاموش میشن.مشکل از برنامه من یا از نرم افزار؟اگه سخت افزارش ببندم ممکن همین مشکل بازم وجود داشته باشه؟؟برنامه پایین.البته فقط چند خط اولش ک گفتم اول مشکلش بگیرم بعد کاملش کنم ممنون اگه راهنمایی کنین.
$regfile = "M32def.dat"
$crystal = 8000000
Config Portb = Output
Do:
Set Portb.0
Waitms 200
Set Portb.1
Waitms 200
Set Portb.2
Waitms 200
Set Portb.3
Waitms 500
Reset Portb.3
Waitms 200
Reset Portb.2
Waitms 200
Reset Portb.1
Waitms 200
Reset Portb.0
Wait 200
Loop
End
 

sidhadi2000

عضو جدید
سلام خدمت دوستان.ببخشید من میخوام یک تابلو تبلیغاتی با ledکه خیلی جاها هست درس کنم.گفتم برای قشنگتر شدنش براش برنامه بنویسم.برنامه نوشتم ولی وقتی خواستم اول با نرم افزار protusشبیح سازی کنم تو اجرا به مشکل خوردم برای فرض چهار تا ال ای دی گزاشتم و تو یک لوپ قرارشون دادم که به ترتیب روشن بشن بعد به ترتیب خاموش.چهار لوپ اول درس میکرو اجرا میکن ولی از لوپ چهارم به بعد led اولم روشن میمون و بقیه فقط روشن خاموش میشن.مشکل از برنامه من یا از نرم افزار؟اگه سخت افزارش ببندم ممکن همین مشکل بازم وجود داشته باشه؟؟برنامه پایین.البته فقط چند خط اولش ک گفتم اول مشکلش بگیرم بعد کاملش کنم ممنون اگه راهنمایی کنین.
$regfile = "M32def.dat"
$crystal = 8000000
Config Portb = Output
Do:
Set Portb.0
Waitms 200
Set Portb.1
Waitms 200
Set Portb.2
Waitms 200
Set Portb.3
Waitms 500
Reset Portb.3
Waitms 200
Reset Portb.2
Waitms 200
Reset Portb.1
Waitms 200
Reset Portb.0
Wait 200
Loop
End
سلام....
برنامت درسته ، فقط دقت داشته باش که آخرین دستورتاخیرت زمان زیادیه...
اینو یه نگاه بنداز
 

پیوست ها

  • cheshmakzan.rar
    14.4 کیلوبایت · بازدیدها: 0

alidaraie

عضو جدید
با سلام خدمت مهندسان عزیز درخواست کمک دارم :
من یک پروژه که باید اینورتر بسازم که چون این اینورتر چند سطحی است باید در آن pwm میکرو avr استاده کنم به این صورت که یک ورودی سینوسی رو با فرکانس برق شهر 50 هرتز میدیم و فرکانس خروجی pwm مون باید 33 برابر آن یعنی 1650 هرتز بشه همچنین باید ایم pwm کاملا متقارن باشه یعنی در یک ربع سیکل با ربع سیکل بعدی کاملا قرینه باشند ولی من نمی تونم کاملا متقارن در بیارم مشکلشم میدونم اونم فرکانس خروجیه که به خاطر رنج های کلاک داخلی میکرو یا حتی کریستال خارجی در نمیاد چون به مقدار 33 یا 11 بخش پذیر نیستند
من برناممو میذارم اه میشه کمکم کنید تو پروتئوس کاملا معلومه تقارن ندارند .
//int k=1;
int z=1;
float i=0;
float j=0;

interrupt [ADC_INT] void adc_isr(void)
{
if (ADCH==0x00)
{
z=0;
}
if (z==0);
{

j=50000/255;
i=(ADCH*j)/100;

//if (i>=x[k-1])
//{
//x[k]=i;
OCR1B=i;
ADCSRA=0xfb;
//k=k+1;
//}
//if (i<x[k-1])
//{
//k=k-1;
//OCR1B=x[k];
//if (k==2)
//{
//k=1;
//z=1;
//i=0;
//j=0;
//}

}

//else
//{
// k=1;
//+z=1;
// OCR1B=0x0000;
// }
//}
}


void main(void)
{
PORTA=0xff;
DDRA=0x00;


PORTD=0x00;
DDRD=0xff;

PORTB=0x00;
DDRB=0xff;


PORTC=0x00;
DDRC=0xff;

SFIOR=0x00;
ADMUX=0x60;
ADCSRA=0xfb;

TCCR1A=0x11;
TCCR1B=0x12;

TIMSK=0x00;
OCR1AH=0x01;
OCR1AL=0xf4;
//x[0]=0;
#asm("sei");
while (1)
{
}
}
 

safarzadeh97

عضو جدید
سلام
کسی میتونه یک منبع تغذیه درست بکنه که با AVR کنترول بشه و ولتاژ و جریانش متغیر باشه و مقدار ولتاژ و جریان رو با کی پد وارد کنم
 

890031156

کاربر فعال تالار مهندسی برق ,
کاربر ممتاز
سلام خدمت دوستان
سوالی در مورد lcd کاراکتری داشتم
میشه محتوای یه رجیستر که امکان داره محتواش به دفعات عوض شه رو به عنوان ورودی lcd مرتبط با Avr قرار داد؟؟؟؟
ممنون از پاسخ گویی
 

ehsanzamanzadeh

عضو جدید
اتصال SD/MMC به میکروکنترلر های LPC سری 23xx

اتصال SD/MMC به میکروکنترلر های LPC سری 23xx

سلام به دوستان
من میخوام یه اس دی کارت رو به lpc2368 وصل کنم .اگه دوستان اطلاعاتی راجع به این دارند لطفا به من کمک کنن.:smile:
 

ehsanzamanzadeh

عضو جدید
دعوت دوستان از رشته های برق و کامپیوتر

دعوت دوستان از رشته های برق و کامپیوتر

کسانی که تمایل دارن با میکروکنترلر LPC2368 کار کنن لطفا به جمع ما بپیوندند:)
 

ra1372

عضو جدید
کاربر ممتاز
سلام دوستان
برنامه رفرش صفحه کلید و نمایش روی سون سگمنت رو میخواستم البته اسمبلی و برای8051 .لطفا کمکم کنید:(
ممنون
 

parsezan17

عضو جدید
با سلام خدمت مهندسان عزیز درخواست کمک دارم :
من یک پروژه که باید اینورتر بسازم که چون این اینورتر چند سطحی است باید در آن pwm میکرو avr استاده کنم به این صورت که یک ورودی سینوسی رو با فرکانس برق شهر 50 هرتز میدیم و فرکانس خروجی pwm مون باید 33 برابر آن یعنی 1650 هرتز بشه همچنین باید ایم pwm کاملا متقارن باشه یعنی در یک ربع سیکل با ربع سیکل بعدی کاملا قرینه باشند ولی من نمی تونم کاملا متقارن در بیارم مشکلشم میدونم اونم فرکانس خروجیه که به خاطر رنج های کلاک داخلی میکرو یا حتی کریستال خارجی در نمیاد چون به مقدار 33 یا 11 بخش پذیر نیستند
من برناممو میذارم اه میشه کمکم کنید تو پروتئوس کاملا معلومه تقارن ندارند .
//int k=1;
int z=1;
float i=0;
float j=0;

interrupt [ADC_INT] void adc_isr(void)
{
if (ADCH==0x00)
{
z=0;
}
if (z==0);
{

j=50000/255;
i=(ADCH*j)/100;

//if (i>=x[k-1])
//{
//x[k]=i;
OCR1B=i;
ADCSRA=0xfb;
//k=k+1;
//}
//if (i<x[k-1])
//{
//k=k-1;
//OCR1B=x[k];
//if (k==2)
//{
//k=1;
//z=1;
//i=0;
//j=0;
//}

}

//else
//{
// k=1;
//+z=1;
// OCR1B=0x0000;
// }
//}
}


void main(void)
{
PORTA=0xff;
DDRA=0x00;


PORTD=0x00;
DDRD=0xff;

PORTB=0x00;
DDRB=0xff;


PORTC=0x00;
DDRC=0xff;

SFIOR=0x00;
ADMUX=0x60;
ADCSRA=0xfb;

TCCR1A=0x11;
TCCR1B=0x12;

TIMSK=0x00;
OCR1AH=0x01;
OCR1AL=0xf4;
//x[0]=0;
#asm("sei");
while (1)
{
}
}

شما توی timer1 از ctc top=ocr1a استفاده کن....هم فرکانس کاملا تحت کنترلتون هست به صورت دقیق و هم خودبه خود duty cycle 50% هستش.فک کنم اینطوری مشکلتون حل میشه
 

mehdi.a1968

عضو جدید
سلام و خسته نباشيد
دوستان من ميخوام با LPC1768 و از طريق پورت اترنتش يك عكس يا داده حجم بالا رو نمايش بدم. اين كار بايد از طريق فلش داخلي خود ميكرو انجام بشه. يعني به نوعي شبيه بوت لودر هستش(با بوت لودر هم فقط آشنايي دارم و كاري انجام ندادم
) . ميشه كمكم كنين كه چه كارايي بايد انجام بدم؟؟؟
مثالي يا لينكي تو اين ضمينه هست كه كمكم كنه؟؟خيلي گشتم ولي...
 

mahboob1370

عضو جدید
یه سوال اگه میشه واسم حلش کنید کلی گیج شدم :
به کمک میکرو avr یک ترازوی دیجیتال 0-150kg طراحی کنید . فرض کنید که سنسوری در اختیار دارید که به ازای تغییر هر 100 گرمورودی ، خروجی آن 5mv تغییر میکند (50mv/kg) . و به ازای صفر کیلوگرم ورودی ، خروجی آن صفر ولت میباشد . مقدار وزن اندازه گیری شده باید بر حسب کیلوگرم بر روی یک led نمایش داده شود .
(باید به زبان بیسیک حل بشه ) ( فقط برنامشو لازم دارم فوری چون فردا امتحان دارم این سوال هم حتما میاد و منم که ...............):cry:
 

ali4854

عضو جدید
ترازو دیجیتال

ترازو دیجیتال

یه سوال اگه میشه واسم حلش کنید کلی گیج شدم :
به کمک میکرو avr یک ترازوی دیجیتال 0-150kg طراحی کنید . فرض کنید که سنسوری در اختیار دارید که به ازای تغییر هر 100 گرمورودی ، خروجی آن 5mv تغییر میکند (50mv/kg) . و به ازای صفر کیلوگرم ورودی ، خروجی آن صفر ولت میباشد . مقدار وزن اندازه گیری شده باید بر حسب کیلوگرم بر روی یک led نمایش داده شود .
(باید به زبان بیسیک حل بشه ) ( فقط برنامشو لازم دارم فوری چون فردا امتحان دارم این سوال هم حتما میاد و منم که ...............):cry:[/QU

سلام تو برنامت دستور بنویس ک ورودی بگیره و تقسیم بر 5 میلی ولت کن.اینجوری عددی ک بدست میاد میشه وزن ترازو.بعد با یک رند سازی همون بفرس روی خروجی.اگر lcdاستفاده کنی راحتر.برنامش آسون تلاش کن میتونی.منم امتحان دارم نمیرسم برات بنویسم برای ورودی صفر هم همون اول یک حلقه فور بنویس ک اگه ورودی صفر تو حلقه بمون و داعم ورودی چک کن.بعد ک ورودی داشتی بپر ب یک زیر برنامه و نمایش وزن.
موفق باشی:cool:
 

دوست - قدیمی

عضو جدید
با سلام خدمت مهندسان عزیز درخواست کمک دارم :
من یک پروژه که باید اینورتر بسازم که چون این اینورتر چند سطحی است باید در آن pwm میکرو avr استاده کنم به این صورت که یک ورودی سینوسی رو با فرکانس برق شهر 50 هرتز میدیم و فرکانس خروجی pwm مون باید 33 برابر آن یعنی 1650 هرتز بشه همچنین باید ایم pwm کاملا متقارن باشه یعنی در یک ربع سیکل با ربع سیکل بعدی کاملا قرینه باشند ولی من نمی تونم کاملا متقارن در بیارم مشکلشم میدونم اونم فرکانس خروجیه که به خاطر رنج های کلاک داخلی میکرو یا حتی کریستال خارجی در نمیاد چون به مقدار 33 یا 11 بخش پذیر نیستند
من برناممو میذارم اه میشه کمکم کنید تو پروتئوس کاملا معلومه تقارن ندارند .
//int k=1;
int z=1;
float i=0;
float j=0;

interrupt [ADC_INT] void adc_isr(void)
{
if (ADCH==0x00)
{
z=0;
}
if (z==0);
{

j=50000/255;
i=(ADCH*j)/100;

//if (i>=x[k-1])
//{
//x[k]=i;
OCR1B=i;
ADCSRA=0xfb;
//k=k+1;
//}
//if (i<x[k-1])
//{
//k=k-1;
//OCR1B=x[k];
//if (k==2)
//{
//k=1;
//z=1;
//i=0;
//j=0;
//}

}

//else
//{
// k=1;
//+z=1;
// OCR1B=0x0000;
// }
//}
}


void main(void)
{
PORTA=0xff;
DDRA=0x00;


PORTD=0x00;
DDRD=0xff;

PORTB=0x00;
DDRB=0xff;


PORTC=0x00;
DDRC=0xff;

SFIOR=0x00;
ADMUX=0x60;
ADCSRA=0xfb;

TCCR1A=0x11;
TCCR1B=0x12;

TIMSK=0x00;
OCR1AH=0x01;
OCR1AL=0xf4;
//x[0]=0;
#asm("sei");
while (1)
{
}
}

برنامه ای که نوشتید درسته دوست من ولی مشکل از تئوری شماست! ....

یه مشکل اساسی داره این طرحت رفیق . برق شهر ممکنه دقیقا 50 هرتز نباشه!! مثلا 50.6 هرتز باشه! این حالت ممکنه.

برای استفاده از میکرو برای اپتوکوبلر ها و اینورتر ها از pwm استفاده نمیشه!! از مدار های تشخیص گذر از سطح صفر استفاده میشه که به وقفه int0 , int1 , int2 میکرو متصل است. "تا هر وقت سطح ولتاژ صفر شد میکرو کار انجام بده.

دستورات قبل از main در intrrupt تعریف می شود.



برق شهر از +300 ولت تا -300 ولت در تناوب هست (یا همون مقدار متوسط 220 ولت rms) در این بین هر بار ولتاژ به صفر برسه این مدار یک پالس به میکرو اعمال می کنه تا میکرو را با برق شهر هماهنگ کند.
در گوگل "مدار گذر از سطح صفر" را سرچ کنید.
 
آخرین ویرایش:

elecnet

عضو جدید
سلام . ذوستان برنامه ساخت قطب نمای دیجیتال با AVR به زبان c رو میخواستم، کسی میتونه کمک کنه ؟؟؟
 

دریا77

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

Pro.Eng

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

ali024

عضو جدید
سلام دوستان. واسه اندازه گیری فلو (آب) میخوام از سنسور فلومتر استقاده کنم. اما برنامه متناسب با اون رو گیر نیوردم. لطفا کسی اگه برنامشو داره دریغ نکنه. سنسور هم ls07 هست. ممنون
 
آخرین ویرایش:
Similar threads
Thread starter عنوان تالار پاسخ ها تاریخ
omidvarshoei سوالات و مشکلات رباتیک طراحی دیجیتال و برنامه نویسی 29

Similar threads

بالا