http://www.rn-wissen.de/index.php/AV...leicht_gemacht
Da findeste alles. Von der Grundbeschaltung eines Controllers bis hin zum ISP usw.
Und Spannungswerte auswerten machste per ADC.
Code:
$regfile = "m32def.dat" 'Controller
$crystal = 16000000 'Taktfrequenz
Config Adc = Single , Prescaler = Auto , Reference = Internal 'ADC konfigurieren
Config Lcd = 20 * 4a , Chipset = Ks077 'LCD Controller festlegen
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
Config Lcdbus = 4
Start Adc 'Start des ADC
Const Ref = 5 / 1023 'Referenz festlegen
Declare Sub _spannungsmessung() 'Unterprogramme festlegen
Declare Sub _strommessung()
Declare Sub _spannungsanzeige()
Declare Sub _stromanzeige()
Declare Sub _widerstandsmessung()
Declare Sub _widerstandsanzeige()
Dim S As Integer 'Variablen festlegen
Dim F As Integer
Dim Volt As Single
Dim Strom As Single
Dim Ohm As Single
Dim Spannung As Single
Dim Voltstr As String * 4
Dim Ampere As Single
Dim Stromstr As String * 4
Dim Widerstand As Single
Dim Ohmstr As String * 4
F = 100 'R1 = 100 Ohm
S = 1 'Shunt für Strommessung
'= 1 Ohm
Initlcd 'Display initialisieren
Cls 'Display löschen
Main:
Do 'Hauptprogramm
Call _spannungsmessung 'Einzelnen Unterprogramme
Call _spannungsanzeige 'abarbeiten
Call _strommessung
Call _stromanzeige
Call _widerstandsmessung
Call _widerstandsanzeige
Wait 1
Loop
End
Sub _spannungsmessung 'Unterprogramm Spannungsmessung
Local V As Word
V = Getadc(0.) 'ADC Wert in Variable speichern
Spannung = V * Ref 'ADC Wert in Spannung umrechnen
Volt = Spannung
Voltstr = Fusing(volt , "#.##") 'Ausgabewert runden
End Sub
Sub _strommessung
Local A As Word 'Unterprogramm Strommessung
A = Getadc(1.)
Strom = A * Ref
Strom = Strom / S 'Ohm´sche Gesetz
Ampere = Strom
Stromstr = Fusing(strom , "#.##")
End Sub
Sub _widerstandsmessung
Local O As Word 'Unterprogramm
Local P As Word 'Widerstandsmessung
O = Getadc(2.) 'U1
P = Getadc(3.) 'Ux
Widerstand = F * P 'Verhältnisse der
Widerstand = Widerstand / O 'Spannungen
Ohm = Widerstand
Ohmstr = Fusing(ohm , "#.##")
End Sub
Sub _spannungsanzeige() 'Unterprogramm für
Upperline 'das Anzeigen des
Lcd "U = " ; Voltstr ; " V" 'Spannungswertes
Waitms 1000
End Sub
Sub _stromanzeige() 'Unterprogramm für
Lowerline 'das Anzeigen des
Lcd "I = " ; Stromstr ; " A" 'Stromes
Waitms 1000
End Sub
Sub _widerstandsanzeige() 'Unterprogramm für
Thirdline 'das Anzeigen des
Lcd "R = " ; Ohmstr 'Widerstandes
Waitms 1000
End Sub
Das hier ist z.B. ein Programm von mir mit dem du über bischen externe Beschaltung anhand der Spannungen den Strom und Widerstand ausrechnest. Vielleicht hilft dir das zur Spannungsauswertung weiter.
Lesezeichen