نکته طراحی مدار:
یکسوسازی سینوسی با پل دیود باعث دو برابر شدن فرکانس میشود. بنابراین در یکسوسازی ترانس تغذیه شده از برق شهر، فرکانس تغییرات ریپل بعد از پل دیود و خازن بجای 50 هرتز، 100 هرتز خواهد بود. این فرکانس می تواند بسته به نوع مدارات از طریق تغذیه به مدار نفوذ کند. بنابراین در طراحی مدارات حساس به نویز در صورت استفاده از این روش برای تامین تغذیه، علاوه بر تاثیر نویز 50 هرتز ناشی از برق شهر، تاثیر نویز 100 هرتز هم باید مد نظر قرار بگیرد.
@KnowledgePlus
یکسوسازی سینوسی با پل دیود باعث دو برابر شدن فرکانس میشود. بنابراین در یکسوسازی ترانس تغذیه شده از برق شهر، فرکانس تغییرات ریپل بعد از پل دیود و خازن بجای 50 هرتز، 100 هرتز خواهد بود. این فرکانس می تواند بسته به نوع مدارات از طریق تغذیه به مدار نفوذ کند. بنابراین در طراحی مدارات حساس به نویز در صورت استفاده از این روش برای تامین تغذیه، علاوه بر تاثیر نویز 50 هرتز ناشی از برق شهر، تاثیر نویز 100 هرتز هم باید مد نظر قرار بگیرد.
@KnowledgePlus
نکته ای در استفاده از اسیلوسکوپ:
اتصال probe اسیلوسکوپ در وضعیت x1 به پایه های کریستال متصل به میکروکنترلر، می تواند باعث از کار افتادن اسیلاتور و عدم مشاهده صحیح نوسان شود و برای اندازه گیری در این شرایط باید از وضعیت x10 استفاده شود.
@KnowledgePlus
اتصال probe اسیلوسکوپ در وضعیت x1 به پایه های کریستال متصل به میکروکنترلر، می تواند باعث از کار افتادن اسیلاتور و عدم مشاهده صحیح نوسان شود و برای اندازه گیری در این شرایط باید از وضعیت x10 استفاده شود.
@KnowledgePlus
نکته طراحی مدار:
قرار دادن خازن های بزرگ (مثلا 1000 میکروفاراد) در خروجی رگولاتورهای سری 78 و رگولاتورهای مشابه در زمان خاموش شدن مدار و در صورتی که ولتاژ ورودی رگولاتور سریع تر از ولتاژ خروجی آن افت کند، به دلیل تخلیه خازن از طریق پین خروجی رگولاتور می تواند باعث سوختن آن شود. بنابراین در صورت وجود خازن های بزرگ در خروجی این نوع رگولاتورها باید یک دیود بصورت معکوس از خروجی به ورودی رگولاتور متصل شود تا مسیر دشارژ خازن را فراهم کند و مانع از سوختن احتمالی آن شود.
@KnowledgePlus
قرار دادن خازن های بزرگ (مثلا 1000 میکروفاراد) در خروجی رگولاتورهای سری 78 و رگولاتورهای مشابه در زمان خاموش شدن مدار و در صورتی که ولتاژ ورودی رگولاتور سریع تر از ولتاژ خروجی آن افت کند، به دلیل تخلیه خازن از طریق پین خروجی رگولاتور می تواند باعث سوختن آن شود. بنابراین در صورت وجود خازن های بزرگ در خروجی این نوع رگولاتورها باید یک دیود بصورت معکوس از خروجی به ورودی رگولاتور متصل شود تا مسیر دشارژ خازن را فراهم کند و مانع از سوختن احتمالی آن شود.
@KnowledgePlus
برای هر استپر موتور، عددی به عنوان گشتاور بر حسب واحدهای مختلف مانند
@KnowledgePlus
N.m
یا kgf.cm
بیان می شود. برای درک بهتر این عدد، فرض کنیم شفت یک استپر موتور در وضعیت قفل به موازات افق قرار بگیرد و میله ای عمود بر شفت به آن متصل باشد و این میله هم در وضعیت افقی باشد. اگر وزنه ای را به سر این میله آویزان کنیم، سوال این است که این استپر موتور تا چه وزنه ای را می تواند بدون اینکه بچرخد در حالت قفل نگه دارد؟ پاسخ این سوال به گشتاور موتور و جرم وزنه و فاصله آن از مرکز شفت بستگی دارد. یک استپر موتور با Holding Torque یا همان گشتاور وضعیت قفل برابر با 1kgf.cm
می تواند در فاصله 1cm از مرکز شفت خود، نیروی 1kgf را عمود بر محور چرخش وارد کند. همین موتور می تواند در فاصله 10cm از مرکز شفت خود، نیروی 0.1kgf را عمود بر محور چرخش وارد کند. به همین ترتیب می توان در هر فاصله ای از محور موتور، حداکثر نیروی اعمال شده را محاسبه کرد. بنابراین در مثال اخیر با آگاهی از گشتاور موتور که به نوع موتور و مشخصات آن بستگی دارد و فاصله وزنه، میتوان حداکثر وزن قابل تحمل توسط استپر موتور را در فاصله مشخص محاسبه کرد.@KnowledgePlus
نکته طراحی مدار:
در صورت نیاز به وجود مقاومت pull up در پین ورودی میکروکنترلر، فعال کردن این مقاومت بصورت داخلی ممکن است به تنهایی در محیط های پر نویز کافی نباشد و در مواقعی لازم است مقاومت pull up با مقدار مناسب بصورت خارجی قرار داده شود. همچنین در صورت نیاز به مقاومت pull down برای خانواده هایی که امکان فعال کردن این نوع مقاومت در آنها وجود دارد، در شرایط پرنویز ممکن است لازم باشد این مقاومت بصورت خارجی قرار داده شود.
@KnowledgePlus
در صورت نیاز به وجود مقاومت pull up در پین ورودی میکروکنترلر، فعال کردن این مقاومت بصورت داخلی ممکن است به تنهایی در محیط های پر نویز کافی نباشد و در مواقعی لازم است مقاومت pull up با مقدار مناسب بصورت خارجی قرار داده شود. همچنین در صورت نیاز به مقاومت pull down برای خانواده هایی که امکان فعال کردن این نوع مقاومت در آنها وجود دارد، در شرایط پرنویز ممکن است لازم باشد این مقاومت بصورت خارجی قرار داده شود.
@KnowledgePlus
نکته طراحی مدار:
در برخی از کاربردها، استفاده از دیود داخلی ماسفت ها به عنوان دیود هرزگرد به دلیل مشخصات و نحوه عملکرد آن مطلوب نیست و لازم است این دیود بای پس شود و بجای آن یک دیود بصورت خارجی قرار داده شود. برای بای پس کردن دیود داخلی ماسفت های کانال N میتوان با پایه درین(drain) آن یک دیود مناسب را سری کرد به نحوی که کاتد دیود به درین ماسفت متصل شود. حال برای اتصال دیود هرزگرد خارجی می توان آند آن را به سورس ماسفت و کاتد آن را به آند دیود سری شده با ماسفت متصل کرد. با این آرایش، جریان معکوس امکان عبور از دیود داخلی ماسفت را نخواهد داشت و بجای دیود داخلی از مسیر دیود معکوس خارجی عبور خواهد کرد.
@KnowledgePlus
در برخی از کاربردها، استفاده از دیود داخلی ماسفت ها به عنوان دیود هرزگرد به دلیل مشخصات و نحوه عملکرد آن مطلوب نیست و لازم است این دیود بای پس شود و بجای آن یک دیود بصورت خارجی قرار داده شود. برای بای پس کردن دیود داخلی ماسفت های کانال N میتوان با پایه درین(drain) آن یک دیود مناسب را سری کرد به نحوی که کاتد دیود به درین ماسفت متصل شود. حال برای اتصال دیود هرزگرد خارجی می توان آند آن را به سورس ماسفت و کاتد آن را به آند دیود سری شده با ماسفت متصل کرد. با این آرایش، جریان معکوس امکان عبور از دیود داخلی ماسفت را نخواهد داشت و بجای دیود داخلی از مسیر دیود معکوس خارجی عبور خواهد کرد.
@KnowledgePlus
توصیه ای برای برنامه نویسان خانواده های AVR و XMEGA:
اگر قصد استفاده از حداکثر ظرفیت و توانمندی AVR یا XMEGA را دارید، حتما برنامه نویسی اسمبلی برای این خانواده ها را در سطح حرفه ای یاد بگیرید.
@KnowledgePlus
اگر قصد استفاده از حداکثر ظرفیت و توانمندی AVR یا XMEGA را دارید، حتما برنامه نویسی اسمبلی برای این خانواده ها را در سطح حرفه ای یاد بگیرید.
@KnowledgePlus
اتصال کوتاه کردن سیم های یکی از فازهای استپر موتور، باعث ایجاد نیروی مخالف در برابر حرکت و وضعیتی مانند قفل شدن موتور می شود. از این خاصیت می توان بدون استفاده از مولتی متر برای تشخیص فازهای موتورهایی استفاده کرد که سیم پیچ فازها بصورت مجزا خارج شده باشند. مثلا در یک استپر موتور دو فاز و چهار سیم، از این روش می توان برای تشخیص هر یک از دو فاز استفاده کرد. در این شرایط اگر سیم پیچ های مربوط به دو فاز مختلف به هم متصل شوند، حالت قفل ابجاد نمی شود. در موتورهایی مانند استپر موتوهای دو فاز و پنج سیم که سیم پیچ ها بصورت داخلی به هم متصل شده اند، این روش برای تشخیص فازها قابل استفاده نیست.
@KnowledgePlus
@KnowledgePlus
در AVR برای جلوگیری از پاک شدن eeprom داخلی باید Brownout detection فعال شود و سطح ولتاژ آن با توجه به مقدار تغذیه، در بالاترین سطح ممکن تنظیم شود.
@KnowledgePlus
@KnowledgePlus
نکته ای در برنامه نویسی:
برای کاهش حجم کد و افزایش سرعت اجرای عملیات در استفاده از عبارت های با دسترسی چند مرحله ای، بجای تکرار عبارتی که هر بار ذکر آن باعث چند مرحله عملیات می شود می توان عملیات را روی یک کپی از آن عبارت انجام داد.
برای درک بهتر، فرض کنیم در برنامه نویسی c اعضای آرایه a به عنوان index آرایه b در نظر گرفته شده باشند و عبارت زیر در برنامه برای دسترسی به آرایه b بکار رفته باشد:
b[a[i]]
حال اگر در عملیات مختلف، چند بار نیاز به استفاده از این عبارت وجود داشته باشد و فرض بر عدم تغییر این عبارت باشد، بجای تکرار آن که در هر بار، باعث چند مرحله دسترسی می شود کافی است یک کپی از آن را در یک متغیر قرار دهیم و عملیات را روی آن کپی انجام دهیم تا سرعت اجرای کد معادل افزایش و حجم آن کاهش یابد.
@KnowledgePlus
برای کاهش حجم کد و افزایش سرعت اجرای عملیات در استفاده از عبارت های با دسترسی چند مرحله ای، بجای تکرار عبارتی که هر بار ذکر آن باعث چند مرحله عملیات می شود می توان عملیات را روی یک کپی از آن عبارت انجام داد.
برای درک بهتر، فرض کنیم در برنامه نویسی c اعضای آرایه a به عنوان index آرایه b در نظر گرفته شده باشند و عبارت زیر در برنامه برای دسترسی به آرایه b بکار رفته باشد:
b[a[i]]
حال اگر در عملیات مختلف، چند بار نیاز به استفاده از این عبارت وجود داشته باشد و فرض بر عدم تغییر این عبارت باشد، بجای تکرار آن که در هر بار، باعث چند مرحله دسترسی می شود کافی است یک کپی از آن را در یک متغیر قرار دهیم و عملیات را روی آن کپی انجام دهیم تا سرعت اجرای کد معادل افزایش و حجم آن کاهش یابد.
@KnowledgePlus
در کاربردهای صنعتی و پر نویز بهتر است پین reset بعد از برنامه ریزی میکروکنترلر بصورت مستقیم از طریق جامپر یا لحیم کاری (بسته به نوع میکروکنترلر و منطق این پین) به vcc یا gnd اتصال کوتاه شود.
@KnowledgePlus
@KnowledgePlus
نکته طراحی مدار:
استفاده از مقاومت های با سلف معادل زیاد به عنوان مقاومت شنت برای اندازه گیری جریان در کاربرد هایی که سوییچ جریان های زیاد در زمان های کوتاه اتفاق می افتد، به دلیل ولتاژ ایجاد شده دو سر مقاومت ناشی از جمله Ldi/dt که L سلف معادل در مدل مقاومت است، باعث خطا در قرائت جریان واقعی در لحظات سوییچ جریان می شود.
@KnowledgePlus
استفاده از مقاومت های با سلف معادل زیاد به عنوان مقاومت شنت برای اندازه گیری جریان در کاربرد هایی که سوییچ جریان های زیاد در زمان های کوتاه اتفاق می افتد، به دلیل ولتاژ ایجاد شده دو سر مقاومت ناشی از جمله Ldi/dt که L سلف معادل در مدل مقاومت است، باعث خطا در قرائت جریان واقعی در لحظات سوییچ جریان می شود.
@KnowledgePlus
سخنی با دوستان طالب پیشرفت و کسب مهارت و تخصص:
برخی از دوستان تصور می کنند با شرکت در یک کلاس یا خواندن جزوه یا کتاب خاصی می توان به مرحله تخصص و طراحی رسید. در حالی که هیچ کتاب و کلاسی وجود ندارد که به تنهایی بتواند یک نفر را مبدل به طراح و برنامه نویس در سطح حرفه ای کند. بلکه در کنار منابع آموزشی لازم است ده ها و صد ها ساعت زمان برای آزمایش و تمرین و آزمودن آموخته ها صرف شود تا در مرور زمان، تجربه و تسلط کافی بدست آید. به خصوص اینکه در بخش برق و الکترونیک، رقابت و تعداد نفرات بسیار زیاد است و کسب یکسری آموزش های اولیه به تنهایی کافی نیست و شرط لازم برای شاخص و متمایز شدن نسبت به دیگران به لحاظ توانمندی، صرف وقت کافی برای کسب تجربه و مهارت بصورت عملی است.
@KnowledgePlus
برخی از دوستان تصور می کنند با شرکت در یک کلاس یا خواندن جزوه یا کتاب خاصی می توان به مرحله تخصص و طراحی رسید. در حالی که هیچ کتاب و کلاسی وجود ندارد که به تنهایی بتواند یک نفر را مبدل به طراح و برنامه نویس در سطح حرفه ای کند. بلکه در کنار منابع آموزشی لازم است ده ها و صد ها ساعت زمان برای آزمایش و تمرین و آزمودن آموخته ها صرف شود تا در مرور زمان، تجربه و تسلط کافی بدست آید. به خصوص اینکه در بخش برق و الکترونیک، رقابت و تعداد نفرات بسیار زیاد است و کسب یکسری آموزش های اولیه به تنهایی کافی نیست و شرط لازم برای شاخص و متمایز شدن نسبت به دیگران به لحاظ توانمندی، صرف وقت کافی برای کسب تجربه و مهارت بصورت عملی است.
@KnowledgePlus
نکته آموزشی در کار با درایورهای استپر و سروموتور:
روش clock-direction که در آن به یک ورودی درایور، پالس های فرمان حرکت و به ورودی دیگر فرمان جهت اعمال می شود، تنها روش موجود برای اعمال پالس به درایورها نیست. دو روش دیگر که در برخی از درایورها از آنها پشتیبانی می شود، عبارت اند از:
- روش CW-CCW که در آن دو ورودی مجزا در درایور برای کلاک هر جهت چرخش وجود دارد و با اعمال کلاک به هر ورودی، موتور در جهت متناظر با همان کلاک می چرخد.
-روش AB Phase که در آن قابلیت اعمال پالس های Quadrature -پالس خروجی انکودرها- برای چرخش موتور در دو جهت وجود دارد. با استفاده از این مد می توان از انکودرها برای فرمان به درایور در دو جهت استفاده کرد.
@KnowledgePlus
روش clock-direction که در آن به یک ورودی درایور، پالس های فرمان حرکت و به ورودی دیگر فرمان جهت اعمال می شود، تنها روش موجود برای اعمال پالس به درایورها نیست. دو روش دیگر که در برخی از درایورها از آنها پشتیبانی می شود، عبارت اند از:
- روش CW-CCW که در آن دو ورودی مجزا در درایور برای کلاک هر جهت چرخش وجود دارد و با اعمال کلاک به هر ورودی، موتور در جهت متناظر با همان کلاک می چرخد.
-روش AB Phase که در آن قابلیت اعمال پالس های Quadrature -پالس خروجی انکودرها- برای چرخش موتور در دو جهت وجود دارد. با استفاده از این مد می توان از انکودرها برای فرمان به درایور در دو جهت استفاده کرد.
@KnowledgePlus
در سنسورهای صنعتی که دارای خروجی های NPN یا PNP هستند، انواع NPN بصورت مستقیم قابل اتصال به میکروکنترلر هستند. یک مقاومت Pull up مناسب هم باید از پین متصل به سنسور به تغذیه میکروکنترلر متصل شود.
سنسورهای با خروجی PNP در وضعیت High، دارای مقداری نزدیک به Vcc سنسور هستند که این ولتاژ معمولا بیشتر از مقدار مجاز برای اعمال به میکروکنترلر است. در چنین شرایطی نمی توان این سنسور را بصورت مستقیم به پین میکروکنترلر متصل کرد و بین خروجی سنسور و پین میکروکنترلر باید مدار واسطه مناسبی قرار بگیرد.
@KnowledgePlus
سنسورهای با خروجی PNP در وضعیت High، دارای مقداری نزدیک به Vcc سنسور هستند که این ولتاژ معمولا بیشتر از مقدار مجاز برای اعمال به میکروکنترلر است. در چنین شرایطی نمی توان این سنسور را بصورت مستقیم به پین میکروکنترلر متصل کرد و بین خروجی سنسور و پین میکروکنترلر باید مدار واسطه مناسبی قرار بگیرد.
@KnowledgePlus
برای جلوگیری از پاک شدن یا نوشته شدن اطلاعات ناخواسته بر اثر نویز و نوسانات در eeprom های خارجی مانند سری 24 بهتر است پین write protect به یکی از پین های میکروکنترلر متصل شود و با کد نویسی مناسب در تمام زمان ها به غیر از لحظات نوشتن، eeprom در وضعیت محافظت در برابر نوشته شدن قرار بگیرد.
@KnowledgePlus
@KnowledgePlus
نکته طراحی مدار:
ولتاژ خروجی بسیاری از رگولاتورهای ولتاژ به لحاظ دقت، برای استفاده به عنوان ولتاژ مرجع و دقیق مناسب نیستند. مثلا تضمینی از طرف کارخانه سازنده رگولاتور 7805 وجود ندارد که خروجی آن دقیقا 5 ولت باشد. بلکه محدوده ای برای خروجی تعریف شده که ولتاژ خروجی در آن محدوده مجاز است. بنابراین ممکن است خروجی یک رگولاتور 7805 مثلا 5.1 ولت و دیگری 4.9 ولت باشد. به همین دلیل در کاربرد های دقیق، استفاده از ولتاژ خروجی این نوع رگولاتور ها به عنوان ولتاژ مرجع مناسب نیست. همین مسئله در مورد دیودهای زنر هم برقرار است که ولتاژ خروجی آنها دقیق نیست و با دما هم متغیر است.
در کاربردهایی که نیاز به ولتاژ مرجع دقیقی وجود دارد، باید از آی سی های مخصوص این کار که با دما هم جبران سازی شده اند ( مانند LM336-5.0 و REF02 و انواع شماره های دیگر) استفاده شود.
@KnowledgePlus
ولتاژ خروجی بسیاری از رگولاتورهای ولتاژ به لحاظ دقت، برای استفاده به عنوان ولتاژ مرجع و دقیق مناسب نیستند. مثلا تضمینی از طرف کارخانه سازنده رگولاتور 7805 وجود ندارد که خروجی آن دقیقا 5 ولت باشد. بلکه محدوده ای برای خروجی تعریف شده که ولتاژ خروجی در آن محدوده مجاز است. بنابراین ممکن است خروجی یک رگولاتور 7805 مثلا 5.1 ولت و دیگری 4.9 ولت باشد. به همین دلیل در کاربرد های دقیق، استفاده از ولتاژ خروجی این نوع رگولاتور ها به عنوان ولتاژ مرجع مناسب نیست. همین مسئله در مورد دیودهای زنر هم برقرار است که ولتاژ خروجی آنها دقیق نیست و با دما هم متغیر است.
در کاربردهایی که نیاز به ولتاژ مرجع دقیقی وجود دارد، باید از آی سی های مخصوص این کار که با دما هم جبران سازی شده اند ( مانند LM336-5.0 و REF02 و انواع شماره های دیگر) استفاده شود.
@KnowledgePlus
خازن ها به دلیل مدل غیر ایده آلی که دارند، با افزایش فرکانس خاصیت خازنی خود را از دست می دهند و به عنوان سلف عمل می کنند. برای خازن های مختلف، این محدوده فرکانس بالا متفاوت است. خازن های الکترولیت از این نظر مشخصه نامناسبی دارند و به همین دلیل، در بسیاری از کاربردها به موازات خازن های الکترولیت خازن هایی با مشخصه ایده آل تر و ظرفیت کمتر بصورت موازی قرار داده می شود تا در فرکانس های بالاتر که خازن الکترولیت خاصیت خازنی خود را از دست می دهد، این خازن های موازی همچنان به عنوان خازن عمل کنند.
@KnowledgePlus
@KnowledgePlus
نکته طراحی مدار:
ولتاژ برق شهر بر حسب نوع منطقه و شبکه برق و ساعات شبانه روز ممکن است متفاوت از 220v باشد و در جایی مثلا 240v و در جای دیگر مثلا 200v باشد. بنابراین در طراحی مدارات و انتخاب قطعاتی که به برق شهر متصل می شوند، بر حسب نوع مدار ممکن است لازم باشد بجای 220v، بدترین شرایط ممکن برای ولتاژ برق شهر را در نظر بگیریم تا در صورت تغییر ولتاژ برق شهر نسبت به 220v آسیبی به مدار وارد نشود یا عملکرد آن مختل نشود.
@KnowledgePlus
ولتاژ برق شهر بر حسب نوع منطقه و شبکه برق و ساعات شبانه روز ممکن است متفاوت از 220v باشد و در جایی مثلا 240v و در جای دیگر مثلا 200v باشد. بنابراین در طراحی مدارات و انتخاب قطعاتی که به برق شهر متصل می شوند، بر حسب نوع مدار ممکن است لازم باشد بجای 220v، بدترین شرایط ممکن برای ولتاژ برق شهر را در نظر بگیریم تا در صورت تغییر ولتاژ برق شهر نسبت به 220v آسیبی به مدار وارد نشود یا عملکرد آن مختل نشود.
@KnowledgePlus
نکته ای در برنامه نویسی:
در کد نویسی برای هر گونه ارتباطی که انتظار برای پاسخ سمت مقابل وجود دارد، باید مکانیزم timeout در انتظار برای دریافت در نظر گرفته شود تا در صورت قطع ارتباط و عدم پاسخ سمت مقابل، برنامه در یک حلقه بی نهایت انتظار قرار نگیرد. منظور از timeout این است که اگر سمت مقابل برای مدت مشخصی پاسخ نداد، اجرای برنامه از حلقه انتظار خارج شود و روتین مناسب خطا اجرا شود.
@KnowledgePlus
در کد نویسی برای هر گونه ارتباطی که انتظار برای پاسخ سمت مقابل وجود دارد، باید مکانیزم timeout در انتظار برای دریافت در نظر گرفته شود تا در صورت قطع ارتباط و عدم پاسخ سمت مقابل، برنامه در یک حلقه بی نهایت انتظار قرار نگیرد. منظور از timeout این است که اگر سمت مقابل برای مدت مشخصی پاسخ نداد، اجرای برنامه از حلقه انتظار خارج شود و روتین مناسب خطا اجرا شود.
@KnowledgePlus
نکته ای در برنامه نویسی:
در کدنویسی برای میکروکنترلرها، برای خودداری از استفاده از متغیرها و محاسبات اعشاری که در مواردی می تواند منجر به طولانی شدن زمان اجرای برنامه یا افزایش حجم آن شود، یک روش این است که اگر تعداد مشخصی از اعداد بعد از ممیز مورد نظر باشد، کلیه اعداد را با مقیاسی در نظر بگیریم که همه اعداد اعشاری به صحیح تبدیل شوند و محاسبات بصورت صحیح انجام شوند و در نهایت هنگام نمایش و ارسال و ...، ممیز را در محل مناسب قرار دهیم. به عنوان مثال اگر در اعداد و متغیرهای مورد استفاده تا دو رقم اعشار مورد نظر باشد، می توان عددها و متغیرها را از همان ابتدا با مقیاس صد برابر در نظر گرفت و در نهایت ممیز را در محل مناسب اعمال کرد. مثلا بجای حاصلضرب 1.99 در 2.1 می توان با صد برابر در نظر گرفتن اعداد، حاصلضرب 199 در 210 را محاسبه کرد و در نهایت برای نمایش نتیجه، چهار رقم ممیز در نظر گرفت. در اینحالت روش حذف صفرهای اضافه سمت راست هم می تواند مورد استفاده قرار بگیرد. چنانکه در همین مثال بجای 4.1790 به عنوان نتیجه می توان صفر اضافه سمت راست را حذف کرد و 4.179 را نمایش داد یا ارسال کرد. البته جزییات و نکات این روش مفصل تر از آن است که در چارچوب یک پست تلگرام قابل توضیح باشد.
@KnowledgePlus
در کدنویسی برای میکروکنترلرها، برای خودداری از استفاده از متغیرها و محاسبات اعشاری که در مواردی می تواند منجر به طولانی شدن زمان اجرای برنامه یا افزایش حجم آن شود، یک روش این است که اگر تعداد مشخصی از اعداد بعد از ممیز مورد نظر باشد، کلیه اعداد را با مقیاسی در نظر بگیریم که همه اعداد اعشاری به صحیح تبدیل شوند و محاسبات بصورت صحیح انجام شوند و در نهایت هنگام نمایش و ارسال و ...، ممیز را در محل مناسب قرار دهیم. به عنوان مثال اگر در اعداد و متغیرهای مورد استفاده تا دو رقم اعشار مورد نظر باشد، می توان عددها و متغیرها را از همان ابتدا با مقیاس صد برابر در نظر گرفت و در نهایت ممیز را در محل مناسب اعمال کرد. مثلا بجای حاصلضرب 1.99 در 2.1 می توان با صد برابر در نظر گرفتن اعداد، حاصلضرب 199 در 210 را محاسبه کرد و در نهایت برای نمایش نتیجه، چهار رقم ممیز در نظر گرفت. در اینحالت روش حذف صفرهای اضافه سمت راست هم می تواند مورد استفاده قرار بگیرد. چنانکه در همین مثال بجای 4.1790 به عنوان نتیجه می توان صفر اضافه سمت راست را حذف کرد و 4.179 را نمایش داد یا ارسال کرد. البته جزییات و نکات این روش مفصل تر از آن است که در چارچوب یک پست تلگرام قابل توضیح باشد.
@KnowledgePlus