Forum: Mikrocontroller und Digitale Elektronik [hife] usb-lüftersteuerung mit i2c und co.


von Sven J. (locutussum)


Lesenswert?

hallo,
ich plane, meinem pc eine umfangreiche lüftersteuerung zu verpassen.
allerdings brauche ich kein display... im endeffekt hätte ich da an so 
was wie den T-Balancer gedacht, den es von einer gewissen firma gibt. 
dieses gerät ist aber sehr teuer und hat nicht alle features, die ich 
will.
im endeffekt habe ich daran gedacht, einen mikrocontroller, klar, zu 
verwenden.

an diesen sollten dann über einen I2C-bus temperatursensoren 
angeschlossen werden. des weiteren - evtl. auch über i2c - 
pwm-steuerungen für die lüfter (sind einige, etwa ... 9 oder so, wobei 
einige parallel laufen). der aufbau dieser beiden punkte ist mir klar, 
nur nicht die anbindung an einen Mikrocontroller und die programmierung 
selbigens.

Der mikrocontroller sollte in abhängigkeit der an den temperatursensoren 
gemessenen temperaturen die lüfter regeln.

ein weiterer schöner punkt wäre das auslesen der taktsignale der lüfter. 
dies stellt wahrscheinlich kein großes problem dar, wenn man erst mal 
weis, wie man mit einem mikrocontroller so was ausliest.

dann wäre es noch schön, wenn man das ganze über usb auch vom rechner 
auslesen und etwas steuern kann. also auf gut deutsch, auf dem pc die 
temperaturen der sensoren und die geschwindigkeiten der lüfter einlesen 
und die geschwindigkeiten - also frequenz des pwm-signals - der lüfter 
verschiedenen temperaturbereichen zuordnen können. (letzteres stelle ich 
mir so vor, dass dem mikrocontroller gesagt wird, dass er, sobald die 
temperatur an sensor x den wert y hat, er lüfter z so und so besteuern 
soll. wobei die temperatursensoren frei den lüftern zuordnungsbar sein 
sollten.

ich denke ich hab soweit meine idee jetzt beschrieben.
mein problem ist, ich habe noch herzlich wenig erfahrung mit 
programmierung. das einzige was ich bisher ansatzweise verstehe ist das 
hello-world programm in c++.
entsprechend weis ich auch noch nicht so richtig, wie ich das alles 
programmieren soll. von den schaltungen her wird es denk ich mal kein 
problem sein. (löterfahrung hab ich, auch ansatzweise im löten nach 
luft- und raumfahrtsnormen ;) )

ich hoffe wirklich, dass mir hier jemand helfen kann.

von Falk B. (falk)


Lesenswert?

@ Sven Johannsen (locutussum)

>ich plane, meinem pc eine umfangreiche lüftersteuerung zu verpassen.

Mal was ganz Neues . . .

>im endeffekt habe ich daran gedacht, einen mikrocontroller, klar, zu
>verwenden.

Stimmt, der PC mit sein xxGH schafft das nicht nebenher.

>an diesen sollten dann über einen I2C-bus temperatursensoren
>angeschlossen werden. des weiteren - evtl. auch über i2c -
>pwm-steuerungen für die lüfter (sind einige, etwa ... 9 oder so, wobei

???
NEUN Lüfter? WOW, was für einen Superboliden hast du denn?

>einige parallel laufen). der aufbau dieser beiden punkte ist mir klar,
>nur nicht die anbindung an einen Mikrocontroller und die programmierung
>selbigens.

Das kannst du ja hier vielleicht lernen.

>Der mikrocontroller sollte in abhängigkeit der an den temperatursensoren
>gemessenen temperaturen die lüfter regeln.

Machbar.

>ein weiterer schöner punkt wäre das auslesen der taktsignale der lüfter.
>dies stellt wahrscheinlich kein großes problem dar, wenn man erst mal
>weis, wie man mit einem mikrocontroller so was ausliest.

In der Tat.

>dann wäre es noch schön, wenn man das ganze über usb auch vom rechner
>auslesen und etwas steuern kann. also auf gut deutsch, auf dem pc die

USB

>ich denke ich hab soweit meine idee jetzt beschrieben.

Das war der leichte Teil ;-)

>mein problem ist, ich habe noch herzlich wenig erfahrung mit
>programmierung. das einzige was ich bisher ansatzweise verstehe ist das
>hello-world programm in c++.

Aller Anfang ist schwer.

>entsprechend weis ich auch noch nicht so richtig, wie ich das alles
>programmieren soll.

Man könnte mit BASCOM anfangen, erleichtert vieles. Oder C. Geht ggf. 
auch.

Bascom AVR
AVR-GCC-Tutorial

> von den schaltungen her wird es denk ich mal kein
>problem sein. (löterfahrung hab ich, auch ansatzweise im löten nach
>luft- und raumfahrtsnormen ;) )

Das Löten ist das kleinere Problem. Der Enwurf einer Schaltung schon 
eher.

>ich hoffe wirklich, dass mir hier jemand helfen kann.

Was willst du wissen? Eine Lösung auf dem Silbertablett gibts nur bei 
Hausaufgaben.de

MfG
Falk

von Sven J. (locutussum)


Lesenswert?

im endeffekt will ich wissen, wie ich da wo ansetzen muss. dass ich das 
ganze auch mim pc steuern kann ist klar, nur... ich hab bei meinem 
mainboard nur noch usb-ports und einen com-port, welcher schon mit 
winlirc belegt ist. über ne pci-karte werd ich mir zwar noch nen 
parallel-port reinholen, der wird aber für ein glcd da sein. (welches 
auf dem sed1335 basiert, hab dazu keine sinnvolle anleitung für ne 
ansteuerung über usb, ausser dem io-warrior - der ist aber teuer - 
gefunden.)

zum thema 9 lüfter: ich hab in dem rechner eine wakü mit mehreren radis. 
ich bin ein absoluter fan von lautlosen rechnern - zumindest im idle - 
und hab dementsprechend lieber etwas mehr kühlleistung, wenn ich dafür 
die lüfter schwach bis gar net laufen lassen kann... ;)

zu den links... das mit dem usb sieht schon mal sehr hilfreich aus, ich 
nehme an, dass ich damit eine verbindung schon mal hinbekommen sollte. 
fraglich ist da zwar noch, wie das dann von der software ausgelesen 
werden können sollte.
die links zu den anleitungen... ich bin kein fan von kauf-software, 
daher stehe ich bascom erst mal verhalten gegenüber. ich habe mir 
bereits von atmels homepage das programm avr-studio geholt, was auf mich 
eigentlich einen recht gut organisierten eindruck macht. ich weis nur 
noch nicht, was wo ist und was wie funktioniert.
die avr-einsteiger-anleitung hatte ich bereits ein paar mal gesehen und 
auch schon etwas durchgelesen, es ist aber recht viel text und ich 
versteh davon noch nicht wirklich viel, weil ich einfach gar keine 
ahnung bis her vom programmieren habe.

zu dem kommentar mit hausaufgaben.de muss ich leider anmerken, dass ich 
mein abitur bereits gemacht hab und es entsprechend nicht im ansatz 
etwas mit hausaufgaben zu tun hat. ;) ... ich hatte nur gehoft, dass ich 
hier einige hilfreiche tipps bekomme und vielleicht auch code-beispiele, 
wie ich so was aufsetzen kann/muss - was ich zum teil ja schon bekommen 
habe.
generell kann ich mit beispielen mehr anfangen, die ich selbst etwas 
anpasse als mit langem text von dem ich kaum was verstehe, weil ich nie 
viel mit programmierung zu tun hatte... ;)

von Simon S. (herrbert)


Lesenswert?

Dann baust du das Ding aber nicht selber sondern pfuschst in was 
bestehendem rum :) (EDIT: Am Anfang sind Beispiele natürlich wichtig!!!)

Meine Meinung: Bevor du das AVR Tutorial nicht verstanden hast brauchste 
gar nicht erst Anfangen. Ohne Grundlagen gehts nicht.

Bevor du an eine USB-Verbindung denken kannst sollteste erstmal ein paar 
LEDs angesteuert haben...

Daher: Halte das Projekt im Hinterkopf aber befasse dich erstmal mit den 
Grundlagen - Wozu auch C, Assembler oder Bascom gehört, je nach dem was 
du programmieren willst. Solange du die Sprachen nicht checkst kannstes 
im µC gleich vergessen da is alles ein wenig schwieriger.

von Michael H* (Gast)


Lesenswert?

Sven Johannsen wrote:
> im endeffekt will ich wissen, wie ich da wo ansetzen muss.
darüber musst du dir eher selbst im klaren sein. ich hab den eindruck, 
dir fehlt ein bisschen der überblick.
du willst temperaturen messen, komfortabel über einen bus. du hast i2c 
genannt:
- LM75 datenblatt studieren - nicht überfliegen, das ist wirklich 
ausführlich
- I2C

> pwm-steuerungen für die lüfter
ich würd einen regler baun, wenn schon auf den putz gehaun wird.
http://de.wikipedia.org/wiki/Regelungstechnik
dann brauchst du noch treiber für deine motoren. dazu und auch generell: 
Standardbauelemente

uswusf. du hast konkrete vorstellungen zu deinen anforderungen. sie sind 
nicht so weltfremd, als dass man keine suchergebnisse erwarten könnte.
ein guter ansatzpunkt hier ist bestimmt die artikelsammlung.
Hauptseite
http://www.mikrocontroller.net/articles/Spezial:Alle_Seiten

> com-port, welcher schon mit
> winlirc belegt ist. über ne pci-karte werd ich mir zwar noch nen
> parallel-port reinholen, der wird aber für ein glcd da sein.
eher am rande: das könnte locker alles dein jetziger aufbau 
mitübernehmen.
display über parallelport ist grausig, weil du keine kurzen datenpakete 
aus dem pc schickst, sondern einen kompletten bildaufbau. das dann mit 
ein paar fps und schon gehts los...

> zu den links... das mit dem usb sieht schon mal sehr hilfreich aus, ich
> nehme an, dass ich damit eine verbindung schon mal hinbekommen sollte.
verbindung zu? =) hast du schon hardware? lass mal hören.

> fraglich ist da zwar noch, wie das dann von der software ausgelesen
> werden können sollte.
dann solltest du dir ein protokoll ausdenken. es lassen sich zig 
beispiele für so eine kommunikation im netz finden, da kannst du dir 
inspiration holen.
software libs für die virtuelle schnittstelle unter C++ oder was auch 
immer gibts wie sand am meer.

> bereits von atmels homepage das programm avr-studio geholt, was auf mich
wenn du mit C weitermachen willst, brauchst du noch das WinAVR 
Softwarepaket, da das avr-studio keinen gcc mitbringt.

> die avr-einsteiger-anleitung hatte ich bereits ein paar mal gesehen und
> auch schon etwas durchgelesen, es ist aber recht viel text und ich
> versteh davon noch nicht wirklich viel, weil ich einfach gar keine
> ahnung bis her vom programmieren habe.
und da liegt der hase im pfeffer. die meist gemachte erfahrung mit 
dicken projekten von anfängern sieht nicht rosig aus...

> als mit langem text von dem ich kaum was verstehe, weil ich nie
> viel mit programmierung zu tun hatte... ;)
langsam und mühselig... wenn du das hobby beibehalten willst, kommst du 
nicht drum rum.

> von den schaltungen her wird es denk ich mal kein
> problem sein.
sicher?

ganz generell:
ich würd dir sehr nahe legen, erst das AVR-GCC-Tutorial an den 
benötigten Stellen durchzuarbeiten und zu verstehen. mach das ganze 
gleich mit realer hardware, das liefert die motivierenden 
erfolgserlebnisse zwischendrin. das meiste davon brauchst du für dein 
projekt sowieso.

von Sven J. (locutussum)


Lesenswert?

also... hardware hab ich bisher noch keine. das einzige was richtung 
mikrocontroller geht ist nen am27c010, was aber glaub ich wenig 
hilfreich ist. ;)

ich denke  ich werd mir die tage beim kleinen elektronikladen um die 
ecke ein paar teile kaufen... und dann werd ich mir zunächst ein 
programmierboard zum proggen über usb bauen. (da war ja die eine oder 
andere anleitung inklusive code) im anschluss werd ich dann einfach mal 
die eine oder andere programmierung probieren.

zum i2c: ich hatte auch den lm75 im auge. der macht auf mich einen sehr 
guten eindruck. ist zwar smd, allerdings ist das vorteilhaft. könnt ich 
sogar frei verdrahten und dann möglichst flach montieren. ;)
Die lüftersteuerung hatte ich wie gesagt so geplant, dass ich eine 
poti-gesteuerte pwm-ansteuerung aufbaue und anstelle des potis jeweils 
ein digitales poti verwende, welches über i2c angesteuert werden kann. 
da hab ich schon den einen oder anderen ic gesehen, der dafür in frage 
käme.
der link mit der regelungstechnik sagt mir jetzt so direkt nicht 
wirklich was und ich kann im moment nicht so recht nachvollziehen, wie 
ich das sinnvoll umsetzen kann.

wie ich den ir-empfänger und die displayansteuerung in die 
programmierung einbinden soll ist mir bis jetzt auch noch schleierhaft. 
ich habe in der usb-anleitung unter anderem zwar auch was zum 
anschließen von ir-empfängern gefunden, allerdings würd ich dafür glaub 
ich einen zweiten ic einbauen müssen.
und wie ich das display einbinden soll ist mir bis jetzt noch vollkommen 
schleierhaft. es wird wie gesagt mit einem sed1335 angesteuert und ich 
habe im netz noch keinerlei informationen darüber gefunden, wie man 
dieses ic mit einem avr ansteuert. angeblich soll der iowarrior diesen 
ansteuern können, aber das ist natürlich keine option. ;) ... und das 
display selbst will ich am ende ja mit meinem rechner ansteuern können, 
also genauer mit einem programm wie lcdhype. ;)

da ich wie gesagt vom programmieren noch so gut wie null ahnung hab, 
weis ich auch noch nicht so recht wie ein protokoll aussieht und was es 
macht.

und schaltungstechnisch komme ich einigermaßen klar. ich hab auch schon 
im rahmen meines praktikums für mein studium, welches ich demnächst 
aufnehmen werd, mit einem cad-programm namens rangerXL einen 
funktionsgenerator auf basis eines max038 entworfen, gefräßt und 
gelötet, inklusive digitaler ansteuerung in smd-technik.

ich werd mir aber für zu hause wohl mal ein ätzset zulegen müssen, denn 
mit streifenrasterplatinen werd ich bei so einem projekt wohl nicht so 
weit kommen - und eine geätzte platine sieht natürlich schöner aus und 
ist kompakter. ;)

von Michael H* (Gast)


Lesenswert?

Sven Johannsen wrote:
> und dann werd ich mir zunächst ein
> programmierboard zum proggen über usb bauen.
> im anschluss werd ich dann einfach mal
> die eine oder andere programmierung probieren.
ganz guter ansatz.

> Die lüftersteuerung hatte ich wie gesagt so geplant, dass ich eine
> poti-gesteuerte pwm-ansteuerung aufbaue und anstelle des potis jeweils
> ein digitales poti verwende, welches über i2c angesteuert werden kann.
das klappt so nicht. so ein poti hält die verlustleistungen nicht aus. 
hast du nicht was von pwm geschrieben?

> der link mit der regelungstechnik sagt mir jetzt so direkt nicht
> wirklich was und ich kann im moment nicht so recht nachvollziehen, wie
> ich das sinnvoll umsetzen kann.
K  Regler          lüfter
G  Regelstrecke    kühlung durch luftstrom
w  Sollwert        Solltemperatur z. B. 22 °C
auch Führungsgröße
e  Regeldifferenz  z. B. 2 °C
e = w - y
u  Stellwert       PWM-freuqenz
d  Störgröße       temp-erhöhung durch abwärme
y  Regelgröße      aktuelle wassertemp/gehäustemp
auch Istwert
das wäre dein regelproblem. jetzt kannst du die einzelnen strecken 
ermitteln und einen regler nach irgendwelchen kriterien wählen und 
parametrieren.
ein simples verhalten wie folgendes wär mir zu einfach: zu warm -> 
lüfter an

> wie ich den ir-empfänger und die displayansteuerung in die
> programmierung einbinden soll ist mir bis jetzt auch noch schleierhaft.
warum? winlirc ist doch sogar ein client-server system, wenn ich das 
richtig in erinnerung habe. du empfängst mit deiner eigenen software 
einen - vor mir aus - RC5 code. den wertest du aus und lässt deine 
software dann zum winlirc-server verbinden und diese agieren.

> ich habe in der usb-anleitung unter anderem zwar auch was zum
> anschließen von ir-empfängern gefunden, allerdings würd ich dafür glaub
> ich einen zweiten ic einbauen müssen.
nein, das kann dein µC.
Beitrag "Fernbedien RC5 Empfänger"

> und wie ich das display einbinden soll ist mir bis jetzt noch vollkommen
> schleierhaft. es wird wie gesagt mit einem sed1335 angesteuert und ich
du hast einen controller -> du hast ein datenblatt. das muss eigentlich 
fast schon reichen =)
versuch es mal mit sachen, wo du leichter support bekommst. HD44078 
gibts mit kaufempfehlung im AVR-GCC-Tutorial.

> also genauer mit einem programm wie lcdhype. ;)
http://lcdhype.de/index.php?&showtopic=328
der umweg über eine erweiterungskarte mit lpt wäre grober unfug.

> da ich wie gesagt vom programmieren noch so gut wie null ahnung hab,
> weis ich auch noch nicht so recht wie ein protokoll aussieht und was es
> macht.
ein protokoll beschreibt in der sog. soft- und hardwareschicht, wie sich 
zwei gesprächspartner unterhalten. ein gutes beispiel für ein sehr 
ausgearbeitetes protokoll findet sich z.b. hier:
Beitrag "bidirektionale RS232 Funkbrücke mit RFM12"

> cad-programm namens rangerXL
wenn du damit allein zurechtkommst, umso besser. aber auf support hier 
ist glaub ich kaum zu hoffen. ansonsten kann ich persönlich eagle 
empfehlen.
Eagle im Hobbybereich
Eagle FAQ

> funktionsgenerator auf basis eines max038 entworfen, gefräßt und
hoffentlich hast du fräsen im bericht richtig geschrieben =)

> ich werd mir aber für zu hause wohl mal ein ätzset zulegen müssen, denn
nie verkehrt!

von Sven J. (locutussum)


Lesenswert?

ich hoffe, das ichs richtig geschrieben hab... hab jetzt nur nicht genau 
auf rechtschreibung geachtet.

wie gesagt. ranger xl hab ich nur im praktikum verwendet. kam damit 
allerdings am ende recht gut zurecht. wobei es ja cad-software für 
schaltpläne und layout wie sand am mehr gibt. ich hab da noch ein 
anderes mit einem ganz komischen namen, der glaub ich irgendwas mit 
grichischen sagen zu tun hat, gesehen, aber damit durfte ich net 
arbeiten. von der anwendung her soll es einfacher als ranger XL sein... 
und eagle kenn ich auch. damit hab ich auch mal gearbeitet wobei ich 
sagen muss, das ich ranger XL, nachdem ich damit mal gearbeitet habe, 
einfacher von der bedienung finde. ;)

zum thema display muss ich sagen, dass ich da ganz gerne meine alte 
hardware halt behalten möchte. und ich habe hier nun mal dieses display 
rumfliegen. (welches früher einmal in einem aufzug eingebaut war und 
über einen eprom, glaub ich angesteuert wurde, aber ganz genau weis ich 
das nicht mehr. hab das vor ein paar jahren zum betrieb am lpt-port 
umgebaut.)

am com-port hängt natürlich der empfänger und winlirc decodiert den 
raw-rc5-code zu einzelnen signalen, welche dann von weiterer software 
auf dem lirc-server abgefragt wird... also da müsste ich im endeffekt 
entweder einen ähnlichen server haben oder winlirc weiter die signale 
irgendwie auslesen lassen.
und ich glaub winlirc läuft auch mit diesem igor. also ich denk daher, 
am einfachsten und sinnvolsten wäre es, den rc5-raw-code direkt an 
winlirc zu übergeben... sonst ists ja nichts anderes als diese 
usb-fernbedienungen, die angeschlossen werden und dann eine tastatur 
simmulieren. mit winlirc kann ich auch aus anderen anwendungen heraus 
agieren.. ;)

und noch mal zum punkt der lüfter.
der gedanke ist, eine pwm-schaltung aufzubauen. das ist ja praktisch in 
die richtung, z.b. ne555 erzeugt clock, clock steuert leistungstransitor 
an und transistor schaltet lüfter.
der clcock vom ne555 wird glaub ich über eine RC-brücke eingestellt. 
wobei C fest ist und R ein poti ist. hier fällt wenig leistung ab. und 
daher müsste ich eigentlich dieses poti durch ein digitales ersetzen 
können. oder seh ich da was grundlegend falsch? oder gibts vielleicht 
sogar pwm-ICs, welche per i2c gesteuert werden können? (ich find i2c 
einfach eine geniale sache. vier leitungen und ich kann alles 
anschliessen... )

von Sven J. (locutussum)


Lesenswert?

zum thema lcd noch mal. ich habe mir gerade ein wenig die hilfe zu 
bascom avr durchgelesen... und da ist ein teil über den sedxxxx ... wenn 
ich das jetzt richtig sehe, dann bietet diese software zum einen einen 
support für diesen treiber an. und das müsste dann ja bedeuten, dass ich 
mit den libraries aus dem programm relativ einfach eine ansteuerung für 
das display hinbekommen und an den pc weitergeben können müsste...

von ... .. (docean) Benutzerseite


Lesenswert?


von Sven J. (locutussum)


Lesenswert?

ich kenne die seite, modding-faq, und... die lcd-ansteuerung ist für 
mich nutzlos, weil es für die ansteuerung von text-lcds gedacht ist. ich 
will aber ein glcd, auflösung 320*240 ansteuern. ich hab mir selbst 
dieses tut schon mal durchgelesen. ;)

aber wo du schon mal die seite erwähnt hast, kann ich noch mal meine 
idee vom pwm anschaulich erklären:
http://www.modding-faq.de/moddingfaq/lueftersteuerungen/pwm/schaltpl.gif 
bei diesem bild zum beispiel als grundlage. da taucht ja ein poti auf. 
hier könnte und wollte ich mit einem i2c-digi-potentiometer ansetzen. da 
dürfte eigentlich nicht viel leistung fließen.

am rande muss ich noch mal erwähnen, dass das handbuch von bascom avr 
sehr umfangreich, informativ und hilfreich ist. da steht was zum 
i2c-bus, was zum display und irgendwo sogar etwas zu fernbedienungen 
drin... ich denke mal, damit werd ich einen guten ansatz finden.

ansonsten hab ich mir noch mit eagle das layout von nem 
usb-programmierungs-interface so umgearbeitet, das es schön kompakt ist, 
was leider sehr viel arbeit mit eagle ist, weil vieles etwas... 
kompliziert gemacht ist. da bin ich einfach andere programme gewöhnt. ;) 
... wobei ich auch sagen muss, dass der grundschaltplan ziemlich seltsam 
war. ein jumper hätte zum beispiel beim setzen den usb-port 
kurzgeschlossen. :/

von Klaus (Gast)


Lesenswert?

eine pwm Ansteuerung von Lüftern ist keine Praktikable Lösung da die 
Kommutierung der Motoren über einen internen Mikrocontroller gesteuert 
wird. Wenn ich einen uC mit eimem PWM beaufschlage ist das so als ob ich 
einem uC taktweise die Versorgungsspannung wegschalte. Du solltest also 
erst einmal überprüfen ob deine Lüfter konventionell aufgebaut sind oder 
über einen uC verfügen.

von Daniel R. (drd)


Lesenswert?

@ Klaus:
Das ist aber nur bei Brushless-DC Motoren so, oder? Ich habe mal eine 
Regelung mittels LM2474 für ebm-Papst Lüfer realisiert (es ging, war 
aber nicht besonders gut).
Meistens werden doch normale Gleichstrommaschinen eingesetzt, zumindest 
bei den billigen Modellen.

Ich überlege momentan mir etwas ähnliches aufzubauen, nur ohne mC. 
Aktuell bin ich noch beim LM63, aber leider gibt es da wohl Probleme den 
mit lm-sensors auszulesen. Von dem kannst du 8 Stück an den SMBus 
packen. Jeder hat einen internen Temperaturfühler und kann noch einen 
externen messen. Zusätzlich hat der Vogel noch eine PWM-Steuerung für 
Lüfter, wobei einfach für 8 Temperaturen der PWM-Wert des Lüfters 
gesetzt wird. Auch eine Drehzahlerfassung ist möglich. Habe mir das 
Datenblatt noch nicht genau angesehen, aber das dürfte eigentlich alles 
auf dem SMBus ausgegeben werden und sollte dann mit Everesthome oder 
dergleichen auszulesen sein.
Einfaches LCD mit Lirc über USB wäre mit 
http://www.xs4all.nl/~dicks/avr/usbtiny/ realisierbar (USBtiny LIRC 
compatible IR receiver and LCD controller).

von Sven J. (locutussum)


Lesenswert?

also zunächst... wenn ich von lüftern im zusammenhang mit meinem 
computer spreche, dann meine ich die dinger, die sich drehen und die 
luft befördern. ;) ... und ich nehme an, die hat jeder schon mal 
auseinander genommen. da ist etwas elektronik drin und der rotor hat 
keinen elektrischen kontakt zum stator, ergo ists brushless, wenn ich 
das richtig in erinnerung habe.
nichtsdesto trotz soll eine lüfteransteuerung über PWM recht effektiv 
sein. ein an/aus/an der hardware kann man ja mit einem 
parallelgeschalteten C beheben... dann würde jeweils in den off-phasen 
der C aushelfen, dafür in den an-phasen weniger spannung zur verfügung 
stehen, da der C geladen wird... ;)


diese webseite mit dem usbtiny hab ich schon gesehen... nur noch nicht 
den punkt mit lcd und ir-receiver. ich denk, der lcd-teil wird etwas 
überarbeitet werden müssen, aber der ir-teil kann, glaub ich, direkt 
übernommen werden, was schon mal sehr gut ist... ^.^

von Michael H* (Gast)


Lesenswert?

Sven J. wrote:
> entweder einen ähnlichen server haben oder winlirc weiter die signale
> irgendwie auslesen lassen.
nein, einen eigenen client zum winlirc-server. dazu sollten sich 
beispiele finden lassen.

> und noch mal zum punkt der lüfter.
> der gedanke ist, eine pwm-schaltung aufzubauen. das ist ja praktisch in
das kann dein mikrocontroler ohne probleme. ein elektronisches poti auf 
einen ne555 ist ein ziemlicher umweg. schau dich doch hier mal nach 
"soft pwm" um. deine lüfter brauchen ja keine hohen frequenzen bei der 
pwm, daher kannst du die zum beispiel leicht über einen BCD dekoder 
(4028) machen, dann brauchst du nur ld(kanäle) pins.

> oder gibts vielleicht
> sogar pwm-ICs, welche per i2c gesteuert werden können? (ich find i2c
gibts. is overkill für die geschichte.

> einfach eine geniale sache. vier leitungen und ich kann alles
vier? verwechselst du spi und i2c?

von Sven J. (locutussum)


Lesenswert?

also zunächst... mit vier leitungen meinte ich absolutwert. 2 data, 2 
powersupply. ;)

zum thema pwm: vielleicht ist es wirklich sinnvoller die lüfter statt 
mit pwm mit einer schaltung anzusteuern, welche eine feste 
ausgangsspannung anhand einer eingangsspannung einstellt. (ist denk ich 
mal sinnvoller, weil dann die lüfis vielleicht nicht so klappern) ... 
dann müsste ich aber irgendwie den ic dazu bringen können, eine spannung 
einzustellen... oder halt doch wieder eine spannungsweiche mit 
digitalpoti... ;)

und winlirc selbst lässt sich glaub ich recht gut mit dem code aus dem 
einen tutorial in den links ansteuern. ;) ... da war ein vfertiges 
codebeispiel bei... da muss nur der lcd-teil raus, weil der net passt... 
^.^

von Michael H* (Gast)


Lesenswert?

ob so ein "intelligenter" lüfter dann auch mit weniger spannung 
zufrieden ist? also ich prophezei mal, dass du keine probleme mit deinen 
lüftern haben wirst. widerspruch oder -leg sind herzlich willkommen.

freut mich, dass ich dich für die elegante variante mit winlirc 
begeistern konnte.

mal was ganz andres: hast du an das tachosignal deiner lüfter gedacht? 
das würde sich schön auf einen externen interrupt multiplexen und 
auswerten lassen. ich denke da an einen 4512.

von Sven J. (locutussum)


Lesenswert?

hmm... also zu den lütern weis ich schon eine sache. drei der verbauten 
- sind sflex von scythe, laufen bei 12V auf 800U/min - wollen bei 5V gar 
nicht erst anlauen. für die würd ich also gar net so einen großen 
regelbereich bzw. vielleicht sogar ein einfaches ein/ausschalten. (wobei 
da noch hinzukommt, die sind auf einem tripple-radiator montiert und ich 
habe da schon die kontakt-kabel abgelötet und alle mit einem kabel 
angeschlossen... jetzt sinds nur noch die drei tacho-signale und die 
spannungsversorgung. (wobei ich mir vorstellen könnte, dass die 
tachosignale zusammen an einen kleinen ic gegeben werden könnte, welcher 
jeweils, sobald er an allen drei pins der takte ein high bekommen hat, 
einen takt ausgibt...
(also praktisch auf gut deutsch, der praktisch jedes mal einen schritt 
gibt, wenn jeder lüfter einen schritt gegeben hat. wenn dann einer 
stehen bleibt gibts kein bit mehr und ich bin gewarnt. gucken muss ich 
dann sowieso nach allen lüftern. ;) )

die anderen lüfter - sind 3 nanoxia und ein paar noname - laufen alle 
bei 5V und ich kann mir sogar vorstellen, dass sich die spannung sogar 
noch mehr drosseln lässt.

der 4512 wirkt auf mich im datasheet jetzt etwas verwirrend... im 
endeffekt würds doch ausreichen, einen ic zu nehmen, der für jeden lüffi 
einen schieberegister führt und dann z.b. auch über i2c ausgelesen 
werden kann... ;) ... halt etwas, was möglichst wenig bauteile benötigt, 
aber viel funktionalität bietet und möglichst wenig pins verwendet. denn 
desto weniger pins, desto mehr features gehn ja... (wobei dann 
irgendwann das wechseln ner lüfter-geschwindigkeit 2 minuten dauert, 
weil erst das ganze programm durchlaufen muss... :D)

noch ein ganz anderer punkt... ich war heute auch mal bei meinem 
elektronik-shop um die ecke... leider hatte der fachlich sonst sehr 
kompetente verkäufer auf dem bereich keine ahnung und der laden selbst 
führt auch keine atmels, da diese nur selten gefragt werden. (ist halt 
ein kleiner krämer-laden, wo man so gut wie alles aus einer regalwand 
bekommt. würden mir glaub ich auch alles irgendwo bestellen können, 
aber... wäre sehr aufwendig.)
daher jetzt die frage: wo bekomm ich günstigst atmels und co. her?
vielleicht auch direkt ein usb-programmer-board für wenig geld?
ich meine, hier irgendwo mal eine linkliste zu shops, die atmels 
verkaufen, gesehen zu haben, konnte die aber nicht mehr finden... 
allerdings soll reichelt da ganz günstig sein... nur hab ich da noch nie 
bestellt und weis net, wie das mim mindestbestellwert ist... (und nen 
conrad hab ich um die ecke auch, aber conrad-mitarbeiter sind komplett 
inkompetent... konnten net mal erkennen, dass eine gesuchte schraube ein 
zollgewinde hatte... :/ )

ansonsten sollte ich mich vielleicht mal ganz in ruhe hinsetzen und eine 
genaue liste schreiben, welche funktionen ich wo und wie in den ic 
einbauen will...
nebenbei ist es auch eine frage, welchen ic ich überhaupt am ende 
brauchen werd. wenn ich mir zum beispiel die dokumentation vom 
io-warrior (Was ja glaub ich nichts anderes als ein atmel mit 
usb.interface ist) ansehe, dann steht da drin, dass erst die 
56er-version displays meines typs ansteuern kann... kann ich daraus 
jetzt schliessen, dass ich einen eher umfangreicheren atmega, größer als 
der atmega32 brauche? also eher so was in die richtung von nem 2560 oder 
so? (wobei das ja absoluter overkill wäre und ich damit wahrscheinlich 
noch einiges mehr in meinem pc regeln könnte..)

und wo ich gerade schreibe fällt mir noch ein anderer punkt ein... ich 
muss auch noch eine ansteuerung für motoren in den ic integrieren. das 
sollte ja kein großartiges problem sein...
konkret sollten das drei motoren sein. der eine ist ein normaler 
e-motor, treibt ne laufwerkschublade. der zweite ist ein bipolarer 
stepmotor, welcher praktisch den laserhalter auf der laufwerkslade 
bewegt. auf diesen halter soll dann mit einem dritten motor das display 
montiert werden. gedanke dahiter ist, dass das display, wenn der pc net 
genutzt wird oder das display net gebraucht wird, einfach in den pc 
eingefahren und geschützt wird. wenn es dann gebraucht wird, fährt die 
laufwerksschublade voll aus. der stepmotor befördert gleichzeitig auch 
den laserkopfhalter zusammen mit dem display bis zur vordersten 
position, sodass das display komplett draußen ist. anschließend dreht 
der dritte motor - ich nehme an, hier wäre ein step-motor sehr sinnvoll 
- das display um neunzig grad. (display ist ja rechteckig, anfangs ist 
die kurze kante parallel zur front, nach der drehung die lange.)
nach dem drehen des displays hab ich mir dann überlegt, dass entweder 
der stepmotor oder die ganze schublade wieder ein ganzes stück zurück 
fährt. hierbei würde dann das lcd-display gegen das gehäuse gedrückt 
werden und - aufgrund einer leicht schrägen montage - aufgerichtet 
werden. (vorrausgesetzt natürlich, es ist noch ein klappgelenk 
eingebaut. ;) )
ich denke, das display aufrichten würd ich über den 2. motor, also den 
stepmotor machen, weil das zum einen einfacher zu kontrollieren ist und 
zum anderen würde dann unter dem display eine fläche frei werden, in 
welcher ich taster und evtl. ein paar leds für weitere 
steuerungsmöglichkeiten einlassen könnte...

ich denk mal, auch das wird sich mit einem avr sehr einfach lösen 
lassen. irgendwo hab ich sogar schon was richtung stepmotoransteuerung 
mit avrs gesehen... also... da ist mehr die mechanik dann das problem... 
würde aber einen großen ic noch näher legen als schon alleine der 
anfängerstatus. ;)

von avion23 (Gast)


Lesenswert?

Hallo sven,
es reicht wenn du eine Drehzahl von deinen Sflex lüftern ausliest.

Das Tachosignal ist GND-bezogen. Du müsstest also highside schalten. 
Eine überlagerte PWM macht das kapput. Also schaltwandler oder 
Linearregler verwenden.

atmels bekommst du von reichelt. Deck dich gut ein ;) Bestellt auch ein 
paar power mosfets mit, p- und nkanal. Informier dich in der mosfet 
übersicht.


Als programmer kannst du den parallelport + 74hc126 verwenden. den 74hc 
kriegst du überall.

Schonmal auf obdev.at das usb projekt angesehen?
Viel spaß

von Sven J. (locutussum)


Lesenswert?

hmm... also zum thema usb-programmer hatte ich an das hier gedacht: 
http://www.fischl.de/usbasp/
problem bei mir ist einfach, dass ich so gut wie keinen zugriff mehr auf 
einen druckerport habe. ich könnte evtl. natürlich auch am seriellen 
port proggen, nur ob das dann wirklich so gut funktioniert... ich bin da 
lieber vorsichtig...
mim eindecken... ich denk mal, dass es schon sinn macht, mir da ein paar 
verschiedene ics zu holen, vielleicht auch ein paar 
i2c-temperatursensoren.
was du mit der tacho-auswertung meinst, versteh ich nicht ganz. ich 
möchte ja von allen meinen lüftern eine rückmeldung, ob und wie sie 
laufen. daher auch die idee, aus drei signalen eins zu machen.
und dass pwm hier stören kann stimmt schon irgendwie. wobei ja auch 
moderne mainboards die lüfter zum teil über pwm steuern...

frage ist an dieser stelle dann natürlich, wie ich eine vernünftige 
nicht-pwm-steuerung realisieren kann. also mit anderen worten, wie ich 
eine feste spannung, welche auch gleich der eingangsspannung oder 0V 
werden kann, erzeugen kann. simpelst ginge es zwar mit z.b. nem lm317, 
nur der braucht ja mehr eingang als ausgang... oder vielleicht gibts ja 
sogar ics, welche über ein interface angesprochen verschiedene 
spannungen ausgeben können?
aber ich denke nach wie vor... eigentlich müsste das mit pwm gut gehen. 
wenn ich zum lüffi noch jeweils so was wie 470µF parallel schalten 
würde, dann müsste so eigentlich die spannung etwas geglättet werden und 
ein ein-aus-ein-aus des lüfters verhindert werden...

und ich denke... mosfets muss ich nicht unbedingt bei reichelt 
bestellen. bei meinem kleinen elektronik-laden um die ecke bekomme ich 
so gut wie alles - nur halt keine mikroprozessoren. ;) ... und preislich 
ist es da dann meistens viel günstiger. (liegt daran, dass der eine 
verkäufer immer einmal auf die gesammelten bauteile guckt und dann grob 
einen preis abschätzt, der immer unterm ladenpreis liegt... ^.^)

aber ich guck mal...
vielleicht hol ich mir auch gleich nen atmega2560 mit entsprechender 
adapterplatine mit... mit dem könnt ich garantiert viel üben... aber am 
besten wäre ja ein set, welches verschiedene atmels enthält... ich guck 
mal, was es bei ebay gibt, wobei ich bezweifle, dass es da was gutes 
gibt... :(

von Michael H* (Gast)


Lesenswert?

und, stand der dinge?

von Sven J. (locutussum)


Lesenswert?

im moment bin ich noch auf der suche nach einer vernünftigen quelle. ich 
denke, ich werd bei reichelt bestellen, nur dann werd ich denk ich mal 
gleich noch ein paar mehr ics dazu bestellen. und da bin ich noch am 
gucken, welche ICs ich noch nehmen könnte.

und ich bin mir auch noch nicht ganz sicher, welche Atmels ich nehmen 
soll. gibt da ja recht viele... ich denk mal, ich werd auf jeden fall 
einen atmega8 für den usb-programmer brauchen. dann vielleicht noch 1, 
zwei weitere atmega 8 zum experimentieren, vielleicht auch einen oder 
zwei atmega32... und dieser atmega2560 mit passender adaption klingt für 
mich auch sehr interessant... (Wobei wahrscheinlich vollkommen 
überzogen)
und auch sonst gibt es recht viele verschiedene ICs von atmel, ich bin 
da auch noch am überlegen, vielleicht ein paar attinys und noch ein paar 
andere atmegas zum üben zu bestellen...
des weiteren habe ich einen led-treiber/dimmer gefunden, welcher über 
i2c eingebunden wird und 16 kanäle oder so steuern kann. so was wäre 
natürlich für die ansteuerung der lüfter nicht schlecht, denk ich... und 
die restlichen ports könnt ich dann ja für eine beleuchtung verwenden. 
;)

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.