Forum: Mikrocontroller und Digitale Elektronik bestätigung für meine (amateur) planung


von maxigs (Gast)


Lesenswert?

hab eigentlich ne ganz einfache frage für jemanden der sich damit
auskennt.

ich will ne lüftersteuerung bauen (wow ganz was neues, ich weiß) und
bin grad an der grundplanung (wieder mal) aber diesmal hat das ganze
schon ne gute form

ich will nen atmega8 als controller für die steuerung der lüfter
verwenden, dabei soll er eine (noch unbestimmte zahl, 2-8 sind ziel)
per software pwm ansteuern (pwm frequenz soll ja eher niedrig liegen,
von daher ist das noch nicht das problem), außerdem soll er die
drehzahl all dieser gesteuerten lüfer überwachen und auslesen und hier
liegt eher das problem, aber dazu später mehr

der controller wird über einen anderen controller gesteuert (von dort
bekommt er die angaben, wie schnell sich der lüfter drehen soll, bzw
dieser liest die drehzahl aus) - twi? uart?
uart hätte den vorteil, dass man auch ohne den anderen controller per
pc-interface anfangs arbeiten kann

ok drehzahl auslesen:
die takte pro zet auswerten - mein anliegen ist hier am ehesten, ob das
per software, für diese anzahl an lüftern (8) noch funktioniert

max lüfterdrehzahl würde ich jetzt auf 1000U/min, das macht 17takte pro
sekunde - bei 8 lüftern 133 takte (interrupte) pro sekunde für die
drehzahl

dann die steuerung - 100hz (sollte passen) fürs pwm macht bei 8 lüftern
800 interrupte pro sekunde

also insgesammt fast 1000mal je sekunde einen interrupt zu bearbeiten
(sollte bei bis zu 16mhz kein problem sein, oder - sind ja nur
mini-sachen)
nebenbei muss die kommunikation mit dem anderen controller auch noch
bewerkstelligt werden (aktualisierung der daten im sekundentakt bzw
maximal halbsekundentakt sollte reichen)

klappt das? so in etwa - oder reicht der atmega8 ned?

ich seh grad der mega8 hat nur 2externe interrupts ... sch*** naja mal
sehen .. den 88er bzw 48er hab ich noch ned zu kaufen gesehen

von Christof Krüger (Gast)


Lesenswert?

1000 Interrupts pro Sekunde würde bedeuten, dass du im Schnitt jede ms
einen Interrupt bekommst. Das ist eine halbe Ewigkeit!
Die Abfrage von mehr als 2 Lüftern kannst du also auch durchs stupides
Pollen bewerkstelligen. Hab sowas zwar noch nicht gebaut, aber ich bin
mir recht sicher, dass der mega8 da dicke reicht.

von maxigs (Gast)


Lesenswert?

danke, also wird das schon mal kein prob

was mich jetz aber doch verunsichert hat, ist, dass der mega8 nur 2
externe interrupts hat...
ich will aber 8 lüfter takts auf interrupt legen ..

mann könnt das ganze zwar noch auf nen extra eingang lege aber ..naja

ansonsten würds dann ja eigentlich super passen

von thkais (Gast)


Lesenswert?

Schau Dir doch mal den Vorschlag von Christof an:
Du schließt Deine Lüftersignale an einem ordinären Port an.
Wenn Du von 1000Hz ausgehst, sollte man mit min. 3000Hz (besser mehr,
10kHz sind dicke drin) diesen Port scannen und Veränderungen mit einer
Maske erkennen. Der Rest ist dann Standard. Aber auf die Fallen achten:
Könnte ja sein, daß tatsächlich mal zwei Impulse gleichzeitig ankommen.
Der Mega-8 reicht da aus, da sind hinterher noch Ressourcen frei.

von justus (Gast)


Lesenswert?

Wie hast Du denn deine Sensorsignale entprellt? Soll das der Controller
machen (wie sieht es dann mit den Interrupts aus) oder ist das
Sensorsignal bereits entprellt?

von Joe (Gast)


Lesenswert?

hmm, ja intressante Frage das mit dem entprellen! das würd mich auch
interessieren, ob so ein normaler PC Lüfter mit Drehzahlausgang bereits
entprellt ist!?

Ich hätt auch noch eine Frage zu dem Thema:
Und zwar will ich das dieser Lüfter besonders leise läuft!
Bekomm ich das mit einer PWM hin, oder ist es da vernünftiger ihn
gleich über ein Analogsignal zu Regeln?
Gibts da schon Erfahrungswerte?
Mir ist schon klar, das bei großen Massen und einer flotten PWM, der
Lüfter nix vom andauernden ein und ausschalten spüren wird, aba so PC
Lüfter haben doch fast keine Masse ;-)

thx Joe

von justus (Gast)


Lesenswert?

Ich habe (betreffend Entprellen) ein ähnliches Problem.
Ein Windsensor den ich habe, schliesst mit einem kleinen Magneten einen
Reedkontakt einmal bei einer Umdrehung.
Nun gibt es verschiedene Möglichkeiten:
Entweder ich lege diesen Schliesser auf einen externen Interrupt und
werte diesen aus. Hier weiss ich noch nicht, wie ich die Entprellung
machen könnte, da ja jedes Prellen des Schalters wieder einen Interrupt
auslöst.
Die bessere Variante (meiner Ansicht nach) ist folgende: Ich lege den
Schliesser auf einen normalen Portpin. Dieser wird alle 2-4ms gepollt.
Ist nun das Resultat 3 mal hintereinander gleich, so gilt der Zustand.
Das Pollintervall kann ich noch nicht sagen, da ich nicht weiss, wie
schnell das "Windrädchen" bei 120km/h dreht.. ;-)
Jedoch: elegante Lösungen sind natürlich gesucht.

Gruss Justus

von Henning (Gast)


Lesenswert?

ist das zufällig ein Windmesser, den es mal beim Großen Bösen C zu
kaufen gab. hat damals satte 50DM gekostet. habe ich hier auch noch
herumfliegen. da ist ein kleines Diagram bei, mit der man das ganze
nachvolziehen kann wieviel Hz bei wieviel Wind.

zu deinem Problem: ich habe nach einem Interrupt einfach eine gewisse
Sperrzeit eingelegt, in dem die Interrupts vom Windmesser ignoriert
werden.

Wofür baust du das ganze? was hast du noch dran (zb 7Seg oder LCD
usw.)?

von justus (Gast)


Lesenswert?

Ich habe keine Ahnung mehr von wo ich das Teil habe, da das Projekt
schon über drei (3!) Jahre in der Schublade schmorte... jedoch wäre ich
für das Diagramm sehr dankbar. Das würde mir die Testfahrten auf der
Autobahn ersparen...

Das Ganze wird ein automatisches Winderfassungssystem für Hängegleiter.
Der Windmesser kommt irgendwo in die Pampa, daran angehängt der
Controller (mega169: Butterfly) mit Interface zu: Akku 3.6-4.5V,
Solarpanel fürs Laden (ganze Akkuthematik ist noch nicht bearbeitet),
Funkgerät (Kleinfunkgerät wo via FSK Modulation dann die Daten
versendet werden).
Bei mir in der Gegend ist Platz für ca. 10 solche Stationen
(Startplätze). Diese funken die Daten an ca. 2-3 "Basisstationen",
die dann die Daten via Internet an einen Server schicken, der die
Winddaten in eine Karte einträgt und für jedermann zugänglich macht.
Die ganze Station soll möglichst billig zu fertigen sein. Man bekommt
"richtige" Stationen für ca. 5000CHF, jedoch ohne Funkanbindung und
das ist mindestens Faktor 3-5 zu teuer. Weiter müssen auch die
Betriebskosten so klein wie möglich sein; daher wurde für die
Übertragung ein Funksystem und nicht SMS oder GPRS gewählt.
Ausserdem hat es so einige interessante Teilprobleme die zu lösen
sind.

Aber wie gesagt, das Projekt schlummerte 3 Jahre und ich bin froh, nun
endlich die Motivation gefunden zu haben, wieder einen Schritt
weiterzumachen.

Justus

von Henning (Gast)


Angehängte Dateien:

Lesenswert?

das klingt ja interessant.

ich habe das diagram leider nicht gefunden, nur eine tabelle, in der
die werte schon ausgelesen sind. ich hoffe es hilft dir trotzdem!

falls es dir auch was bringt, wenn ich die flügelgröße usw. von meinem
windmesser vermesse melde dich noch mal.

von maxigs (Gast)


Lesenswert?

hey weicht hier ned ganz von meinem anliegen ab :-)

also das mit dem durchpollen hört sich ganz brauchbar an, so könnte man
ja auch gleich die entprellung mit einbauen (weiß noch nicht genau, was
das drehzahlsignal des lüfters ausgibt - mal in der arbeit das oszi
fragen..)

ansonsten sollte es also passen - interrupts brauch ich dann ja auch
keine externen sondern nur einen timer fürs poll-intervall.

konkret siehts dann jetzt ja so aus:
8 eingänge für die drehzahlsignale
8 software-pwm ausgänge zum ansteuern der lüfter

was ich mir jetzt noch nicht ganz sicher bin, ist wegen der
kommunikation zum master-controller, dieser soll ja die ist-werte
abfragen können bzw die soll-werte ändern.
twi oder uart? oder beides?
uart währ als "standalone" lösung - am pc anschließen und so
einstellen bzw abfragen sicher interessant, aber taugts auch zur
kommunikation mit nem anderen controller?
(sorry, bin in der sache noch ganz unwissend)

was dann auch noch interessant ist, ist die verstärker-schaltung für
die lüfter. ein einfacher fet zum schalten des pwm signal ist ja normal
ausreichend (bei entsprechender leistung - so 10W bei 12V als maximale
reserve hab ich mir gedacht) ein wenig glättung würd evtl noch ned
schaden.
ich weiß ned ob es jetzt totaler quatsch oder eine gute idee ist, aber
ich sags einfach mal:
statt einen kondensator, der die leistung am ausgang speichert (um zu
glätten) einen kleinen kondensator vor den fet, um diesen nicht
impulsweise durchzuschalten, sondern quasi an und aus-faden zu lassen

und zum lüfter drehzahlsignal noch:
das kommt ja in 12V (nehm ich an, habs noch nicht überprüfft), da muss
dann ja auch ein transistor dafor, um auf die 5V für den controller zu
kommen - stattdessen nen widerstand währ quatsch, oder?

danke schon mal, und sorry für die viele fragerei

von justus (Gast)


Lesenswert?

@Henning
Danke für die Tabelle. Ich hatte schon befürchtet, dass es mehr als
255Hz sein könnten, was mein Design etwas hinterfragen würde, da ein
8-bit Zähler während einer Sekunde hochgezählt werden soll um die
Windgeschwindigkeit zu ermitteln...

@maxigs
.. - mal in der arbeit das oszi fragen...
schön, wenn man Zugriff auf ein Oszilloskop hat... müsste mir dringend
auch mal so ein Teil zulegen ;-)

[einen kleinen kondensator vor den fet, um diesen nicht
impulsweise durchzuschalten, sondern quasi an und aus-faden zu lassen]
ist, soviel ich weiss eine keine gute Idee. Siehe auch :
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.22.1

für die Drehzahlüberwachung die allenfalls in 12V kommt, würde ich eher
einen Spannungsteiler verwenden.

Gruss Justus

von maxigs (Gast)


Lesenswert?

danke für die schnelle antwort

also keine glättung vor dem treiber
und nen spannungsteiler für das signal (hätt ich auch draufkommen
sollen ankopffasse)

eine kleinigkeit hätt ich aber noch:

einen treiber für die 8 lüfter bzw 2x4 - gibts sowas evtl schon passend
? - ansonsten wirds etwas voll auf der platine (das ganze soll so klein
wie möglich bleiben)

von Uwe Nagel (Gast)


Lesenswert?

Als Treiber würde ich einen ULN2803 empfehlen, der hat 8
Schalttransistoren, die gegen Masse schalten. Und die
Freilaufdioden sind auch schon drin...
Schaltet bis zu 500mA pro Ausgang, die Eingänge lassen sich direkt an
den µC-Port hängen und das Teil hat 20 Beinchen.

von maxigs (Gast)


Lesenswert?

perfekt, danke

jetzt passt das ganze ja schon fast

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.