- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 25

Thema: Ansteuerung RC LED Scheinwerfer

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    06.03.2016
    Beiträge
    9

    Ansteuerung RC LED Scheinwerfer

    Hallo RN-Gemeinde,

    Ich bin neu hier und hoffe darauf, das ich hier ein bisschen Hilfe bei beinen Projekten bekomme.

    Erst mal zu meiner Person, ich bin 33 Jahre, gelernter Elektriker und komme aus dem Rhein Neckar Kreis Rund um Heidelberg. Mein grosses Hobby ist der RC -Modellbau.
    Ich möchte mich etwas mehr mit den ganzen AVR Mikropozessoren beschäftigen um damit die ein oder andere Funktion an meinen Modellen zu realisieren.

    Ein konkretes erstes Projekt gibt es auch schon.

    Zu meinem Vorhaben:

    Ich habe ein Modell eines Polizeibootes (Robbe W3) gebaut, dies ist auch schon komplett fertig bis auf eine Funktion.

    Auf dem Aufbau befindet sich ein Scheinwerfer, welchen ich auch schon mit einer LED (weiss 3V 20mA) bestückt habe. Dieser Scheinwerfer lässt sich über ein Modellbauservo drehen.

    Aktuell habe ich aber keinen Schaltkanal mehr frei, um diesen Scheinwerfer einzuschalten. Hier soll nun ein Mikroprozessor ran.

    Am liebsten würde ih es gerne mit einem Tiny13 realisieren aber ich befürchte der ist dafür schon fast zu klein.

    Ich möchte gerne das Signal des Servos welches den Scheinwerfer dreht auswerten. Sprich Servo bewegt sich dann Scheinwerfer an, Servo steht für eine Zeit x still, Scheinwerfer geht wieder aus.
    Am liebsten wäre mir auch, wenn die LED nicht einfach nur an und aus gehen würde sondern per PWM heller und dunkler wird.

    Da der Tiny 13 ja nur einen Timer besitzt, denke ich mal ist hier das größte Problem.
    Der Timer0 muss sofern das überhaupt gehen 3 Funktionen übernehmen.

    - PWM vom Empfänger einlesen und auswerten
    - PWM für die LED erzeugen
    - Nachlaufzeit für LED nachdem keine Servobewegung mehr erkannt wurde zählen.

    Meine konktrete Frage ist nun ist das mit dem Tiny 13 realisierbar ? oder doch eher ein 2313?

    und welche Betriebsart für den Timer benutzen ? Verstehe ich das in dem Datenblatt richtig das er zwar nur einen Timer aber zwei unabhängig Compare register hat. Kann man dann das erste register nehmen um den Empfänger auszuwerten und das zweite für die LED PWM ? Und mit einem Überlauf kann ich mir dann ja evtl. die nachlaufzeit zusammen addieren oder?

    Danke für eure Meinungen im Voraus.

    Gruß

    Stephan

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    36
    Beiträge
    5.070
    Willkommen im Forum,
    Ich kenne den uC nicht, sollte aber, laut deinen Angaben, funktionieren.

    Ansonsten könntest du noch den Attiny25, 45 bzw 85 oder Attiny44 nehmen.

    Aber ein timer reicht eigentlich. Normale PWM Funktion für die LED (oder Soft PWM), die Interrupt zählen für die Stillstandserkennung. Für die Auswertung des Servosignals nimmst du einen normalen Int Eingang und liest bei einem Int den aktuellen Timerwert aus.

    MfG Hannes

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    Hallo Stephan,

    für so eine Aufgabe (Servo-Impulse überwachen, bei Änderungen eine LED einschalten, bei konstant bliebender Impulslänge die LED langsam abdimmen) ist ein Mikrocontroller geradezu ideal! Ich bin übrigens auch Modellbauer, auf dem Gebiet der Elektronik zwar nur Amateur, aber der Einstieg in die Materie der Mikrocontroller hat mir ganz neue Welten eröffnet.

    Mit dem ATtiny13 habe ich gerade am letzten Wochenende eine kleine Schaltung für einen Modellbau-Kollegen realisiert, von daher habe ich seine Features gerade ganz gut auf dem Schirm. Wenn man einigermaßen sparsam mit dem Speicherplatz ummgeht, müsste Dein Projekt allemal mit diesem Chip zu realisieren sein. Der eine Timer reicht definitiv aus, wenn man ihn inteligent nutzt

    Der Timer an sich müsste zwei Dinge tun: Erstens die Länge der Servo-Impulse messen und zweitens bei Bedarf ein PWM-Signal erzeugen.
    Für´s erste ist es oft sinnvoll, die einzelnen Teilfunktionen eines Programms zu programmieren, und ganz am Schluss alles zusammenzusetzen.

    Wie viel weißt Du denn schon über Timer, Variable, Interrupts (ohne die wird´s nicht gehen!) usw.?

    Gruß, Daniel

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    06.03.2016
    Beiträge
    9
    Hallo Daniel,

    gut was weiß ich über Timer, Variablen und Interrupts.

    Timer sind in wirklichkeit nichts anderes als Zähler.
    Genau genommen erhöhen sich deren Zählwerte pro Programmdurchlauf um 1, was die Timergeschwindigkeit von der Taktrate des Mikroprozessors abhängig macht. Hab ne bissel was schon mit denen gemacht nur eben keine PWM.
    Die Themen prescaler und das es eben nur ein 8 Bit Timer ist der nur bis 255 zählen kann sind mir klar.

    Interrupts lößen meines wissens speziele Programmabschnitte / Routinen aus die möglichst kurz sein sollen. Die Routinen werden bei einem Flankenwechsel nur einmal durchlaufen soweit ich weiß
    Variablen kenn ich die gängigsten Typen wie eben Bool Integer Word usw. Die sind mir von meiner Arbeit bekannt.

    Mein Problem ist oftmals die Fehlersuche beim probieren.
    Ich programmier auf Arbeit in Industriesteuerungen da hab ich aber immer die Möglichkeit online zuzuschauen was die CPU im Programm treibt.

    Das fehlt mir leider bei den Mikroprozessoren ein wenig.

    Ich bin leider noch nicht so wirklich weiter gekommen.

    Bin immer noch am basteln.

    Gruß Stephan

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    Mein Problem ist oftmals die Fehlersuche beim probieren.
    Ich programmier auf Arbeit in Industriesteuerungen da hab ich aber immer die Möglichkeit online zuzuschauen was die CPU im Programm treibt.

    Das fehlt mir leider bei den Mikroprozessoren ein wenig.

    Ich bin leider noch nicht so wirklich weiter gekommen.

    Bin immer noch am basteln.
    Das stimmt - manchmal ist es schwierig herauszufinden, was in diesen kleinen Dingern wirklich gerade passiert. Aber es ist grundsätzlich möglich!
    Wir wollen hier ja niemandem fertigen Code vorkauen, denn den meisten Spaß macht es ja, selber drauf gekommen zu sein!
    Ich würde sagen, wir fangen mal mit was ganz einfachem an:

    So ein Servo-Impuls bewegt sich zwischen 1 und 2 ms. Wenn man die Länge dieses Impulses mit dem (einzigen) Timer0 messen möchte, darf der Timer keinesfalls während des zu messenden Impulses "überlaufen", weil er danach ja wieder bei 0 anfängt und die Messung dann logischerweise total falsch wäre. Anders gesagt, um von 1 bis 255 hochzuzählen muss der Timer länger brauchen als 2 ms. Rechne doch mal aus wie viel Zeit der Timer0 is zum Überlauf braucht, wenn Du den Takt des Controllers auf 4,8 MHz und den Prescaler des Timers uf 64 einstellst - und dann sehen wir weiter!

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    06.03.2016
    Beiträge
    9
    Hi,
    einen vorgekauten Code, will ich ja gar nicht haben

    Wenn ich mich jetzt nicht allzu dolle verrechnet habe, sollte bei 4,8 Mhz und einem Prescaler von 64 ein timerüberlauf nach 3,4 ms stattfinden, was ja aussreicht um die 2ms vom Empfänger zu erkennen.
    Daher sollte der Timer bei 1ms einen Wert von ca. 75 haben und bei 2 ms einen Wert von 150.


    Nur als Info, da nicht jeder Empfänger als High Pegel um die 5 V ausgibt sondern manchmal deutlich weniger, schalte ich mit der Impulsleitung einen kleinen NPN Transistor und ziehe mit diesem den Int0 auf GND. ansonsten benutze ich den Internen Pullup Widerstand.

    Von der Theorie her dachte ich daran mit dem Int0 einen Interrupt auzulösen und in eine ISR zu springen. Dort Frage ich den Pin ab ob er 1 oder 0 ist und merke mir das. Nur müßte ich dann bei ausgelößter ISR und Gemerkter steigender Flanke den Timer starten und bei fallender Flanke auslesen und den Timer wieder stoppen.

    Aber wie verwende ich den Timer dann noch für die anderen Funktionen?

Ähnliche Themen

  1. LED-Scheinwerfer mit 3.000 Lumen
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 10
    Letzter Beitrag: 18.04.2013, 15:57
  2. Scheinwerfer und Blaulicht
    Von markus788 im Forum Robby RP6
    Antworten: 3
    Letzter Beitrag: 26.10.2012, 17:12
  3. LED- und IR- Scheinwerfer
    Von fabqu im Forum Robby RP6
    Antworten: 18
    Letzter Beitrag: 15.02.2011, 20:43
  4. Dmx RGB Led Scheinwerfer
    Von Maxtronik im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 7
    Letzter Beitrag: 07.06.2010, 23:39
  5. DMX-LED-RGB Scheinwerfer
    Von rideyourstyle im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 5
    Letzter Beitrag: 24.10.2008, 14:55

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress