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
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.