با سلام
زبان: بیسیک
میکرو: atmega8
سورس: دارد
میکروی avr برای دستگاه های اندازه گیری کاربردی ندارد زیر دقت adc آن 10 بیت است بنابراین دقت بسیار کمی دارد دستگاههای اندازه گیری حداقل 12 بیت دقت میخواهند یا 16 یا 18 یا بالاتر.
توضیحات:
این یک ولت متر ac است بنابراین یک مقدار rms و یک پیک(Vm) دارد که:
rms=Vm/1.4142 است.
ما در دستگاه اندازه گیری کلا با مقدار Vm کار داریم و در نهایت به rms نتیجه را نشان میدهیم!
این ولت متر میخواهد تا 1000 ولت ac را نشان دهد (منظور Vmهست اصلا نباید rms را فعلا حساب کنید) و چون مقدار مبنای adc میکرو 5v هست باید این ولتاژ را بر 200 تقسیم کنیم! پس در ابتدا ولتاژ ورودی را بر 200 تقسیم میکنیم اینکار را میتوانید با استفاده از ترانس یا مقاومت یا خازن انجام دهید!
ترانس باعث ایزوله مدار میشود که بسیار ایمن است اما وزنش و حجمش زیاد است.
مقاومت و خازن هم اگر بسوزند احتمال داردT ولتاژ زیاد ورودیT داخل مدار رود و دستگاه را منفجر کند! بنابراین خودتان میتوانید فیوز یا ... بگذارید که اگر مقسم ولتاژ سوخت سریع ولتاژ را قطع کند.
حالا باید پیک ولتاژ را بخوانیم
یک روش رایج این است که این موج ac را تبدیل به dc کنیم یعنی به یک طبقه یکسو کننده و خازن و ... بدهیم و بعد مقدار dc را بخوانیم! اما خودتان میدانید این موج dc ریپل دارد و تازه مقدارش هم کمتر از Vm خواهد شد! برای یکسوساز تمام موج 2Vm/pi خواهد شد. و اینکه یکسوساز و خازن جا میخواهد و ...
بنابراین به جای dc کردن موج ac ، مقدار پیکش را توسط مدار پیک دتکتور مشخص میکنیم!
مقدار پیک هم که با توجه به تقسیم ولتاژ ورودی کمتر مساوی 5 ولت خواهد شد
حالا همین خروجی پیک دتکتور را به adc میکرو میدهیم و ولتاژ را میخوانیم
وقتی میکرو این ولتاژ را خواند
باید در 200 ضرب کنید که حاصل مقدار پیک ولتاژ ورودی است!
حالا میخواهیم مقدار rms را نشان دهیم کافی است بر 1.4142 تقسیم کنیم.
برای دقت اندازه گیری: چون مبنای میکرو 5v است و این 5v را بر 1024 تقسیم میکند یعنی دقت 0.0049v هست اما چون ولتاژ ورودی بر 200 تقسیم شده باید این دقت را در 200 ضرب کنیم که 0.98v میشود یعنی دقت اندازه گیری تقریبا 1 ولت است! برای بازه 0 تا 1000 ولت ا ولت خوب است.
مثلا 220 ولت rms به ورودی دادیم اینم که نتیجه هست:
دانلود سورس + شماتیک
التماس دعا