Forum: Mikrocontroller und Digitale Elektronik Programmierung eines Windsensor in C


von M. G. (jack86)


Angehängte Dateien:

Lesenswert?

Hallo Liebe µC-Gemeinde,
Ich hab in einem Projekt ein Windsensor zu programmiern.
Der Windsensor ist ein Schalensternanemometer der die Impulse durch ein 
Hallsensor verarbeitet. Der Messwertgeber kann max.50m/s =238,5Hz 
messen.
Dies tue ich mit ein Atmega 16L realisieren, der an den ICP-Pin 
verknüpft ist.

Zur Messung es wird alle 10 min. die Windgeschwindigkeit gemmesen und 
die Standardabweichung kommt auch hinzu.

die mittlere Windgeschwindigkeit von 10 min. ist gleich W=((C*t)/n)/ti, 
wobei C= 50m/s, t=1/238,3Hz und ti die zeit zwischen den einzelnen 
Flanken.

die Standarabweichung = (C*t)^2*(

durch herum stöbern und ausprobieren habe ich etwas programmiert,

Meine Fragen:

was oder wie könnte ich besser realisieren ?

reichen mein speicher rams für die Messung ?

PS.: C Anfänger

Vielen dank im Vorraus

von Purzel H. (hacky)


Lesenswert?

Das Problem sollte machbar sein. Aber schmeiss das Double - zeug weg. 
Auf Controllern rechnet man weitgehend mit Integern.

von M. G. (jack86)


Lesenswert?

zunächst einmal danke, aber wie werden den kommazahlen sonst deklariert

von Purzel H. (hacky)


Lesenswert?

Als Fractional. Man rechnet zB mit hundertsteln, dh behaelt das Komma im 
kopf.

von M. G. (jack86)


Lesenswert?

Danke, geändert

von Purzel H. (hacky)


Lesenswert?

Um wieviel wurde der ausfuehbare Code kleiner ?

von M. G. (jack86)


Lesenswert?

bis dahin bin ich noch nicht angekommen, aber wo wir schonmal dabei 
sind.

die gemessenen daten werden per Twi-schnitstelle(I²C-Bus) an einer µC 
verknüpften (Atmega 16 L) SD-karte übermittelt, dieser tut die daten 
speichern.

da muss ich noch einige routinen für den Master und den slave suchen.

von Konstantin K. (mikrokonst)


Lesenswert?

1
 if ( Si_wert = TRUE)

es ist eine Zuweisung, meinst du vielleicht das:
1
 if ( Si_wert == TRUE)

von M. G. (jack86)


Lesenswert?

sorry schreibfehler

Danke

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.