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.
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.
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.
Hallo, man(n) muss nur wissen, dass die Marke Atmel nun zum Hersteller Microchip gehört.
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.
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.
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.
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.
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
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.
Alexander S. schrieb: > Die sind nur preislich nicht ganz so attraktiv.. Und nach weniger als 1 Jahr ausgeblichen....
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
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 ...
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.
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.
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.
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.
Und für deine 7 Segment Anzeigen schaust dir mal den Max7219 oder Max7221 an. Hans
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
Mampf F. schrieb: > Der Arduino Mega wär zukunftssicher und kostet derzeit nur 35EUR ... Arduninos aus China sind sehr(!) viel billiger.
Schreiber schrieb: > Arduninos aus China sind sehr(!) viel billiger Noch besser, wenn sie kompatibel sind (also auch mit der IDE) :)
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.