Forum: Mikrocontroller und Digitale Elektronik welcher µC für STK500


von OmasterO (Gast)


Lesenswert?

Hallo,
ich arbeite zur Zeit an einer Diplomarbeit und muss dafür einen µC 
programmieren.
Ich habe ein STK500 bekommen um damit mal ein bisschen "herumzuspielen"
Bis jetzt habe ich mit dem Atmega8515 gearbeitet der beim STK500 dabei 
war.
Bei meinem Projekt wird ein Motor abhängig von der 
Durchflussgeschwindigkeit eines Mediums, die mit einem Sensor gemessen 
wird, gesteuert. Das Verhältnis soll auch in irgendeiner Form 
einstellbar sein. Evtl. wird noch ein Drehzahlsensor am Motor 
installiert um einen Rückgabewert zu erhalten wie schnell der Motor 
tatsächlich läuft.
Der Atmega8515 hat leider keinen A/D-Converter (für das einlesen der 
Sensorwerte). Darum die Frage welcher µC ist sinnvoll zu verwenden?

Ich bin leider noch totaler Anfänger was die µCs angeht und bin auf eure 
Hilfe angewiesen.

mfg OmasterO

von OmasterO (Gast)


Lesenswert?

Sry das hab ich noch vergessen:
Ist es evlt. sinvoll mit dem Atmega 8515 weiterzuarbeiten und einen 
externen A/D-Converter zu verwenden bzw. selber einen zu basteln?

von yg39dmja (Gast)


Lesenswert?

Hallo OmasterO,

in der Elektor 7-8/2008 wird ein Kraftstoffmesser für ein UL auf Basis 
eines ATmega8 beschrieben. Das könnte Dir die Frage "Wie messe ich die 
Durchflussgeschwindigkeit eines Mediums" beantworten. Als 
Durchflussmesser wird ein Digimesa Flowmeter verwendet. Der dort 
eingesetzte ATmega8 kann auf dem STK500 programmiert werden.

Für die Motorregelung solltest Du mal ein paar mehr Informationen geben. 
Klingt aber machbar.

CU yg39dmja

von Ronny (Gast)


Lesenswert?

Zunächst einmal sollte in einer Diplom-Arbeit nicht GEBASTELT sonder 
zumindest Ansatzweise zielorientiert und wissenschaftlich gearbeitet 
werden. Immerhin willst du Diplom-Ingenieur und nicht Bastler werden ;)

Also, was genau ist nun dein Problem?

Werde dir zunächst erstmal darüber klar WELCHE Größen (Drehzahl, 
Durchfluss, ...) du in welcher Form (analoge Spannung von Vmin..Vmax, 
digitales Signal 0/1, Pulsweiten-Moduliertes Signal, per Bus SPI/I2C, 
...) auswerten musst und wie sich daraus die Stellgrößen ergeben. Je 
nachdem was für Signale kommen, könnte auch der in manchen AVRs verbaute 
ADC zu langsam/ungenau sein.

Daraus ergeben sich für dich wichtige Informationen darüber, wieviele 
Pins dein Controller brauchen wird, wie schnell er auf Ereignisse 
reagieren können muss und wie kompliziert die Software werden wird.

Das sind alles Sachen die du zunächst von deinem Betreuer in Erfahrung 
bringen musst, damit es nachher nicht heisst du hast das Thema komplett 
verfehlt oder in den Sand gesetzt ;)

Und jetzt kommts: Danach kannst du dann einen Controller auswählen. Der 
Atmega8 ist sicher als Ausgangs-Basis schonmal nicht schlecht um ein 
wenig mit den AVRs warm zu werden. Allerdings könnte er sich allerdings 
auch als zu klein heraustellen. Um das herauszufinden muss man die 
Anforderungen schon etwas genauer kennen.

Den archaischen Mega8515 würde ich allerdings im Museum lassen und etwas 
zeitgemässeres wie z.b. den Atmega16A oder ähnliches einsetzen. Die 
sollten auch im STK500 laufen.

von yg39dmja (Gast)


Lesenswert?

...tja, dass ist wohl wahr.

von Peter D. (peda)


Lesenswert?

Du solltest einen moderneren AVR benutzen, z.B. den ATmega644P.

Die alten ATmega16/32 sollte man nicht mehr für Neuentwicklungen nehmen.


Peter

von Lutz (Gast)


Lesenswert?

Nun.., ja .., ich bin ziemlich sprachlos!
Ronny hat ja schon das Meiste geschrieben.

>Der Atmega8515 hat leider keinen A/D-Converter (für das einlesen
>der Sensorwerte).

Und auch hier: Wer sagt denn, daß Du einen ADC brauchst? Es gibt soooo 
viele Sensoren mit digitaler Schnittstelle heutzutage ...

Wie Ronny schon schrieb: Arbeite vernünftig/logisch! Das ist der Sinn 
der Diplomarbeit. Und das heißt u.a., daß man einen Schritt nach dem 
anderen macht und nicht z.B. mit der Dankesformulierung anfängt. Wenn Du 
jetzt fragst "Warum das denn nicht, die kommt doch aber am Anfang der 
gedruckten Diplomarbeit?", dann suche bitte blitzartig und aufrichtig 
Hilfe bei Deinem betreuenden Prof., um zu retten, was noch zu retten 
ist.
Wenn Du nicht fragst, hast Du es wohl doch verstanden. Es muß doch 
erstmal eine konkrete Aufgabenstellung geben. Dann trägt man die 
"Variablen" zusammen. Es wird eine Strategie entwickelt. das wird dann 
im Detail ausgearbeitet. etc., etc., etc. Und der Betreuer wird immer 
aktiv informiert (um Rat fragen ist damit nicht gemeint!), um u.a. 
einzugreifen. Das ist ja auch eine seiner Aufgaben!

Tip: Ordne/strukturiere Deinen ganzen "Krempel" mal noch einmal; trete 
ein paar Schritte zurück, wie man so schön sagt, und verschaffe Dir eine 
Gesamtüberblick.

von Ronny (Gast)


Lesenswert?

@Peter:

Der Atmega16 ist bei Atmel schon garnicht mehr in der Produktübersicht.
http://atmel.com/dyn/products/devices.asp?family_id=607

Ich bezog mich auf einen der unzähligen Nachfolger, nämlich die Variante 
Atmega16_A_. Neuerdings gibt es sogar neben den paar AT90USBxx noch 
einige mehr AVRs mit USB :)

Hat jemand mit denen schonmal etwas gemacht?

von OmasterO (Gast)


Lesenswert?

Hallo,
zunächst vielen Dank für die Antworten.
Eines muss vielleicht noch klarstellen: Ich besuche eine HTL (höhere 
technische Lehranstalt) und keine Universität. Das heißt ich mache 
gleichzeitig meine Matura (Abitur) und somit ist die Diplomarbeit 
vermutlich auch nicht auf dem Niveau wie eine die bei einer Universität 
erstellt werden muss.
also die genauen Anforderungen:
Durchflusssensor (analoge Spannung ca. 0-10V)=> ADC
evtl. Drehzahlsensor (vermutlich Taktsignal, weiß ich aber nicht sicher) 
=> Counter
1-2 LEDs => 2 digitale Ausgänge
DC Motor mit ca. 1W => PWM
wie das Einstellen des Mischverhältnis realisiert wird weiß ich noch 
nicht sicher. Aber ich brauche dafür entweder 3-4 digitale Eingänge, 
einen Analaogkomperator, oder nochmals einen ADC

Ich hoffe ihr könnt mir jetzt vielleicht genauer sagen welche µC sinvoll 
ist oder braucht ihr noch weitere Angaben?

mfg OmasterO

von Ronny (Gast)


Lesenswert?

>> Hallo,
>> zunächst vielen Dank für die Antworten.
>> Eines muss vielleicht noch klarstellen: Ich besuche eine HTL (höhere
>> technische Lehranstalt) und keine Universität. Das heißt ich mache
>> gleichzeitig meine Matura (Abitur) und somit ist die Diplomarbeit
>> vermutlich auch nicht auf dem Niveau wie eine die bei einer Universität
>> erstellt werden muss.

Quatsch. Der Stoff mag an einer Uni oder Hochschule vielleicht etwas 
theoretischer sein, das Ziel ist aber ähnlich: Du sollst in die Lage 
versetzt werden, selbstständig eine Aufgabe (wie auch immer geartet ;) ) 
zulösen. Mach es ordentlich, systematische Herangehensweise ist das 
wichtigste Überhaupt in der Entwicklung. Schneller Pfusch wird dir wen 
du Pech hast später im Beruf noch oft genug aufgezwungen.

>> also die genauen Anforderungen:
>> Durchflusssensor (analoge Spannung ca. 0-10V)=> ADC

Na, das ist doch schonmal ein Anfang. Schau dir mal an, welchem 
Durchfluss 10V, 5V und 0V entsprechen und mit welcher Auflösung du das 
Auswerten können musst. Danach kannst du dann einen passenden AD-Wandler 
(Bitbreite) aussuchen. Vermutlich sollen es nicht allzuviele Messungen 
pro Sekunde werden, oder? Dann könnte der interne ADC in vielen AVRs 
ausreichen.


>> evtl. Drehzahlsensor (vermutlich Taktsignal, weiß ich aber nicht sicher)
>> => Counter
Frag deinen Betreuer, welcher Sensor eingesetzt werden soll oder welcher 
Sensor-Typ bereits bei anderen Projekten eingesetzt wurde. Die 
Schnittstelle zu den zu steuernden Geräten sollte erstmal geklärt 
werden. Das Gerät an welches dein System später angeschlossen werden 
soll, ist doch sicher irgendwo beschrieben, oder?

-> Betreuer fragen!

>> 1-2 LEDs => 2 digitale Ausgänge
Jup, das passt. Ich würde noch ein oder zwei weitere Ausgänge zum 
Debuggen vorsehen. (z.B. Timer-Initialisierung per Oszi prüfen, 
Interrupt-Reaktionszeiten messen, etc)

>> DC Motor mit ca. 1W => PWM
Kommt auf den Motor an. Das Datenblatt zum Motor verrät mehr.

>> wie das Einstellen des Mischverhältnis realisiert wird weiß ich noch
>> nicht sicher. Aber ich brauche dafür entweder 3-4 digitale Eingänge,
>> einen Analaogkomperator, oder nochmals einen ADC

Ähm, Mischverhältnis? Bisher ging es nur um eine Durchfluss-Regelung. 
Und was meinst du mit "Einstellen"? Eine Benutzer-Schnittstelle oder 
einen Regelungs-Algorithmus?

>> Ich hoffe ihr könnt mir jetzt vielleicht genauer sagen welche µC sinvoll
>> ist oder braucht ihr noch weitere Angaben?

Nö, wir können dir nur vorschlagen, welche Controller DU dir mal 
anschauen kannst. Letztenendes musst DU einen Controller auswählen und 
anhand der gegebenen Anforderungen begründen können, wieso dieser 
Controller geeignet ist. Das musst du dann mit deinem BETREUER 
besprechen und der kann dir dann sagen ob du damit komplett gegen die 
Wand fährst oder es passen könnte.

von OmasterO (Gast)


Lesenswert?

Genau da liegt dass Problem. Ich habe im Prinzip keine Ahnung von µC:
Ich abreite in einem Team von 3 Personen und wir bauen ein Gerät, dass 
zu einem Medium je nach Durchflussgeschwindigkeit und einem vom Benutzer 
einstellbaren Mischverhältnis einen Motor antreibt, der zu diesem Medium 
über eine Mechanik eine 2. Komponente beimischt. Viele genauer ist 
unsere Aufgabenstellung leider auch nicht ;) Aber es gehört auch zu 
unserer Aufgabe den Motor mit Drehzahlsensor, die Mechanik (von der wir 
als ELEKTROTECHNIKER fast keine Ahnung haben),... auszuwählen und 
aufzubauen. Unser Betreuer ist Lehrer für elektrische Anlagen und 
Energietechnik und hat von µC keine Ahnung. Wir haben dieser Jahr 
erstmals angefangen mit der µC-Programmierung und haben nur mit einem 
Infineon CR167 und mit µVision von Keil gearbeitet. Jetzt hab ich einen 
Atmega und arbeite mit AVR Studio und muss mich selber hineinarbeiten. 
Wir sind ja eigentlich Elektrotechniker und keine Elektroniker und ich 
habe mich zur µC-Programmierung gemeldet, da mir sowas durchaus Spaß 
macht.


>> Na, das ist doch schonmal ein Anfang. Schau dir mal an, welchem
>> Durchfluss 10V, 5V und 0V entsprechen und mit welcher Auflösung du das
>> Auswerten können musst. Danach kannst du dann einen passenden AD-Wandler
>> (Bitbreite) aussuchen. Vermutlich sollen es nicht allzuviele Messungen
>> pro Sekunde werden, oder? Dann könnte der interne ADC in vielen AVRs
>> ausreichen.

Messungen mit dem Sensor vornehmen ist unser nächster Schritt den wir 
demnächst starten werden. Aber die internen ADC reichen meiner Meinung 
nach definitiv

>> Frag deinen Betreuer, welcher Sensor eingesetzt werden soll oder welcher
>> Sensor-Typ bereits bei anderen Projekten eingesetzt wurde. Die
>> Schnittstelle zu den zu steuernden Geräten sollte erstmal geklärt
>> werden. Das Gerät an welches dein System später angeschlossen werden
>> soll, ist doch sicher irgendwo beschrieben, oder?

Ich bin mir ziemliche sicher dass der Sensor ein Taktsignal liefert 
(1Takt/Umdrehung) und ich denke das müsste mit einem Counter umsetzbar 
sein. Der Katalog mit den Motoren/Drehzahlsensoren liegt zur Zeit leider 
in der Schule :(

>> 1-2 LEDs => 2 digitale Ausgänge

>> Jup, das passt. Ich würde noch ein oder zwei weitere Ausgänge zum
>> Debuggen vorsehen. (z.B. Timer-Initialisierung per Oszi prüfen,
>> Interrupt-Reaktionszeiten messen, etc)
Ok dann zur Sicherheit mindestens 4 digitale Ausgänge

>> DC Motor mit ca. 1W => PWM

>> Kommt auf den Motor an. Das Datenblatt zum Motor verrät mehr.

Wir haben uns leider noch nicht mit Sicherheit für einen Motor 
entschieden. Aber mit einer Glättung und evtl. Verstärkerschaltung kann 
ich mit dem PWM-Signal sicher was anfangen.

>> wie das Einstellen des Mischverhältnis realisiert wird weiß ich noch
>> nicht sicher. Aber ich brauche dafür entweder 3-4 digitale Eingänge,
>> einen Analaogkomperator, oder nochmals einen ADC

>> Ähm, Mischverhältnis? Bisher ging es nur um eine Durchfluss-Regelung.
>> Und was meinst du mit "Einstellen"? Eine Benutzer-Schnittstelle oder
>> einen Regelungs-Algorithmus?

Also der Benutzer muss in irgendeiner Form das Verhältnis von Durchfluss 
zu Motordrehzahl einstellen können. Ich weiß jetzt leider nicht in 
welchen Schritten und muss mich noch erkundigen. Aber entweder wird das 
mit einem Potentiometer (ADC / oder Analalogkomperator) oder mit 
Schaltern(max. 4 (mehr als 16 Stufen sind mit Sicherheit nicht 
notwendig) realisiert => max. 4 digitale Eingänge

>> Ich hoffe ihr könnt mir jetzt vielleicht genauer sagen welche µC sinvoll
>> ist oder braucht ihr noch weitere Angaben?

>> Nö, wir können dir nur vorschlagen, welche Controller DU dir mal
>> anschauen kannst. Letztenendes musst DU einen Controller auswählen und
>> anhand der gegebenen Anforderungen begründen können, wieso dieser
>> Controller geeignet ist. Das musst du dann mit deinem BETREUER
>> besprechen und der kann dir dann sagen ob du damit komplett gegen die
>> Wand fährst oder es passen könnte.

Also wär ein Atmega8 in Ordnung? Der hat genügen Digitale I/O, einen 
Counter, ADC und PWM oder hab ich was übersehen/vergessen?

mfg OmasterO

von Gastofatz (Gast)


Lesenswert?

>Also wär ein Atmega8 in Ordnung?

Nach dem Lesen des Anforderungsprofils oben würde ich sagen ja. Ca. 20 
I/O-Leitungen mit davon maximal 6 ADC-Eingängen sollte reichen. Der 
ATmega8 hat auch noch einen Vorteil: Er ist in diesem Forum sehr beliebt 
und es gibt ne Menge Leute, die sich mit den AVRs im allgemeinen aber 
auch besonders ihm gut auskennen :-)

von Visitor (Gast)


Lesenswert?

Nimm statt des Atmega8 den pinkompatiblen Atmega88 diesen kannst du im 
laufenden Projekt bei Flash-Knappheit auf 16k (Atmega168) bzw. 32k 
(Atmega328) austauschen. Oder starte direkt mit dem 32k-Typ (kostet ca. 
1.50 Euro mehr als der 8k Typ)

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.