نکات مهم برای حذف نویز :
1- استفاده از خازن 100 نانو فاراد در نزدیکترین محل برای اتصال تغذیه آی سی ها
2- استفاده از فیلتر ال سی که می تواند با یک خازن صد نانو و یک سلف 10 میکرو هانری ایجاد شود برای تغذیه AVREF در میکرو کنترلر ها
3- کشیدن یک لایه مسی در دور مدار چاپی و اتصال آن به زمین
4- برنامه نویسی مناسب به طور مثال : استفاده از حذف بانس به صورت نرم افزاری در هنگام خواندن کلید و یا استفاده از مد ADC Noise reduction برای خواندن ADC
یک نمونه برنامه نوشته شده برای حذف نویز در adc :
که یک مولتی متر هست با مگا 8
1- استفاده از خازن 100 نانو فاراد در نزدیکترین محل برای اتصال تغذیه آی سی ها
2- استفاده از فیلتر ال سی که می تواند با یک خازن صد نانو و یک سلف 10 میکرو هانری ایجاد شود برای تغذیه AVREF در میکرو کنترلر ها
3- کشیدن یک لایه مسی در دور مدار چاپی و اتصال آن به زمین
4- برنامه نویسی مناسب به طور مثال : استفاده از حذف بانس به صورت نرم افزاری در هنگام خواندن کلید و یا استفاده از مد ADC Noise reduction برای خواندن ADC
یک نمونه برنامه نوشته شده برای حذف نویز در adc :
که یک مولتی متر هست با مگا 8
کد:
$regfile = "m8def.dat" $crystal = 1000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Pind.4 , Db5 = Pind.5 , Db6 = Pind.6 , _ Db7 = Pind.7 , E = Pind.2 , Rs = Pind.0 Cursor Off Config Adc = Single , Prescaler = 8 Config Debounce = 30 Enable Interrupts Enable Adc On Adc Adc_isr Dim A As Word Dim B As Word Dim C As Word Dim Vac As Single Dim Vdc As Single Dim Iac As Single Dim Idc As Single Dim R As Single Config Single = Scientific , Digits = 1 Dim I As Byte I = 1 Declare Sub A1 Declare Sub A2 Ddrb.2 = 0 : Portb.2 = 1 Cls Lcd " SYD SAJJAD MSV " Wait 1 Lowerline Lcd " MULTI METER " Waitms 700 Do Shiftlcd Left Waitms 600 Debounce Pinb.2 , 0 , A1 Shiftlcd Right Waitms 600 Debounce Pinb.2 , 0 , A1 Shiftlcd Right Waitms 600 Debounce Pinb.2 , 0 , A1 Shiftlcd Left Waitms 600 Debounce Pinb.2 , 0 , A1 Loop Main: Do Start Adc A = Getadc(0) B = Getadc(1) C = Getadc(2) Idle Stop Adc Debounce Pinb.2 , 0 , A2 Waitms 450 Select Case I Case 1: Goto Main1 Case 2: Goto Main2 Case 3: Goto Main3 Case 4: Goto Main4 Case 5: Goto Main5 Case 6 Goto Main6 End Select Loop Main1: Cls Home Vac = B Vac = Vac / 37 If Vac > 26 Then Vac = 222 End If Lcd " AC VOLT METER " Lowerline Lcd "Vac is : " ; Vac ; " V " Goto Main Main2: Cls Home Vdc = B Vdc = Vdc / 27 Lcd " DC VOLT METER " Lowerline Lcd "Vdc is : " ; Vdc ; " V " Goto Main Main3: Cls Home Iac = C * 1000 Iac = Iac / 1440 Iac = Iac - 602 Lcd " AC AMPER METER " Lowerline Lcd "Iac is: " ; Iac ; " mA " Goto Main Main4: Cls Home Idc = C Idc = Idc - 871 Lcd " DC AMPER METER " Lowerline Lcd "Idc is : " ; Idc ; " mA " Goto Main Main5: Cls Home Lcd " O H M METER 1K " Config Portb.1 = Output Portb.1 = 0 Config Portb.0 = Input Reset Portb.0 R = A R = R * 3 R = R - 1250 Locate 2 , 1 If R > 1200 Then Lcd "RESis: over load" Else Lcd "RESis:" ; R ; "ohm" End If Goto Main Main6: Cls Home Lcd "O H M METER 100K" Config Portb.1 = Input Reset Portb.1 Config Portb.0 = Output Portb.0 = 0 R = A R = R / 4 R = R - 97 Locate 2 , 1 If R > 110 Then Lcd "RESis: over load" Else Lcd "RESis:" ; R ; "K ohm" End If Goto Main End 'end program Sub A1: Cls Goto Main End Sub A1 Sub A2: If I < 6 Then Incr I Else I = 1 End If Goto Main End Sub A2 Adc_isr: Return
دیدگاه