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
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
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?
> 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.
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.
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).
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
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
> 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.