Da ist der Denkfehler: In der Schaltung ist keine Regelung im klassischen Sinne sondern nur ein Linearregler, der verhält sich aber nur wie ein geregelter Widerstand zwischen Vin und dem 3,3V-Ausgang (VCC). Insbesondere kann er Ströme die an ihm vorbei von Vin nach VCC fließen nicht beeinflussen, mit der Folge, dass die Spannung von VCC über die 3,3V hinaus weiter steigt.
So, jetzt nochmal zur Erklärung, warum das passiert: Wenn ihr mal in das Datenblatt des ATMega8 seht, findet ihr auf Seite 51 (Kapitel I/O Ports) die Abbildung 21 (I/O Pin Equivalent Schematic). Ganz links am Eingang sind zwei Schutzdioden zu sehen, diese Beschaltung ist typisch für CMOS, sie reduziert das Risiko von Schäden durch Überspannung (ESD-Empfindlichkeit!). Wenn der RFM70 jetzt mit 5V Signalpegeln angesteuert wird, fließt über dessen Schutzdioden ein Strom vom 5V-Potential nach VCC (3,3V), folglich steigt die Spannung von VCC. Der Linearregler KANN dagegen nichts tun. Gar nichts. Der Strom fließt an ihm vorbei!
Gegenmaßnahmen: AVR mit 3,3V versorgen, Level-Shifter oder als Hack-Variante: Widerstände in die Signalleitungen von AVR zum RFM70 sowie ein Widerstand zwischen VCC und GND um die Ströme auch nach GND ableiten zu können. Bei dieser Lösung ist es eigentlich erforderlich, die Ausgangspegel des RFM70 über einen Level-Shifter (eine einfache Transistorschaltung reicht) in den Spannungsbereich zu übersetze, in dem der AVR seine High-Pegel erwartet.
mfG
Markus
Lesezeichen