Forum: Mikrocontroller und Digitale Elektronik Vergleichen von acht Spannungen


von Andreas L. (andreasl)


Angehängte Dateien:

Lesenswert?

Hallo,

ich hab mir einen ATmega16 aufgebaut das an den ADC0 bis 7 Spannung von 
0 bis 5 Volt gemessen wird. Die Firmware (AVR Studio mit WinAVR) habe 
ich aus verschieden Beiträgen hier aus dem Forum und verschiedenen 
Büchern zusammen gestellt. Die Funktioniert soweit zu meiner 
Zufriedenheit. Ich muß dazu sagen das dies mein erster richtiger Schritt 
mit AVR, C und uP ist, die ganze LED Blinkerei und "Hello World" 
Geschichten mal nicht mitgerechnet. An dem ATmega16 ist ein Wintek 2704 
(LCD von Pollin) angeschlossen (vielen Dank für die lib hier aus dem 
Forum) das mir die Werte anzeigt. Ich möchte nun die Spg. dahin 
kontrollieren das die untereinander nicht mehr als 100 - 120 mV 
voneinander abweichen, egal wie hoch jetzt die Spg. ist. Wie kann ich 
das angehen? Kann mich jemand anschubsen, irgendwie ist bei mir die 
Bremse drin.
Und Tips wie mein Code besser wird, nehme ich natürlich gerne an :-)


Gruß und Danke

Andreas

von Auto (Gast)


Lesenswert?

Du musst dir erst mal im Klaren werden was du genau willst oder es 
klarer formulieren (Darf die Abweichung vom Durchschnitt maximal 100mV 
sein oder von der maximalen zur minimalen Spannunge?

von Andreas L. (andreasl)


Lesenswert?

Autsch, stimmt. Zwischen dem maximalen und dem minimalen Wert.

von Peter D. (peda)


Lesenswert?

1
float min = 5.0;
2
float max = 0.0;
3
4
for( char i = 8; i ; i-- ){
5
  if( min > wert[i-1] )
6
    min = wert[i-1];
7
  if( max < wert[i-1] )
8
    max = wert[i-1];
9
}
10
if( (max - min) > 0.1 )
11
...


Peter

von Andreas L. (andreasl)


Lesenswert?

Peter Dannegger wrote:
>
1
> float min = 5.0;
2
> float max = 0.0;
3
> 
4
> for( char i = 8; i ; i-- ){
5
>   if( min > wert[i-1] )
6
>     min = wert[i-1];
7
>   if( max < wert[i-1] )
8
>     max = wert[i-1];
9
> }
10
> if( (max - min) > 0.1 )
11
> ...
12
>
>
>
> Peter

Das muß ich mir erst mal durch den Kopf gehen lassen.

Danke
und Gruß
Andreas

von Auto (Gast)


Lesenswert?

min und max würde ich aber umgekehrt initialisieren...

von Justus S. (jussa)


Lesenswert?

Auto wrote:
> min und max würde ich aber umgekehrt initialisieren...

ich nicht...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.