Forum: Mikrocontroller und Digitale Elektronik IR-Lichtschranke-ATMEGA32


von Simon O. (mola-4-speed)


Angehängte Dateien:

Lesenswert?

Hi Leude,

Ich bin gerade dabei mich ein bisschen durch die Welt der 
Mikrocontrollern zu kämpfen. Mein jetziges Projekt ist eine 
Lichtschranke mithilfe von einem IR-Empfänger und einem IR-Emitter.

Der IR-Empfänger ist der "Sonderform axial bedrahtet 38 kHz 950 nm 
Vishay TSOP4838" 
http://www.conrad.de/ce/de/product/171115/IR-Empfaenger-Sonderform-axial-bedrahtet-38-kHz-950-nm-Vishay-TSOP4838, 
wobei das Bild nicht ganz das Aussehen meines Bauteils entspricht und 
der erste Kommentar das Gleiche aussagt... also kann es sein, dass der 
doch eher wie bei einem TSOP22 geschaltet wird.

Der Emitter ist der "IR-Emitter 950 nm 25 ° 5 mm radial bedrahtet Osram 
Components LD 271 L".

Das Ziel des Projektes ist ganz einfach. Eine LED soll an gehen sobald 
und solange die Schranke unterbrochen ist.

Leider funktioniert es nicht mit dem Folgendem... Was mache ich falsch?
1
#include <avr/io.h>
2
#include <util/delay.h>
3
4
int main(void)
5
  {
6
  //Empfängerdiode
7
  DDRA &= ~ (1 << PINA0); //Eingang für Empfänger Diode definieren
8
  PORTA |= 1 << PINA0; //Eingang für Empfänger soll auf 5v lauschen
9
  
10
  //Kontrolllämpchen
11
  DDRD |= 1 << PIND7; //Ausgang für Kontrolllämpchen definieren
12
  PORTD |= 1 << PIND7; //Kontrolllämpchen soll leuchten
13
14
  while(1)
15
    {
16
    //Ausgang fuer LED soll aufleuchten, wenn Eingang von Empfaenger 5v hoert.
17
    if(bit_is_clear(PINA,0))
18
      {
19
      PORTD |= 1 << PIND7;
20
      }
21
    else
22
      {
23
      PORTD &= ~ (1 << PIND7);
24
      }
25
    }  
26
  }

von spess53 (Gast)


Lesenswert?

Hi

>Der IR-Empfänger ist der "Sonderform axial bedrahtet 38 kHz 950 nm
>Vishay TSOP4838"

Und wo ist der Programmteil der die 38kHz sendet? Und selbst wenn der 
vorhanden ist, dürfen nur kurze Bursts gesendet werden. Sonst macht die 
AGC des Empfängers dicht.

MfG Spess

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

spess53 schrieb:
> Und wo ist der Programmteil der die 38kHz sendet?

Der würde nix ändern, da der IR Emitter über einen Vorwiderstand direkt 
zwischen VCC und GND hängt.

Ausserdem lässt das Foto noch VIELE weitere Hardwarefehler erkennen.

: Bearbeitet durch User
von Simon O. (mola-4-speed)


Angehängte Dateien:

Lesenswert?

spess53 schrieb:
> Und wo ist der Programmteil der die 38kHz sendet?

ahh... sorry in dem Bild ist nicht zu erkennen, dass der Ermitter auch 
noch da ist.

spess53 schrieb:
> Und selbst wenn der
> vorhanden ist, dürfen nur kurze Bursts gesendet werden. Sonst macht die
> AGC des Empfängers dicht.

Was ist der AGC? ist der im Empfänger? Das bedeutet, ich bekomme nur ein 
unsichtbar, kurzes Signal auf PINA0?

von Simon O. (mola-4-speed)


Lesenswert?

Magnus M. schrieb:
> Der würde nix ändern, da der IR Emitter über einen Vorwiderstand direkt
> zwischen VCC und GND hängt.

Muss ich also den Emitter an ein PIN hängen und in der While-Schleife 
toggeln?

Magnus M. schrieb:
> Ausserdem lässt das Foto noch VIELE weitere Hardwarefehler erkennen.

Was denn für Fehler... Help me out!
Ich habe vor weniger als einer Woche zum ersten mal einen 
Mikrocontroller gesehen und annähernd gewusst was das ist. Langsam aber 
sicher möchte ich auch benützbare Dinge mit dem machen können.

von spess53 (Gast)


Lesenswert?

Hi

>> Und wo ist der Programmteil der die 38kHz sendet?

>ahh... sorry in dem Bild ist nicht zu erkennen, dass der Ermitter auch
>noch da ist.

Was für ein Emitter?

Die Sendediode muss mir 38kHz getaktet werden. Bei dir ist es 
Gleichspannung.

>Was ist der AGC?

Automatic Gain Control.

MfG Spess

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Simon O. schrieb:
> Was denn für Fehler... Help me out!

- Energiequelle == 3x AA-Batterie in Serie == ca. 6V
  (wenn frisch)

- Vermutlich ein Wald-und-Wiesen-7805 mit garantiert mehr als
  1V Dropoutspannung.

- Keine Kondensatoren an Ein- und Ausgang des 7805.

- Offensichtlich hängt das Batteriepack zwischen GND und VOUT des
  7805.

- AVCC des M32 ist nicht angeschlossen.

- GND (Pin 31) des M32 ist nicht angeschlossen.

- Es ist kein Abblockkondensator am M32 vorhanden.

(...)

von Simon O. (mola-4-speed)


Lesenswert?

spess53 schrieb:
> Die Sendediode muss mir 38kHz getaktet werden. Bei dir ist es
> Gleichspannung.

Also brauche ich noch ein Bauteil, welches vor der 
Sendediode(http://www.conrad.de/ce/de/product/184365/IR-Emitter-950-nm-25-5-mm-radial-bedrahtet-Osram-Components-LD-271-L) 
geschaltet wird, was den Gleichstrom in ein Wechselstrom mit 38kHz 
konvertiert. Was wäre das für ein Bauteil?

Magnus M. schrieb:
> - Energiequelle == 3x AA-Batterie in Serie == ca. 6V
>   (wenn frisch)
Es sind 4 AAA Batterien, die frisch ca 9V haben sollten.

> - Vermutlich ein Wald-und-Wiesen-7805 mit garantiert mehr als
>   1V Dropoutspannung.
Ist ein Wald-und-Wiesen-7805 ein Spannungsregler? Meiner ist der 
(Festspannungsregler 1, positiv STMicroelectronics L7805VC Gehäuseart 
TO-220 Ausgangsspannung 5 V I(out) 1 A) Brauche ich für meine Schaltung 
nur 1V?

> - Keine Kondensatoren an Ein- und Ausgang des 7805.
Leider habe ich noch keine Kondensatoren in meinem Sortiment. Die sind 
laut Post gerade in der Verteiler-zentrale. Ich dachte vorerst zum 
Testen, würde es auch ohne die Kondensatoren funktionieren.

> - Offensichtlich hängt das Batteriepack zwischen GND und VOUT des
>   7805.
Uuups. Da habe ich einen Fehler gemacht bevor ich das Bild gemacht habe. 
Bei den vorherigen Versuchen war der zwischen Input und GND gesteckt

> - AVCC des M32 ist nicht angeschlossen.
>
> - GND (Pin 31) des M32 ist nicht angeschlossen.
Wann muss man den AVCC anschließen? Ist er der VCC von der rechten Seite 
des Mikrocontrollers? Muss man den AVCC und den GND(Pin 31) anschließen 
sobald man pins auf der rechten Seite verwendet?

> - Es ist kein Abblockkondensator am M32 vorhanden.
Ich hoffe, dass der morgen bei mir in der Post ist.

Danke für die Fehlermeldungen. Die sind sehr Hilfreich für das Lernen, 
wie dieser Tausendfüßler funktioniert. Was habe ich noch falsch gemacht?

von spess53 (Gast)


Lesenswert?

Hi

>Also brauche ich noch ein Bauteil, welches vor der
>Sendediode(http://www.conrad.de/ce/de/product/184365/IR-Emitt...)
>geschaltet wird, was den Gleichstrom in ein Wechselstrom mit 38kHz
>konvertiert. Was wäre das für ein Bauteil?

Dein ATMega32+Basisvorwiderstand+Transistor.

MfG Spess

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Simon O. schrieb:
> spess53 schrieb:
>> Die Sendediode muss mir 38kHz getaktet werden. Bei dir ist es
>> Gleichspannung.
>
> Also brauche ich noch ein Bauteil, welches vor der
> Sendediode(http://www.conrad.de/ce/de/product/184365/IR-Emitt...)
> geschaltet wird, was den Gleichstrom in ein Wechselstrom mit 38kHz
> konvertiert. Was wäre das für ein Bauteil?

Im einfachsten Falle: dein ATmega32.

> Magnus M. schrieb:
>> - Energiequelle == 3x AA-Batterie in Serie == ca. 6V
>>   (wenn frisch)
> Es sind 4 AAA Batterien, die frisch ca 9V haben sollten.

Ach... eine AAA-Zelle hat also 2,25V? Gut dass du mich aufgeklärt 
hast...

>> - Vermutlich ein Wald-und-Wiesen-7805 mit garantiert mehr als
>>   1V Dropoutspannung.
> Ist ein Wald-und-Wiesen-7805 ein Spannungsregler? Meiner ist der
> (Festspannungsregler 1, positiv STMicroelectronics L7805VC Gehäuseart
> TO-220 Ausgangsspannung 5 V I(out) 1 A)

Ja, das ist ein Wald-und-Wiesen-7805.

> Brauche ich für meine Schaltung nur 1V?

Es geht hierbei die Spannungsdifferenz zwischen Ein- und Ausgang des 
7805 um die Ausgangsspannung sicher regeln zu können.

>> - Keine Kondensatoren an Ein- und Ausgang des 7805.
> Leider habe ich noch keine Kondensatoren in meinem Sortiment. Die sind
> laut Post gerade in der Verteiler-zentrale. Ich dachte vorerst zum
> Testen, würde es auch ohne die Kondensatoren funktionieren.

Das Motoröl für meinen frisch aus Einzelteilen zusammengebauten 
Verbrennungsmotor ist noch auf dem Versandweg. Ich dachte ich könnte den 
Motor so lange schon mal ohne Öl laufen lassen.

>> - AVCC des M32 ist nicht angeschlossen.
>>
>> - GND (Pin 31) des M32 ist nicht angeschlossen.
> Wann muss man den AVCC anschließen?

IMMER.

> Ist er der VCC von der rechten Seite des Mikrocontrollers?

JA. Im Zweifelsfalle hilft dir ein Blick ins Datenblatt.

> Muss man den AVCC und den GND(Pin 31) anschließen
> sobald man pins auf der rechten Seite verwendet?

IMMER BEIDE! Im Zweifelsfalle hilft dir ein Blick ins Datenblatt.

von Mike (Gast)


Lesenswert?

Simon O. schrieb:
> Was ist der AGC? ist der im Empfänger? Das bedeutet, ich bekomme nur ein
> unsichtbar, kurzes Signal auf PINA0?

Guck einfach mal ins Datenblatt von deinem TSOP4838. Aus Seite 2 ist das 
Blockschaltbild der Empfangsschaltung gezeigt und in Fig. 5 siehst du, 
wie sich die Frequenz des IR-Lichtes auf die Empfindlichkeit auswirkt.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Simon O. schrieb:
> Was habe ich noch falsch gemacht?

Deine nächste Glanzleistung: Du hast die Versorgungsspannung deines 
Empfängers verpolt.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Nachtrag:

Wozu der Widerstand vor dem TSOP? Der macht (laut Datenblatt) nur in 
Verbindung mit einem Kondensator parallel zu den 
Versorgungsspannungsanschlüssen des TSOP Sinn.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

spess53 schrieb:
> Hi
>
>>Also brauche ich noch ein Bauteil, welches vor der
>>Sendediode(http://www.conrad.de/ce/de/product/184365/IR-Emitt...)
>>geschaltet wird, was den Gleichstrom in ein Wechselstrom mit 38kHz
>>konvertiert. Was wäre das für ein Bauteil?
>
> Dein ATMega32+Basisvorwiderstand+Transistor.
>
> MfG Spess

Wenn es bei der geringen Distanz von wenigen Millimetern bleibt, reicht 
es sogar aus die LED über einen hochohmigen Widerstand direkt an den M32 
anzuschließen. Ein großer Strom durch die LED dürfte es sogar unmöglich 
machen, das von der LED abgestrahlte Licht ausreichend zu dämpfen um den 
TSOP zum "abschalten" zu bewegen!

: Bearbeitet durch User
von Simon O. (mola-4-speed)


Lesenswert?

Magnus M. schrieb:
> Das Motoröl für meinen frisch aus Einzelteilen zusammengebauten
> Verbrennungsmotor ist noch auf dem Versandweg. Ich dachte ich könnte den
> Motor so lange schon mal ohne Öl laufen lassen.

Der ist gut... Ich mach jetzt Feierabend und mach frisch und munter 
morgen weiter... Danke trotzdem!!!

von simonolaleye@gmail.com (Gast)


Lesenswert?

Projekt höhenangabe:
Der Tisch eines Flächenschleifers wird mit gewindestangen auf und ab 
bewegt. An einer der vier, mit einer Kette verbundenen Gewindestangen, 
ist eine Scheibe mit 4 gegenüber liegende Löcher befestigt. Mithilfe des 
IR-Senders und Empfängers soll auf einem lcd Display die Höhe des 
Tisches ausgegeben werden. Die Steurung des Motors für die auf-, und 
abbewegung geht auch über den uC, somit weiß er ob jedes Signal ein 
subtrahieren oder ein addieren der gewindesteigung bedeutet. Die Bitte: 
wie baue ich die Schaltung auf um die IR Elemente zu steuern und 
auszulesen und was für ein Programm muss dahinter stecken?

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.