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
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.
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
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
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.
Schau dich mal hier um http://www.hanneslux.de/avr/mobau/index.html da findest du eine Menge Modellbauprojekte mit AVRs
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
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
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... ...
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
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. ...
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
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 ...
> b) kann der Tiny 12 wegen fehlendem SRAM net mit C programmiert werden
Warum nicht dann den Tiny13 nehmen? Kostet fast das selbe...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.