ACsenf
25.01.2006, 13:51
So gleich der nächste Beitrag....
Habe zwar wenig Hoffnung das in den digital in den Griff zu bekommen.
Ich benutze nacheinander 4 analoge Eingänge und werte diese dann aus.
Die Anwendung dient zum Laden von Supercaps.
Die Ladeschlußspannung soll per Software einstellbar sein, deshalb auch der µC...
Leider schwankt der Abschaltwert recht stark um ca 5%, was mir nicht so richtig zusagt. Analog klappt das wunderbar, deshalb auch der Beitrag mit der PWM.
Wie lange dauert denn eine Wandlung tatsächlich? Der Simulator spuckt mir 11,5µs aus für einen Schleifendurchlauf. Laut Datenblatt und Rechenschieber komme ich auf 11,5µs pro Wandlung, was dann insgesamt auf ca. 70µs kommen würde, aber die Schwankung nicht wirklich erklären kann, da der Ladevorgang im Verhältnis langsam ist.
Vermutlich liegt es eher an der Abschaltbedingung...nur wie geht das besser??? Ein Regelalgorithmus macht die ganze Sache zu langsam.
Anbei die entsprechende Schleife:
Hier der Code
Sub Laden
Config Adc = Single , Prescaler = Auto , Reference = Off 'externe Referenzquelle
Start Adc
Do
Spg_c1 = Getadc(3) 'Spannung an C1
If Spg_c1 >= U_c1 Then 'U_C1 Ausschalten wenn Sollwert erreicht
Stromquelle1 = 1
End If
Spg_c2 = Getadc(2) 'Spannung an C2
If Spg_c2 >= U_c2 Then 'U_C2 Ausschalten wenn Sollwert erreicht
Stromquelle2 = 1
End If
Spg_c3 = Getadc(1) 'Spannung an C3
If Spg_c3 >= U_c3 Then 'U_C3 Ausschalten wenn Sollwert erreicht
Stromquelle3 = 1
End If
Spg_c4 = Getadc(0) 'Spannung an C4
If Spg_c4 >= U_c4 Then 'U_C4 Ausschalten wenn Sollwert erreicht
Stromquelle4 = 1
End If
Loop Until Aus_flag = 0
Stop Timer1
Stop Adc
Call Entladen
Call Aus
End Sub
Mal gespannt ob es doch einen Weg gibt.
Gruß
Sven
edit: Dreher in der Überschrift korrigiert.
Habe zwar wenig Hoffnung das in den digital in den Griff zu bekommen.
Ich benutze nacheinander 4 analoge Eingänge und werte diese dann aus.
Die Anwendung dient zum Laden von Supercaps.
Die Ladeschlußspannung soll per Software einstellbar sein, deshalb auch der µC...
Leider schwankt der Abschaltwert recht stark um ca 5%, was mir nicht so richtig zusagt. Analog klappt das wunderbar, deshalb auch der Beitrag mit der PWM.
Wie lange dauert denn eine Wandlung tatsächlich? Der Simulator spuckt mir 11,5µs aus für einen Schleifendurchlauf. Laut Datenblatt und Rechenschieber komme ich auf 11,5µs pro Wandlung, was dann insgesamt auf ca. 70µs kommen würde, aber die Schwankung nicht wirklich erklären kann, da der Ladevorgang im Verhältnis langsam ist.
Vermutlich liegt es eher an der Abschaltbedingung...nur wie geht das besser??? Ein Regelalgorithmus macht die ganze Sache zu langsam.
Anbei die entsprechende Schleife:
Hier der Code
Sub Laden
Config Adc = Single , Prescaler = Auto , Reference = Off 'externe Referenzquelle
Start Adc
Do
Spg_c1 = Getadc(3) 'Spannung an C1
If Spg_c1 >= U_c1 Then 'U_C1 Ausschalten wenn Sollwert erreicht
Stromquelle1 = 1
End If
Spg_c2 = Getadc(2) 'Spannung an C2
If Spg_c2 >= U_c2 Then 'U_C2 Ausschalten wenn Sollwert erreicht
Stromquelle2 = 1
End If
Spg_c3 = Getadc(1) 'Spannung an C3
If Spg_c3 >= U_c3 Then 'U_C3 Ausschalten wenn Sollwert erreicht
Stromquelle3 = 1
End If
Spg_c4 = Getadc(0) 'Spannung an C4
If Spg_c4 >= U_c4 Then 'U_C4 Ausschalten wenn Sollwert erreicht
Stromquelle4 = 1
End If
Loop Until Aus_flag = 0
Stop Timer1
Stop Adc
Call Entladen
Call Aus
End Sub
Mal gespannt ob es doch einen Weg gibt.
Gruß
Sven
edit: Dreher in der Überschrift korrigiert.