Forum: Mikrocontroller und Digitale Elektronik Welche uC soll ich wählen für Steuergerät von den Sensore


von Yaolan Z. (zhu)


Lesenswert?

Hallo,

ich kriege eine neue Aufgabe, ein Steuergerät für 17 Sensoren durch uC
zu bauen. Von einem Sensor wird die Daten durch I2C-Bus liefert. Dieser
Microcontroller muss alle Daten von Sensoren zwischenspeichern und auch
nach PC per USB schicken.

Ich bin Anfängerin mit Hadeware-Aufbau, und wollte fragen: welche uCs
passt dieser Aufgabe gut?

von Schoaschi (Gast)


Lesenswert?

Hi!

Hast du schon mit irgendeinem Controller gearbeitet und damit
Erfahrungen gemacht?

Ich arbeite mit PICs und kann dir folgende Chips empfehlen:
PIC18F2550
PIC18F4550
(-->www.microchip.com)

Beide besitzen eine I²C Schnittstelle und haben ein USB-Modul
(USB2.0)integriert.
Für diese Chips gibt es ein Übungsboard. In der Dokumentation findest
du den Schaltplan dafür und die Firmware gibts auch noch. Die Hardware
ist nicht wirklich kompliziert.. also nur zu empfehlen.
Das Board ist unter dem Namen PICDEM Full Speed USB zu finden.
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en021940

mfg Schoasch

von Jochen (Gast)


Lesenswert?

Atmel Atmega16/32 hat I²C
dann noch ein RS232/USB-wandler

Vorteil der Atmegas:
-werden hier im forum von vielen genutzt
-frei tools, d.h kostenlose c-compiler, ...
-hat I²C (TWI)
-es gibt sehr billige fertige board hier im forum
http://shop.mikrocontroller.net/csc_article_details.php?nPos=0&saArticle[ID]=60&VID=21LXBluPtU0kf3fg&saSearch[word]=&saSearch[category]=AVR&saSearch[special]=
sehr geeignet, da du ja noch nicht so viel mit µC gemacht hast, dann
kannst du dich erstmal voll auf den µC stürzen, und mit den Programmier
Tools vertraut machen, dann würd ich erst mein hardware design machen

von Yaolan Z. (zhu)


Lesenswert?

Vielen Dank!

Ich habe mit Intel 8051 gearbeitet. Es ist eine kleine einfache
Aufgabe.^^

Ich habe die Information von den beide gelesen.
                            ADC Channels
PIC18F2550                     10
PIC18F4550                     13
Atmel Atmega16                 8

Ich habe 17 Sensoren. Die Channels sind nicht genug. Soll ich MUX vor
ein paar Channels benutzen, damit es genug sein kann?

von Hubert.G (Gast)


Lesenswert?

Sind alle Sensoren I2C oder analog?
Wie viele Sensoren auf einem µC?

von Yaolan Z. (zhu)


Lesenswert?

16 davon sind analog
1 davon ist I2C

Ist es möglich alle Sensoren auf einem uC?

von Der Sepp (Gast)


Lesenswert?

Hallo,

Du kannst den Cypress AN2131 verwenden. Das ist ein 8051er mit USB und
I2C. Es gibt auch einen Windows USB-Treiber von Cypress dazu.
Ebenso funktionieren die Cypress Cy7C68013.

von Hans (Gast)


Lesenswert?

ich hatte mal irgndwo einen ads8344 in betrieb.. der wird aber glaubich
nichtmehr produziert.. war ein 8kanal 16bit adc.. auf einem normalen uC
wirst du nicht genug kanäle haben... also muss was externes her.. analog
oder ti sind gute anlaufstellen für was externes...

der ads8344 ist "etwas" wählerisch was die referenz anbelangt...

weiter möglichkeit arm7 :) gibts auch schon einige mit usb2.0...

welche auflösungen benötigst du eigentlich?? unter umständen kann man
mit einem analog-mux da schon was nettes basteln :)

73

von Yaolan Z. (zhu)


Lesenswert?

Dank schön!

ich benötige eine 16bit Auflösung für ADC.

Ich kann ein uC mit 10 A/D Kanäle und noch ein 8 Kanäle ADC für meine
16 analog-ausgänge Sensoren wählen. Natürlich haben die beide eine
gleiche Auflösung. Ist es realisierbar?

ps: was beseutet 73 am Ende, Hans?

MfG
Yaolan

von Yaolan Z. (zhu)


Lesenswert?

Entschuldigung!

Ich habe nachgedacht. 12bit Auflösung ist schon genug!

MfG
Yaolan

von ka-long (Gast)


Lesenswert?

Hi,

Ich wollte gerade meckern...16bitAuflösung...das stellt höchste
Anforderungen an Komponenten und Layout...ohne 4 Layer-Board und sehr
gute Kenntnisse in Layout brauchst Du keine 16bit versuchen.

Selbst 12bit könnte schon ein Problem werden...aber egal.

Du nimmst am besten zwei 8-Kanal A/D-Wandler mit SPI oder I2C oder halt
einen 16 Kanal. Dann kannst Du auch fast jeden uC nehmen.

Gruß ka-long

von Yaolan Z. (zhu)


Lesenswert?

...scheint schwierig zu sein. Aber sehr nett mir zu sagen!

Ich habe gerade jm( meinem Chef) gefragt, ob 16bit nötig ist. Er hat
gemeint, 12bit ist mindestens, besser 16bit...

Ich habe die uCs wieder angeschaut. PIC18F2550,PIC18F4550 und
ATmega16/32 gehen nicht mehr, weil sie nur 10bit Auflösung haben. Ich
glaube ich muss weiter suchen. :(

von Schoaschi (Gast)


Lesenswert?

Welche Sample-Rate benötigst du?

Analog Devices besitzt µC mit einem 12-ADC und 16 Channels. Der Name
lautet ADuC7027(Ist aber ein ARM).

Aber ein µC mit 16Bit Auflösung kenne ich nicht und glaube das du daher
auf ein externes Bauteil zurückgreifen musst.


Ah doch... TI hat µC (8051er)mit bis zu 24Bit Auflösung aber leider nur
8 Channels.

mfg schoasch

von Yaolan Z. (zhu)


Lesenswert?

Vielen Dank!

Ich kann entweder AD-Wandlers für 16 Kanäle mit normalem uC oder ein
idealer uC mit mindesten 12 Bits ADC (vielleicht noch zusätzliche ADc
dazu) finden. Ich glaube die erste Lösung ist besser, oder?

Ich kenne lay-out nicht gut, sehr komplizierte Board kann ich nicht
schaffen...

von Robert Teufel (Gast)


Lesenswert?

Wie Schoaschi bereits erwaehnt hat, Analog Devices hat einen
erschwinglichen ARM mit 16 Kanaelen 12-bit Aufloesung und 1 msamples/s.
Auch der kleine Speicher fuer einen ARM von max. 62k Flash sollte fuer
diese Anwendung kein groesseres Problem sein.

Robert

von Yaolan Z. (zhu)


Lesenswert?

Ich habe ADuC7027 im Internet gefunden. Aber es ist analog Devices. Es
gibt noch DAC darin, d.h. die Ausgänge sind analog? Es bringt kein
Problem, mit USB die Daten nach PC zu transportieren?

von Schoaschi (Gast)


Lesenswert?

Hi!

Der ADuC7027 hat ADC-Eingänge, DAC-Ausgänge und normal IO-PORTs. Schau
dir mal im Datenblatt die Seite 5 an (Figure 2). Hier siehst du die
Pinbelegung.

Um die Daten mittels USB zum PC zu übertragen gibts zwei
Möglichkeiten.

Die Erste ist: Du benutzt eine USB<->RS232 Wandler (zb.: FT232 von FTDI
http://www.ftdichip.com/ oder TI hat auch welche im Angebot) und
schickst deine Daten über UART an den Wandler. Der schickt sie dann
weiter zum Computer. Das wird wohl die einfachste Möglichkeit sein.

oder

Die Zweite ist: Du programmierst dir das USB-Protokoll selbst auf den
ADuC. Was sicher nicht ganz einfach ist... aber es ist schaffbar. (Ich
habe soetwas schon mit einem ATMega8 gesehen).

ICh hoffe ich konnte helfen.

von Yaolan Z. (zhu)


Lesenswert?

Vielen Dank! Du hast mir sehr viel geholfen. Ich werde mit ADuC
versuchen.

MfG
Yaolan

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.