Forum: Mikrocontroller und Digitale Elektronik Entscheidungshilfe CANController gesucht


von Rahul (Gast)


Lesenswert?

Hallo!
Im Rahmen einer Projektarbeit soll eine kleine Anlage gesteuert werden,
die aus verschiedenen (eigenständigen) Stationen besteht. U.a. ein
Hochhregallager, ein Förderband, ein Probenbagger und ein
Verschlußsystem.
Die Idee war jetzt, die einzelnen Stationen mit einer eigenen
Intelligenz sprich Mikrocontroller zu versehen. Die Kommunikation soll
über den CAN-Bus passieren.
Nach Möglichkeit sollen die Module alle in etwa gleich aufgebaut sein,
also CAN-Schnittstelle, Mikrocontroller und Ansteuerung für
elektromechanik wie Pneumatik-Ventile oder Motoren.
Jetzt meine Frage:
Welche(n) Controller nehmen?
AVR ist wegen vorhandener Programmierkenntnisse in AVR-GCC bekannt.
Das wäre also ein AVR (mega32 oder so) + SJA1000.
Oder ein (für mich auf den ersten Blick schwer beschaffbarer)
AT90CAN128.
Oder ein T89C51CC01, dessen 8051-Architektur durch µC-Labore und
entsprechende Laboringenieure auch bekannt ist, aber bisher noch nicht
näher beleuchtet wurde (ISP, Bootloader etc).

Zu welcher Variante würdet Ihr mir raten?
Ich würde bei einem externen CAN-Controller den SJA1000 wählen, weil
der von Microchip nur per I²C-Bus ansprechbar ist. Würde zwar Ports
sparen, wäre aber auch fehlerträchtiger bzw. unübersichtlicher.

Vielen Dank im Vorraus.
Ich werde mir auf jeden Fall mal die entsprechenden Datenblätter äher
ansehen bzw. habe es schon getan (SJA1000).

Gruß Rahul

von crazy horse (Gast)


Lesenswert?

Ich spiele auch gerade ein wenig mit dem 90CAN128. Gibts problemlos.

von Leopold Stockinger (Gast)


Lesenswert?

@crazy horse,
wo krieg ich den 90can128 her?
reichelt - nein
conrad - nein
???

von Jangomat (Gast)


Lesenswert?

es gibt mittlerweile einige günstige PIC-Controllern mit integriertem
CAN. Schau mal unter PIC18Fxxxx.
Der externe CAN-Baustein MCP2515 hat übrigens eine SPI und keine IIC
Schnittstelle.

von Leopold Stockinger (Gast)


Lesenswert?

ich benötige keine pics sondern nur den at90can128! wo bekomme ich den
her? weiß das jemand?

von crazy horse (Gast)


Lesenswert?

Wieviele brauchst du? Bestelle demnächst wieder welche.

von Jangomat (Gast)


Lesenswert?

@leopold
ich meine auch nicht Dich, sondern Denjenigen, der den Thread eröffnet
hat!

von Rahul (Gast)


Lesenswert?

@Jangomat:
PICs werden wohl nie einen Einsatz bei uns finden werden, da sie keinen
Fürsprecher haben.
Ob SPI oder I²C ist egal, da seriell.
Mein Anliegen ist entweder parallele Ansteuerung oder integrierter
CAN-Controller.

@Crazy Horse:
Wo bestellst du die Dinger?
Ich habe hier eine eigene Einkaufsabteilung (LaborIng. der FH), und
komme so vermutlich auch in den Genuß, bei Firmen zu bestellen, die
Privatpersonen nicht beliefern. Es handelt sich schliesslich auch um
FH-Projekt.

Für mich privat wären 2 vermutlich interessant...


Gruß Rahul

von Leopold Stockinger (Gast)


Lesenswert?

was kostet denn ein exemplar vom 90can128?
wo bestellst du sie?
lg leo

von Matthias Friedrich (Gast)


Lesenswert?

Hi,

ich möchte nicht darüber diskutieren welcher der bessere Controller
ist, sondern nur anmerken, dass ich den T89C51CC01 schon mehrfach ohne
Probleme eingesetzt habe. Besonders das IS-Programmieren über RS232
oder CAN gestaltet sich sehr komfortabel.

Gruß,
Matthias

von Rahul (Gast)


Lesenswert?

Hallo Matthias!
über solche Beiträge freue ich mich. Eigentlich wollte ich nur soetwas
lesen bzw. Erfahrungsberichte von Leuten, die vielleicht schon die
verschiedenen Controller eingesetzt haben.
Ich möchte einfach nicht 170 Seiten Datenlatt durchackern, um dann
festzustellen, dass mir ein anderer Baustein vielleicht besser gefallen
könnte.
Momentan favorisiere ich allerdings eher den AT90CAN128, da ich bisher
mehr mit AVR als mit 8051-Controllern zutun hatte.
Und sich auch ein STK500 in meinem Privatbesitz befindet.

Der 8051 (oder besser 80C537) wird bei uns im Rahmen des
Mikrocontroller-Labors im 6. Semester eingesetzt, wobei dort auf
längere Sicht auf ein anderes System (AVR mit Bootloader) ungestiegen
werden soll, da die Entwicklungsumgebung auf der PC-Seite leider nur
noch im DOS-Fenster läuft.
Durch diese Laborversuche ist mir (und meinem Projektkollegen) aber
auch wieder diese Architektur bekannt.
Und da wäre wieder der Grund für diesen Thread: Welche Architektur?
Dass der Chip höchstwahrscheinlich irgendwas mit Atmel zutun hat ist
aber sicher.

Wie wird der T89C51CC01 eigentlich zu erst programmiert? Via ISP? Ist
das die Methode irgendwie AVR-kompatibel bzw. -ähnlich (naja, ähneln
tun sie sich alle...)
Da werde ich wohl mal nachforschen müssen.

@Crazy Horse:
Wie Programmierst du den AT90CAN128? Via STK501, oder Selbstbau-ISP?

Vielen Dank, dass Ihr Euch an dieser Entscheidung beteiligt!

Gruß Rahul

von crazy horse (Gast)


Lesenswert?

ich programmiere die mit dem JTAG, geht aber auch mit jedem
ISP-Programmer.
Im Moment habe ich nur 10 Stk, davon gibts keine. Ich frage morgen mal
nach (falls ichs nicht vergesse :-)

von Matthias Friedrich (Gast)


Lesenswert?

Ja, der T89C51CC01 wird über ISP programmiert. Von Atmel gibt es ein
Tool namens FLIP, mit dem das sehr komfortabel möglich ist. Das
Protokoll ist aber offen und einfach zu implementieren, wir haben für
unsere Geräte selbst eine Tool zum Programmieren geschrieben da man das
Flip keinem Dau zumuten kann :)
Die Methode ist jedoch nicht mit der AVR-ISP kompatibel.

Ich gehe davon aus, dass du in C entwickelst, dann ist es eigentlich
egal, welchen Controller du benutzt. Freie Compiler und IDEs gibt es
für beide Familien. Wobei man sagen muss, dass der Code der
kommerziellen Compiler (z.B. Keil im Vergleich zu SDCC oder iccavr im
Vergleich zu GCC) wesentlich kompakteren Code erzeugen.
Ich denke jedoch, dass der AVR im Internet eine größere Community
besitzt.

Gruß,
Matthias

von Peter D. (peda)


Lesenswert?

"Der 8051 (oder besser 80C537) wird bei uns im Rahmen des
Mikrocontroller-Labors im 6. Semester eingesetzt, wobei dort auf
längere Sicht auf ein anderes System (AVR mit Bootloader) ungestiegen
werden soll, da die Entwicklungsumgebung auf der PC-Seite leider nur
noch im DOS-Fenster läuft."


Das liegt aber nicht am 8051.
Es gibt doch schon längst was moderneres, z.B. mit CAN, 12 Bit ADC
usw.:

http://www2.silabs.com/tgwWebApp/appmanager/tgw/tgwHome?_nfpb=true&_pageLabel=GenericContentPage&contentObjectId=/public/web_content/products/Microcontrollers/en/C8051F040DK.htm


Besonders der JTAG-Debugger ist geil, ideal für die Schule.

Allerdings braucht man selten sowas High-End.
Deshalb setzten wir auch nur den T89C51C01 ein.
Der Bootloader ist bereits ab Werk drin, je nach Bestellbezeichnung
entweder über CAN oder UART.


Peter

von Topsoft (Gast)


Lesenswert?

Guten Morgen

@crazy horse: Hat sich bei denn 90CAN128 schon was getan? Würde gern
auch welche haben wollen. Mit was für einem Preis muß ich Rechnen und
sind überhaupt welche verfügbar?

Gruß Topsoft

von Werner (Gast)


Lesenswert?

Ich würde mich, in abhängikeit vom Preis auch an einer Sammelbestellung
beteiligen wollen.
Werner

von Hans Kallen (Gast)


Lesenswert?

Guten Tag

Der MCP2515 von Microchip fällt meines Erachtens zu Unrecht in Ungnade.
Gerade für Steuerungsaufgaben in kleinerem Rahmen ist er ideal, da er
nur den SPI-Port belegt. Die übrigen CPU-Ports sind dann für die
eigentliche Applikation verfügbar. Geschwindigkeit ist kein Thema, bei
1Mbit/s Busgeschwindigkeit und 4MHz Transferrate auf dem SPI.
Programmiertechnisch ist er einfacher zu handhaben als der AT90CAN128,
zumal es gut kommentierten freien C-Source von Microchip gibt.
Zum schnellen Einstieg gibt es hier einen kleinen Adapter:
http://www.avrcard.com/products/can_adapter.htm

Hans

von Rahul (Gast)


Lesenswert?

Moin!
Ich finde es ja wirklich gut, dass sich dieser Thread so interessant
entwickelt.
Durch den Beitrag von Hans wird die Entscheidung noch mal schwieriger,
da der MCP2515 auch relativ einfach (Reichelt) beschaffbar ist.
Leider konnte ich bisher keinen Anbieter finden, bei dem ich den
At90CAN128 ohne einen Mindestumsatz von 125 Euro erwerben konnte.

Gruß Rahul

von Topsoft (Gast)


Lesenswert?

Hallo,

der MCP2515 ist Spitze und bei mir am PC und im Auto im Einsatz nur
gerade bei Reichelt nicht lieferbar, Ende der Woche soll es
wahrscheinlich wieder welche geben. Aber den AT90CAN128 würde ich auch
gern mal unter die Lupe nehmen. Ein Mindestumsatz von 125 € sollte kein
Problem sein nur wo bekommt man den her?

von Steffen (Gast)


Lesenswert?

habe gerade mal beim Distributor ( MSC ) angefragt. Die AT90CAN128-16AI
kommen Q4/04 oder Q1/05.


Gruss

Steffen

von Peter Mahler (Gast)


Lesenswert?

Hi Rahul,

schau dir mal das TinyARM Modul an unter

http://www.elektronikladen.de/tinyarm.html

du hast dabei einen 32 Bit ARM(LPC2129) mit Analog/Digital/2xCAN,
32-Bit Architektur, 60MHz, seriellen Bootstrap-Loader, RS232, I2C,
SPI,...
das alles zu einem Preis, bei dem ein Selbstbau nicht mehr rentabel
ist. Alternativ findest du dort auch ein fertiges Modul mit AVR und CAN
(CANDIP).
Ich arbeite selbst mit der etwas grösseren ARM-Variante(LPC2194) und
bin damit vollauf zufrieden.

Für die LPC2xxx Familie ist ein ARM-GCC (WinARM) mit gleichem Aufbau
wie der WinAVR verfügbar.


Gruss,

Peter

von Rahul (Gast)


Lesenswert?

Moin!
Damit dieser Thread mal ein Ende findet wurde folgende Entscheidung
getroffen:

An einen ATmega32 wird der MSP2515 angeschlossen (und daran der
Bus-Transceiver).
Warum?

Der SJA1000 braucht diverse Pins am Host-Controller, was entweder
Pin-Verschwendung ist, oder schaltungstechnischen Mehraufwand
bedeutet.
Für AVR sind Entwicklungsumgebungen bekannt und vorhanden
(ISP-Programmer von Welzel und STK500).
Für die anderen Chips (sofern auftreibbar) müsste erst
Programmierhardware hergestellt oder beschafft werden.
Und Geld ist halt immer knapp.
Fertige Module kommen auch nicht in Frage, da es sich um eine
Entwicklungsaufgabe im Rahmen des Mechatronik-Studiums handelt, und ein
komplettes System entwickelt und nicht nur programmiert werden soll.
(Naja, wir hätten auch eine SPS nehmen können...)
Mein Ziel ist es, ein Modul zu entwickeln, das man vielseitig einsetzen
kann.
Der MSP erfordert zum Glück ja auch nur 3-4 Pins je nach Beschaltung:
Wenn der SPI-Bus noch für andere Bausteine verwendet werden soll, muß
man halt die /CS-Leitung steuern, sonst braucht man nur 3 Pins.

Ausserdem ist da noch das Handling: der MSP ist als DIP zu haben. Der
AT90CAN128 nur als VQFP (oder war das der T89S51CC0x?; auf jeden Fall
ist der AT90S128 nicht so einfach wie der MSP zu beschaffen).
Dann wäre da noch der Preis: ATmega + MSP ~ 10 Euro, T89S51CC0x >11.

Ich freue mich, dass sich so viele Leute an dem Thread beteiligt haben
(auch wenn einige Beiträge etwas am Thema vorbeigingen).
Vielen Dank noch mal
Herzlichen Gruß
Rahul

von Thomas M. (Gast)


Lesenswert?

Hi,

womit kann man den AT90CAN128 den flashen, mit PonnyProg oder mit
Jaap?

Wo gibt es denn die Librarys für die CAN - Schnittstelle?

MFG,

Thomas

von OldBug (Gast)


Lesenswert?

Schon mal die Suche benutzt?

tze

von Profi (Gast)


Lesenswert?

Nur der Vollständigkeit halber:
Intel 82526
Intel 82527

http://www.semiconductors.bosch.de/de/30/networking/networking.asp

Bosch CC750   ASIC4548   272230455   272 239 455
Marking  30455  0330/03  C7696.1
SOIC16 W   nur SPI-Interface
http://www.semiconductors.bosch.de/pdf/CC750_TechData.pdf

Bosch CC770   ASIC4549   272230480   272 230 480
Marking  30480  01/5002  C7172.7
PLCC44   SPI- und Parallel-Interface, 2x 8bit I/O
http://www.semiconductors.bosch.de/pdf/CC770_TechData.pdf

Distribution: Rutronik

von Dietmar (Gast)


Lesenswert?

@Rahul:

Erarbeite gerade einen CAN-Bus mit Philips LPC2129 (ARM7), die 2
integrierte CAN-Controller haben (etwa SJA1000-kompatibel, aber besser
handhabbar, da kein externer Bus, weil im LPC2129 integriert). Bei Keil
gibt es dazu 2 sehr gut funktionierende Demo-Softwarepakete CAN-Full und
CAN-All, kostenloser Download von deren Homepage, womit man schon auf
Anhieb arbeiten kann. Die kannst du als Ausgangsbasis verwenden und
weiter ausbauen, klappt bei mir hervorragend.

Gruß

Dietmar

von Rahul (Gast)


Lesenswert?

Das Projekt für das ich den CAN-Controller brauchte, hatte ich
zwischenzeitlich an eine andere Projektgruppe abgegeben.
Die Anlage wird im Juni endlich dem Auftraggeber übergeben.
Als Controller hatte ich mich für den MCP2515 entschieden. In einem
kleinen Netzt vor 2 Controllern lief das System auch - inzwischen ist
der CAN-Bus rausgeflogen und durch eine serielle Schnittstelle ersetzt
worden. Der CAN-Bus war halt damals in Betracht gezogen worden, weil
das Ausmaß der Anlage noch nicht komplett absehbar war - einige
Baugruppen waren noch nicht mal komplett durchdacht, und brauchten
schon eine Steuerung...

von Dietmar (Gast)


Lesenswert?

@Rahul:

So ist das manchmal im realen Leben......

Gruß

Dietmar

von Dietmar (Gast)


Lesenswert?

@Rahul:

Noch was, hätte ich fast vergessen:

Wenn du in Energieverbrauch und Spannungsversorgung allgemein mal etwas
herunterkommen möchtest, sind natürlich die Philips LPC2000-Serien
(ARM7) erste Wahl, denn sie arbeiten mit 3,3V. Passend dazu die
CAN-Transceiver von Texas Instruments SN65HVD233, 234 oder 235,
ebenfalls 3,3V.

Gruß

Dietmar

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.