Hallo, für ein Projekt benötige ich einen passenden µC. Ich kenne mich selbst leider kaum aus bei der Dimensionierung und Auswahl und hoffe auf ein wenig Unterstützung der erfahrenen Leute hier. Das Projekt sollte folgende Funktionen ausführen: - Einlesen von Daten über CAN (bis zu 624 Temperaturwerte mit je 9-12 Bit spätestens alle 5 Sekunden) - Loggen der Daten (z.B. über SD-Karten) - ein PWM-Ausgangssignal für mehrere 12V 4-Pin-Lüfter (mit externer Spannungsversorgung) - Regler für PWM-Signal (Eingangsdaten dienen als Rückführgröße in Regler und regeln die Drehzahl der Lüfter über PWM) Ich weiß, dass es z.B. Shields für CAN usw. gibt, aber ich kann nicht einschätzen, inwiefern ein µC diese Funktion sauber abdecken kann. Vielen Dank für Eure Hilfe.
Rico schrieb: > Ich weiß, dass es z.B. Shields für CAN usw. gibt, aber ich kann nicht > einschätzen, inwiefern ein µC diese Funktion sauber abdecken kann. Sehr viele Mikrocontroller haben CAN-Controller integriert, da braucht es kein Shield mit externem Controller. Nur ein Transceiver-IC ist fast immer nötig. Die restlichen Anforderungen sind auch relativ harmlos, da gibt es viele Controller mit denen das möglich ist. Wähle also danach aus, welche Controllerfamilie du am besten kennst, wofür du Programmiertools hast etc. Eine Möglichkeit wäre das OLIMEXINO-STM32 Board, das hat CAN-Transceiver und SD-Karten-Slot integriert (allerdings nur mit SPI, also keine garantierte Geschwindigkeit).
Ich kann aus diesen Anforderungen nur schlecht abschätzen wie Umfangreich die ganzen Berechnungen sein müssen um die Lüfter zu steuern. Über 600 Messwerte ist jedoch eine ganze Menge. Bei 9..12Bit sind das vermutlich Rohwerte vom AD Wandler, die müsste man wohl alle noch umskalieren auf echte Messwerte. Meine Schätzung für den Prozessor wäre: Mindestens 128KB RAM, eher 256KB Und mindestens 256KB FLASH, eher 1MB Bei CAN würde ich mir die Option auf FD CAN nicht verbauen (bei Neuentwicklung), daher würde ein Prozessor dieser Reihe empfehlen: STM32G4 STM32H7 Damit ist man auf der sicheren Seite dass es in der Entwicklung klappt. Wenn weniger Flash/RAM reichen sollten bietet ST eine breite Palette an günstigeren Chips die Pinkompatibel sind. Daher für den Prototyp einfach den mit am meisten RAM/Flash auswählen. Sollte man während der Entwicklung merken dass einem der Speicher ausgeht ist es so ziemlich das größte Übel was einem passieren kann. Während der Entwicklung werden zudem gerne die Code Optimierungen deaktiviert, damit man besser Debuggen kann, was mehr Flash Speicher benötigt. Auch werden zum Teil den den RAM Aufzeichnungen der Regelungen abgelegt um den Code testen zu können, was man im Endprodukt später dann nicht mehr benötigt. Daher nicht sparen am Speicher für den Prototyp.
:
Bearbeitet durch User
Industrielle Steuerung STM32F407VET6 Entwicklung Bord RS485 Dual KANN Ethernet Networking STM32 https://a.aliexpress.com/_EvDg5Zf F407 ist nicht der neueste, aber immer noch ein schnelles Rennpferd.
Niklas G. schrieb: > Sehr viele Mikrocontroller haben CAN-Controller integriert, da braucht > es kein Shield mit externem Controller. Nur ein Transceiver-IC ist fast > immer nötig. Die restlichen Anforderungen sind auch relativ harmlos, da > gibt es viele Controller mit denen das möglich ist. Wähle also danach > aus, welche Controllerfamilie du am besten kennst, wofür du > Programmiertools hast etc. Bisherige Erfahungen konnte ich mit Atmega 2560 (Atmel Studio) und LPC1769 (MCUXpresso) sammeln, wobei letzteres noch relativ frische Erfahrung ist.
Markus M. schrieb: > Ich kann aus diesen Anforderungen nur schlecht abschätzen wie > Umfangreich die ganzen Berechnungen sein müssen um die Lüfter zu > steuern. Über 600 Messwerte ist jedoch eine ganze Menge. > Bei 9..12Bit sind das vermutlich Rohwerte vom AD Wandler, die müsste man > wohl alle noch umskalieren auf echte Messwerte. Die Messwerte müssten als Hex-Werte (max. FF FF) multipliziert und in float gewandelt werden. Anschließend wird daraus vermutlich ein Mittelwert und Fehlerwert (z.B. RMSE) gebildet.
Rico schrieb: > und > LPC1769 (MCUXpresso) Das LPCXpresso 1769 Board gibt es auch schon seit vielen Jahren, der Controller hat auch alles. Für CAN muss man nur die Transceiver anbauen und auch die SD Karte. Beides hat das genannte F407 Board sowie Ethernet schon drauf. Ethernet lässt sich beim LPCXpresso allerdings einfach nutzen, der PHY ist auf dem Board und es braucht nur einen MagJack. Der F407 ist dafür noch etwas schneller, hat mehr RAM und ist ein M4, hat also eine FPU.
:
Bearbeitet durch User
Vielen Dank für die ganzen Antworten. Ich werde mir daraus mal etwas passendes aussuchen und loslegen.
Schaue wie viele Messwertberechnungen benötigt werden. Der LPC1769 hat ein "Cortex-M3" Core drin, ohne FPU. Bei vielen Messwerten würde ich eher einen größeren Prozessor mit FPU wählen, mit "Cortex-M4F" Kern.
Espressif scheint hier nicht viele Freunde zu haben, aber die ESP32_Familie erfüllt viele Deiner Anforderungen, hat auch noch drahtlose Konnektivität und ist sehr günstig.
SD Karten sind gerade beim Schreiben oftmals unberechenbar auf ihr Zeitverhalten, das im Hinterkopf behalten.
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.