Hallo, bräuchte für ne Lüftersteurung 8-PWM-Ausgänge mit 8-Bit Auflösung und mindestens 20kHz, da die Lüfter sonst pfeifen. Hab das mit dem PIC mal versucht, aber der hat höchstens 2-PWM Ausgänge und wenn ich das per Software mache, krieg ich entweder die Frequenz nicht hin, oder die Auflösung sinkt gewaltig. Was gibts da sonst noch für Möglichkeiten?
Bei 20KHz brauchste 20KHz * 256 IRQ / s. Rechne mal aus, und schau, ob du soviel machen kannst, ich glaub nämlich nich. (20.000 * 256 = über 5Mio) Probiers doch einfach mal 100Hz. dave
AT90PWM2/3! nur weiss ich nicht, ob du den irgendwo bekommst ... Oder du machst software PWM ... nur wirst du nich die frequenz bekommen, und/oder nichts anderes mit dem controller machen können!
Dass ich nichts anderes mit dem Controller machen kann, ist ok. Aber bekomme es auch so nicht hin. Mit 100Hz hab ich leider auch ein Brummen bei den Lüftern.
Och, da gibts schon Möglichkeiten: 1. Wenn Dir 6 Bits ausreichen, dann kannst Du es mit einem ATMega48 (Reichelt: 2,20) in Software nach der Tabellenmethode machen. Die Tabelle muß trotzdem 256 Byte sein, damit im Timerinterrupt kein Test notwendig wird. Dann kommst Du mit 12 Zyklen aus und für das Main bleiben noch 3 Zyklen bei 20MHz/15/64=20,8kHz PWM-Frequenz, das Main läuft also effektiv mit 4MHz. 2. nimm 2* ATTiny2313 (Reichelt: 1,65), mit je 4 Hardware PWM 8 Bit. Peter
oder schau dir mal die HCS12 von Freescale an. Bis zu 8 Hardware PWM-Kanäle und sonstige Peripherie. Die 20KkHz sind übrigens locker drin.
Das Problem ist, dass ich eigentlich nicht auf nen anderen Controller umsteigen, also beim PIC bleiben will. Die Arbeit lohnt sich dafür nicht. Gibt es sonst keine andere hardware-Lösung? Wie wärs mit nem Aufbau aus Logikbausteinen, oder wär das zu viel Aufwand?
"... beim PIC bleiben will." hättste doch gleich sagen können. Aber wer sogar mit dem PIC klarkommt, sollte eigentlich mit dem AVR überhaupt keine Schwierigkeiten haben. Den ganzen Segmentkram einfach vergessen und gut. Peter
Hallo, man kann ja auch PWMs über die Softwäre selbst machen. Ich habe für 48 Leds so eine Sache gebaut, also 48 mal PWM. Also einen Timer hoch und runter zählen lassen. Ständig nacheinander 20 Festwerte vergleichen und bei Bedarf Prots schalten. ´ Wenn die Zeit zu knapp wird, dann nimm FPGAs o.ä.
Also per Software ist das zu langsam bei 8 Ausgängen. Wie säh denn eine Hardware-Lösung aus? Dachte da an einen 8-Bit Zähler, der bei Überlauf alle Ausgänge high setzt. Dann bräuchte ich 8-Bit Schieberegister je für einen Ausgang, wo dann der aktuelle PWM-Wert reingesetzt wird. Aber wie kann ich jetzt die die beiden 8-Bit Werte vergleichen und bei Gleichheit dann den Ausgang auf low setzten?
Probier mal parallel zum Schalttransistor eine 8,2V Zenerdiode zu schalten. Das Problem bei Lüftern ist ja, daß es Brushlessmotoren sind. Wenn man diese mit einer PWM betreibt, wird auch die Steuerelektronik des Lüfters immer ein- und ausgeschaltet. Dadurch stimmt die Ansteuerung der einzelnen Spulen nicht mehr, was beim Lüfter zu einem Brummen, Rattern oder Jaulen führt. Durch die Zenerdiode bleiben dem Lüfter auch im Aus-Zustand der PWM noch ein paar Volt und die Steuerelektronik kann weiterarbeiten. Siehe auch: http://www.matwei.de/ger/index.php?page1=elektronik&page2=drehzahl Mit einer Zenerdiode und einer PWM-Frequenz von 20-80 Hz funktioniert das bei mir seidenweich und ohne Störgeräusche.
Also wenn ich das richtig verstanden habe, dann fällt durch die z-Diode 8,2V von den 12V ab, d.h. der Lüfter wird ständig mit 4V versorgt, damit die Elektronik weiter arbeiten kann. OK, das kann ich mal ausprobieren. Wäre natürlich ne feine Sache, wenns klappt.
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.