Forum: Mikrocontroller und Digitale Elektronik Anfängerfrage zu AVR Tiny12


von Jürgen K. (jk2010)


Lesenswert?

Hallo !

Nachdem ich das Wochenende mit googlen, Foren studieren und ausprobieren
mit meinem STK500, AVR Assembler zugebracht habe, eine Frage:

Hatte mir zu dem Board zum Testen 2313 und ATTiny 12 mitbestellt.
(natürlich ohne vorher Datenblätter zu lesen ;))
Der 12er erschien mir für mein Vorhaben (Koaxhelibeleuchtung) ideal.
Die Positionslampen blinken schon mal so wie ich es möchte.

Kann ich auch ein PWM Empfängersignal abgreifen um eine LED 
("Suchscheinwerfer") am Heli leuchten zu lassen, solange der Taster an 
der Funke gedrückt wird ??

Falls ja, hat jemand kleinen Beispielcode ?.
Geht auch nur Durchführungsanweisung. Dann hab ich noch was zum 
probieren. Möchte ja net nur abkupfern.
Habe grade erst mit Assembler angefangen.
Bisherige Proggrammiererfahrung:
VB, Pascal und C.

Gibt es sonst eine AVR Typ Empfehlung, für diesen Zweck) von Euch ? 
(8pin ist von der Größe her optimal!)

Für Eure Mühe schön mal vielen Dank im voraus

Grüße

Jürgen

von scw (Gast)


Lesenswert?

Ich habe mal mit einem Tiny12 das Empfängersignal ausgewertet, um ein 
Vario ein- bzw. auszuschalten. Muss mal suchen. Vielleicht find ich den 
Quelltext noch.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Jürgen Kreutz wrote:
> Habe grade erst mit Assembler angefangen.
> Bisherige Proggrammiererfahrung:
> VB, Pascal und C.

Warum programmierst Du die AVR nicht mit C? Ich denke in 2008 ist 
Assemblerprogrammierung nur noch an wohldefinierten Ausnahmestellen 
notwending und sinnvoll. Und die AVRs lassen sich hervorragend mit C 
programmieren.

Was genau willst Du denn fuer ein Signal auswerten? Solange es nicht 
wesentlich schneller als (je nach Systemtakt) max. knapp 100kHz 
(digital!) ist, geht das schon.

Michael

von Jürgen Kreutz (Gast)


Lesenswert?

Hi !

Dank Euch für die schnellen Antworten.
@scw: Ein Beispiel wäre nett

@Michael:

a) wollte ich mal in Assembler reinschnuppern (Auch um die vielfältigen 
Codebeispiele zu verstehen)
b) kann der Tiny 12 wegen fehlendem SRAM net mit C programmiert werden
c) Über die Signallänge (bzw. Frequenz) kann ich jetzt noch nichts 
sagen, muß mir mal ein Oszi besorgen oder im entsprechenden Forum 
fragen.

Melde mich dann wieder

Grüße

Jürgen

von Michael G. (linuxgeek) Benutzerseite


Angehängte Dateien:

Lesenswert?

Jürgen Kreutz wrote:
> @Michael:
>
> a) wollte ich mal in Assembler reinschnuppern (Auch um die vielfältigen
> Codebeispiele zu verstehen)
> b) kann der Tiny 12 wegen fehlendem SRAM net mit C programmiert werden

Right...

> c) Über die Signallänge (bzw. Frequenz) kann ich jetzt noch nichts
> sagen, muß mir mal ein Oszi besorgen oder im entsprechenden Forum
> fragen.
>
> Melde mich dann wieder

Das ist allerdings sehr vage. Naja wie gesagt, bei 16MHz Systemtakt 
stellen 100KHz die Obergrenze dar, bei 8MHz konsequenterweise ca. 50KHz, 
mit Sicherheitsabstand. Jetzt kommen wahrscheinlich wieder Leute die 
sagen, "es geht ja auch mind. das dreifache", aber schau Dir mal an wie 
die Reaktionszeit bei einem Takt von ca 200KHz aussieht (angehaengtes 
Oszillogramm). Dabei ist das Gelebe Signal das Eingangssignal und das 
blaue das Ausgangssignal. Realisiert werden sollte dabei eine einfache 
Identitaet. Noch ein Hinweis: Die Daten sind ueber Mittelwerte 
aggregiert.

von Karl H. (kbuchegg)


Lesenswert?

Schau dich mal hier um

http://www.hanneslux.de/avr/mobau/index.html

da findest du eine Menge Modellbauprojekte mit AVRs

von Fred S. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Jürgen,

> Falls ja, hat jemand kleinen Beispielcode ?.
das beiliegende Assembler-Programm wertet 4 Kanäle aus (vom 
Trainer-Ausgang eines PWM-Senders, was einem Empfänger-Signal 100% 
entspricht), wandelt die Daten in Manchester code um, und sendet Sie als 
IR-Signal. Ich habe auch noch was in C, werde mal suchen.

Gruß

Fred

von Fred S. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Jürgen,

hier noch ein kleiner Ausschnitt aus einem entsprechenden C Programm; Du
siehst die Initialisierung des Timers und die Timer-ISR.

Viel Erfolg mit Deinem Projekt!

Fred

von Hannes L. (hannes)


Angehängte Dateien:

Lesenswert?

Vielleicht kannst Du Dir ja dieses Programm für Deine Zwecke umfrickeln. 
Es ist allerdings schon etwas älter, leider nicht in C geschrieben und 
es läuft leider auch nicht unter Linux, sondern auf einem veralteten, 
abgekündigten Tiny12.

Ich hoffe, Du kannst trotz dieser schwerwiegenden Einschränkungen etwas 
damit anfangen...

...

von Jürgen Kreutz (Gast)


Lesenswert?

Danke Euch vielmals für die Mühe !!!

Denke, mit den Beispielen kann ich schon ein wenig rumexperimentieren.
Der link zu Hannes Site ist sehr interessant.

Wenn ich das richtig in Erinnerung habe ist die PWM vom Empfänger 
neutral 1500 Hz, min. 700 Hz  max. 2300 Hz.
Die Lampe (LED) soll leuchten, sobald der Impuls der Funke ankommt.
An dem Sender ist nur ein Taster, der das Signal auf Kanal 5 rausgibt.
Nicht proportional, sondern "nur" an/aus.
Greife mir am Empfänger Kanal 5 Signal ab -> Tiny 12 und dann sollte die 
LED leuchten, solange der Taster gedrückt wird.

Werde mich wieder melden, wenn ich soweit bin.
Egal ob´s klappt oder nicht.

Bis Mittwoch oder Donnerstag wird es dauern.

Grüße

Jürgen

von Hannes L. (hannes)


Lesenswert?

Jürgen Kreutz wrote:
> ...
> Wenn ich das richtig in Erinnerung habe ist die PWM vom Empfänger
> neutral 1500 Hz, min. 700 Hz  max. 2300 Hz.

Nein, Du meinst die Nanosekunden, also neutral 1,5 ms (Millisekunden). 
Die Frequenz liegt bei etwa 50 Hz, da die Telegramme etwa alle 20 ms 
gesendet werden.

...

von Jürgen K. (jk2010)


Lesenswert?

Dank Dir Hannes !

Wenn ich es bist jetzt richtig verstanden habe, reicht der Tiny 12 dafür 
locker aus (LED schalten bei Empfängersignal)

Schönen Abend noch allen

jürgen

von Hannes L. (hannes)


Lesenswert?

Jürgen Kreutz wrote:
> Dank Dir Hannes !
>
> Wenn ich es bist jetzt richtig verstanden habe, reicht der Tiny 12 dafür
> locker aus (LED schalten bei Empfängersignal)

Na aber sicher doch. Da passt zusätzlich noch ein kompletter Fahrtregler 
mit rein...

>
> Schönen Abend noch allen
>
> jürgen

...

von ghurfah (Gast)


Lesenswert?

> b) kann der Tiny 12 wegen fehlendem SRAM net mit C programmiert werden

Warum nicht dann den Tiny13 nehmen? Kostet fast das selbe...

von Hannes L. (hannes)


Lesenswert?

ghurfah wrote:
>> b) kann der Tiny 12 wegen fehlendem SRAM net mit C programmiert werden
>
> Warum nicht dann den Tiny13 nehmen? Kostet fast das selbe...

Dem ersten Posting entnehme ich, dass der Tiny12 bereits vorhanden ist. 
Warum sollte Jürgen jetzt den bereits gekauften Tiny12 wegwerfen? Nur 
weil Ihr Assembler meidet, wie der Deiwel das Weihwasser?

...

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.