ايران ويج

نسخه‌ی کامل: adc
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
دوستان میخوام 4 آمپر ac رو که روی یک مقاومت 1ohm عبور دادم از طریق یکی از پایه های adc روی lcd نمایش بدم ولی مقداری نشون میده کاملا متفاوت با 4 آمپر ac هستش
چه پیشنهادی دارین؟
اولاً این مقدار جریان متناوب رو یه مقاومت یک اهمی رو با میکرو نمیتونید اندازه بگیرید . باید دیسیش بکنید.
4 آمپر رو یک اهم میشه 4 ولت .حالا 4 ولت AC ضرب در 1.4 میشه تا مقدار پیک سیگنال بدست بیاد که میشه 5.6.این یعنی مقدار پیک مثبت . بنابر این سیگنالی متناوبی که 4 ولت باشه 11.2 ولت پیک تو پیکش میشه. یعنی اگه کمترین ولتاژ سیگنال یعنی 5.6- رو با گراند میکرو یکی بگیریم ولتاژ11.2 میفته رو پایه میکرو کهA/D بیشتر از 5 رو اندازه نمیگیره.
اگه درک این مساله پیچیده بود برق شهرو در نظر بگیرین که وقتی میگیم 220 ولت یعنی 308 ولت تو نیم سیکل منفی و 308 ولت تو نیم سیکل مثبت.

حالا اگه اصرار دارین که از روش خودتون استفاده کنید:
1)سه تا مقاومت 1 اهمی رو موازی کنید تا مقاومت کل بشه 0.33333333333
2)4 آمپر با این مقاومت ولتاژ موثر 1.333333333333333 تولید میکنه
3) ولتاژ 1.333333333*1.4 میشه 1.9 ولت صفر تا پیک مثبت یا صفر تا پیک منفی
4)حالا پیک تو پیکش میشه 3.8 ولت که براحتی میشه پیکهارو باADC اندازه گرفت
5)حالا با میکرو مقدار پیک تو پیک اندازه گرفته شده رو یک بار تقسیم بر دو سپس تقسیم بر 1.4 میکنیدش تا مقدار ولتاژ موثر بدست بیاد
6)بد ولتاژ موثرو بر 0.333333 تقسیم یا بر 3 ضرب میکنید تا جریان عبوری از مقاومتها بدست بیاد
7)جریان محاسبه شده رو رو LCD نمایش میدین

توضیح اینکه:
1)آشکار سازی مقدار پیک مثبت سیگنالو با آپ امپ انجام میدین(یه مدار مشهوری داره)
2)پیک منفی سیگنالو هم با یه آپ امپ با گراندش مشترک میکنید
3))))))) چون 3.8 بین 5 ولت قرار میگیره میتونید از روش گراند مشترک استفاده نکرده و پیک مثبت و پیک منفیا رو با دو خط ADC اندازه گرفته و محاسبات ریاضی رو با میکرو انجامش بدین
مهندس ممنون
یه سوال:
حداقل ولتاژی که پایه ی adc میتونه ببینه چنده؟
آیا میتونه 10mv رو ببینه!
مهندس اینم برنامه ی منه
یه نگاه بنداز ببین ایراد نداره
کد php:
$regfile "m16def.dat"
$crystal 8000000
Config Lcd 
20 4
Config Lcdpin 
Pin Db4 Pinc.4 Db5 Pinc.5 Db6 Pinc.6 Db7 Pinc.7 Pinc.3 Rs Pinc.2
Config Adc 
Single Prescaler Auto Reference Avcc
Config Timer0 
Timer Prescale 256
Dim S 
As Single
Dim D 
As Word As Single ,
Dim I1(100) As Word Ie As Word
Cursor Off
Cls
Enable Interrupts
Enable Timer0
On Timer0 Show



Start Adc
Do

Loop
End
Show
:
Timer0 6
Incr S
If 28 Then


 
For Ie 1 To 100
 I1
(ie) = Getadc(0)
 
Next Ie

 D 
Max(i1(1))
 
5
 A 
1023

 Cls
 Home
 Lcd 
"I=" Fusing("#.###&")

'=============================
Timer0 = 6
S = 0
End If
Return 
البته که 10 میلی رو می تونه احساس کنه.
مبدل ADC میکرو دقتش 10 بیتیه یعنی 1024. حالا اگه از حالت رفرنس 2.56 استفاده کنید، میتونید حتی 2.5 میلی ولت رو هم به حسابش بیارید