Hallo, habe einen Atmega16. Möchte jetzt an diesen über die serielle Schnittstelle das Avisaro WLAN Modul anbauen. Dieses braucht für die RS232 Schnittstelle einen "low voltage TTL" Pegel. Also 3.3V für High (glaube ich). Die Spannungsversorgung selber des Modul beträgt ebenfalls 3.3V. Der Atmega16 kann keine 3.3V Spannungsversorgung (nur der Atmega16L kann das). Somit muss ich bei der seriellen Schnittstelle den Pegel von 5V auf 3.3V für senden und 3.3V auf 5V für empfangen wandeln. Gibt es hierfür einen Baustein, der das kann (Conrad oder so? Sollte aber in einer DIP Verpackung sein. Meine Sachen sind bisher alle auf einer Lochrasterplatine)? Freue mich hierbei über Hilfe. Gruss, Marcel
In DIP ist das schwierig, als SMD gibt es den 74LVX245, der die Pegewandlung von 5V (Eingang) auf 3.3V Ausgang) übernehmen würde. Dieser Baustein selbst wird mit 3.3V versorgt. Sofern der 5V-Eingang keine Pull-up Widerstände hat, kann er direkt mit dem 3.3V-Pegel versorgt werden, ohne Wandler. Es geht aber auch einfacher: In Reihe mit dem "empfindlichen" Engang wird ein Widerstand zur Strombegrenzung geschaltet (beispielsweise ein paar Kiloohm), und danach eine Schottkydiode (z.B. BAT42) gegen +3.3V.
>Der Atmega16 kann keine 3.3V Spannungsversorgung (nur der >Atmega16L kann das). Der Atmega16 kann auch bei 3.3V betrieben werden, allerdings nur mit max 8MHz anstatt max 16MHz.
Du könntest auch einen Open-Kollektor-Komparator benutzen, und die Ausgänge über einen Pull-Up-Widerstand an 5V oder 3,3V hängen je nach Richtung.
man müsste mal ins Datenblatt schauen, ob der Mega16 nicht auch mit 3,3V und entsprechend verringerter Taktfrequenz (16MHz sind dann nat. nicht mehr garantiert) betrieben werden kann. Welcen Takt brauchst du denn? Ich hatte mal ein 3,3V-Board mit dem Mega88, da konnte der noch >12MHz laut Datenblatt. Hat auch bestens funktioniert. Einfach mal nachschauen.
>man müsste mal ins Datenblatt schauen, ob der Mega16 nicht auch mit >3,3V und entsprechend verringerter Taktfrequenz (16MHz sind dann nat. >nicht mehr garantiert) betrieben werden kann. Das Datenblatt sagt aus, dass nicht-L nur bis 4,5V runter kann. Das ist aber Marketing um den "schlechten" nicht 16MHz-faehigen Chip zu verkaufen. gruss, bjoern.
Ich dachte immer, dass wenn nicht explizit Atmega16L auf dem Controller steht, kann ich keine 3.3V Spannungsversorgung zum Beipsiel verwenden. Wenn ich jetzt aber diese 3.3V Spannungsversorgung verwenden kann, was ich immer noch komisch finde, da das meiner Meinung nach aus dem Datenblatt nicht wirklich gut hervor geht, hat doch das High Level meiner seriellen Schnittstelle doch auch nur VCC Spannung, also die 3.3V, oder? Marcel
Ist natürlich ein interessanter Ansatz mit den 3.3V. Vieleicht gibt es noch jemanden, der damit bei einem Atmega16 schon Erfahrungen gemacht hat. Möchte nach Möglichkeit nicht zuviel Zeit in einen Versuch investieren. Kann mir persönlich schon vorstellen, dass die nicht L-Version das mit den 3.3V wirklich nicht kann.
>Wenn ich jetzt aber diese 3.3V Spannungsversorgung verwenden kann, was >ich immer noch komisch finde, da das meiner Meinung nach aus dem >Datenblatt nicht wirklich gut hervor geht... Schau dir mal den Link zum Evertool aus dem og. Thread an. Da sind 2 Aussagen, eine offiziell von Atmel und eine inoffiziell. Beide sagen aus, dass das Datenblatt in dem Fall (absichtlich?) luegt. >hat doch das High Level meiner seriellen Schnittstelle doch auch nur >VCC Spannung, also die 3.3V, oder? genau. gruss, bjoern.
Mir fällt gerade ein, dass ich bei einer allgemeinen Spannungsversorgung aller Bauteile mit einer Baugruppe Probleme bekommen würde. Das beste wäre für mich die Pegelanpassung von 5V-3.3V und umgekehrt. Die Sache mit Atmega16 3.3V werde ich weiter verfolgen. Das Problem ist eben ein passender Baustein möglichst im DIP Format für die Pegelwandlung.
>Kann mir persönlich schon vorstellen, dass die nicht L-Version das >mit den 3.3V wirklich nicht kann. Dann gibts 2 Moeglichkeiten: 1) kauf dir einen mega16-L 2) bau einen Levelshifter ein: http://www.mikrocontroller.net/articles/Pegelwandler gruss, bjoern.
stimmt, beim Mega16 gibts solche Diagramme nicht wie beim Mega88. http://www.atmel.com/dyn/resources/prod_documents/doc2545.pdf Seite 305
Dass der direkte Anschluss eines 3,3V Ausgangs an den Eingang eines mit 5V betriebenen ATMega funktioniert, kann ich bestätigen. Wenn nur ein einziger 5V-Ausgang nach 3,3V gewandelt werden soll kann man neben dem ordinären Spannungsteiler auch noch eine Transistorschaltung verwenden.
mega16 läuft bei mir ohne probleme mit 3,3 volt mit bis zu 24 MHz... konnte keinen Ausfall fest stellen
Hallo an Alle, Ich habe noch eine Frage bezüglich dieses Themas: Könnte man nicht einfach einen Konstantspannungsregler (z.B. LM1086CT3.3) nehmen? 5V des AVR anlegen und der Ausgang wäre dann 3,3V oder? Müsste doch funktionieren? Hat da jemand Erfahrung damit? mfg Andy
Hallo, schau doch mal in die Spezifikation für I2C rein, da ist meines Wissens ein Schaltungsvorschlag für die Pegelwandlung drin. Gruß Michael
Ja, das mit dem Spannungsregler sollte problemlos gehen, um aus den 5V eine zweite Spannung mit gleicher Masse zu erzeugen, um die 3.3V-Schaltungsteile zu versorgen.
@Sebastian: Danke für die Antwort. Habe es mit den Spannungsreglern probiert und es funktioniert auch einwandfrei! Danke! mfg Andy
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.