Forum: Mikrocontroller und Digitale Elektronik Passende Bauteile für ein Projekt wählen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von XP M. (xpmodder)


Bewertung
0 lesenswert
nicht lesenswert
Hallo allesamt!

Ich habe ein paar Fragen zu einem Projekt an dem ich zur Zeit arbeite.
Zuerst mal das Projekt an sich:
Ich möchte mir für meinen PC eine Lüftersteuerung bauen. Diese soll bis 
zu vier Lüfter regeln können und auch vier Temperatur-Sensoren haben. 
Ich dachte da an eine Anzeige bestehend aus 12 7-Segment Anzeigen oder 
Alphanumerichen Anzeigen und zwei Druckknöpfen um die Einstellungen vor 
zu nehmen. Fürs erste reicht mir eine manuelle Steuerung der Lüfter. Die 
Temperatur sollte in °C angezeigt werden.

Meine Fragen beziehen sich erstmal auf die Bauteile.
Ich benötige natürlich einen Controller der genügend Pins für die 
Anzeige, die Knöpfe, die Temperatur-Sensoren und die Lüfter hat. Aber 
welcher Controller wäre da eine gute wahl?
Da ich ein PICkit 3 und MPLAB X von Microchip besitze, sollte es schon 
ein Controller von Microchip sein.
Dazu käme die Frage ob man die Lüfter per PWM regulieren oder einfach 
die Spannung ändern sollte. Ich schätze PWM wäre für die Lüfter wohl 
besser aber damit kenne ich mich nicht aus. Ich hätte jedenfalls gerne 
drei Stufen auf die die Lüfter reguliert werden können: Langsam, Mittel 
und Schnell.
Was die Stromversorgung betrifft, soll das ganze ja in meinen PC und 
damit mit einem SATA-Stromkabel angeschlossen werden. Somit habe ich ja 
12V und 5V zur verfügung.

von W.A. (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
XP M. schrieb:
> Da ich ein PICkit 3 und MPLAB X von Microchip besitze, sollte es schon
> ein Controller von Microchip sein.

Wie wäre es z.B. mit einem Arduino Mini USB Nano. Da ist ein ATmega328 
von Microchip drauf und programmiert werden kann er einfach über USB.

von XP M. (xpmodder)


Bewertung
0 lesenswert
nicht lesenswert
Das wird nicht funktionieren, aufgrund der Anzahl der Pins.

Gehen wir von Alphanumerischen Anzeigen aus so benötige ich 17 Pins für 
die einzelnen Segmente und dann noch 12 Pins zum schalten auf welche 
Anzeige geschrieben wird. So ergibt sich 12+17=29 Pins allein für die 
Anzeige. Dazu kommen 4 Pins für die Steuerung der Lüfter, macht 33 Pins 
+ 8 weitere Pins für Temperatur-Sensoren macht 41 Pins die ich als I/O 
brauche. Dann braucht der Controller noch Strom, also schon 43 Pins und 
eventuell noch einen externen Oszillator (je nachdem ob der Controller 
einen internen hat oder nicht). Also brauche ich 43 bzw. 45 Pins.
Geht man von 7-Segment Anzeigen aus, braucht man immer noch 34 bzw. 36 
Pins.
Außerdem habe ich nicht vor 20€ nur für den Controller aus zu geben und 
dann müsste ich den Arduino ja in meinem PC vergraben...

Und noch eine Anmerkung zu dem Controller auf dem Arduino:
Es handelt sich wie gesagt um einen ATmega 328, aber der ist mit 
Sicherheit nicht von Microchip. Das "AT" am anfang von Atmega steht 
nähmlich für den Hersteller Atmel. Die Controller von Microchip heißen 
größtenteils PIC.

von Karl M. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

man(n) muss nur wissen, dass die Marke Atmel nun zum Hersteller 
Microchip gehört.

von Alexander S. (alex998)


Bewertung
0 lesenswert
nicht lesenswert
XP M. schrieb:
> Lüfter per PWM regulieren oder einfach
> die Spannung ändern

Falls du noch keine Lüfter hast dann nimm welche die schon einen 
PWM-Eingang haben (=4-polig), das vereinfacht die Angelegenheit doch 
sehr. "Normale" BLDC-Lüfter quietschen gern wenn sie mit PWM angesteuert 
werden, da ist dann Abstimmungsarbeit bei der PWM-Frequenz gefragt dass 
sie ruhig sind. Regeln per Spannung funktioniert nur begrenzt.


> Alphanumerichen Anzeigen
Warum kein grafisches oder OLED mit Zweidraht, spart ne Menge Pins.

von Michael B. (laberkopp)


Bewertung
0 lesenswert
nicht lesenswert
XP M. schrieb:
> Dazu käme die Frage ob man die Lüfter per PWM regulieren oder einfach
> die Spannung ändern sollte

Das liegt an den Lüftern. Nicht jeder kommt mir PWM zurecht, manche 
haben aber sogar einen PWM Eingang (und manche einen Tacho-Ausgang zur 
Kontrolle).

XP M. schrieb:
> Ich dachte da an eine Anzeige bestehend aus 12 7-Segment Anzeigen oder
> Alphanumerichen Anzeigen

Ja was nun, das macht einen erheblichen Untershcied bezüglich der Anzahl 
der Anschlüsse am uC.

Der braucht:
plus und minus
offenbar 4 Knöpfe (mit jedem schaltet man mit je einem Tastendruck 
zwischen langsam, mittel schnell um)
offenbar 4 PWM Ausgänge.
offenbar 4 Temperatursensoren, sagen wir analog per NTC oder KTY.
14 Pins hat quasi jeder Microcontroller.
Bleibt die Anzeige, die alles von 1 Pin bis 84 Pins (12 x 7 statisch) 
benötigen kann.
Und wenn es knapp wird, kann man immer noch mit auswändigerer Software 
die 4 Knöpfe mit nur einem Analogeingang abfragen, die 4 Tempsensoren 
mit 4 DS1820 an eine Leitung hängen, also 6 Pins sparen.

Als Anzeige würde sich eignen:
http://www.pollin.de/shop/dt/OTUxOTc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Displays/LED_Anzeige_ROHM_LC_204VL_4_stellig_rot.html
Die sind klein (6.2mm Ziffernhöhe) und haben 3 Punkte mit denen du 
langsam/mittel/shcnell anzeigen kannst und einen Dezimalpunkt für 
Temperaturen mit Nachkommastellen. Leider haben die kein Grad-Zeichen um 
GradC oder GradF darzustellen, bloss C oder F wenn gewünscht.
Jede Anzeige braucht Multiplex, entweder 5 x 7 oder 4 x 8 (nicht jeder 
Punkt wird angeschlossen, nur die benötigten).
Das kann ein uC nicht ohne Hilfe, bei 10mA Segmentstrom wären das 
40-50mA pro Segment und 250-320mA Digitstrom. Man könnte für je 2 
Anzeigen einen MAX7221/ICM7221 nehmen, die brauchen dann bloss 4 Pins am 
uC zusammen, es reicht also ein steinalter PIC16F84.
Alternativ kommen an den uC Transisroren zum Verstärken des Stroms und 
man braucht 24 Pins für die 4 Anzeigen wenn der uC das 1:8 Multiplexing 
selber macht, dann noch 4 für die Lüfter-PWM bleiben wenige für Taster 
und Tempsensoren, aber mit genannten Tricks reicht ein 40 Pin uC.

von W.A. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
XP M. schrieb:
> Gehen wir von Alphanumerischen Anzeigen aus so benötige ich 17 Pins für
> die einzelnen Segmente und dann noch 12 Pins zum schalten auf welche
> Anzeige geschrieben wird. So ergibt sich 12+17=29 Pins allein für die
> Anzeige. Dazu kommen 4 Pins für die Steuerung der Lüfter, macht 33 Pins
> + 8 weitere Pins für Temperatur-Sensoren macht 41 Pins die ich als I/O
> brauche.

Die Pin-Anzahl soll man nicht überbewerten. Die Temperatursensoren 
kannst du alle an einen Pin hängen (DS18B20), die Lüfter hängst du über 
zwei Pins und einen PCA9632 o.ä. dran und wie kommst du bei 12 
7-Segment-Anzeigen auf 29 Pins. Mit Multiplexbetrieb sind das 12+7 Pins, 
wobei man das Segmentsignal z.B. mit einem 74HCHCT595 über SPI erzeugen 
kann.

von XP M. (xpmodder)


Bewertung
0 lesenswert
nicht lesenswert
Alexander S. schrieb:
> Warum kein grafisches oder OLED mit Zweidraht, spart ne Menge Pins.

Ich möchte das ganze später mit einem Slim-DVD-Laufwerk (so wie in 
Laptops) zusammen in ein Gehäuse bekommen, welches dann natürlich noch 
in den Schacht im PC passen muss. So bleiben für das Display nur 14x2,5 
cm an Platz und die Platine des Displays darf auch nicht größer sein. 
Ich habe schon nachgesehen, aber noch kein Display gefunden, welches gut 
passen würde. Bei den 7-Segment-Anzeigen weiß ich eben das es passt. 
Zudem weiß ich nicht wie ich das Display dann im Controller ansprechen 
kann... Müsste ich mir dann erst mal genauer ansehen.
Trotzdem würde ich wenn sich was passendes findet auch gerne ein Display 
verwenden.

>Falls du noch keine Lüfter hast dann nimm welche die schon einen
>PWM-Eingang haben (=4-polig), das vereinfacht die Angelegenheit doch
>sehr.
Ich habe die Lüfter schon in meinem PC drin. Die haben nur einen 3-Pin 
Anschluss, da mir keine 4-Pin Anschlüsse im PC zur Verfügung standen als 
ich sie eingebaut habe.

von Kurt (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hast Du schon mal in Erwägung gezogen statt der 7-Segmentanzeigen so ein 
1602 Standarddisplay(1) mit 2x16 Zeichen zu verwenden? Reduziert die 
benötigten I/O Pins drastisch und macht sogar komplexere Anzeigen 
möglich.

(1) = Suche 1602 LCD Module z.B. auf aliexpress oder ebay

von Alexander S. (alex998)


Bewertung
0 lesenswert
nicht lesenswert
XP M. schrieb:
> Display nur 14x2,5
> cm an Platz

http://www.newhavendisplay.com/oled-slim-character-oleds-c-119_825.html

Die sind nur preislich nicht ganz so attraktiv..


> Die haben nur einen 3-Pin
> Anschluss,

PWM wird da schon funktionieren, musst halt etwas rumprobieren mit 
Frequenz/Pulsbreite damit es keine Geräusche gibt. Da du ja eh nur 3 
Stufen willst sollte das kein Problem sein.

von Michael B. (laberkopp)


Bewertung
0 lesenswert
nicht lesenswert
Alexander S. schrieb:
> Die sind nur preislich nicht ganz so attraktiv..

Und nach weniger als 1 Jahr ausgeblichen....

von XP M. (xpmodder)


Bewertung
-1 lesenswert
nicht lesenswert
Danke erstmal für die vielen Antworten!
Ich habe überlegt ob es Sinnvoll wäre ein LCD-Display o.ä. zu verwenden 
und ich habe mich für eine Anzeige mit 10 7-Segment-Anzeigen, 3 
einzelnen LEDs (für die Geschwindigkeitsstufen) und 2 Tastern 
entschieden. Dafür brauche ich zwar mehr Pins am uC aber die Anzeige ist 
dann gut lesbar, was bei so kleinen Displays schwierig werden kann und 
ich sollte auch nicht so leicht Platzprobleme bekommen. Zudem sind 10 
7-Segment Anzeigen wesentlich günstiger als ein LCD.
Für die Bedienung reichen mir 2 Taster (einen um zwischen den Lüftern um 
zu schalten und einen um die Einstellung des Lüfters zu ändern).

Somit komme ich auf folgende Zahlen:
8 + 10 Pins für die 7-Segment Anzeigen
3 Pins für die LEDs
2 Pins für die Taster
4 Pins für die Lüfter
mind. 1 Pin für Temperatur-Sensoren
= 28 Pins
dazu kommen noch mindestens 2 Pins für die Stromversorgung des uC, was 
dann mind. 30 Pins ergibt.

Um noch etwas Platz am uC zu lassen wäre somit ein 40-Pin Controller 
ideal. Meine Frage wäre jetzt ob es da einen großen unterschied macht, 
welchen uC ich nutze. So viele wie es da heutzutage gibt, wird es für 
mich nämlich schwierig den richtigen aus zu suchen.

Edit:
Ich habe aufgrund der EAGLE Bibliotheken die Auswahl vorerst auf 3 
Controller eingeschränkt:
PIC16F1517
PIC16F1519
PIC18F4455

Welcher dieser ist am besten geeignet?
Falls ihr noch andere Vorschläge habt bin ich auch für diese noch offen.

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Bewertung
1 lesenswert
nicht lesenswert
XP M. schrieb:
> Ich habe aufgrund der EAGLE Bibliotheken die Auswahl vorerst auf 3
> Controller eingeschränkt:
> PIC16F1517
> PIC16F1519
> PIC18F4455
>
> Welcher dieser ist am besten geeignet?

Ähm, ist das dein Ernst? Oo

Üblicherweise nimmt man den Controller, mit dem man am besten arbeiten 
kann und nicht irgendeinen, für den man gerade eine Eagle-Lib zu Hand 
hat ...

von Gästchen (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hi,

such dir einen aus dem Selektor, den du hier findest:
http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1013
Wünsch dir solange Features, bis nur noch wenige PICs übrig sind.

Vergleiche das Ergebnis mit Reichelt oder wo auch immer du ihn kaufen 
willst. Nimm den, der käuflich ist.
Alternativ: Bestell den PIC direkt bei Microchip, also hier:
https://www.microchipdirect.com/
Die beliefern auch Privatkunden. Auch mit Einzelstücken.

Weil du CAD-Symbole erwähnt hast. Die musst du für Eagle nicht selber 
zeichen, das hat Microchip schon für dich getan:
http://www.microchip.com/development-tools/resources/cad-cae-symbols
Da kannst du Symbole für jeden PIC erzeugen.

von XP M. (xpmodder)


Bewertung
0 lesenswert
nicht lesenswert
Danke.
Ich habe mir jetzt einen uC aus dem Selektor ausgesucht: PIC18F47K40
Doch ich kann dien CAD-Symbole nicht finden. Sie sind nicht in der Zip 
PIC18 enthalten, die ich von der Seite heruntergeladen habe. Könnten sie 
in einer der anderen Dateien enthalten sein oder hat dieser PIC die 
selbe Pinkonfiguration wie einer der enthaltenen?

@Mampf F.
Ich kenne mich nicht wirklich mit den uCs aus und kenne die Unterschiede 
nicht so gut. Daher kann ich noch nicht so gut Beurteilen mit welchem 
ich am einfachsten arbeiten könnte.
Sorry. Im nachhinein erkenne ich nun auch das das wohl eine blöde Idee 
war, um den uC auszuwählen.

von michael_ (Gast)


Bewertung
0 lesenswert
nicht lesenswert
XP M. schrieb:
> Ich kenne mich nicht wirklich mit den uCs aus und kenne die Unterschiede
> nicht so gut. Daher kann ich noch nicht so gut Beurteilen mit welchem
> ich am einfachsten arbeiten könnte.

Vor 15 Jahren hatte ich die Entscheidung zwischen AVR und PIC.
Ich habe drei Wochen gebraucht für AVR.
Damals gut, heute nimm einen Würfel und bleib bei der Entscheidung.

Oder gleich eine Erdbeere oder Konsorten.

von MaWin (Gast)


Bewertung
1 lesenswert
nicht lesenswert
XP M. schrieb:
> Meine Frage wäre jetzt ob es da einen großen unterschied macht,
> welchen uC ich nutze

Nein. Alle können das, was du von ihnen willst.
Nimm den billigsten, den du schon programmieren kannst.

Du brauchst weder USB noch nanoWatt, und die 25mA der Pins reichen 
trotzdem nicht, man braucht externe Transistoren um den Strom zu 
verstärken.

von Hans M. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Und für deine 7 Segment Anzeigen schaust dir mal den Max7219 oder 
Max7221 an.

Hans

von Mampf F. (mampf) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
XP M. schrieb:
> Doch ich kann dien CAD-Symbole nicht finden.

Bauteile in Eagle zeichnen geht recht schnell und ist einfach ... Kuck 
dir mal ein paar Tutorials auf Youtube an :)

michael_ schrieb:
> Vor 15 Jahren hatte ich die Entscheidung zwischen AVR und PIC.
> Ich habe drei Wochen gebraucht für AVR.

Hmm, bei mir war das etwas anders ... Hatte erst immer Assembler für 
x86, 8051, AVR und dann auch PIC16 programmiert ... Muss sagen, bei 
PIC16 war ich schockiert und hab ihn gehasst lol

Ich würde einen Controller empfehlen, für den es eine große Community 
gibt, der überall günstig und leicht erhältlich ist und für den es einen 
C-Compiler gibt und eine gute Entwicklungsumgebung. Und 
Einsteigerfreundlich sollte er sein.

Im Prinzip würde ich für Anfänger einen Arduino empfehlen.[1]

Der Arduino Mega wär zukunftssicher und kostet derzeit nur 35EUR ... 
Wenn dein Ding mal läuft, kannst du dazu übergehen, eigene Platinen zu 
designen und kleinerere (ausreichendere) AVRs zu verwenden.

Ehrlich gesagt halte ich nicht viel davon, wenn sich jemand selbst auf 
PIC festnagelt, weil er schon irgendein Dings dafür hat :)



https://www.reichelt.de/Explore/6667/index.html?ACTION=6667&LA=6667&ID=200380

: Bearbeitet durch User
von Schreiber (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Mampf F. schrieb:
> Der Arduino Mega wär zukunftssicher und kostet derzeit nur 35EUR ...

Arduninos aus China sind sehr(!) viel billiger.

von Mampf F. (mampf) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Schreiber schrieb:
> Arduninos aus China sind sehr(!) viel billiger

Noch besser, wenn sie kompatibel sind (also auch mit der IDE) :)

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]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
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 bestätigst du, die Nutzungsbedingungen anzuerkennen.