Moin, sorry, mir ist kein besserer Betreff eingefallen. Ich bin gerade am überlegen, welchen µC ich für mein Projekt später brauche. Ich werde 20 Lichtschranken auswerten müssen und 4 Siebensegmentanzeigen ansteuern müssen. Später soll mal noch ein LCD Display hinzukommen. Der ATMega16 hat ja z.B. 32 I/O Pins in 4 Ports organisiert. Wenn ich nun 20 Lichtschranken abfrage, bleiben noch 12 Pins frei. Nun wird es sicherlich ne Möglichkeit geben, die 7 Segmentanzeigen nicht über 7/8 Pins anzusteuern (ich denke da an einen Treiberbaustein - bin aber da absoluter Anfänger), sonst wären ja bei 4 Siebensegmentanzeigen noch einmal mindestens 28 Pins des µC weg. Und das ginge dann ja schon nicht mehr. Außerdem verstehe ich das im Moment so, das die einzelnen Pins des ATMega16 doppelt belegt sind. Wenn ich also 20 Lichtschranken anschließe, kann ich diese 20 Ports nicht mehr anders nutzen. Ist das richtig so? Dann hätte ich ja beispielsweise keine serielle Schnittstelle mehr zur Verfügung (brauche ich aber!). Wie ich später dann noch das LCD ansteuern soll, weiß ich auch noch nicht. Wie ihr seht, bin ich blutiger Anfänger (mein STK500 kommt heute hoffentlich mit der Post :-)). Vielleicht habt Ihr ja eine Idee für ein Konzept. Oder muss ich sowieso für mein Vorhaben einen viel größeren µC nehmen. -- Martin
Es kommt darauf an, in welchen Zeitintervallen die Lichtschrankenimpulse kommen können und wie lange die Impulse anstehen. Wenn es das Timing zulässt, kann man z. B. einen 74HC4051 einsetzen. Da hättest du schon mal 8 Lichtschranken untergebracht. Außerdem sind die Teile leicht zu kaskadieren. Als Ausgabeerweiterung sind Latches wie 74HC573 oder ..574 zu verwenden. MW
Hallo Martn, Dein Projekt haben wir ja schon ein wenig "zerkaut" (nicht mehr nur durchgekaut...). Probier doch erst mal, wie du mit dem Programmieren überhaupt hinkommst. Versuch erst eine LED leuchten zu lassen, dann LED durch einen Taster einzuschalten, dann LED einschalten beim ersten Tastendruck, ausschalten beim nächsten. Dann kannst du mit dem Timer rumspielen, vielleicht auch mit der seriellen Schnittstelle und so weiter. Dein Zeiterfassungssystem für "Carrera"-Autos ist ein ganz schöner Brocken, vor allem wenn man von der Realisation noch keine Ahnung hat. Einen Mikrocontroller kann man immer durch Bauteile wie Schieberegister um Ein- und Ausgänge erweitern. Dafür gibt es eine grosse Menge Bausteine. Schliesslich bist du nicht der einzige, der mit Mikrocontrollern arbeitet. Fang erst mal klein an!
Hallo, :-) jaja - schon klar ... ich werd ja auch hoffentlich heute die entsprechende Hardware zum rumspielen bekommen. Und ich werd natürlich klein anfangen ... und wahrscheinlich auch einige Rückschläge erleiden. Gehört halt dazu ... Bangemachen zählt nicht! Unabhängig davon mach ich mir halt schon Gedanken wie ich sowas später konkret umsetzen kann. Und deshalb mein posting. -- Martin
Der grösste AVR ist IMHO der ATMega128 (die neueren habe ich mir noch nicht angeguckt). Wenn du den verwenden möchstest, hast du nur ein Lötproblem. Eigentlich sollte der Mega32 oder sogar Mega16 reichen. Notfalls muß man sich einen Plan machen, wie man das System sinnvoll auf mehrere Controller verteilt (Stoppuhren bzw. Lichtschranken mit einem, Anzeige mit einem anderen, das ganze von einem weiteren gesteuert, oder der Anzeigencontroller steuert gleichzeitig noch die Uhr...) Ich gucke mir nachher ein Projekt an, an dem mehrere Leute relativ lange gearbeitet haben, was jetzt aber mit nur 2 Controllern (statt einer SPS oder anderen Varianten) läuft. Zum Gesamtprojekt gehörte aber auch die mechanische Konstruktion... Gruß Rahul
Der ATMEGA16 kann das. Mit den entsprechenden Schieberegistern / Latches / Multiplexern ist das alles zu machen. Guck Dich mal durch das einschlägige CMOS / High-Speed-CMOS Sortiment und dann wirst Du dort alles das finden, was Du brauchst. Noch dazu haben die AVRs bidirektionale Pins, so daß sich viele von ihnen doppelt und dreifach verwenden lassen. Ohnen gut durchdachten Konstruktionsplan wird das aber schwierig.
und man kann auch die Lichtschranken multiplex abfragen (4x5Matrix, 9 Pins für 20 Lichtschranken ohne weitere ext. Hadware), ebenso ist eine I/O-Erweiterung über I2C möglich, mache ich aber eigentlich nie, da mir die I2C-Chips meist zu teuer sind. Für ein Einzelstück spielt das aber keine nenneswerte Rolle. Siebensegmentanzeigen entweder auch Multiplex (das kann sogar parallel oder teilparallel zu den Lichtschranken passieren). Konserativ wären das dann 17 I/Os für LS und Display (die 9 von der I/O-Matrix + 8 Segmentausgänge). Das LCD wiederum könnte auch an den Segmentausgängen hängen, einen weiteren Port für das enable-Signal, dann bist du bei 18 und hast immer noch ne Menge frei.
Hallo, ja Danke für die Hinweise ... Ich bin gerade bei uns in der Werkstatt gewesen und habe nach einschlägiger Grundlagenliteratur für dieses Thema gefragt. Mir wurden diese Bücher ans Herz gelegt: aus dem Vogel Verlag die beiden Bücher Grundschaltungen und Mikrocontrolertechnik. Sind nicht ganz billig ... aber ich denke sowas in der Art brauche ich! -- Martin
Oder die Grundlagenbücher aus dem Stam-Verlag. Allerdings behandeln die den 8085.
schalte immer ein paar lichtschranken per oder-gatter (oder nand - je nach dem wie die signale sind) zusammen und lege die auf einen port (5 pins) dann nimmst du ein paar schiebe register und schließt die lichtschranken dort auch an und nimmst dann die restlichen 3 pins um die schiebe-register auszulesen. damit kannst du sehr viele lichtschranken abfragen
achso evtl. kannst du das signal aus dem kombinations-teil auch gleich als übernahme puls verwenden
Die Kollektoren (meist npn) der Empfängertransistoren der Lichtschranken können alle auf einen Pin gelegt werden, der an einem Pullup hängt. Die LEDs werden über 3 (8-Bit) Schieberegister durchgeschaltet, durch die eine einzelne umlaufende 1 gereicht wird. Macht 3 Pins für die gesamten Lichtschranken und es können noch viel mehr dran (solange, bis die Zeit für einen kompletten Durchlauf zu lang wird).
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.