Hallo, als Anfänger hab ich nun eine Frage, an der ich mir schon den Kopf zerbrochen hab. Ich hab auf einer Baugruppe 6 Lüfter, die jeweils für jede Umdrehung ein Clocksignal (digitale 1) abgeben (etwa alle 14ms ein Signal der Länge 7ms). Nun würde ich gerne die Clocksignale aller Lüfter auf meinem uC mitzählen. Allerdings gibt es zwischen der Baugruppe mit den Lüftern und der Baugruppe mit dem uC nur 1 Signalleitung. Wie multiplexe ich die 8 Signale auf 1 Leitung? Nach dem Gedanken jeden Lüfter jeweils 1 Sekunde lang nacheinander "auf die Leitung zu schalten" war ich jetzt schon beim Gedanken einen DA-Wandler auf der Lüfterplatine und dann einen AD-Wandler auf der uC Baugruppe zu benutzen. (Sozusagen jeder Lüfterclok ein bit, einpacken, über die leitung, auspacken und hoffen, dass das selbe bitmuster rauskommt) Wie macht man das "professionell"? Danke für Erleuchtung! Tom
David wrote:
> was spricht gegen ein i2c io modul?
Z.B. die Tatsache, dass man für i2c 2 Leitungen braucht.
@ Tom[i]:
Setze doch einfach auf die Lüfterbaugruppe einen kleinen µC, der die
Auswertung macht, und dann das Ergebnis über die eine Leitung seriell an
den "Master-µC" sendet.
setzt doch einfach zu deiner lüftergruppe einen kleinen tiny2313, der wertet alle 6 lüfter aus und sendet ein fixes protokoll seriell auf der l leitung zu ...was auch immer
also wenn der eine draht nicht allzu lang ist dann kannste es mal mit digital -> analog -> digital versuchen. schau mal nach nem DA wandler der die 8 bit paralell gefütterst bekommt und benutze die untersten beiden bits nicht wenn du nur 6 brauchst und dann wertest du das analkoge signal mit nem µc aus müsste eigentlich prima funktioniren. oder schau dich mal nach one-wire um wenn es umbedingt digital sein soll
@Tom: > Wie multiplexe ich die 8 Signale auf 1 Leitung? Wieso 8 Signale für 6 Lüfter ? > Nach dem Gedanken jeden Lüfter jeweils 1 Sekunde lang nacheinander "auf > die Leitung zu schalten" war ich jetzt schon beim Gedanken einen > DA-Wandler auf der Lüfterplatine und dann einen AD-Wandler auf der uC > Baugruppe zu benutzen. > (Sozusagen jeder Lüfterclok ein bit, einpacken, über die leitung, > auspacken und hoffen, dass das selbe bitmuster rauskommt) Bei 6 Lüftern könntest Du das Clock-Signal auf einen definierten Pegel Puffern, z.B. 0/12V und die Lüftersignale unterschiedlich gewichtet auf Deine Signalleitung addieren. Das geht am einfachsten mit je einem Widerstand pro Lüfter (R, 2R, 4R, 8R, 16R u. 32R). Mit einem 8-Bit-ADC kannst Du nun das Summensignal wieder digitalisieren und theoretisch die Bits 7...2 direkt den Lüftern zuordnen. Dazu muß der ADC aber genau abgeglichen sein. Praktisch wird man per Software eine gewisse Fehlertoleranz berücksichtigen, um die Bits auch ohne Abgleich zuordnen zu können. > Wie macht man das "professionell"? Indem man vorher genügend Signalleitungen einplant ;-) Jörg
Nachtrag: Mein Vorschlag eignet sich eher dann, wenn die Lüfter an verschiedenen Stellen sind und ihre Signale auf einer Leitung gesammelt werden sollen. Wenn alle Lüftersignale parallel zur Verfügung stehen, gibt es auch eine digitale Variante ohne µP auf der Lüfterseite: Mit einem Schieberegister, z.B. 74xx165, kannst Du bis zu 6 nutzbare Datenbits parallel laden und UART-kompatibel mit einem Baudratentakt seriell ausgeben lassen. Der Ladeeingang des SR muß regelmäßig getriggert werden, um den aktuellen Status zu übertragen. Der serielle Eingang und der Ladeeingang des ersten auszugebenden Bits wird dabei fest auf 1 (Stopbit) verdrahtet. Der Ladeeingang des 2. auszugebenden Bits wird auf 0 gelegt (Startbit). Das so erzeugte 1-wire-Signal kann vom RXD-Eingang jeder UART gelesen werden. Jörg
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.