www.mikrocontroller.net

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


Autor: Sven J. (locutussum)
Datum:

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.
Autor: Falk Brunner (falk)
Datum:

@ 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
Autor: Sven J. (locutussum)
Datum:

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... ;)
Autor: Simon S. (herrbert)
Datum:

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.
Autor: Michael H* (Gast)
Datum:

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.
Autor: Sven J. (locutussum)
Datum:

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. ;)
Autor: Michael H* (Gast)
Datum:

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!
Autor: Sven J. (locutussum)
Datum:

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... )
Autor: Sven J. (locutussum)
Datum:

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...
Autor: ... ... (docean) Benutzerseite
Datum:

Autor: Sven J. (locutussum)
Datum:

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/lueftersteuer...
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. :/
Autor: Klaus (Gast)
Datum:

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.
Autor: Daniel R. (drd)
Datum:

@ 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).
Autor: Sven J. (locutussum)
Datum:

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... ^.^
Autor: Michael H* (Gast)
Datum:

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?
Autor: Sven J. (locutussum)
Datum:

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...
^.^
Autor: Michael H* (Gast)
Datum:

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.
Autor: Sven J. (locutussum)
Datum:

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. ;)
Autor: avion23 (Gast)
Datum:

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ß
Autor: Sven J. (locutussum)
Datum:

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... :(
Autor: Michael H* (Gast)
Datum:

und, stand der dinge?
Autor: Sven J. (locutussum)
Datum:

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.
;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net