PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche Microcontroller



Bec
10.03.2011, 18:54
Hallo,

ich bin auf der Suche nach einem geeigneten Microcontroller für ein Projekt im Studium.
Da ich mich mit Microcontrollern nicht wirklich auskenne, hoffe ich das ihr mir weiterhelfen könnt.


Der MC soll Signale vom einem Kombinierten Momenten- und Winkelsensor verarbeiten und dann einen BLDC-Motor (24 V , max. 10 A) regeln, womöglich wird noch ein Leistungssteller zwischen MC und Motor geschaltet.

Momentensensor
-Ausgang: -10....10 V
-Messbereich :0...50 Nm

Winkelsensor Ausgang:
-Ausgang: 0 -10 V
-Messbereich: +-450°

Meine erste Frage ist nun, ob ich noch einen AD-Wandler brauche oder der gleich in den meißten MC integriert ist?

Außerdem soll der Momentensensor auf 0,1 Nm genau sein und der Winkelsensor auf 0,1° genau.
Beim Winkelsensor ergibt das bei 900° also 9000 Zahlenwerte die verarbeitet werden müssen, richtig?

Mir wurde der Ardunio Uno empfohlen und dieser hat 10 Bit, jedoch würde das ja nach meinen Überlegungen nicht reichen die 9000 Zahlenwerte zu verarbeiten und man bräuchte 16 Bit. Oder sind meine Überlegungen falsch?

Wäre schön wenn mir jemand meine Fragen beantworten oder einen geeigneten Microcontroller vorschlagen könnte.
Ich bin über jede Hilfe und Anregung dankbar : )

MfG

remmos
10.03.2011, 20:28
Grundsätzlich ist's ja so, das mit 10bit die größtmögliche (unsigned) Zahl 1023 ist (2^10-1 = 1023 bzw. Binär 1111111111 = 1023) und signed zahlenbereich min. -512 max. 511 (-2^(10-1) = -512 ; 2^(10-1)-1)

Aber du kannst es natürlich auch so machen, das du 2 Zähler hast, sprich du gehst immer bis z.B. 1000 in der variable A, und wenn es mehr sind incrementierst du die Variable B (die jeweils für 1000 steht) um 1.

Dann wäre wenn in A = 33 und B = 5 => 5033 zum beispiel ... ist aber nicht zu empfehlen ^^

Gruß

Moebius
10.03.2011, 21:26
Hi,
ich bin mir nicht sicher ob ich dich richtig verstehe. Dein Winkelsensor, was leifert der den zurück? Gibt der bereits ein digiteales Signal aus oder wie sieht das aus?

Zu den 10 Bit: Der ADC der Atmega-Reihe ist ganz brauchbar, du kannst aber nicht damit rechnen, dass du mit 10 Bit 1024 unterschiedliche Zustände detektieren kannst. Die Werte werden stes ein wenig schwanken. Dies kann durch stabilisierende Schaltungen teilweise kompensiert werden.

Damit man dir richtig weiterhelfen kann, solltest du wirklich nochmal auf den Sensor eingehen.

Mfg Moebius

021aet04
10.03.2011, 21:33
Er hat doch geschrieben, dass der Momentensensor eine Analoge Spannung zwischen -10V und +10V abgibt. Der Winkelsensor gibt eine analoge Spannung zwischen 0V und 10V ab.

MfG Hannes

Moebius
10.03.2011, 21:35
Ei, das hab ich doch glatt überlesen :( .

Hier vielleicht noch ein Link zum ADC des Atmega: http://www.atmel.com/dyn/resources/prod_documents/doc2559.pdf

Bec
11.03.2011, 11:23
Danke für die Antworten, jetzt bin ich schon ein wenig schlauer ^ ^

Also da ich beim Winkelsensor 9000 verschiedene Zustände auflösen muss, wird ein 10 Bit Microcontroller definitv nicht ausreichen, außer nach der von remmos beschriebenen Variante was die Sache wohl ziemlich verkomplizieren würde.

Und zu dem ADC von Moebius: Brauche ich nicht dann auch einen ADC mit mehr als 10 Bit, um die benötigte Auflösung zu bekommen?

Grüße

Vitis
11.03.2011, 11:52
aaaalso ... 2^x >=9000 ... ergibt mindestens 14 Bit AD-Wandlung.
Man kann den 10-Bit ADC, so die Außenbeschaltung ideal ist mit Tricks
und Kniffen ggf. per Oversampling auf 12 Bit aufblasen, wird aber anstrengend
und auch nicht wirklich präzise. Beim XMega mit 12 Bit ADC sieht die Sache schon
besser aus, das 13te Bit wäre hier noch eher generierbar aber auch das ist nicht ideal,
zumal das niedrigste Bit eh praktisch immer wackelt.
Du brauchst demnach 14 Bit AD-Wandler, besser 16 Bit, womit wir beim nächsten
Problem ankommen. Wie schnell soll die Wandlung denn sein? Welche Samplingrate
soll erreicht werden? Und welches Budget steht zur Verfügung? Da kann man richtig
Asche versenken mit derlei Hardware. Das Leiterplattenlayout, damit das Ding auch
wirklich brauchbare Werte ausspuckt ist auch nicht gerade trivial. Mit dem ADC alleine
ists noch lange nicht getan.

DanielSan
11.03.2011, 11:58
Vorsicht ich glaube du verwechselst da was.

Du kannst durchaus einen 8bit µC (z.B. Atmega8 ) nehmen. Du benötigst nur einen 14bit AD/Wandler. Es gibt welche mit I2C-Schnittstelle.
Was die kosten etc. kriegst du per Google raus.

Gruß
Daniel

Moebius
11.03.2011, 12:36
Ich habe mal selber einen 24 Bit ADC verwendet. Dieser wurde aber nicht mit einem Atmega angesteuert dazu kann ich dementsprechend nix sagen. Hier erstmal der ADC:

http://de.farnell.com/analog-devices/ad7799bruz/24bit-adc-3ch-sd-pga-smd-7799/dp/1078327?Ntt=ad7799

Da ich ihn für die Uni benötigt habe, konnte ich ihn über farnell kaufen. Dies ist ja für Privatkunden nicht so einfach möglich. Gibt es den vielleicht bei Reichelt?

Ich habe gute Erfahrungen mit dem gemacht. 24Bit ist natürlich ein bisschen mehr als was du brauchst. Du kannst dadurch aber Wertebereiche für deine Winkelbereiche definieren.
Bei diesem ADC kannst du angeben wie genau er messen soll(mit welcher Methode) und angeben ob er das Analoge Signal noch verstärken soll. Dadurch ergeben sich ganz unterschiedliche Messzeiten.

Hier noch ein Link den ich gefunden habe:

http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=50960

Es scheint relativ einfach möglich zu sein diesen ADC am Atmega zu verwenden, ich habe aber keinerlei Erfahrung damit.

Kennt wer einen passenderen ADC?

Mfg Moebius