Hi,
für ein kleines Projekt am PC bräuchte ich mal eine Emppfehlung, welcher
AVR sich dafür am besten eignen würde. Er soll ein LCD ansteuern,
Signale von einer Fernbedienung empfange/dekodieren und eine kleine
Tastaturmatrix(4x4) soll auch noch dran. Kommunizieren mit dem PC soll
er über RS232. Welcher kleinstmögliche AVR reicht dafür? Wenn ich das
richtig sehe, brauche ich 15 I/O's + eine serielle Schnittstelle.
Vielleicht noch ein Ausgang um den PC mittels Fernbedienung an- und
ausschalten zu können (Relais).
Wäre für jede Hilfe dankbar. Gruss,
Andre
kommt drauf an, ob du EIN funktionsfähiges Bastel/Demoprojekt
zuzammenbauen willst, oder ob es was werden soll, wo mal nenneswerte
Stückzahlen zumindest geplant sind. Im 1.Fall solltest dir da keine
allzugroßen Gedanken machen und versuchen, mit trickreicher
Aussenbeschaltung und hochoptimierter Software alles hineinzubekommen,
das kostet dich viel Zeit. Lieber etwas Luft lassen und einen größeren
nehmen. Gerade bei LCD-Anzeigen (wenn die Texte im AVR gespeichert) sind
die 2kb schnell ganz eng.
Stückzahlmässig wird das wohl so um 3-4 Geräte werden. Texte werden (bis
auf 2-3 kurze) keine im AVR gespeichert. Die kommen alle über die
serielle. Es sollte halt schön klein und günstig werden. Und da ich mit
AVRs bisher noch gar nichts gemacht habe, dachte ich, ich frage lieber
vorher.
Gruss
Andre
Schau Dir mal den AT90S2313 an. Ist auch mein Favorit. Allerdings ist
bei 15 I/Os Schluß.
Du brauchst aber:
8 für die Tastatur,
7 fürs Display (mit 4-Bit Ansteuerung)
2 für serielle Schnittstelle (Wenn auch Rückmeldungen kommen sollen)
1 für IR-Eingang
1 für Relais-Ausgang
= 19 I/O.
Oder: Tastatur + Display multiplexen (ein 74LS139), dann sinds nur noch
12.
Der nächstgrößere wäre dann der Mega-8.
Hi
und genau den würd ich nehmen. Der ist im TQFP nicht größer als der 2313
im SO-Gehäuse. Und DIP28 ist auch nicht wirklich viel größer als DIP20.
Dafür bietet er aber deutlich mehr.
Matthias
Sehe ich das richtig, das ich mir mt dem Mega8 sogar den externen Quarz
sparen könnte? Vorrausgesetzt ich programmiere effektiv geug, das mir
das 1Mhz für die Aufgaben reicht.
Andre
Hi
im Prinzip ja. Bei deiner Anwendung (IR und RS232) würde ich aber
aufgrund der Ungenauigkeit des internen Oszillators darauf verzichten
diesen zu verwenden.
Matthias
@Matthias,
für die IR-Dekodierung reicht der RC vollkommen aus, da ja bei jedem Bit
neu synchronisiert wird.
Bei RS-232 hast Du recht, das 8.Datenbit muß ja nach 8,5 Bitzeiten noch
einwandfrei erkannt werden können.
Aber auch da ist es möglich, den RC zu nehmen.
Der PC muß nur zuerst ein vereinbartes Zeichen senden und der AVR
bestimmt daraufhin den nötigen Teiler für die Baudrate.
Peter
Hi
@Peter
IR:
Bei den mir bekannten (RC5 und RECS80) geb ich dir Recht. Bei den 1000
anderen hab ich aber auch keine Ahnung. Kann durchaus sein das es da
einen gibt der nur Byte oder Code-synchronisiert ist.
RS232:
Das einstellen des Teilers funktioniert aber nur für niedrige Baudraten
bzw. hohe Oszillatorfrequenzen. Wenn man nen Teiler von 12 braucht (9600
Baud bei 1MHz) hat man durch das ändern des Teilers um nur +-1 schon
einen Fehler von +-8%. Das liegt schon weit jenseits von jeglicher
Spezifikation. Wenn man aber in Teilerbereiche von 100 und noch mehr
kommt kann man damit schon was ausgleichen.
Matthias
Hallo
Ich habe mal den internen RC für die Serielle verwendet. Es gab keine
Probleme, auch nicht bei höheren (19200) Übertragungsraten.
Ich wollte es aber ganz genau wissen und kam mit dem Kältespray. Dann
wars vorbei mit der Übertragung. Als die Temperatur wieder anstieg
funktionierte es wieder.
Also ich würde sagen, wenn man den Mega8 nur bei Raumtemperatur benutzt
und nicht bei -20 Grad Kälte, dann kann man durchaus den internen
nehmen. Zur Sicherheit würde ich trotzdem nur 9600 einstellen.
Tschüss Martin
Hi
was du an Baudrate einstellst ist egal da der Fehler nicht absolut
sondern prozentual ist. Du kannst 300Baud einstellen und es wird nicht
sicherer als mit 19200. Der interne RC ist nicht schlecht und für
Hobbyanwendung für die RS232 eigentlich ausreichend. Bei einem Gerät das
noch jemand anders nutzt als ich würde ich dann aber den Quarz
spendieren.
Matthias
Noch ein kleiner Tipp bzgl. der benötigten IO-Ports:
Die 4 Datenleitungen zum Display können direkt ohne Multiplexer als
Spaltentreiber für die Tastaturmatrix verwendet werden. Damit sind es
wieder 4 weniger.
MfG
Steffen
Dann wird es wohl der Mega8 werden. Aber ich denke dann doch lieber mit
externem Quarz, wegen den Temperaturen im PC-Gehäuse.
Jetzt muss ich mir nur noch was einfallen lassen, wie ich den AVR mit
Spannung versorge, wenn ich das PC-Netzteil per AVR komplett
abgeschaltet habe.
Gruss und vielen Dank
Andre
Eine eigene Frage?
Dieser Thread ist über 23 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.