Kategorie-Archiv: Allgemein

Timer Funktionen im Atmel Atmega328

Arduino Duemilanove 328

Arduino Duemilanove 328

Also bislang hatte ich in meinem pewduino Code noch keine Timer verwendet. Ich habe aber gemerkt, dass die eingebauten Timer ziemlich nützlich sein können :) Also habe ich mal im Internet gestöbert um nachzulesen, was Timer genau sind, und wie sie funktionieren.

Viele Anleitungen und Tutorials zu Timern sind aber ziemlich unverständlich für einen Programmier-Laien, finde ich. Allerdings habe ich eine Seite gefunden, die es trotzdem hingekriegt hat, die Fakten verständlich auf den Punkt zu bringen.

Und diese Seite möchte ich nun teilen (Links siehe unten)

Summary:  In my actual pewduino code, i didn’t use any timer function. I stumbled through the internet to learn something about it. Most of the tutorials are hard to understand, but i found a site which explained it very well. With this post, i want to share it:

http://extremeelectronics.co.in/avr-tutorials/avr-timers-an-introduction/
http://extremeelectronics.co.in/avr-tutorials/timers-in-compare-mode-part-i/
http://extremeelectronics.co.in/avr-tutorials/timers-in-compare-mode-part-ii/

Außerdem gibt es für Timer1 und Timer3 (nur Arduino Mega) auch eine Library vom Arduino Playground:

http://playground.arduino.cc/code/timer1

pewduino beim Halbtagsnerd

Logo Nerdhört

Gestern wurde ich vom Halbtagsnerd Christian Holmok zum Thema pewduino interviewt und heute wurde es in seinem Podcast “nerdhört” veröffentlicht.

Ich reiße das Thema Laser Tag und Arduino als Entwicklerplattform für Einsteiger und Fortgeschrittene an. Des Weiteren berichte ich von meinen Problemen, die während des Basteln auftraten und welche Vorstellungen ich für zukünftige pewduino-Versionen habe.

http://halbtagsnerd.de/nerdhoert/jani-pewduino-lasertag/

Christian und ich werden uns in regelmäßigen Abständen wiederhören, um von den Fortschritten des pewduinos zu berichten.

Ich kann euch empfehlen weiteren interessanten Podcast-Themen zu lauschen.

50mm Infrarot-Optik

Ich erwähnte ja bereits in meinen vergangenen Blog posts, dass ich auf eine 50 mm Linse umgestiegen bin. Hiermit möchte ich Details zu meiner Linsenkonstruktion verraten.

Zunächst noch einmal meine Bezugsquellen:
50 mm plankonvexe Linse aus Glas: www.lupenshop.de
Graue Kunststoffrohre: Sanitärabteilung verschiedener Baumärkte

Und so kann das ganze dann aussehen:

Diese Diashow benötigt JavaScript.

 

Die Fokussierung des IR-Strahl geschieht über den Abstand der LED zur Linse. Das prüft man am besten mit einer Videokamera mit Nachtsicht-Funktion.

555 Timer und 38 kHz Oszillator

Wie versprochen, versuche ich die 38 kHz Oszillation auszulagern und habe heute auf meiner Steckplatine einige Tests mit dem 555 Timer angestellt. Und ich muss sagen, es sieht verdammt gut aus.

Auf dem Oszilloskop (Danke DiCon für’s Ausleihen) kann man die Frequenz sehr gut ablesen. Eine Kastenbreite entspricht 10 μs Signallänge. 38 kHz sind also 13 μs Licht an und 13 μs Licht aus. Zusammengenommen als0 26 μs.

Als nächsten Schritt würde ich dann die Perfektionierung eines IR-LED-Treibers in Angriff nehmen.

Summary: I did some tests on my breadboard with the 555 Timer and got him to pulse at 38 kHz. The next step is to create a perfect ir-led-driver.

ir-led-driver_38khz

555 Timer pulsing at 38 kHz. The Arduino on the right side is only used as a 5V source.

555 Timer pulsing at 38 kHz. The Arduino on the right side is only used as a 5V source.

LED-Treiber bauen – oder nicht?

Nach dem ich die Reichweite nun signifikant erhöhen konnte, frage ich mich, ob die 38kHz Osszilation der LED immer noch Aufgabe des Arduinos sein sollte. Diese “einfachen” Aufgaben könnte man auch über eine externe Schaltung erzeugen. Der Arduino braucht dann nur noch die digitalen Pins in einem Zeitraum von 600μs auf HIGH oder LOW setzen statt 26μs.

(Das erinnert mich, dass ich das IR-Protokoll dokumentieren sollte.)

Eine (hoffentlich) geeignete Schaltung habe ich unter 38 kHz Pulsed IR Sensor von trainelectronics.com gefunden. Dort wird ein einfacher 555 Timer IC verwendet um die Frequenz zu erzeugen.

Summary: After i could increase the range significantly, i want to source the 38 kHz oscillation out. This “simple” task could manage an external circuit.

I found a (hopefully) proper circuit on 38 kHz Pulsed IR Sensor by trainelectronics.com. They use a simple 555 timer IC to generate the frequency.