Hallo zusammen,
ich habe folgendes Problem: Für einen Kumpel habe ich eine Unterspannungsabschaltung gebaut, diese soll bei 11 Volt automatisch ein Relais betätigen. Nun habe ich einen Spannungsteiler mit 300 KOhm und 100 Kohm genommen um eine Spannung von max. 20V zu messen (bei 20V liegen 5V am ADC an). So sollte ja rechnerisch bei 11V ein Wert von 563 in der AD-Variable stehen. Doch stattdessen muss 730 in der Variable stehen, damit das Relais bei 11V schaltet. Ich habe das mit 3 Messgeräten nachgemessen. Woran kann das liegen?
Ich habe erste Überlegungen angestellt:
-Der Spannungsregler gibt nicht exat 5V aus.
-Die Toleranzen am Spannungsteiler sind zu hoch
-Die Widerstände sind zu groß, sodass der Strom für den µC zu wenig ist um vernünftig zu messen.
Aber ich kann da auch völlig auf dem Holzweg sein. Habt ihr vielleicht eine Idee.
Gruß Hunni
Code:'-------------------------------------------------------------------------------- 'Grundeinstellungen $regfile "attiny45.dat" $crystal = 8000000 '-------------------------------------------------------------------------------- 'Konfiguration Config Adc = Single , Prescaler = Auto , Reference = Avcc Config Portb.3 = Output Config Portb.4 = Output '-------------------------------------------------------------------------------- 'Variablen deklaration und ini Dim Hysta As Bit Dim Ad_wert As Integer Dim A As Byte Hysta = 1 '-------------------------------------------------------------------------------- 'Hauptprogramm For A = 1 To 30 'Warte 3 Sek, um Einschaltschwankungen abzufangen Toggle Portb.3 Waitms 100 Next A Portb.3 = 0 Do 'Starte Hauptprogramm Portb.3 = 1 'ADC-Wert Channel 1 in Ad_wert Ad_wert = Getadc(1) 'Ist Hystarese nicht gesetzt, überprüfe auf Unterspannung If Hysta = 1 Then 'Wenn Wert unter 11 Volt, schalte Relais If Ad_wert < 730 Then Portb.4 = 1 Wait 2 Portb.4 = 0 Hysta = 0 'setze Hystarese End If Else If Ad_wert > 750 Then Hysta = 1 'Wenn Hystarese gesetzt, überprüfe ob Spannung wieder über Schwellwert ist End If Portb.3 = 0 Wait 1 Loop







Zitieren

Lesezeichen