Passender µC für CAN, PWM, Datenspeicher, Regelung

OP #7585979
Lesenswert?

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.

Persönliche Seite #7585991
Lesenswert?

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

(Firma: EleLa - www.elela.de) #7585999
Lesenswert?

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.

OP #7586003
Lesenswert?

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.

OP #7586004
Lesenswert?

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.

#7586018
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren