Forum: Mikrocontroller und Digitale Elektronik Auswahl eines µController mit 8 PWM und CAN-Controller


von Erik L. (harqa)


Lesenswert?

Die ist mein erster Beitrag, daher erstmal hallo hier im Forum.

Ich möchte gerade mein erstes Projekt mit einem µController starten und 
scheitere schon an der Auswahl der Hardware. Die herzustellende Platine 
wird über CAN angesprochen. Die CAN-Nachricht soll das PWM-Signal von 
insgesamt 8 PWM-Ausgängen setzen. Das PWM-Signal umfasst 0%-100% 
dutycycle.

Nun meine Fragen:

Wenn ich 8 PWM-Signale frequenzunabhängig einstellen will, gibt es eine 
Möglichkeit mit weniger als 8 internen Timern das vorhandene 
Hardware-PWM einiger Controller einzustellen? Oder muss ich es mit 
Software erzeugen und über einen digOut ausgeben?

Welche Leistungsklasse wählt man, damit der Controller 8 
Software-PWM-Kanäle + CAN-Kommunikation bewältigt?

Die ersten Controller, die mir aufgefallen sind, waren der AT90CAN128 
und der ATmega64M1 (10x Hardware-PWM).

Kann ich diese beide einfach mit einem Philips PCA82C250 oder MCP 2551 
verbinden und die CAN Kommunikation steht (mit ein paar Zeilen Code 
natürlich)?

Für Hinweise/Lösungsansätze bin ich dankbar. Mit dem richtigen 
Controller kann ich mit dem Platinenentwurf beginnen ;)

Grüße Erik

von Falk B. (falk)


Lesenswert?

@  Erik L. (harqa)

>Wenn ich 8 PWM-Signale frequenzunabhängig einstellen will,

Was soll das sein? Bei PWM ist die Frequenz konstant, nur das 
Tastverhältnis ändert sich. Wenn deine acht Kanäle jedoch verschiedene 
PWM-Frequenzen haben sollen, wirst du wohl sowas wie acht Timer 
brauchen.

>gibt es eine
>Möglichkeit mit weniger als 8 internen Timern das vorhandene
>Hardware-PWM einiger Controller einzustellen? Oder muss ich es mit
>Software erzeugen und über einen digOut ausgeben?

Wenn die PWM eine niedrige Frequenz von wenigen hundert Hertz hat, kann 
man Soft-PWM machen.

>Welche Leistungsklasse wählt man, damit der Controller 8
>Software-PWM-Kanäle + CAN-Kommunikation bewältigt?

AVR mit 16 MHz reicht.

>Die ersten Controller, die mir aufgefallen sind, waren der AT90CAN128
>und der ATmega64M1 (10x Hardware-PWM).

Geht auch.

>Kann ich diese beide einfach mit einem Philips PCA82C250 oder MCP 2551
>verbinden und die CAN Kommunikation steht (mit ein paar Zeilen Code
>natürlich)?

Sicher, aber wozu dann der AT90CAN128? Dann reicht ein kleiner ATmega88 
oder sogar ATtiny2313.

MFG
Falk

von Frank K. (fchk)


Lesenswert?

Erik L. schrieb:

> Wenn ich 8 PWM-Signale frequenzunabhängig einstellen will, gibt es eine
> Möglichkeit mit weniger als 8 internen Timern das vorhandene
> Hardware-PWM einiger Controller einzustellen? Oder muss ich es mit
> Software erzeugen und über einen digOut ausgeben?

Es gibt Controller, die dafür passende Hardware haben.

Schau Dir den dsPIC33FJ128MC506A an. Der hat alles, was Du brauchst. Ein 
MCP2551 als CAN Tranceiver, Ausgangstreiber für die PWM-Signale, und 
dann gehts los. Das Teil ist für die Steuerung von BLDC Motoren gedacht, 
aber die PWMs darfst Du natürlich auch für andere Dinge einsetzen.

http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en541815

fchk

von Arc N. (arc)


Lesenswert?

Erik L. schrieb:
> Welche Leistungsklasse wählt man, damit der Controller 8
> Software-PWM-Kanäle + CAN-Kommunikation bewältigt?

Serienfertigung? Je nach Stückzahl, den "günstigsten", der die 
Anforderungen erfüllt, ansonsten einen der die jetzigen Anforderungen 
übererfüllt und "einfach" handhabbar/bekannt ist und Reserven hat.

> Die ersten Controller, die mir aufgefallen sind, waren der AT90CAN128
> und der ATmega64M1 (10x Hardware-PWM).

Renesas RX600
http://www.rxmcu.com/EU/Rx600series.html
dsPIC33EP, PIC24EP und andere dsPICs und PIC24HJ
http://www.microchip.com/maps/microcontroller.aspx
und div Controller mit Cortex-M3/M4-Core

> Kann ich diese beide einfach mit einem Philips PCA82C250 oder MCP 2551
> verbinden und die CAN Kommunikation steht (mit ein paar Zeilen Code
> natürlich)?

Wenn man selber festlegen kann, was über den CAN-Bus geht, ja...

> Für Hinweise/Lösungsansätze bin ich dankbar. Mit dem richtigen
> Controller kann ich mit dem Platinenentwurf beginnen ;)
>
> Grüße Erik

von Erik L. (harqa)


Lesenswert?

Erst mal danke für die schnelle Hilfe.

Die PIC-Controller hören sich für meine Anwendung absolut passend an. 
Nur hätte ich erwähnen sollen, dass ich auf AVR-Controller festgeletgt 
bin (leider), da hier die Hardware (avratjtagice_mkii) schon vorhanden 
ist.

Ich werde wohl den AT90CAN128 nehmen. Hier kann ich 4 PWM mit 
unterschiedlicher Frequenz direkt aus den Hardware-PWM-Kanälen erzeugen, 
da dieser Controller 4 Timer hat. In der ersten Ausbaustufe werden nur 4 
PWM-Signale benötigt.

Alternativ sind 8 Soft-PWM auch kein Problem, da ich hier Frequenzen von 
max. 200 Hz benötige. Dafür gibt es ja auch ein ausführliches Tutorial 
auf dieser Seite.

Die CAN-Kommunikation kann ich nach meinem Gusto gestalten und da es ein 
erster Prototyp wird, ist der Preis nicht unbedingt entscheidend.

Grüße und Danke

Erik

von Frank K. (fchk)


Lesenswert?

Erik L. schrieb:
> Erst mal danke für die schnelle Hilfe.
>
> Die PIC-Controller hören sich für meine Anwendung absolut passend an.
> Nur hätte ich erwähnen sollen, dass ich auf AVR-Controller festgeletgt
> bin (leider), da hier die Hardware (avratjtagice_mkii) schon vorhanden
> ist.

Ein PicKIT3 kostet 60 Euro, und die Software inkl. fertigen 
Peripheriebibliotheken kannst Du Dir bei microchip.com runterladen. Das 
ist also kein Argument.

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.