Forum: Mikrocontroller und Digitale Elektronik Arduino Mega, Tristate Ausgang


von Manfred S. (Firma: Manfred) (xfred343)


Lesenswert?

Schönen Vormittag,

momentan bin ich ein bisserl Durcheinander, wie ich das am besten 
bewerkstellige:

habe einen Telefonanschluss, den ich über einen Übertrager mit dem 
Eingang eines MT8870 verbinde (Tonnachwahlempfänger) und zusätzlich mit 
einem AusgangsPIN (PIN 12, OSC1B) des Arduino MEGA, mit dem ich via CTC 
diverse Bestätigungstöne ausgebe.

Nun ist es so, wenn PIN12 auf GND ist, werden keine Signale vom Telefon 
empfangen, also muss ich ihn auf High impedance und ohne Signal stellen.
Im Setup des Programmes wird PIN12 als OUTPUT definiert.

Den Tongenerator schalte ich jeweils mit

TCCR1A=0;
pinMode(PIN12,INPUT);

aus, reicht es wenn ich dort den PIN12 zusätzlich als INPUT definiere 
und dann bei der weiteren Tonausgabe mit

TCCR1A = (1 << COM1B0);
pinMode(PIN12,OUTPUT);

einfach wieder den PORT auf Ausgang setze.

Eigentlich kann ich dann im SETUP die pinMode-Konfiguration gleich 
weglassen. Passt das so mit dem Tristate oder gibts andere (bessere) 
Möglichkeiten?

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

Manfred S. schrieb:

> Eigentlich kann ich dann im SETUP die pinMode-Konfiguration gleich
> weglassen.

ja.

> Passt das so mit dem Tristate

Ja.

>oder gibts andere (bessere)
> Möglichkeiten?

Nö. Einfacher geht es wohl kaum.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Manfred S. schrieb:
> habe einen Telefonanschluss, den ich über einen Übertrager mit dem
> Eingang eines MT8870 verbinde (Tonnachwahlempfänger) und zusätzlich mit
> einem AusgangsPIN (PIN 12, OSC1B) des Arduino MEGA
Ich würde da mal ohne angeschlossenen µC-Pin messen, was da im 
"Normalbetrieb" spannungsmäßig auf der Leitung abgeht.

Denn wenn die Spannung dort über Vcc+0,3V steigt, dann wird über die 
ESD-Schutzdiode im µC Strom auf die Vcc eingespeist. Wen die Spannung 
dort negativ werden kann, dann wird sie über die Schutzdiode des Pins 
auf -0,3V geklemmt.

von Manfred S. (Firma: Manfred) (xfred343)


Angehängte Dateien:

Lesenswert?

Ah, danke für die Antworten - bin beruhigt, werds heute abends gleich 
testen, sollt aber funktionieren. Überspannungen sollten weitgehend mit 
den antiparallel geschalteten Zenerdioden ausgemerzt werden..

Anbei noch das Schaltbild, dahinter hängt der in den großen 
Versandhäusern angebotene MT8870 Fertigbaustein (IN-Eingang).

von Sebastian W. (wangnick)


Lesenswert?

Manfred S. schrieb:
> Anbei noch das Schaltbild, dahinter hängt der in den großen
> Versandhäusern angebotene MT8870 Fertigbaustein (IN-Eingang).

Ich mag mich ja irren, aber kann mit dieser Verschaltung der Zenerdioden 
PIN12 nicht bis zu -6V runtergehen ohne dass die anfangen zu leiten?

LG, Sebastian

von Falk B. (falk)


Lesenswert?

Manfred S. schrieb:
> Anbei noch das Schaltbild, dahinter hängt der in den großen
> Versandhäusern angebotene MT8870 Fertigbaustein (IN-Eingang).

Und was hat das mit dem Tristate am Arduino zu tun?

von Helmut -. (dc3yc)


Lesenswert?

Dann leitet halt die Eingangsschutzdiode nach Ground. Bei 470 Ohm wird 
der Strom halt etwas zu hoch sein. Who cares? Wenn hin, dann hin.

von Manfred S. (Firma: Manfred) (xfred343)


Lesenswert?

Falk B. schrieb:
> Manfred S. schrieb:
>> Anbei noch das Schaltbild, dahinter hängt der in den großen
>> Versandhäusern angebotene MT8870 Fertigbaustein (IN-Eingang).
>
> Und was hat das mit dem Tristate am Arduino zu tun?

Wenn der PIN12 auf OUTPUT und LOW steht, wird wohl kein Signal 
durchkommen zum MT8870, daher der hochohmige Tristate Eingang..

von Manfred S. (Firma: Manfred) (xfred343)


Lesenswert?

Helmut -. schrieb:
> Dann leitet halt die Eingangsschutzdiode nach Ground. Bei 470 Ohm wird
> der Strom halt etwas zu hoch sein. Who cares? Wenn hin, dann hin.

Wie hoch ist der Strom der Eingangsschutzdioden? Wo steht das im 
Datenblatt?

von Falk B. (falk)


Lesenswert?

Manfred S. schrieb:
>>> Anbei noch das Schaltbild, dahinter hängt der in den großen
>>> Versandhäusern angebotene MT8870 Fertigbaustein (IN-Eingang).
>>
>> Und was hat das mit dem Tristate am Arduino zu tun?
>
> Wenn der PIN12 auf OUTPUT und LOW steht, wird wohl kein Signal
> durchkommen zum MT8870, daher der hochohmige Tristate Eingang..

Und wo ist das im Schaltplan zu sehen?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Manfred S. schrieb:
> Ah, danke für die Antworten - bin beruhigt, werds heute abends gleich
> testen, sollt aber funktionieren. Überspannungen sollten weitgehend mit
> den antiparallel geschalteten Zenerdioden ausgemerzt werden..
Nach dem Kondensator hast du nur noch Wechselspannung, also auch -6V.

Manfred S. schrieb:
> Wie hoch ist der Strom der Eingangsschutzdioden? Wo steht das im
> Datenblatt?
Es gibt da diese eine AVR182-Appnote mit der Nulldurchgangserkennung. 
Siehe dort dann im Kapitel 2.2 den Text: "note that the maximum current
through the AVR’s clamping diode should not be higher than 1mA."

von Manfred S. (Firma: Manfred) (xfred343)


Lesenswert?

Falk B. schrieb:
> Und wo ist das im Schaltplan zu sehen?

Im Schaltplan steht nur PIN12, aber im ersten Posting steht, dass PIN12 
Bestätigungstöne an das Telefon senden soll..

von Manfred S. (Firma: Manfred) (xfred343)


Lesenswert?

Lothar M. schrieb:
>> Wie hoch ist der Strom der Eingangsschutzdioden? Wo steht das im
>> Datenblatt?
> Es gibt da diese eine AVR182-Appnote mit der Nulldurchgangserkennung.
> Siehe dort dann im Kapitel 2.2 den Text: "note that the maximum current
> through the AVR’s clamping diode should not be higher than 1mA."

Ah, super danke - stimmt, also könnte ich mal den Widerstand von 470 Ohm 
auf mehr als 5k erhöhen, denk das sollte dann beim Telefon trotzdem als 
Signal gut hörbar sein dannn sollts passen. Aber ich seh schon, eine 
Treiberstufe (z.B. mit einem freien PIN vom ULN2003) wär wohl die 
elegantere Lösung..

von Falk B. (falk)


Lesenswert?

Manfred S. schrieb:
>> Und wo ist das im Schaltplan zu sehen?
>
> Im Schaltplan steht nur PIN12, aber im ersten Posting steht, dass PIN12
> Bestätigungstöne an das Telefon senden soll..

Wenn ich schon einen Schaltplan erstelle, sollte der VOLLSTÄNDIG und 
KORREKT und nicht auf irgendwelche Randnotizen angewiesen sein.

von Manfred S. (Firma: Manfred) (xfred343)


Lesenswert?

Ja stimmt, war nur ein Ausschnitt ... sorry

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.