یک توضیح ضروری در مورد شکل قرار داده شده از سایت IAR:
در چارت قرار داده شده برای مقایسه IAR و AVR-GCC، حجم کد تولید شده توسط دو کامپایلر برای پیاده سازی چند کاربرد مقایسه شده که نشان می دهد عملکرد IAR در همه موارد بهتر بوده است.
https://t.iss.one/KnowledgePlus/170
@KnowledgePlus
در چارت قرار داده شده برای مقایسه IAR و AVR-GCC، حجم کد تولید شده توسط دو کامپایلر برای پیاده سازی چند کاربرد مقایسه شده که نشان می دهد عملکرد IAR در همه موارد بهتر بوده است.
https://t.iss.one/KnowledgePlus/170
@KnowledgePlus
Telegram
KnowledgePlus.ir
مقایسه عملکرد IAR و AVR-GCC
https://www.iar.com/iar-embedded-workbench/tools-for-avr/benchmark-results-for-avr/
@KnowledgePlus
https://www.iar.com/iar-embedded-workbench/tools-for-avr/benchmark-results-for-avr/
@KnowledgePlus
منظور از عبارت "کیلوگرم" در مشخصه استپر موتور چیست؟
معمولا در بازار برای بیان گشتاور استپر موتورها از عبارت کیلوگرم استفاده می شود که منظور واحد kgf.cm (کیلوگرم نیرو سانتی متر) است. واحد دیگری که برای گشتاور ذکر می شود N.m (نیوتن متر) است که برای تبدیل به kgf.cm باید آن را بصورت تقریبی در 10 ضرب کرد. به عنوان مثال یک استپر موتور با گشتاور 2 نیوتن متر دارای گشتاوری معادل تقریبا 20 کیلوگرم نیرو سانتی متر است.
@KnowledgePlus
معمولا در بازار برای بیان گشتاور استپر موتورها از عبارت کیلوگرم استفاده می شود که منظور واحد kgf.cm (کیلوگرم نیرو سانتی متر) است. واحد دیگری که برای گشتاور ذکر می شود N.m (نیوتن متر) است که برای تبدیل به kgf.cm باید آن را بصورت تقریبی در 10 ضرب کرد. به عنوان مثال یک استپر موتور با گشتاور 2 نیوتن متر دارای گشتاوری معادل تقریبا 20 کیلوگرم نیرو سانتی متر است.
@KnowledgePlus
تجربه ای خوشایند از نتیجه به اشتراک گذاری اطلاعات:
مدتی پیش در بازدید از شرکتی که محصولاتی را تولید می کردند، بردی را نشان دادند که به عنوان جایگزین یک برد خارجی طراحی شده بود. در هنگام توضیح عملکرد برد مشاهده شد که روی LCD گرافیکی متصل به برد منوهایی به زبان فارسی طراحی شده که فونت بکار رفته در آن خیلی آشنا به نظر می رسد. بعد از سوال در مورد میکروکنترلر مورد استفاده و زبان برنامه نویسی مشخص شد که در سخت افزار برد از میکروکنترلر AVR استفاده شده و برنامه نویسی هم با بسکام انجام شده است. بعد در مورد روش فارسی نویسی و فونت مورد استفاده سوال شد که در نهایت معلوم شد برای فونت فارسی از مطالبی استفاده کرده اند که قبلا در مورد فارسی نویسی در بسکام، در سایت ECA قرار داده شده و بعدا بصورت مقاله ای در سایت منتشر شده است. در هر صورت مشاهده این امر که یکی از مطالب به اشتراک گذاشته شده موجب کمک به تولید یک محصول داخلی و ایجاد اشتغال شده تجربه ای خوشایند و مطلوب بود. لینک مقاله مذکور در اینجا قرار داده می شود و فایل فونت تغییر داده شده بسکام حاوی فونت های فارسی هم در سایت موجود است.
https://knowledgeplus.ir/userfiles/BASCOMv1.pdf
@KnowledgePlus
مدتی پیش در بازدید از شرکتی که محصولاتی را تولید می کردند، بردی را نشان دادند که به عنوان جایگزین یک برد خارجی طراحی شده بود. در هنگام توضیح عملکرد برد مشاهده شد که روی LCD گرافیکی متصل به برد منوهایی به زبان فارسی طراحی شده که فونت بکار رفته در آن خیلی آشنا به نظر می رسد. بعد از سوال در مورد میکروکنترلر مورد استفاده و زبان برنامه نویسی مشخص شد که در سخت افزار برد از میکروکنترلر AVR استفاده شده و برنامه نویسی هم با بسکام انجام شده است. بعد در مورد روش فارسی نویسی و فونت مورد استفاده سوال شد که در نهایت معلوم شد برای فونت فارسی از مطالبی استفاده کرده اند که قبلا در مورد فارسی نویسی در بسکام، در سایت ECA قرار داده شده و بعدا بصورت مقاله ای در سایت منتشر شده است. در هر صورت مشاهده این امر که یکی از مطالب به اشتراک گذاشته شده موجب کمک به تولید یک محصول داخلی و ایجاد اشتغال شده تجربه ای خوشایند و مطلوب بود. لینک مقاله مذکور در اینجا قرار داده می شود و فایل فونت تغییر داده شده بسکام حاوی فونت های فارسی هم در سایت موجود است.
https://knowledgeplus.ir/userfiles/BASCOMv1.pdf
@KnowledgePlus
نظر سنجی: به نظر شما افزایش قیمت دلار
به ضرر تولید داخلی محصولات الکترونیک است – 378
👍👍👍👍👍👍👍 70%
به نفع تولید داخلی محصولات الکترونیک است – 160
👍👍👍 30%
👥 538 people voted so far. Poll closed.
به ضرر تولید داخلی محصولات الکترونیک است – 378
👍👍👍👍👍👍👍 70%
به نفع تولید داخلی محصولات الکترونیک است – 160
👍👍👍 30%
👥 538 people voted so far. Poll closed.
بنا به درخواست دوستانی که با استفاده از اطلاعات قرار داده شده در سایت برای ساخت برد آموزشی AVR و XMEGA اقدام کرده اند، لینک حاوی فایل های بوت لودر برای برنامه ریزی چند شماره 64 و 100 پین XMEGA قرار داده می شود.
https://knowledgeplus.ir/userfiles/XMEGA_BootLoaders.rar
@KnowledgePlus
https://knowledgeplus.ir/userfiles/XMEGA_BootLoaders.rar
@KnowledgePlus
یک روش تجربی برای در آوردن قطعات از بردهای متالیزه:
در بردهای متالیزه دو لایه و بیشتر برای در آوردن قطعاتی مانند رله ها و آی سی های دیپ و نظایر آن که دارای پایه های زیادی هستند، در بسیاری از موارد قلع کش به تنهایی نمی تواند قلع های سمت مقابل برد را خارج کند و استفاده از هوای داغ هم به دلیل کثرت پایه ها و فاصله آنها از هم برای ذوب کردن توام قلع تمام پایه ها بدون آسیب زدن به قطعات و برد جوابگو نیست. یک روش تجربی که در عمل به خوبی جواب می دهد استفاده از این دو روش بصورت ترکیبی است. به این ترتیب که ابتدا توسط قلع کش قلع تمام پایه ها تا حد امکان برداشته شود و در مرحله بعد از هوای داغ استفاده شود که در این شرایط به دلیل کم بودن میزان قلع چسبیده به پایه ها، ذوب توام قلع باقیمانده روی پین ها میسر می شود و با اعمال فشار به قطعه همزمان با اعمال هوای داغ، قطعه به راحتی از جای خود در خواهد آمد.
@KnowledgePlus
در بردهای متالیزه دو لایه و بیشتر برای در آوردن قطعاتی مانند رله ها و آی سی های دیپ و نظایر آن که دارای پایه های زیادی هستند، در بسیاری از موارد قلع کش به تنهایی نمی تواند قلع های سمت مقابل برد را خارج کند و استفاده از هوای داغ هم به دلیل کثرت پایه ها و فاصله آنها از هم برای ذوب کردن توام قلع تمام پایه ها بدون آسیب زدن به قطعات و برد جوابگو نیست. یک روش تجربی که در عمل به خوبی جواب می دهد استفاده از این دو روش بصورت ترکیبی است. به این ترتیب که ابتدا توسط قلع کش قلع تمام پایه ها تا حد امکان برداشته شود و در مرحله بعد از هوای داغ استفاده شود که در این شرایط به دلیل کم بودن میزان قلع چسبیده به پایه ها، ذوب توام قلع باقیمانده روی پین ها میسر می شود و با اعمال فشار به قطعه همزمان با اعمال هوای داغ، قطعه به راحتی از جای خود در خواهد آمد.
@KnowledgePlus
درباره افزایش قیمت دلار و نفع و ضرر آن برای تولید داخلی محصولات الکترونیک:
افزایش قیمت دلار برای کسانی که محصولی را تولید می کنند که معادل وارداتی و به خصوص چینی دارد می تواند یک اتفاق مثبت باشد. زیرا علیرغم افزایش قیمت قطعات و سایر مواردی که متاثر از قیمت دلار هستند، شرایط برای رقابت با محصول خارجی در قیمت و کسب سهم بیشتری از بازار در مجموع می تواند بهبود یابد. اما برای برخی محصولات هم ممکن است بحث رقابت با رقیب خارجی موضوعیتی نداشته باشد و بالا رفتن قیمت دلار تنها موجب افزایش هزینه ها شود و مزیتی را برای تولید کننده ایجاد نکند. بنابراین در پاسخ به این سوال که افزایش دلار به نفع تولید داخلی محصولات الکترونیک است یا به ضرر آن می توان گفت که بستگی به نوع محصول تولید شده دارد و برای تولید برخی محصولات مفید و برای برخی دیگر مضر است.
https://t.iss.one/KnowledgePlus/690
@KnowledgePlus
افزایش قیمت دلار برای کسانی که محصولی را تولید می کنند که معادل وارداتی و به خصوص چینی دارد می تواند یک اتفاق مثبت باشد. زیرا علیرغم افزایش قیمت قطعات و سایر مواردی که متاثر از قیمت دلار هستند، شرایط برای رقابت با محصول خارجی در قیمت و کسب سهم بیشتری از بازار در مجموع می تواند بهبود یابد. اما برای برخی محصولات هم ممکن است بحث رقابت با رقیب خارجی موضوعیتی نداشته باشد و بالا رفتن قیمت دلار تنها موجب افزایش هزینه ها شود و مزیتی را برای تولید کننده ایجاد نکند. بنابراین در پاسخ به این سوال که افزایش دلار به نفع تولید داخلی محصولات الکترونیک است یا به ضرر آن می توان گفت که بستگی به نوع محصول تولید شده دارد و برای تولید برخی محصولات مفید و برای برخی دیگر مضر است.
https://t.iss.one/KnowledgePlus/690
@KnowledgePlus
Telegram
KnowledgePlus.ir
نظر سنجی: به نظر شما افزایش قیمت دلار
به ضرر تولید داخلی محصولات الکترونیک است – 378
👍👍👍👍👍👍👍 70%
به نفع تولید داخلی محصولات الکترونیک است – 160
👍👍👍 30%
👥 538 people voted so far. Poll closed.
به ضرر تولید داخلی محصولات الکترونیک است – 378
👍👍👍👍👍👍👍 70%
به نفع تولید داخلی محصولات الکترونیک است – 160
👍👍👍 30%
👥 538 people voted so far. Poll closed.
آیا می دانستید قدرت پردازشی کامپیوتر فضاپیمای آپولو (Apollo Guidance Computer یا AGC) در پروژه نشستن انسان بر کره ماه، از برخی میکروکنترلرهایی که امروزه حتی دانش آموزان با آن کار می کنند بسیار ضعیف تر بوده است؟
@KnowledgePlus
@KnowledgePlus
از جمله پارامترهای موثر در محاسبه هزینه استفاده از یک ابزار نرم افزاری یا سخت افزاری، نفر ساعت لازم برای تسلط بر آن ابزار است. وقت گذاشتن بیشتر به معنای صرف هزینه بیشتر است و این مسئله ای است که برخی از افراد در محاسباتشان لحاظ نمی کنند و فقط قیمت قطعات و مانند آن را مبنای گرانی و ارزانی در نظر می گیرند.
@KnowledgePlus
@KnowledgePlus
در سورس های نوشته شده تحت winavr یا AtmelStudio برای خواندن یک بایت از حافظه فلش از pgm_read_byte استفاده می شود که برای مطابقت دادن این سورس ها با CodeVision یا IAR می توانیم از ماکرو زیر استفاده کنیم:
#define pgm_read_byte(x) (*((unsigned char __flash *)(x)))
@KnowledgePlus
#define pgm_read_byte(x) (*((unsigned char __flash *)(x)))
@KnowledgePlus
تمرین برنامه نویسی نسبتا مشکل با یک تک LED:
در کاربردهایی که پیاده سازی آنها مستلزم تسلط به کدنویسی است حتما لازم نیست از سخت افزارهای پیچیده ای استفاده شده باشد و حتی ممکن است با یک تک LED بتوان صورت مسئله ای را تعریف کرد که انجام آن از عهده برنامه نویسان مبتدی خارج باشد.
یک LED به یکی از پین های میکروکنترلر متصل است و هدف نوشتن برنامه ای است که با اجرای آن نور LED به ترتیبی که توضیح داده می شود از وضعیت خاموش شروع به افزایش کند و بعد از رسیدن به یک مقدار حداکثر دوباره کاهش یابد و این روال همچنان ادامه یابد. برای تغییر ولتاژ LED باید از روش PWM استفاده شود. پارامترهای زیر در برنامه باید قابل تعیین باشند:
1- مدت زمان افزایش نور از حداقل به حداکثر.
2- منحنی ولتاژ اعمال شده به LED در یکی از دو وضعیت خطی یا سهمی در سیکل افزایش نور.
3- مدت زمان کاهش نور از حداکثر به حداقل (مستقل از گزینه 1).
4- منحنی ولتاژ اعمال شده به LED در یکی از دو وضعیت خطی یا سهمی در سیکل کاهش نور.
5- حداکثر ولتاژ اعمال شده به LED که محل تلاقی دو منحنی افزایش یا کاهش ولتاژ است.
به عنوان مثال می خواهیم ولتاژ متوسط یک LED در مدت زمان 1 ثانیه تحت منحنی خطی از صفر به نصف مقدار حداکثر خود برسد و سپس در مدت زمان 2.2 ثانیه تحت منحنی سهمی به صفر برسد و این روال بصورت پریودیک همچنان ادامه یابد.
پی نوشت: اگر شما مشغول یادگیری یکی از میکروکنترلرها هستید و نظیر این کاربرد را نمی توانید برای یک LED پیاده سازی کنید توصیه می شود بیشتر از آنکه به دنبال کار کردن با سخت افزارهای پیچیده تر باشید، روی توسعه مهارت های برنامه نویسی خود متمرکز شوید.
@KnowledgePlus
در کاربردهایی که پیاده سازی آنها مستلزم تسلط به کدنویسی است حتما لازم نیست از سخت افزارهای پیچیده ای استفاده شده باشد و حتی ممکن است با یک تک LED بتوان صورت مسئله ای را تعریف کرد که انجام آن از عهده برنامه نویسان مبتدی خارج باشد.
یک LED به یکی از پین های میکروکنترلر متصل است و هدف نوشتن برنامه ای است که با اجرای آن نور LED به ترتیبی که توضیح داده می شود از وضعیت خاموش شروع به افزایش کند و بعد از رسیدن به یک مقدار حداکثر دوباره کاهش یابد و این روال همچنان ادامه یابد. برای تغییر ولتاژ LED باید از روش PWM استفاده شود. پارامترهای زیر در برنامه باید قابل تعیین باشند:
1- مدت زمان افزایش نور از حداقل به حداکثر.
2- منحنی ولتاژ اعمال شده به LED در یکی از دو وضعیت خطی یا سهمی در سیکل افزایش نور.
3- مدت زمان کاهش نور از حداکثر به حداقل (مستقل از گزینه 1).
4- منحنی ولتاژ اعمال شده به LED در یکی از دو وضعیت خطی یا سهمی در سیکل کاهش نور.
5- حداکثر ولتاژ اعمال شده به LED که محل تلاقی دو منحنی افزایش یا کاهش ولتاژ است.
به عنوان مثال می خواهیم ولتاژ متوسط یک LED در مدت زمان 1 ثانیه تحت منحنی خطی از صفر به نصف مقدار حداکثر خود برسد و سپس در مدت زمان 2.2 ثانیه تحت منحنی سهمی به صفر برسد و این روال بصورت پریودیک همچنان ادامه یابد.
پی نوشت: اگر شما مشغول یادگیری یکی از میکروکنترلرها هستید و نظیر این کاربرد را نمی توانید برای یک LED پیاده سازی کنید توصیه می شود بیشتر از آنکه به دنبال کار کردن با سخت افزارهای پیچیده تر باشید، روی توسعه مهارت های برنامه نویسی خود متمرکز شوید.
@KnowledgePlus
برخی افراد تازه وارد در رشته الکترونیک مانند شخصی که وارد رستوران می شود و منوی غذا را طلب می کند تا بهترینش را انتخاب کند، بدون توجه به مقدورات و توانایی هایشان و تبعات انتخاب موضوعات مختلف به لحاظ زمانی که باید صرف کنند در این مورد سوال می کنند که کدام قسمت از الکترونیک درآمدش بهتر است و طالب بیشتری دارد تا ما همان را انتخاب کنیم. این در حالی است که عدم توجه به لوازم و تبعات حرکت در هر مسیری می تواند باعث سرخوردگی و پشیمانی و زده شدن از این رشته شود که نمونه های چنین افرادی بسیار زیاد است.
@KnowledgePlus
@KnowledgePlus
در چند روز اخیر در یک کنترلر صنعتی شامل دو میکروکنترلر با کدهای سنگین و مفصلی که یکی با C و دیگری با اسمبلی نوشته شده بود، عملکرد غلطی مشاهده شد که پیدا کردن دلیل آن وقت بسیار زیادی را به خود اختصاص داد. در نهایت مشخص شد که این باگ به دلیل عملیات کپی از یک بخش کد و قرار دادن آن در بخش دیگر و عدم اصلاح لازم در محتوای paste شده بوجود آمده که خطایی در کامپایل ایجاد نمی شد اما عملکرد نهایی هم درست نبود. این تجربه برای بار چندم نشان داد که در مورد ایجاد باگ ناشی از عملیات copy/paste یک بخش کد و تغییر در آن باید بصورت مضاعف دقت و مراقبت شود.
@KnowledgePlus
@KnowledgePlus
دوستانی که قصد ساخت برد آموزشی AVR و XMEGA را دارند که فایل مدار چاپی آن در سایت قرار داده شده، برای انتخاب 7segment های برد به دو نکته توجه کنند:
1- متناسب با این برد در بازار دو نوع 7segment وجود دارد که شبیه به هم هستند. اما در یکی کاتد مشترک در پین وسط قرار دارد و در دیگری کاتد در پین کناری واقع است که برای این برد باید از نوع کاتد کنار استفاده شود.
2- برای بهبود نمایش کاراکترها از 7segment های نوع high brightness استفاده کنید.
@KnowledgePlus
1- متناسب با این برد در بازار دو نوع 7segment وجود دارد که شبیه به هم هستند. اما در یکی کاتد مشترک در پین وسط قرار دارد و در دیگری کاتد در پین کناری واقع است که برای این برد باید از نوع کاتد کنار استفاده شود.
2- برای بهبود نمایش کاراکترها از 7segment های نوع high brightness استفاده کنید.
@KnowledgePlus
برای not کردن بیت های تعریف شده در یک struct می توان مطابق مثال زیر عمل کرد.
مرحله تعریف x و y به عنوان بیت در ساختار flags:
struct
{
unsigned char x:1;
unsigned char y:1;
}flags;
برای not کردن بیت x:
flags.x=flags.x?0:1;
@KnowledgePlus
مرحله تعریف x و y به عنوان بیت در ساختار flags:
struct
{
unsigned char x:1;
unsigned char y:1;
}flags;
برای not کردن بیت x:
flags.x=flags.x?0:1;
@KnowledgePlus
این یک نظر و تجربه شخصی است. مطابق آمارهایی که در سایت های مختلف قابل دسترس است بین 70 تا 85 درصد (یا حتی بیشتر) اقتصاد ایران دولتی یا شبه دولتی است. اما تجربه نشان می دهد که به دلایل متعدد که شرح آن در این مجال نمی گنجد، موقعیت ها و فرصت ها برای طراحی و تولید پروژه ها و محصولات داخلی در رشته الکترونیک در آن بخش اقلیت که صنایع خصوصی را هم شامل می شود، بسیار بیشتر از فرصت ها در آن اکثریت دولتی و شبه دولتی است.
@KnowledgePlus
@KnowledgePlus
تمرین برنامه نویسی:
تابعی بنویسید که یک رشته را دریافت کند و تعیین کند که آیا محتوای رشته یک عدد معتبر در مبنای ده است یا نه. علامت منفی قبل از عدد و علامت ممیز در بین ارقام عدد هم کاراکترهای مجاز هستند. به عنوان مثال اگر رشته ای حاوی 123.456 به این تابع ارسال شود آن را به عنوان عدد معتبر تعیین می کند. اما 123.4.56 یا 12K3;4 باید به عنوان اعداد غیر معتبر با کاراکترهای غیرمجاز تعیین شوند.
پی نوشت: این صورت مسئله ای است که چندی پیش در جریان نوشتن برنامه یک کنترلر صنعتی به آن برخورد شد و تابعی برای آن نوشته شد.
@KnowledgePlus
تابعی بنویسید که یک رشته را دریافت کند و تعیین کند که آیا محتوای رشته یک عدد معتبر در مبنای ده است یا نه. علامت منفی قبل از عدد و علامت ممیز در بین ارقام عدد هم کاراکترهای مجاز هستند. به عنوان مثال اگر رشته ای حاوی 123.456 به این تابع ارسال شود آن را به عنوان عدد معتبر تعیین می کند. اما 123.4.56 یا 12K3;4 باید به عنوان اعداد غیر معتبر با کاراکترهای غیرمجاز تعیین شوند.
پی نوشت: این صورت مسئله ای است که چندی پیش در جریان نوشتن برنامه یک کنترلر صنعتی به آن برخورد شد و تابعی برای آن نوشته شد.
@KnowledgePlus
دوستی نقل می کرد که روزی یک تعمیرکار تلویزیون برای پیدا کردن عیب تلویزیونی که تصویر خوبی نداشت، ولتاژ نقاط مختلف برد تلویزیون را با مولتی متر اندازه می گرفت. در جریان این اندازه گیری در یک لحظه تعمیر کار مشاهده کرد که با قرار دادن مولتی متر در نقطه ای مشخص، تصویر بسیار عالی و واضح شد. پس مولتی متر را همانجا لحیم کرد و پول آن را به علاوه اجرت تعمیر از مشتری گرفت. و این حکایت طنز یا شاید هم واقعی شبیه داستان برخی از افراد است که بجای بالا بردن دانش تئوری خود برای جواب گرفتن از سخت افزار و نرم افزار، بیشتر به دنبال روش های مبتنی بر سعی و خطا هستند.
@KnowledgePlus
@KnowledgePlus
آموزش سریع ایجاد پروژه در کامپایلر IAR برای کار با AVR یا XMEGA:
ابتدا از طریق منوی
Project/Create new project
گزینه C یا ++C شاخه
AVR Studio 4 compatible output
را انتخاب کنید. سپس در پنجره ای که باز می شود محل ذخیره سازی فایل پروژه را مشخص کنید. در مرحله بعدی فایل main برنامه توسط کامپایلر ایجاد می شود. سپس در ناحیه workspace بجای گزینه Debug، نسخه Release را انتخاب کنید. سپس در مسیر
Project/Options/General Options/Target/Processor configuration
نوع میکروکنترلر مورد استفاده را انتخاب کنید. در مسیر
Project/Options/General Options/System
تیک
Enable bit definitions in I/O include files
را بزنید.
بعد از نوشتن کد مورد نظر در محیط کامپایلر، با زدن F7 پنجره ای باز می شود و محل ذخیره فایل با پسوند eww را سوال می کند. با انتخاب نام مناسب و محل فولدر تشکیل شده برای این پروژه، برنامه کامپایل می شود. فایل های خروجی با پسوند Hex برای flash و eeprom در فولدر Release/Exe ذخیره می شوند. برای آگاهی از میزان مصرف حافظه در مسیر
Project/Options/Linker/List
تیک
Generate linker listing
و تیک های داخل آن را بزنید و بعد از کامپایل با مراجعه به محتوای فایل با پسوند map که در فایل های خروجی پروژه در ناحیه Workspace بخش Output قابل دسترس است، میزان مصرف CSTACK و RSTACK در هر مرحله را بررسی کنید. در صورت کافی نبودن میزان این بخش های حافظه، ظرفیت این بخش ها را در مسیر
Project/Options/General Options/System
در مقدار دلخواه تعیین کنید. برای استفاده از برخی از کتابخانه های موجود ممکن است لازم باشد در مسیر
Project/Options/General Options/Library Configuration
نوع کتابخانه ها را از وضعیت CLIB به گزینه های دیگر مانند Normal DLIB تغییر دهید.
@KnowledgePlus
ابتدا از طریق منوی
Project/Create new project
گزینه C یا ++C شاخه
AVR Studio 4 compatible output
را انتخاب کنید. سپس در پنجره ای که باز می شود محل ذخیره سازی فایل پروژه را مشخص کنید. در مرحله بعدی فایل main برنامه توسط کامپایلر ایجاد می شود. سپس در ناحیه workspace بجای گزینه Debug، نسخه Release را انتخاب کنید. سپس در مسیر
Project/Options/General Options/Target/Processor configuration
نوع میکروکنترلر مورد استفاده را انتخاب کنید. در مسیر
Project/Options/General Options/System
تیک
Enable bit definitions in I/O include files
را بزنید.
بعد از نوشتن کد مورد نظر در محیط کامپایلر، با زدن F7 پنجره ای باز می شود و محل ذخیره فایل با پسوند eww را سوال می کند. با انتخاب نام مناسب و محل فولدر تشکیل شده برای این پروژه، برنامه کامپایل می شود. فایل های خروجی با پسوند Hex برای flash و eeprom در فولدر Release/Exe ذخیره می شوند. برای آگاهی از میزان مصرف حافظه در مسیر
Project/Options/Linker/List
تیک
Generate linker listing
و تیک های داخل آن را بزنید و بعد از کامپایل با مراجعه به محتوای فایل با پسوند map که در فایل های خروجی پروژه در ناحیه Workspace بخش Output قابل دسترس است، میزان مصرف CSTACK و RSTACK در هر مرحله را بررسی کنید. در صورت کافی نبودن میزان این بخش های حافظه، ظرفیت این بخش ها را در مسیر
Project/Options/General Options/System
در مقدار دلخواه تعیین کنید. برای استفاده از برخی از کتابخانه های موجود ممکن است لازم باشد در مسیر
Project/Options/General Options/Library Configuration
نوع کتابخانه ها را از وضعیت CLIB به گزینه های دیگر مانند Normal DLIB تغییر دهید.
@KnowledgePlus
دو نفر به قصد سکونت و کشاورزی وارد سرزمینی شدند. یکی از آنها بعد از بررسی جایی را انتخاب کرد و مشغول کاشت درخت در آن شد. اما دیگری با این فکر که جای بهتری را انتخاب کند بین مکان های مختلف در رفت آمد و سرگردان بود. روزها و سال ها گذشت و درخت آن کس که زمینی را انتخاب کرده بود به مرور ریشه دواند و رشد کرد و بار نشست. شاید جایی که او انتخاب کرده بود و درختی را که کاشته بود بهترین نبودند. اما مهم این بود که بالاخره کارش به نتیجه رسید و به ثمر نشست. اما دومی با این فکر که باید جای بهتری را پیدا کنم همچنان سرگردان بود و بعد از اتلاف عمر و انرژی بسیار در آخر هم خسته شد و هیچ وقت به محصول و نتیجه ای نرسید. این داستان پاسخی نمادین بود به کسانی که برای مدت های طولانی معطل می مانند و بحث می کنند که مثلا با چه میکروکنترلری کار کنم؟ با چه زبان برنامه نویسی و کامپایلری کار کنم؟ ST بهتر است یا NXP؟ آیا با HAL کار کنم یا SPL؟ آردوینو خوب است یا بد؟ لینوکس یا ویندوز؟ پایتون یا سی؟ و سوالات و مقایسه های مشابه. مرحله "با چه کار کنم؟" و "چه از چه بهتر است؟" اگر بیشتر از یک حد طول بکشد به معنای اتلاف زمان و عمر خواهد بود. بعد از بررسی معقول مطابق تمثیل فوق بالاخره یک جا را انتخاب کنید و کاشت درختتان را آغاز کنید.
@KnowledgePlus
@KnowledgePlus
برای ساخت اینورتر سه فاز به مطالبی که در سال های گذشته در تاپیک زیر قرار داده شده مراجعه کنید:
https://www.eca.ir/forums/thread24977.html
@KnowledgePlus
https://www.eca.ir/forums/thread24977.html
@KnowledgePlus
انجمن های تخصصی برق و الکترونیک ECA
ساخت اینورتر 3 فاز یکی از موضوعات جذاب و پرکاربرد در پروژه های الکترونیک است که به دلیل جنبه های اقتصادی آن معمولا اطلاعات چندان شفافی برای آن وجود ندارد و اکثر مطالب در سطح توضیحات کلی ارائه شده اند. در همین رابطه در تاپیک تولید موج سینوسی (https://www.e…