PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Lösung mit ATtiny25 machbar?



Tetrapack
11.11.2008, 00:18
Hallo zusammen :)

Ich bin 38, habe Spaß am basteln und bin neu hier, wie man an Hand meiner Postingzahl wohl auch sehen kann.
Mein Vorhaben ist den PIC einer vorhandenen Platine auszutauschen und gegen einen Tiny zu ersetzen. Leider habe ich nicht viel (eher keine) Erfahrung mit der Programmierung solcher AVR. Vor einigen Jahren habe ich schon mal ein wenig in C und auch ASM programmiert(Grundlage war ein 8051), wobei das Meißte aber auf Grund von Praxismangel wieder vergessen wurde.

Hier mal meine Vorgaben:

Vorgegeben ist natürlich die Anzahl der Pins(8) , 2 Eingänge als Taster, 2 Ausgänge und ein Eingang, der über ein 10K Poti eingestellt werden kann.

Taster1 schaltet Ausgang1 und Taster2 schaltet Ausgang 1 und 2, wobei nur die eine oder andere Lösung möglich ist. Sollte also ein Zustandswechsel erfolgen, MUSS der Zwischenschritt ein Stop sein. Dieser Stop, also beide Ausgänge = 0, soll von BEIDEN Tastern ausgelöst werden können.
Außerdem soll beim 1. Zustand(also nur Ausgang1 = 1) der Ausgang nach 3min automatisch zurückgesetzt werden, falls nicht von einem Taster zurückgesetzt.
Der 2. Zustand ( A1 + A2 = 1) soll auch automatisch zurückgesetzt werden können, allerdings soll da die Zeit über den Poti eingestellt werden können(1sec bis 120sec).

Kann ich unter diesen Voraussetzungen den Tiny25 oder 45 benutzen und ist es möglich für einen Anfänger so ein Programm in Bascom umzusetzen? Ich wollte eigentlich Bascom wählen, da es für mich auf den ersten Blick überschaubarer scheint als ASM. Ich kann mich nämlich an die Fehlersuche erinnern und auch an die Timergeschichten, die mir damals überhaupt nicht gelegen haben :( .


Gruß
Jörg

fhs
11.11.2008, 09:18
Hallo Jörg,

Deine erste Frage, ob sich Dein Projekt theoretisch mit einem Attiny25 realisieren lässt, kann klar mit "ja" beantwortet werden. In C oder Assembler kein Problem!

Zu Bascom kann ich leider nichts sagen. Ich weiß nicht, wie effizient die Code-Erstellung mit Bascom ist. Deine Frage
... ist es möglich für einen Anfänger so ein Programm in Bascom umzusetzen? ist noch schwerer zu beantworten.

Vorschlag: nimm die Demo-Version von Bascom und fange zu programmieren an! Falls Du dann auf einen größeren Controller umschwenken musst, ist das ja auch nicht sooooo schlimm, oder?

Viele Grüße und viel Erfolg

Fred

Tetrapack
11.11.2008, 19:38
Hi Fred, danke schon mal für die Antwort.

Es war gestern schon relativ spät, da hatte ich vergessen zu erwähnen wie die konkrete Belegung auf Grund des vorhandenen Layout ist.

Die beiden Eingänge liegen auf PB1 und 2, die Ausgänge auf PB3 und 5, der analoge Eingang vom Poti auf PB4. Zumindest wenn ich die Pinbelegung aus den PDF Sheets nehme. 3,4 und 5 sind ja irgendwie verdreht ...
Kann ich auf Grund dieser Belegung den Tiny trotzdem nehmen? Ich weiß das es sicher irgendwie aus dem PDF ersichtlich sein sollte, aber ich tue mich da echt schwer das Richtige da raus zu lesen.
Die Eingänge sollten passen, aber passen die Ausgänge und der Analoge Eingang auch??

Gruß
Jörg

robin
11.11.2008, 20:13
hi,

ich hab mir mal das Datenblatt angeschaut, soweit ich das beurteilen kann, kannst du den Tini *5 dafür verwenden, da du bei allen Pins frei wählen kannst, ob diese Ein oder Ausgänge sind.

An Pinb4 steht ADC, also kannst du diesen Pin auch als Analog eingang verwenden.

Ein Poblem das du haben kannst, ist der interne Quarz, diese sind meistens nicht genau, und deshalb kann es schwierig werden, genau nach 3 sec Ausgang1 wieder auszuschalte.

mfg robin

Tetrapack
11.11.2008, 21:17
Hallo Robin,

danke für den Hinweis!
Zum Glück ist das nicht sooo wichtig, das es genau 3sec. sind. Wie ungenau könnte es denn werden ... 3sec war jetzt nur mal ne ca. Zeit.

Werde mich dann mal mit dem Programmieren beschäftigen und dann im passenden Unterforum meine Fragen stellen ;)
Im Notfall dann evtl. auch auf ASM umsteigen ... dafür bräuchte aber aber definitiv Hilfe.

Gruß
Jörg

fhs
12.11.2008, 08:43
Hallo Jörg,


.... Wie ungenau könnte es denn werden ... 3sec war jetzt nur mal ne ca. Zeit.

im Datenblatt findest Du mehrere Graphen zur internen Frequenz in Abhängigkeit von Betriebsspannung und Temperatur (ab S. 195 in Version 2586K-AVR-01/08).

Viele Grüße

Fred

Besserwessi
12.11.2008, 18:38
Der interne Oszillator hat ein paar Prozent Ungenauigkeit. Das sollte für normale Verzögerungen oder so reichen.
Die Aufgabe sieht so einfach und auch gar nicht zeitkritisch aus, da sollteman mit Basic oder C klar kommen, obwohl auch ASM gut möglich ist (weil so einfach).