Forum: Mikrocontroller und Digitale Elektronik Suche uC zum Pegel einlesen und auf CAN ausgeben


von Matthias (Gast)


Lesenswert?

Hallo,
als Einsteiger in der Materie Microkontroller such ich hier nach einem 
guten Rat.
Und zwar hab ich vor, in einem selber gebauten kleinen Rennflitzer, 
Sensoren einzubauen und diese mit einem uC einzulesen und dann auf CAN 
ausgeben. Dieser CAN wird dann über Wlan auf einen Laptop gesendet was 
schon funktioniert (kaufteil) :-)
So jetzt mein Problem, mit CAN kenn ich mich ganz gut aus aber mit uC so 
ganz und gar nicht.
Kann mir hier jemand helfen welcher uC dafür geeignet wär !? oder auf 
was ich dabei achten muss!?
Habe schon etwas erfahrung mit dem Programm uvision von KEIL, wäre gut 
wenn der uC dafür geeignet wär.

Als Nachtrag: Sensoren sind nur Pegel von Schaltern und vielleicht 
später noch Analogwerte (z.B:Tankfüllstandsanzeige)
Wäre auch nicht schlecht wenn es mehrere CANs im uC geben würde.
Ein CAN muss auf jeden fall 1Mbit können.

Ich hoff ihr könnt damit was anfangen und mir helfen !!! ;-)

von Random .. (thorstendb) Benutzerseite


Lesenswert?

Hi,


STM32F10x (MCBSTM32)

TMPM330 (MCBTMPM330): Beitrag "Cortex-M3 JTAG-Kit - Sponsored by Toshiba"
(wobei ich gerad nicht weiss ob und wie schnell der CAN kann).


VG,
/th.

von Matthias (Gast)


Lesenswert?

hi,
Ok danke für deine Antwort. hab mal nach mem Board von dem MCBSTM32 
geschaut, die sind ja scheiße Teuer.

Gibt es den da auch was Preisgünstigeres. Muss auch nicht mit Keil 
uvision funktionieren.

Einfach nen Mikrocontroller der Analog und Digital werte einlesen kann 
muss auch nicht super schnell passieren, sie auswertet und dann als CAN 
Botschaft verschickt.

Am besten einen uC der fertig auf einem Board ist.

von (prx) A. K. (prx)


Lesenswert?


von David .. (volatile)


Lesenswert?

AT90CANxxx von Atmel

von (prx) A. K. (prx)


Lesenswert?

CAN Transceiver ist keiner drauf, aber sonst ziemlich komplett:

http://stores.shop.ebay.de/ElecMerge_STM32F103-Cortex-M3_W0QQ_fsubZ256246119QQ_sidZ789074479QQ_trksidZp4634Q2ec0Q2em322

http://stores.shop.ebay.de/ElecMerge_LPC2119_W0QQ_fsubZ263582719QQ_sidZ789074479QQ_trksidZp4634Q2ec0Q2em322
Der CAN Controller drin ist nur für Basic CAN zu gebrauchen, dafür hat 
er 2 Kanäle.

Aber Vorsicht - alles 32bittige ist für einen Anfänger allzu leicht der 
Einstieg in den Ausstieg.

von Jens (Gast)


Lesenswert?

Hallo,

schau dir mal die CAN Lib von Fabian Greif an:

http://www.kreatives-chaos.com/artikel/can

als Hardware kannst du fast jeden beliebigen AVR nehmen.

Wenn du zum testen auf Lochraster etwas basteln möchtest, ist das 
"Laborboard" sehr gut geeignet:

http://www.das-labor.org/wiki/Laborboard

Unter Layouts findest du auch eine Version mit CAN.

Der MCP2510 lässt sich durch den MCP2515 ersetzen.

Grüße,

Jens

von Matthias (Gast)


Lesenswert?

hab mir den hier mal angeschaut:

http://cgi.ebay.de/ARM7-LPC2119-NXP-Philips-Basic-Stamp-Module-ARM-Board_W0QQitemZ180420043521QQcmdZViewItemQQptZLH_DefaultDomain_0?hash=item2a01df6301

da steht das er 2x CAN Interfaces with Acceptance Filters hat. Ist er in 
der lange in einen 1MBit/s Bus aufgenommen zu werden!?

# Up to 46 I/O points
sind das 46 Ein/Ausgänge mit 5V pegel !?


# 4 Channel 10-Bit A/D Converters
sind das 4 seperate A/D Wandler !?

sorry für meine doofen fragen, aber ich will nur sichergehen ;-)

von (prx) A. K. (prx)


Lesenswert?

Matthias schrieb:

> da steht das er 2x CAN Interfaces with Acceptance Filters hat. Ist er in
> der lange in einen 1MBit/s Bus aufgenommen zu werden!?

Der Controller ja. Ich habe nur grad nicht im Kopf, ob man aus den 59MHz 
vom Board eine CAN-Rate von 1MHz zaubern kann, oder ob man dazu den 
Quarz ersetzen muss.

Ich habe ihn bei 125Kbps im Einsatz, da geht's.

> # Up to 46 I/O points
> sind das 46 Ein/Ausgänge mit 5V pegel !?

3,3V-Pegel, 5V-kompatibel.

> # 4 Channel 10-Bit A/D Converters
> sind das 4 seperate A/D Wandler !?

1 Wandler, 4 umschaltbare Kanäle.

von Matthias (Gast)


Lesenswert?

mit dem einen A/D wandler kann ich dann nur einen Sensor einlesen der 
Analoge Spg ausgibt !?
was gibt es da den für möglichleiten das man mehrere solcher signale 
einlesen kann !?

oh man je mehr ich hier mich informiere umso mehr verwirrt mich des 
alles hier :-(
Ich sollte wohl ganz unten anfangen !!!
kann mir jemand sagen ob das Übungsboard hier:

http://www.kreatives-chaos.com/artikel/can-testboard

1Mbit/s kann !? dann würde ich das mal ausprobieren

von (prx) A. K. (prx)


Lesenswert?

Matthias schrieb:

> mit dem einen A/D wandler kann ich dann nur einen Sensor einlesen der
> Analoge Spg ausgibt !?

Gleichzeitig geht nicht, nacheinander schon. Die Wandlung ist nach 2,5µs 
durch, danach kann auf den nächsten Kanal geschaltet werden.

> was gibt es da den für möglichleiten das man mehrere solcher signale
> einlesen kann !?

Es gibt ein paar Mikros mit 2 Wandlern, aber wenn es wirklich exakt 
gleichzeitig sein muss sind entweder externe Wandler oder externe 
Sample&Hold-Schaltkreise erforderlich.

> kann mir jemand sagen ob das Übungsboard hier:
> http://www.kreatives-chaos.com/artikel/can-testboard
> 1Mbit/s kann !? dann würde ich das mal ausprobieren

Der CAN-Controller kann, aber er hat nur wenig Puffer und weder 
Interface zum Mikrocontroller noch der Mikrocontroller selbst können 
einen dieser Rate entsprechenden Durchsatz verdauen.

von Jens (Gast)


Lesenswert?

Ja,

das sollte gehen. Du kannst auf jeden Fall mit einem Mbit Daten über den 
Bus schicken. Ob die Rechenleistung allerdings ausreicht, um den Bus 
wirklich voll auszulasten kann ich nicht sagen. (Hängt auch von deinem 
Programm ab)

Habe allerdings schonmal mit der Konstellation ATMega32 / MCP2515 bzw. 
2551 / CANLib von F. Greif Daten eines AD-Kanals mit 1kHz Abtastrate per 
CAN an andere CAN Bus Hardware geschickt.

Grüße,

Jens

von (prx) A. K. (prx)


Lesenswert?

Jedenfalls ist das ein geeigneterer Einstieg in Mikrocontroller als die 
32bitter. Wirst aber noch einen AVR Programmer benötigen.

von Matthias (Gast)


Lesenswert?

>Jein. Der Controller kann im Prinzip schon, aber er hat nur wenig Puffer
>und weder Interface zum Mikrocontroller noch der Mikrocontroller selbst
>können einen dieser Rate entsprechenden Durchsatz verdauen.

des blöde ist halt das des Steuergerät wo ich es dazu hängen will nur 
1Mbit/s kann :-( also muss des des ding schon können.

ich will mit dem uC ja nichts entfangen sondern nur die Sensordaten 
senden, dafür allein ist er auch zu langsam oder !?
er muss es ja nur alle so 100ms oder noch langsamer als Timer senden.

Die Sensoren sind meistens Temperatursensoren, Die Temperatur ändert 
sich eh nicht so schnell.

wieviele I/O ports hat das Testboard den !? A/D Wandler !?

von David .. (volatile)


Lesenswert?

Das Ding kann 1mbit. Es hat nur nicht genug Bums, dauerhaft damit zu 
senden oder zu empfangen. Wenn Pausen dazwischen sind gehts...

von Jens (Gast)


Lesenswert?

ATmega8 --> Ein Wandler mit 10bit intern schaltbar auf 6 Kanäle.

von Matthias (Gast)


Lesenswert?

>Das Ding kann 1mbit. Es hat nur nicht genug Bums, dauerhaft damit zu
>senden oder zu empfangen. Wenn Pausen dazwischen sind gehts...

sind 100ms pausen lang genug wenn ich NUR senden will. man kann ja in 
eine ID 8bit also allein schon 8 Digitale Sensoren senden. Ich hoff nur 
des ding hat auch nen A/D wandler drin.

Jetzt nur noch die Frage was für Eingänge hat das Ding !?

von Matthias (Gast)


Lesenswert?

Hab mir gerade den hier nochmal angeschaut:

http://cgi.ebay.de/STM32-ARM7-STM32F103-Cortex-M3-BASIC-STAMP-MODULE-JTAG_W0QQitemZ170394875427QQcmdZViewItemQQptZLH_DefaultDomain_0?hash=item27ac537623

da steht das er einen CAN hat, kann ich diesen CAN verwenden !? oder 
gibt es ne möglichkeit noch so nen CAN controller zusätzlich drauf 
zustecken !?

von Jens (Gast)


Lesenswert?

Ja,

100ms Pause reichen, wenn es nur um das Auslesen des ADC und das Senden 
der Daten per CAN geht.

Zu den Daten des ADC wirf am besten einen Blick ins Datenblatt:

http://www.atmel.com/dyn/resources/prod_documents/doc2486.pdf

0 - 5V stellen in der Regel kein Problem dar - bzgl. der Genauigkeit 
muss man halt schauen, was man wirklich haben will und danach 
entscheiden, wie die Referenzspannungsquelle aussehen soll und ob der 
intere ADC überhaupt ausreicht.

von (prx) A. K. (prx)


Lesenswert?

Matthias schrieb:

> da steht das er einen CAN hat, kann ich diesen CAN verwenden !? oder
> gibt es ne möglichkeit noch so nen CAN controller zusätzlich drauf
> zustecken !?

Ja, der hat CAN drauf. Noch einer ergibt aber wenig Sinn, weil's dann 
zwei gänzlich verschiedene sind.

Aber sachte. Wenn's nur darum geht, alle 100ms ein paar Frames zu 
senden, dann geht das mit dem AVR Testboard leicht und locker auch bei 
1Mbps. Der muss die Bits ja nicht einzeln auf die Reise schicken, das 
macht der CAN Controller MCP2515 ganz gut selbst, auch bei 1Mbps. Und im 
Unterschied zum STM32 kann man dem vorhandenen MCP2515 noch einen 
zweiten nebendran hinzuschnallen, wenn 2 Kanäle nötig sind.

Mit dem AVR + MCP2515 bist du als Anfänger sehr viel schneller am Ziel 
als mit dem STM32, von dessen Komplexität du erst einmal erschlagen 
wirst. Der oben erwähnte PIC18 ist so ungefähr das gleiche wie bei 
AVR+MCP2515, hat aber den MCP2515 bereits intern, deshalb hatte ich den 
erwähnt. Support hier im Forum ist bei AVRs aber besser als bei PICs.

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.