Forum: Mikrocontroller und Digitale Elektronik Passender µC für CAN, PWM, Datenspeicher, Regelung


von Rico (rico_s)


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.

von Jan S. (Firma: Eigenbau) (vox_equus)


Lesenswert?

Hallo,
schau bei dsPIC von microchip, dort hat es eine gute Auswahl.

von Niklas G. (erlkoenig) Benutzerseite


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

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


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.

: Bearbeitet durch User
von J. S. (jojos)


Lesenswert?

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.

von Rico (rico_s)


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.

von Rico (rico_s)


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.

von J. S. (jojos)


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.

: Bearbeitet durch User
von Reinhard (reinhard_k118)


Lesenswert?

Renesas RX6x würde auch problemlos gehen.

von Rico (rico_s)


Lesenswert?

Vielen Dank für die ganzen Antworten. Ich werde mir daraus mal etwas 
passendes aussuchen und loslegen.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

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.

von Mickey L. (drmickeylauer)


Lesenswert?

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.

von Harald A. (embedded)


Lesenswert?

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
Noch kein Account? Hier anmelden.