Archiv verlassen und diese Seite im Standarddesign anzeigen : Treiber zwischen Atmega16 und R/2R Netzwerk gesucht
Hallo zusammen !
Wie der Titel schon sagt, ich habe nen Atmega16 und brauche nen Baustein das halt den Port nicht so belastet, der schnell ist und wirklich am Ausgang unter bisi Last 5V rausgibt. Einfach gesagt nen 8-fachen Spannungsfolger der am Ausgang 5V hat auch wenn am eingang bischen wenniger anliegt.
Ich denke so an 74HCXXXXX Familie, oder so.
Was könnt ihr empfehlen ?
Es hat doch schon sicherlich jemand so ähnliches aufgebaut.
Danke !
kalledom
15.01.2007, 23:41
Hallo,
da empfehle ich Dir den ULN2803A, der hat 8 mal NPN-Darlington mit Basis-Vorwiderstand und schaltet den GND oder den UDN2981A, der hat ??? und schaltet den Plus. Beide schaffen 500mA pro Ausgang, allerdings nicht alle auf einmal.
@Lord
Wenn ich deine Überschrifft so sehe dann kommt es mir vor als ob du nen Leistungs DAC basteln willst.
Das ginge auch anders.
Nein nein, 1mA reicht mir auch oder sogar wenniger. Hauptsache saubere 0 und 5V trennung.
Ich nutze Wiederstände im R/2R von 150k und 75k da brauche ich kein Strom, und nach R/2R schalte ich sowieso nen Spannungfolger noch.
Ich habe schon mal R/2R direkt an Port angeschlossen gehabt (ohne Treiber) der kommt dann mit der Spannung nur bis 4.2V wenn am Ausgang 0b11111111 steht. Das alles bei statischen Bedingungen, und wenn ich da noch ne Frequenz ausgebe dann kommt er nur auf 3,XX V Spitze. Deswegen müsste da am R/2R von vorne bischen "nachgeholfen" werden.
Ich habe hier in Forum schon mal gelesen das Atmega am Port 20mA bringt, wohl bei 1V :)
Hallo L0rd!
Am einfachsten wäre dem Spannungsfolger eine kleine Spannungsverstärkung zu schenken. :)
MfG
@Lord
Achso,das meinst du.
Das hinterm R2R weniger als Vcc anstehen ist kein Wunder.
Zum einen fällt an den Schaltstufen etwas ab und zum anderen am R2R-Netz.
Du brauchst nur einen Operationsverstärker mit einer Verstärkung von 1.x.
Je nach Frequenz einen schnellen Typ.
Einige mA bringen fast alle Modelle da hast du ne recht große auswahl.
Allerdings kommt ein normaler OP auch nicht an seine Versorgungsspannugsgrenzen heran.
Ein Rail to Rail ist da schon besser aber auch nicht perfekt.
Reicht vieleicht nicht für dich (Mußt du entscheidenwas reicht und was nicht.)
Wenn nicht dann ist der Versorgungsspannungsbereich etwas zu erweitern.
Dann klapperts bestimmt
Edit:
Picture war schneller
Ein treiber muss her :)
auch wenn ich mit OP verstärke, dann habe ich in statischen betrieb mehr als bei Frequenz. Also so:
statisch eingang 4.5V Verstärkt durch OP auf 5V
frequenz Eingang 3.5 Verstärkt auf ca 3,9 V
Ich brauche am Ende R/2R Netzwerks bei allen Bed. ne gleiche spannung, dann kann ich die auch mit OP Verstärken ( was ich ja sowieso mache).
Hallo L0rd!
Zuerst denke, bitte, ein bischen nach, warum es mit der Spannung so ist. :)
MfG
Ich sehe genau was läuf weil ich es mit Oszilloskop messe ;)
Na ja, dann sind es die Streu- (Montage-) kapazitäten daran schuld, die leider unvermeindbar sind. Dann bleibt nur die R und 2R Resistoren zu verkleinern um den Tiefpass aus den Montagekapazitäten und R höher zu gestalten. :)
MfG
Wieso zweifelt ihr die ganze Sache an, oder schlägt ständig alternativen vor ?
Ich weiss das ich an diesem Treiber nicht herum komme, weil ich nur +5V als VCC habe und da kommen fertige DACs nicht in Frage, PWM auch nicht. Ich baue ne Regelung auf und es sollte präzise und schnell die Werte erreichen und ein R/2R ist in Verbindung mit einem sagen wir mal 74HCT541N ein präzises und schnelles Ding.
Ich wollte nur wissen ob was vergleichbares gibt zu 74HCT541N nur in anderen Technologien oder so.
Die Frequenz ist gar net so hoch (Audio Bereich), dass wir an den Effekt denken sollen. Eher an schwachen Port von Atmega ;)
Na wenn es definitiv der Port ist dann klemm zwischen AVR und R2R nen 50 Ohm Octal Treiber und gut ist.
Bei den alten TTL'ern meine ich einen gesehen zu haben (Muß ich mal die ECA rausholen)
Na wenn es definitiv der Port ist dann klemm zwischen AVR und R2R nen 50 Ohm Octal Treiber und gut ist.
Bei den alten TTL'ern meine ich einen gesehen zu haben (Muß ich mal die ECA rausholen)
Edit:
Naja,ich finde nur den 74128 4x Nor 50 Ohm.
Ob der noch erhältlich ist weiß ich allerdings nicht.
Was ist mit dem allseits beliebten 74HCT244 der ja oft als Leitungstreiber verwendung findet ?
Danke !
Das Problem was ich hab ist, dass wenn ich 74HCT541N einfach einschalte ohne Atmega, dann springt er an Manchen Pins von selbst auf 5V, das schlimmste ist dass es auch am Eingang von 74HCT541N passiert. Nehme ich ne Stück leitung und schliese die alle mal nacheiander gegen die masse werde die 0V. Irgend ne Ladung oder so, denke ich. Und wenn ich Atmega anschliesse kommt fast auf allen Pins 5V raus obwohl ich nichts ausgebe. Den Port definiere ich als Ausgangs Port und er sollte auf LOW sein, ist er aber nicht. Ich denke Atmega wird warscheinlich durch HCT541 irretiert. 74HCT541 ist in ordnun hab schon mal auch mit austauschen versucht. Ich beschäftige mich mit dem Problem schon seit 4 Tagen, alles ausgemessen, alles kontroliert, nur woran es liegt weiss ich nicht. Ne Hexerei :(
Gut, jetzt werde ich die vorgeschlagenen ICs ausprobieren vielleicht geht das weg.
Das Problem was ich hab ist, dass wenn ich 74HCT541N einfach einschalte ohne Atmega, dann springt er an Manchen Pins von selbst auf 5V, das schlimmste ist dass es auch am Eingang von 74HCT541N passiert. Nehme ich ne Stück leitung und schliese die alle mal nacheiander gegen die masse werde die 0V. Irgend ne Ladung oder so, denke ich.
????
Wie meinste denn das ?
Einfach den 541 mit offenen Eingängen betrieben ?
So ganz ohne Pullup/Pulldown ?
Nein, ich habe ihn nur so getestet(hab Atmega aus dem Sockel rausgenommen), ich wohlte nur sehen wer von beiden spinnt.
Normal betreibe ich ihn am Port von Atmega16 und enable Eingänge setze ich auf Masse so das er immer durschaltet, also ich steuere ihn nicht. Das was rein kommt wird sofort ausgegeben.
kalledom
16.01.2007, 11:06
Hallo,
wenn ich bei mir einen 75HCxx oder 74HCTxx oder 40xx betreibe, ohne daß ALLE Eingänge an einem definierten Pegel oder +5V oder GND angeschlossen sind, dann machen bei mir die Ausgänge auch, was sie wollen; es sind dabei sogar schon CMOS-IC's kaputt gegangen.
Lies Dir evtl. mal die Regeln für den Umgang mit CMOS-Bausteinen hier (http://www.domnick-elektronik.de/elekttl.htm) durch (nach der Liste der 40-er Bausteine).
Die Pins des µC müssen als Ausgänge gesetzt werden und auch sofort einen definierten Zustand bekommen, sonst machen die Pins, was Du nicht willst :-)
Ja,genaus so ises.
Als Workaround würde ich zwischen Controller und 541 Pulldown widerstände einsetzen.
Das schafft klare Verhältnisse.
Das denke ich mir auch.
Welchen wert würdes du vorschlagen 1k ? 10k ?
kalledom
16.01.2007, 11:24
10k...22k; es handelt sich um sehr hochohmige CMOS-Eingänge.
100k ist meinem Gefühl nach zu hochohmig (ein Finger hat viel weniger), bei 1k fließt zu viel unnötiger Strom, bleibt die 'goldene Mitte' bei 10...22k.
Yo,10K nehme ich auch meist.
1K nur in "schmutzigen" Umgebungen.
Alles klar ! Danke !
Werde mir gleich nen Widerstands Netzwerk hollen und ausprobieren.
Pulldown ist doch so s.unten (um Missverständnisse auszuschließen :))
+ 5V +5V
O-----------------O-------------------O
|
|
Atmega | | 74HCT541N
| | R
| |
|
|
O-----------------O-------------------O
Masse
denn sonst mit Pullup baut man nur nen Kurzschluss hier.
Nicht zwischen 5V und GND sondern zwischen jede Datenleitung und GND
Stell dir das wie die Feder am Trittstarter vom Motorrrad vor.
Die sorgt dafür das der Starter bei nichtbenutzung in eine Definierte Stellung geht.
Der Widerstand zieht den Eingang vom 541 nach Masse wenn der Controller nicht da ist oder der betreffende Pin als "Eingang" definiert ist (Wie zb. beim Einschalten)
Würdest du an dieser Verbindung zb. ein sicheres High benötigen dann würde der Widerstand von der Datenleitung nach Vcc (Also hier die +5V) gehen.
Jetzt verständlicher ?
sorry, mit 5V war nicht Spannungsversorgung gemeint sondern HIGH Wert am Port und am 74HCT... gemeint, also Datenleitung.
Ich stelle mir Widerstände wie dünne Wasserröhre vor, und wenn das Wasser kurz da rein fliest, da wird das Rohr schnell voll (Pegel geht hoch) und das Wasser fliest über :)
Oder besser noch wie ein Verkehrsstau vor einer Baustelle ;)
kalledom
16.01.2007, 14:33
Da läuft nichts voll; schau Dir mal die Seite hier (http://www.domnick-elektronik.de/elekohm.htm) an !
So, habe Brücke einfach an der unterseite an die pins gelötet, nen äußeren Pin der Brücke(der gekennzeichnet ist) habe ich an die masse gelötet.
Hab 2 Verschiedene Werte ausprobiert:
10k Brücke 5,03 V
6,8k Brücke 4,92 V
ohne Brücke 5,04 V
nun der Port springt trotzdem auf manchen Pins auf 0 auf anderen auf 5V auf einem war sogar 3,XX volt. Komisch :(
Ja,leichte Schwankungen sind immer vorhanden.
Das ist ein Port und kein Ausgang von nem Messverstärker.
Das dein ort springt ist aber dennoch unüblich.
Irgendwo hats du da den Wurm drinn
kalledom
16.01.2007, 22:49
Hast Du an jedem der 8 EINGANGS-Pins des 74HCT541 einen Widerstand 10k zum GND angelötet ? Und den AVR rausgezogen ?
Dann muß an den Eingängen des 541 ca. 0V zu messen sein, es sei denn, der hat keinen GND oder er steckt falsch rum drin oder er ist kaputt.
Ob 0V oder 0,34 oder 0,5V bei logisch 0 / Low-Pegel bzw. 4,5V oder 5,03V oder 4,74V bei logisch 1 / High-Pegel ist vollkommen gleichgültig: ungefähr ist richtig (ja ja, es gibt eine Spezifikation dazu, aber hier geht es erst mal um's Grundsätzliche).
Das wäre als erstes zu überprüfen, für alle 8 Eingänge.
Dann kannst Du den AVR wieder reinstecken und noch mal messen, was dann an den 8 Eingängen des 541 für Spannungen zu messen sind.
Wenn Du das überprüft und hier mitgeteilt hast, kann ich mit Vermutungen weiter helfen.
Übrigens: die anderen beiden Eingänge auf GND legen und 8 PullUp-Widerstände anlöten, nicht nur mit einem ausprobieren und die restlichen Eingänge in der Luft hängen lassen !
Ja ich habe diese beide Enable Eingänge auf Masse gelegt, das ist ja schon klar. Und ich habe ne 10k Brücke mit 8 widerständen als Pulldown geschaltet. d.h. Widerstand mit einem Ende auf Datenleitung (zwischen uC und 541) und anderem Ende auf Masse.
uC und 541 sind drin, ist alles ok.
Ich habe Fehler schon gefunden, ich wollte ne 10-bit Zahl auf nem 8-bit Port rauspressen und das ging nicht. Auf nem Testboard(STK500) geht das aber. Komisches Ding.
Teile jetzt 10bit durch 4(dezimal) und erhalte meine 8 bit.
War schon kurz vor dem Durchdrehen wegen dieser Sache.
Danke kalledom !!!
Danke Ratber !!!
Ich habe Fehler schon gefunden, ich wollte ne 10-bit Zahl auf nem 8-bit Port rauspressen und das ging nicht. Auf nem Testboard(STK500) geht das aber. Komisches Ding.
Hehehe,ja das ist nen lustiges Spielchen.
Vermutlich werden beim STK500 die beiden LSB abgeschnitten so das es nicht weiter auffällt
Teile jetzt 10bit durch 4(dezimal) und erhalte meine 8 bit.
Wenn du etwas Zeit sparen willst dann mach Einen Shift um 2 Stellen,das geht schneller.
Oder meintest du das damit ?
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.