Forum: Mikrocontroller und Digitale Elektronik Pegelwandelzwickmühle


von Manuel S. (doc-snyder)


Angehängte Dateien:

Lesenswert?

Hola

ich habe einen Atmega 32, ein LCDdisplay(5Vmin) und einige Sensoren am 
I²C(3,3max) und den Pollin DCF (3,3V max).

Jestzt stell cih mir die Frage was cih machen soll.

1. Mega auf 3,3V. Und irgendwie zum Display Levelshiften, oder...

2. Mega auf 5V und DCFLevel shiften und 
http://focus.ti.com/docs/prod/folders/print/pca9306.html aus dem 
Sampleprogramm an den I²C hängen???


Oder kann ich gar Mega auf 5V laufen lassen und den TWI an 3,3V hängen?


Bin dankbar für eure Hilfe ich stecke momentan echt fest


PS: Nich übern Schaltplan meckern. Das ist so ne 
Betazwischenhalbfertigphase, da gibt vieles noch nicht wirklich Sinn.

von TestX .. (xaos)


Lesenswert?

wenn du keine 16mhz brauchst dann alles auf 3.3V und gut...
ansonsten den avr auf 5V dahinter direkt einen level shifter und 
kompletten i²c auf 3.3V laufen lassen

von Manuel S. (doc-snyder)


Lesenswert?

Hmm hatt ich mir auch schon gedacht. Aber was mach ich dann mit dem 
Pollin DCF (3,3VMax)? Kann ich den I²C-levelshifter auch einfach so 
nutzen, für den DCF?

von TestX .. (xaos)


Lesenswert?

Manuel Schneider schrieb:
> Hmm hatt ich mir auch schon gedacht. Aber was mach ich dann mit dem
> Pollin DCF (3,3VMax)? Kann ich den I²C-levelshifter auch einfach so
> nutzen, für den DCF?

wie meinst du das ?
dein i²c hat dann 3.3v spannung, das funktioniert doch dann mit all 
deinen komponenten ?

von Manuel S. (doc-snyder)


Lesenswert?

der DCF häng nicht am I²C. Der ist an nem normalen Portpin. ich weiß 
halt nicht was im PCA9306 intern abgeht, deswegen. Ich bin gerade am 
Datenblatt durchsuchen aber wenn jemand bescheid weiß, ob ich den auch 
einfach so als Pegelwandler nutzn kann ist auch gut.

von Tip (Gast)


Lesenswert?

Manuel Schneider schrieb:
> PS: Nich übern Schaltplan meckern.

Doch, das ganze Hühnerfutter unten rechts (inclusive CD40106) kann raus 
und durch Software ersetzt werden.
http://www.mikrocontroller.net/articles/Entprellung

von Manuel S. (doc-snyder)


Lesenswert?

Jop aber löten macht spaß, teile kosten quasi nix. Und Softentprellung 
coden nervt.^^

von Floh (Gast)


Lesenswert?

Mein Vorschlag:

Avr auf 5 Volt laufen lassen.
Display direkt dran.
I2C über 2 Mosfets auf 3.3Volt levelshiften.
http://www.kip.uni-heidelberg.de/lhcb/Publications/external/AN97055.pdf 
(Seite 10)
Für DCF musst du gar nix machen, ist ja nur ein Eingang des uC.
Falls der DCF den Eingang nicht sicher auf High bekommt, ihn mit einem 
Transitor levelshiften (und invertieren).
So ists in meinen Augen der geringste Aufwand :-)

von Jobst M. (jobstens-de)


Lesenswert?

AVR mit 3,3V versorgen, Display mit 5V und einfach verbinden. Läuft.
Wenn Du auch Daten aus dem Display ausliest (mache ich nie), noch ein 
paar Widerstände in die Datenleitungen.


Gruß

Jobst

von Frank K. (fchk)


Lesenswert?

Jobst M. schrieb:
> AVR mit 3,3V versorgen, Display mit 5V und einfach verbinden. Läuft.
> Wenn Du auch Daten aus dem Display ausliest (mache ich nie), noch ein
> paar Widerstände in die Datenleitungen.

Und wenn Du für die Kontrastspannung einen ICL7660 spendierst, kannst Du 
in den meisten Fällen auch das Display direkt mit 3.3V betreiben. Die 
Kontrastspannung ist dann eben negativ, d.h. mit dem besagten ICL7660 
und zwei 10u keramisch -3V erzeugen und 10k Poti zwischen +3.3V und -3V.

fchk

von Manuel S. (doc-snyder)


Lesenswert?

Tut mir Leid für die letzten 2 dass ich mich für die variante von Floh 
entscheiden werde. Grund: 3,3V sind neu für mich und ich weiß nicht was 
ich alles beachten muss, oder ob am µC irgendwas anderst läuft(ISP,UART 
usw). Zudem finde ich das Thema Spannungswandeln ziemlich interessant. 
Allerdings habe ich von Mosfets keine Ahnung. Bisher weiß ich nur dass 
sie hochgradig ESD empfindlich sind. Ich werde mir nachdem Essen erst 
mal den Wikiartikel durchlesen. Wär nett wenn mir jemand die 
Unterschiede zum normaen Transistor sagen könnte.

Danke und in diesem Sinne ProstMahlzeit...

von Simon K. (simon) Benutzerseite


Lesenswert?

Ein MOSFET ist auch ein "normaler" Transistor.

Manuel Schneider schrieb:
> Jop aber löten macht spaß, teile kosten quasi nix. Und Softentprellung
> coden nervt.^^

Jo alter check check, total nervig eh, hammer alter.
Oder was?

von Manuel S. (doc-snyder)


Lesenswert?

Also ich finde das ist jetz pure Provokation. Es müssen ja nicht alle 
wie du sein. Und die Ghettoelemente auf die du anspielst sehe ich in 
meinen sätzen nicht. Tut mir leid. Ich werde nun den Artikel lesen und 
mich wieder an die netten Leute wenden falls ich Fragen habe.

Danke euch allen.

@ Simon : es sei dir verziehen.

von Manuel S. (doc-snyder)


Lesenswert?

Also lieber Simon zwischen FETs (also auch MOSFETs) allgemein und 
normalen Trabsistoren gibt es doch dramatische Unterschiede. Das einzige 
was ich mir eingestehen muss, ist wohl, dass ich mit dem "normalen" 
Transistor eigentlich den Bipolartransistor gemeint habe. Aber Reichelt 
und Pollin geben mir Recht in der Annahme, dass er das im Volksmund auch 
ist.

Also nun habe ich noch eine letzte (denke und hoffe ich :-) ) Frage. 
Wenn ich nun den DCF über einen Transistor ( hier meine ich 
irgendeinen^^) an den Portpin des µCs hängen will, welche Art nutze ich 
dann? Im Grunde ist es doch bei dem kleinen Strom vom DCF (5µA < I < 
90µA laut Datenblatt) grad Wurst oder? Der zu schaltende Strom liegt 
innerhalb des Verstärkungsfaktor eines jeden BiPolarTransistor, und beim 
Mosfet ist das ohnehin egal da annäherungsweise stromlos geschalten 
wird.

Was meint ihr dazu?

von Michael (Gast)


Lesenswert?

Simon K. schrieb:
> Ein MOSFET ist auch ein "normaler" Transistor.

Ein MOSFET hat mit bipolaren Transistoren außer dem Grundmaterial 
Silizium eigentlich gar nichts zu tun. Eher kannst du ihn mit 
Elektronenröhren vergleichen.

von Floh (Gast)


Lesenswert?

Manuel Schneider schrieb:
> Wenn ich nun den DCF über einen Transistor ( hier meine ich
> irgendeinen^^) an den Portpin des µCs hängen will,

Pin des Prozessors
  |
  |
  |
 C  \| B
     |----|RRRRR|---   DCF-Signal
 E  /|
  |
__|__ Masse

Hier ein npn-Transistor. Allerdings invertiert er dir dein Signal (lässt 
sich softwaretechnisch ausgleichen). Außerdem musst du den internen 
Pullup des uC aktivieren.
Funktionsweise: Wenn ein Strom vom DCF in den Transistor fließt, 
schaltet der Transistor und zieht den Pin des uC auf Masse. Ansosnten 
ist dieser durch den Pullup auf 5V.

So als Typ reicht z.B. ein bc547.
:-)

von Frank K. (fchk)


Lesenswert?

Manuel Schneider schrieb:
> Tut mir Leid für die letzten 2 dass ich mich für die variante von Floh
> entscheiden werde. Grund: 3,3V sind neu für mich und ich weiß nicht was
> ich alles beachten muss, oder ob am µC irgendwas anderst läuft(ISP,UART
> usw).

Nö, es läuft nichts anders. CMOS-Bausteine wie die 40xx oder 74HC laufen 
ohnehin in einem relativ weiten Spannungsbereich, ohne dass Du etwas 
dafür tun musst. Die Bausteine werden mit sinkender Spannung nur 
langsamer, dafür sinkt die Leistungsaufnahme (und zwar quadratisch mit 
der Spannung!).

Bei RS232 solltest Du nur dazu übergehen, statt dem gewohnten MAX232 den 
MAX3232 zu verwenden. Der 3232 läuft von 3V bis 5.5V und braucht 
kleinere Kondensatoren. Es gibt damit keinen Grund, den 232 noch zu 
ordern.

Wenn Du dann statt der alten Kamelle Mega32 den pinkompatiblen Mega 324P 
oder 644P nimmst, kannst Du bei 3.3V immer noch mit 12MHz unterwegs 
sein, bei 5V mit 20 MHz.

Alles gar nicht so wild.

fchk

von Carsten S. (dg3ycs)


Lesenswert?

Hi,

Michael schrieb:
> Simon K. schrieb:
>> Ein MOSFET ist auch ein "normaler" Transistor.
>
> Ein MOSFET hat mit bipolaren Transistoren außer dem Grundmaterial
> Silizium eigentlich gar nichts zu tun. Eher kannst du ihn mit
> Elektronenröhren vergleichen.

Was aber immer noch nichts an der Tatsache ändert das ein MOSFET auch 
ein "normaler" Transistor ist...
Aber das ist ja bereits geklärt!

Manuel Schneider schrieb:
> Also nun habe ich noch eine letzte (denke und hoffe ich :-) ) Frage.
> Wenn ich nun den DCF über einen Transistor ( hier meine ich
> irgendeinen^^) an den Portpin des µCs hängen will, welche Art nutze ich
> dann? Im Grunde ist es doch bei dem kleinen Strom vom DCF (5µA < I <
> 90µA laut Datenblatt) grad Wurst oder? Der zu schaltende Strom liegt
> innerhalb des Verstärkungsfaktor eines jeden BiPolarTransistor, und beim
> Mosfet ist das ohnehin egal da annäherungsweise stromlos geschalten
> wird.

ICh würde hier eindeutig einen Bipolartransistor vorziehen... Halt BC548 
oder etwas ähnlich gängiges! Wie du richtig erkannt hast funktioniert 
fast jeder kleinere Bipolartransistor bei richtiger Aussenbeschaltung 
problemlos. MOSFET und 3,3V ist da etwas komplizierter, da ist die 
Auswahl deutlich beschränkter.
Generell ist noch beim Mosfet zu sagen das du zwar in der Theorie 
Leistungslos schaltest, das Gate des Tranistors in der Ersatzschaltung 
auch einen Kondensator darstellt. Im Schaltmoment fließt also 
tatsächlich ein Strom. Kann die Stromquelle nicht genug energie Liefern 
kann ist von sauberen Schaltflanken nichts mehr übrig. Bei einem Kleinen 
LogicLevel Mosfet der direkt von einem µC Pin gespeist wird ist das noch 
kein Thema, aber ob das DCF Modul da die mA liefern kann...

HAt man größere Mosfets mit denen man einige Ampere schalten kann, dann 
setzt man extra noch Treiber ein die für kurze Momente mal ebend mit 
2-10Ampere das Gate umladen damit es einigermaßen Schnell geht und nicht 
zuviel Leistung im Schaltmoment abfällt. Aber das nur am Rande.

Frank K. schrieb:
> Es gibt damit keinen Grund, den 232 noch zu
> ordern.

Naja, keinen Grund ist etwas "gewagt" gesagt!
TEchnisch magst du recht haben, aber der Max3232 kostet mal ebend das 
vierfache vom Max232. Ich denke 1,50 Euro pro Bauteil zu sparen ist 
schon ein ganz guter Grund überall da wo ein MAX232 Ausreicht auch nur 
einen MAX232 einzusetzen.

Gruß
Carsten

von Matze (Gast)


Lesenswert?

Schau nochmal genau ins Datenblatt des LCD-Displays.
Ich hatte sowas auch schon mal, und bei dem von mir eingesetzten
war das kein Problem. Auch das mit 5V betriebene Display versteht Pegel
über 2,x V an seinen Eingängen schon als HIGH. Ist also kein 
Pegelwandler
nötig, wenn der µC mit 3,3V betrieben wird.

MfG Matze

von Manuel S. (doc-snyder)


Lesenswert?

> Pin des Prozessors
>   |
>   |
>   |
>  C  \| B
>      |----|RRRRR|---   DCF-Signal
>  E  /|
>   |
> __|__ Masse
>
> Hier ein npn-Transistor. Allerdings invertiert er dir dein Signal (lässt
> sich softwaretechnisch ausgleichen). Außerdem musst du den internen
> Pullup des uC aktivieren.
> Funktionsweise: Wenn ein Strom vom DCF in den Transistor fließt,
> schaltet der Transistor und zieht den Pin des uC auf Masse. Ansosnten
> ist dieser durch den Pullup auf 5V.

Okay. Gibt es bestimmte Gründe warum du den Pin invertierst( gegen masse 
ziehst), und warum verbaust du einen Widerstand davor?

>Generell ist noch beim Mosfet zu sagen das du zwar in der Theorie
>Leistungslos schaltest, das Gate des Tranistors in der Ersatzschaltung
>auch einen Kondensator darstellt. Im Schaltmoment fließt also
>tatsächlich ein Strom. Kann die Stromquelle nicht genug energie Liefern
>kann ist von sauberen Schaltflanken nichts mehr übrig. Bei einem Kleinen
>LogicLevel Mosfet der direkt von einem µC Pin gespeist wird ist das noch
>kein Thema, aber ob das DCF Modul da die mA liefern kann...

Danke für den Tipp. Aber Was wenn die paar µA nicht ausreichen um das 
Gate beim BipolarTrasistor zu schalten? Ich hatte mir bisher die Meinung 
gebildet das MOSFETs für kleine Stöme geeingnet sind.( Warum auch immer 
...)

von Floh (Gast)


Lesenswert?

Manuel Schneider schrieb:
> Okay. Gibt es bestimmte Gründe warum du den Pin invertierst( gegen masse
> ziehst), und warum verbaust du einen Widerstand davor?

Es ist so mit 2 Bauteilen erledigt. Wenn man den Pin nicht invertieren 
will, braucht man mindestens einen weiteren Transistor.

  Vcc
   o
   |
   |E
    \|
  Q1 |---o
    /|   |
Pin o    |
    |     \|
    R1     |--R2---- DCF
    |     /|
    |     |E
  __|_____|__

 Wobei hier eben Q1 ein PNP- und Q2 ein NPN-Transistor ist.
Der Widerstand R1 sorgt für einen definierten Pegel am Pin, R2 schützt 
die Basis-Emitterstrecke vor zu viel Strom.

Du hast damit halt mehr Aufwand als mit der einfachen Schaltung, 
softwaretechnisch invertieren ist meist mit einem Befehl/Zeichen 
erledigt.
Der Widerstand für definierte Zustände ist dann auch softwaretechnisch 
zuschaltbar (DDR = 0, PORT = 1)
:-)

von nörgelede (Gast)


Lesenswert?

Da sollte zwischen Basis von Q1 und Kollektor von Q2 noch ein 
Widerstand, sonst raucht die ganze Konstruktion ab. :-(

von Carsten S. (dg3ycs)


Lesenswert?

Hi,

Manuel Schneider schrieb:
> Danke für den Tipp. Aber Was wenn die paar µA nicht ausreichen um das
> Gate beim BipolarTrasistor zu schalten? Ich hatte mir bisher die Meinung
> gebildet das MOSFETs für kleine Stöme geeingnet sind.( Warum auch immer
> ...)

Mosfets für kleine Ströme... So ganz so falsch ist es ja auch nicht.
Mosfets eignen sich ja teilweise wirklich gut für Schaltungen wo die 
Signalquelle einen sehr hohen Innenwiderstand hat.

Worauf ich hinaus wollte:
Du kannst die von dir gewünschte SChaltung durchaus mit einem MOSFET 
wunderbar aufbauen. Gar kein Problem. Bei der richtigen Bauteilauswahl 
vielleicht sogar tatsächlich funktionaler als mit Bipolartransistoren.

Das Problem dabei ist aber das du den Transistor sehr Sorgfältig 
auswählen musst. Zum einen muss er bei 3,3V sicher schalten (und bei 0V 
sicher den anderen Schaltzustand haben). Das ist bei MOSFETS aber eher 
die Ausnahme als die Regel, zum anderen darf die Gatekapazität nicht zu 
hoch sein, sonst kommt er von der Schaltgescwindigkeit nicht mit.
(Du kannst ja eine Ersatzbetrachtung als RC Kombination vornehmen...)
Wobei DCF77 aber ja noch relativ "gemütlich" ist.

Bei Bipolartransistoren aber klappt es bei den meisten 
Bastelkistentypen. Und wenn der Steuerstrom tatsächlich nicht ausreicht 
nimmt man halt eine Darlingtonschaltung.
Um es also zusammenzufassen: Musst du sowieso Bauteile bestellen bevor 
du weitermachen kannst, dann nimm ruhig einen geeigneten Mosfet, arbeite 
aber vorher unbedingt das DB durch.
Hast du aber bis auf den Mosfet alle anderen Bauteile da schaue was du 
an Bipolartypen in der Bastelkiste hast und du kannst hier Pi*Daumen was 
aufbauen.

von tt2t (Gast)


Lesenswert?

Noch eine Meinung: nachdem Deine Sensoren und Dein DCF für 3.3 V sind, 
solltest Du den µC mit 3.3 V laufen lassen, dann bist Du 
programmtechnsich auf der sicheren Seite und brauchst keine Transistoren 
etc. in den Signalleitungen. Das LCD läuft mit 5 V, 3.3 V wird oft schon 
an den Inputs als H-Pegel akzeptiert, ansonsten tust Du einen 74ACT244 
dazwischen

von Egal Anders (Gast)


Lesenswert?

Hallo Manuel,

in einem anderen Thread möchte Karl-Heinz ein 3,3V Display an 5V 
betreiben.
Beitrag "Display 3,3V"

Displays tauschen könnte beide Probleme lösen.

Frohe Ostern!

von Jadeclaw D. (jadeclaw)


Angehängte Dateien:

Lesenswert?

Tip schrieb:
> Manuel Schneider schrieb:
>> PS: Nich übern Schaltplan meckern.
>
> Doch, das ganze Hühnerfutter unten rechts (inclusive CD40106) kann raus
> und durch Software ersetzt werden.
> http://www.mikrocontroller.net/articles/Entprellung

Der CD40106 wäre sowieso überflüssig gewesen, AVRs haben an allen Ports 
Schmitt-Trigger-Eingänge.


HD44780-LCD gehen auch an 3V, wenn für den Kontrast eine negative 
Spannung erzeugt wird:
http://elm-chan.org/docs/lcd/lcd3v.html
Die 100kHz können von einem freien Portpin kommen oder die angehängte 
Schaltung verwenden. Es muß übrigens ein 74HC04 sein, ein CD4049 geht 
nicht. (Oszillator schwingt nicht an). Je nach Aufbau des 
LCD-Controllers kann es sein, daß man mit dem Timing langsamer werden 
muß, da der RC-Oszillator des LCD-Controllers langsamer läuft.

Gruß
Jadeclaw.

von Manuel S. (doc-snyder)


Lesenswert?

Jadeclaw Dinosaur schrieb:
> Tip schrieb:
>> Manuel Schneider schrieb:
>>> PS: Nich übern Schaltplan meckern.
>>
>> Doch, das ganze Hühnerfutter unten rechts (inclusive CD40106) kann raus
>> und durch Software ersetzt werden.
>> http://www.mikrocontroller.net/articles/Entprellung
>
> Der CD40106 wäre sowieso überflüssig gewesen, AVRs haben an allen Ports
> Schmitt-Trigger-Eingänge.

Heißt das ich kann die komplette verschaltung so lassen und den 
Schmitttrigger einafch weglassen? Ist es dann schlimm wenn ich ihn 
trotzdem einfach dranlasse?

> HD44780-LCD gehen auch an 3V, wenn für den Kontrast eine negative
> Spannung erzeugt wird:
> http://elm-chan.org/docs/lcd/lcd3v.html
> Die 100kHz können von einem freien Portpin kommen oder die angehängte
> Schaltung verwenden. Es muß übrigens ein 74HC04 sein, ein CD4049 geht
> nicht. (Oszillator schwingt nicht an). Je nach Aufbau des
> LCD-Controllers kann es sein, daß man mit dem Timing langsamer werden
> muß, da der RC-Oszillator des LCD-Controllers langsamer läuft.

Sorry Jade völliger Overkill für mich ;-D

@ (dg3ycs): Ja ich muss ohnehin ne bestellung aufgeben. Von dem her 
schau ich einfach mal. Ich überlege langsam sogar ob ich doch ein 
andrers DCF Modul kaufe (ELV).


Danke euch

von Manuel S. (doc-snyder)


Lesenswert?

> Pin des Prozessors
>   |
>   |
>   |
>  C  \| B
>      |----|RRRRR|---   DCF-Signal
>  E  /|
>   |
> __|__ Masse



Wie dimensioniere ich eigentlich diesen Widerstand?

von Jobst M. (jobstens-de)


Lesenswert?

Manuel Schneider schrieb:
>> Pin des Prozessors
>>   |
>>   |
>>   |
>>  C  \| B
>>      |----|RRRRR|---   DCF-Signal
>>  E  /|
>>   |
>> __|__ Masse
>
>
>
> Wie dimensioniere ich eigentlich diesen Widerstand?


Ich würde noch einen weiteren Widerstand nehmen und diesen von der Basis 
zu Masse ziehen. Beide z.B. 4K7. Ergibt einen Basisstrom von 0,4mA und 
damit einen Kollektorstrom von ca. maximal 80mA (BC547C) - das sollte 
reichen.

Zur Frage:
Der Transistor hat einen Stromverstärkungsfaktor, der das mögliche 
Verhältnis von Ic/Ib angibt. Ib = (Uin-0,7V) / R


Allerdings würde ich immernoch den uC mit 3,3V laufen lassen und das 
Display mit 5V.


Gruß

Jobst

von Jadeclaw D. (jadeclaw)


Lesenswert?

So, endlich Wochenende!

Manuel Schneider schrieb:
> Heißt das ich kann die komplette Verschaltung so lassen und den
> Schmitttrigger einfach weglassen? Ist es dann schlimm wenn ich ihn
> trotzdem einfach dranlasse?

Richtig. Kann aber auch drinbleiben, schadet hier nichts, weil die dort 
durchgehenden Frequenzen sehr unkritisch sind. Es fallen nur wenige 
Mikroampere für's IC als zusätzlicher Verbrauch an.

Ähem, ein normaler Transistor an den Ausgang eines 
Pollin-DCF-Empfängers?
Da war doch was? Genau:
Beitrag "DCF77-Modul von Pollin"
Dieser Eintrag ist es:
Autor: lorxor (Gast)
Datum: 19.04.2009 03:11
Das Ding ist nichtmal in der Lage, den AVR-internen PullUp 
herunterzuziehen.
Sprich: Transistor weglassen, Ausgang des Moduls DIREKT an den 
Controllerpin und den PullUp dieses Eingangs ausschalten.
Wenn man hier nach " pollin DCF " sucht, findet sich noch eine Menge 
mehr.

Gruß
Jadeclaw.

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.