www.mikrocontroller.net

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


Autor: Jürgen Kreutz (jk2010)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: scw (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jürgen Kreutz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau dich mal hier um

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

da findest du eine Menge Modellbauprojekte mit AVRs

Autor: Fred S. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Fred S. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Hannes Lux (hannes)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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...

...

Autor: Jürgen Kreutz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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.

...

Autor: Jürgen Kreutz (jk2010)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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

...

Autor: ghurfah (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> b) kann der Tiny 12 wegen fehlendem SRAM net mit C programmiert werden

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

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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?

...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.