Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller Auswahl


von Lukas Gehrig (Gast)


Lesenswert?

Sehr geehrte Damen und Herren

Ich stehe kurz vor meinem Abschluss der Lehre als Elektroniker. Nun muss 
ich als IPA (Individuelle Projekt Arbeit) ein Zeitrelais simulieren. Das 
Problem dieser Arbeit ist, ich habe während meiner gesammten Lehre kein 
einziges Projekt fertigen können, das meiner IPA auch nur ähnlich ist.
Mein Problem ist folgendes:

Ich muss einen geeigneten Prozessor finden, weiss jedoch nicht, wie ich 
danach suchen soll.
Meine Aufgabe ist es, ein Zeitrelais zu simulieren. Dies realisiere ich 
mit Hilfe eines uP. Meine Schaltung hat vier Grundfunktionen, die mit 
einem Stufenschalter ausgewählt werden. Einschaltverzögert, 
Ausschaltverzögert, Monoflop und Blinklicht (mehr oder weniger 
irrelevant). Die Zeit dieser Funktionen wird mit einem linearen 
Potentiometer realisiert. Die Ausgabe ist jedoch exponentiell (256 
Zustände). Die Funktionen werden über zwei Signale A1/B1 ausgelöst. Als 
Ausgabe habe ich einerseits die Simulation das simulierte Zeitrelais und 
eine LED, die während der eingestellten Zeit blinkt (wird über Programm 
geregelt).
Da die Frontplatte bereits gefertigt ist, ist die Grösse meines Prints 
schon vogegeben und dementsprechend enorm beschränkt rsp. klein. 
Deswegen muss/soll das RAM und ROM im Prozessor drinn sein. Der ADC muss 
nicht, wäre aber auch schön, wenn der drinn ist.

Nun habe ich jedoch aus mangelnder Kentniss keine Ahnung, was ich für 
einen Prozessor auswähle. Wie viel RAM und ROM muss dieser haben? Wie 
viele Ports muss dieser haben? Wie schnell muss dieser getaktet sein?
Ich kann leider nur Assembler programmieren. Das sollte auch noch eine 
Rolle spielen glaube ich.

Währe sehr froh, wenn mir jemand gleich einen Typ nennt, der für sowas 
geeignet ist.

Freundliche Grüsse
Lukas Gehrig

von Peter D. (peda)


Lesenswert?

Lukas Gehrig schrieb:
> Wie viel RAM und ROM muss dieser haben?

64 Byte RAM, 1kB Flash sollten dicke reichen

Lukas Gehrig schrieb:
> Wie
> viele Ports muss dieser haben?

Na also die benötigten Pins mußt Du schon selber abzählen.

Lukas Gehrig schrieb:
> Wie schnell muss dieser getaktet sein?

1MHz sollte dicke reichen

Lukas Gehrig schrieb:
> Ich kann leider nur Assembler programmieren.

Dann liegt doch die MC-Familie schon fest.
Einfach auf die Herstellerseite gehen und nen Typ mit der Pinzahl und 
internem Timer und ADC aussuchen


Peter

von Lukas Gehrig (Gast)


Lesenswert?

Danke dir vielmals.
Ich glaube, so kann ich einen finden. Falls nicht melde ich mich 
nochmals.

Grüsse
Lukas

von Patrick (Gast)


Lesenswert?

Die Frage ist, fuer welche uC-Familien Du Assembler-Kenntnisse besitzt.

Waehle einfach einen uC aus dieser Familie. Fuer die genannte Aufgabe 
tut es vermutlich der kleinste Vertreter dieser (wie Peter schon 
schrieb).

Weiteres Auswahlkriterium: Muss der uC im DIP-Gehaeuse sein, oder 
kann/soll/muss es SMD sein?

von MaWin (Gast)


Lesenswert?

>  Wie viele Ports muss dieser haben?

Digitaleingänge A1 und B1,
Analogeingang Poti für Zeiteinstellung.
Digitalausgänge Zeitimpuls und BlinkLED.
Bleibt die Frage, die du deinen 4-StufenSchalter anschliesst.
Das kann man, je nach dem welche Pins der Prozessor noch 'übrig' hat,
als 1 Analogeingang (Stufenschalter produziert eine von 4 Spannungen per 
Spannungsteiler)
als 4 Digitaleingänge (einer davon wird je nach Stellung des 
Stufenschalters auf Masse geschaltet, die anderen von den internen 
eingeschalteten (oder extern drangelöteten) Pullup Widerstaänden nach 
+5V gezogen)
oder als 2 Digitaleingänge (gibt 4 Kombinationen, 00, 01, 10, 11) wenn 
der Stufenschalter passende Ausgänge hat (2 Ebenen a 4 Positionen sind 
nützlich dafür)

Je nach dem, welche Assemblersprache du denn nun kannst, wäre ein alter 
PIC (PIC16F84?), ein neuer AVR (Attiny2313?) oder ein uralter 8051 
(AT89C2051?) oder ein exotischer 6811 (MC68HC11A1) brauchbar, alle sogar 
überdimensioniert, aber das sind Typen, nicht ganz aktuell, die in 
Lehranstalten gerne genommen werden und oft auch rumliegen.

von Lukas Gehrig (Gast)


Lesenswert?

Ja habe mir das mit dem Stufenschalter so vorgestellt, dass ich über 
vier digitale Eingänge auf den Prozessor gehe. Ein 8051/8052 habe ich 
auch zuerst gedacht. Mein Fachvorgesetzter meinte, der hat zuwenig 
internes RAM und ROM, deswegen fing ich an, einen neuen suchen zu 
wollen. Auch auf einer älteren Schaltung mit dem 8051 hat da der 
Entwickler externe RAM und ROM angeschlossen. Dies machte mich 
mistrauisch, da das Board nicht viel mehr können muss als meins. (Hatte 
auf dem 8051 programmiert).
Der 8051 hat ja auch kein interner ADC. Habe dafür provisorisch einen 
ADC0803 genommen.
Auf jeden Fall werde ich mir die Vorgeschlagenen Prozessoren mal genauer 
anschauen.
Danke an alle.

von Lukas Gehrig (Gast)


Lesenswert?

Ach ja und ob er smd oder tht sein soll is im Grund genommen egal.

von Herr Vorragend (Gast)


Lesenswert?

Es gibt aber auch genug 8051-Derivate, die schon einen ADC on board 
haben und auch über genug RAM und (Flash-)ROM verfügen. In einer Firma, 
wo ich mal ein Praktikum gemacht habe, hatten die sogar ein 8051-Derivat 
mit einem 16bit ADC (den gab's natürlich nur als SMD-Bauteil).

von Peter D. (peda)


Lesenswert?

Lukas Gehrig schrieb:
> Mein Fachvorgesetzter meinte, der hat zuwenig
> internes RAM und ROM,

Das ist großer Quatsch, Du sollst doch keine Windows-GUI programmieren!

8051 mit ADC, z.B. C8051F330


Peter

von Axel D. (axel_jeromin) Benutzerseite


Lesenswert?

Wenn aber Platz für 28 Pins auf dem Print sind, dann doch lieber ein 
Atmel Mega88 und gut ist.

Warum immer die alten Möhrchen bemühen, nur weil die Lehrer nicht auf 
dem Laufenden sind.

Axel

von 2ter Gast (Gast)


Lesenswert?

Oder auch MSP430. Z.B das Launchpad board für 5€ bis 10€. Hat zwei uC 
von denen einer einen ADC hat. Debugging über USB inklusive.

von MaWin (Gast)


Lesenswert?

> Ein 8051/8052 habe ich auch zuerst gedacht.
> Mein Fachvorgesetzter meinte, der hat zuwenig internes RAM und ROM,

Stimmt, der hat gar MaskenROM, das kannst du nicht
programmieren,
Aber es gibt Abhilfe, 8051 ist ja eine ganze Familie
mit derselben Assemblersprache,
und da gibt es unterschiedliche Typen,
z.B. AT89EB5114.

Und selbst wenn der uC keinen A/D-Converter hat,
wie der AT89C2051,
sondern nur eine Analogkomparator, lässt sich,
durch abschreiben des passenden Beispielcodes,
damit trotzdem ein Poti analog auslesen, extern
braucht man nur einen Widerstand und einen
Kondensator dranlöten.

Wenn du eine Assemblersprache schon kannst,
dann bleibe bei der Familie die diese Sprache versteht,
das spart dir einen zusätzlichen Lernaufwand.

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.