Benötigte Leistung berechnen von einem veränderlichen Rechtecksignal

Balkan_Devil

Mitglied
Hallo !

Habe einen ADuC841 µC mit dem ich einen Transistor konstant auf 34 grad halten will. Und durch gewollte Einflüsse (kälter/wärmer) verändert sich die Temperatur des Transistors. Meine Aufgabe besteht darin die Temperatur konstant auf 34 grad zu halten und die Leistung dafür zu berechnen.
Unser einziges Problem ist noch die Berechnung der Leistung.

Das Rechecksignal ändert sich durch die Einflüsse je nach Kälte und Wärme. Ist der Transistor kälter so muss geheizt => mehr leistung nöitg

Es sollte eine Momentan- und Gesamtleistung ausgegeben werden.

Mein erster Versuch funktioniert nicht.
Und zwar wurde immer die letzte positive Flanke gemerkt und bei der nächsten positiven Flanke berechnet.

Hier mal der Code:

if(ADC_Wert <= limit) // Im Limit steht der "Spannungswert für 34 grad" in HEX
{

P20 = 0x00; // nicht heizen
letztes_null = 1; // letzte positive flanke
}
else
{
P20 = 0xFF; // heizen


if (letztes_null == 1)
{
Prozentwert =((durchgaenge_eins * 10) / durchgaenge) * 100;
durchgaenge_gesamt += durchgaenge;
durchgaenge_eins_gesamt += durchgaenge_eins;
Prozentwert_gesamt = ((durchgaenge_eins_gesamt* 10) / durchgaenge_gesamt)*100 ;
durchgaenge_gesamt = 0;
durchgaenge_eins_gesamt =0;

letztes_null = 0;
durchgaenge_eins = 0;
durchgaenge = 0;
}

durchgaenge_eins++;


}durchgaenge++;


Es sollen die Durchgänge gemerkt werden und somit die Leistung berechnet werden. Doch meine Idee funktioniert nicht.

Ich hoffe jemand kann mir helfen.

Code auch als textdokument bereitgestellt zur besseren Übersicht

LG
 

Anhänge

Zurück