Forum: Mikrocontroller und Digitale Elektronik highpegel-erkennung atmega kleiner 3V


von Fredrik H. (fred0815)


Lesenswert?

hallo miteinander,

mich interessiert ab welchem schwellwert der atmega64 (die anderen
dürften das gleiche verhalten haben - somit allgemein atmega) ein
high-pegel am eingang erkennt.
Im datenblatt ist als minimum angegeben: 0,6*Vcc

mein problem dabei ist mit Vcc = 5V, dass somit pegel erst ab 3V mit
sicherheit als high erkannt werden.

ein 3V controller (auch atmega64) soll mit diesem kommunizieren, ohne
dass noch extra ne pegelwandlung 3V --> 5V eingebaut werden soll.

sprich: ich bin mit den 3V high-pegel des einen controllers an der
untersten grenze des 5V controllers.

habt ihr erfahrungswerte, ob der atmega auch noch pegel knapp unter 3V
als high erkennt?
in wie weit stimmt die angabe im datenblatt mit 0,6*Vcc?

(meine experimetierplatine ist letztens abgeraucht...kanns leider nicht
selbst testen)

danke und grüsse
fred0815

von remo (Gast)


Lesenswert?

Du kannst einen Trick anwenden, schalte mit dem 3Volt Controller nicht
zwischen 0 und 1 sondern zwischen 0 und open (also den Portwert auf 0
lassen und das DDR register zwischen 0 und 1 schalten). Die Eingänge
des 5V Megas ziehst du mit den internen Pullups hoch. Die
Überspannungsschutzdioden in dem 3Volt Controller begrenzen zwar den
High Pegel (der aus dem Input des Megas durch die internen Pullups
herausfliesst) auf ca 3.7 Volt, aber damit bist du schon im  grünen
Bereich. Die Geschichte ist so hochohmig, dass keine Ströme
zustandekommen, die einen der beiden Controller über den Jordan
befördern könnten.

P.S.:
Nachdem die 0,6 * Vcc jenen Grenzwert angibt ab welcher der High-pegel
SICHER erkannt wird funktioniert das in der Praxis mit deinen 3V an 5V
für private und oder Einzelstücke mit hinreichender Wahrscheinlichkeit.
Für ein professionelles Design und Massenfertigung lässt man da die
Finger davon, da die Kosten der späteren Problembeseitigung verursacht
durch Spannungsschwankungen, Störfeldern und Stückstreuung diejenigen
einer Pegelwandlung bei weitem überstiegen.


Also frisch ans Werk und lass die Pullups braten .?.
Remo

von Fredrik H. (fred0815)


Lesenswert?

danke remo, sehr feiner trick! auf so was muss man erstmal kommen...

hast du vielleicht noch so ein auf lager?
bisher wollte ich von 5V-->3V mit nem spannungsteiler auf die 3V
kommen. sprich 2 widerstände.

bin jetzt auf den geschmack der schutzdioden gekommen ;)
wird das evtl auch so gehn:

- 5V controller normal auf ausgang (DDR=1 - Port=0/1)
- längswiderstand 1,3k zwischen den pins der controller
(strombegrenzung des signals auf ~1mA)
- 3V controller auf eingang mit pullup (DDR=0 - Port=1)

zustand 5V controller auf low:
- spannungsteiler pullup auf 3V und längswiderstand --> spannung am
eingang des 3V controllers <0,2V (reicht um low zu erkennen)

zustand 5V controller auf high:
- durch die schutzdiode gegen 3V fallen am eingang des 3V controllers
etwa 3,7V an (laut datenblatt maximum: 0,5+Vcc = 3,5V)

hält das der 3V controller aus? 3,7V am eingang?

meine anwendung ist zwar nur privat, soll aber 24stunden am tag
jahrelang laufen...

gruss
fred0815

von remo (Gast)


Lesenswert?

Geht, du lässt hier aber besser die Pullups weg.
Also einfach mit einem Serienwiderstand auf den Eingang des 3V
Controllers drauf und fertig.
Das geht sogar bei 220V!!! Auf der Atmel Homepage gibt es eine
Application Note in der es um die Nulldurchgangserkennung geht. Dort
wird die Netzsapnnung einfach über einen entsprechend großen R an den
Eingang des Atmel gehängt.

P.S.: Hab in einem Versuchsaufbau schon kontinuierlich 60mA über die
Schutzdiode gejagt. Völlig problemlos.

ciao
Remo

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.