Hallo Freund des gepflegten Kopfzerbrechens! Ich möchte einen Atmega32 eine SD-Karte beschreiben lassen. Die ISP-Schnittstelle vom PC soll erhalten bleiben, so dass ich direkt auf das Board programmieren kann, ohne den Atmega32 zu entfernen. Da ergibt sich wieder das leidige Problem, dass der Atmega 5V nutzt, die SD-Karte aber nur 3,3V. Wichtig ist in diesem Falle, dass der Aufbau mit drei oder vier Batterien betrieben werden soll (und das möglichst lang, also auch bei sinkender Spannung). Die Spannungsversorgung per Spannungsteiler fällt also aus, da die Spannung dann an der SD-Karte nicht mehr konstant wäre. Meine Idee lautet deshalb, einen Puffer mit einem 3,3V-Low-Drop-Regler zu betreiben, um tatsächlich nur 3,3V an der SD-Karte zu haben. Eine Skizze hänge ich an. Dazu habe ich folgende Fragen: - Fällt euch eventuell eine Alternative ein, um die Spannung an der SD-Karte über einen Bereich von 5V (USB) bis runter zu 2,7V (3 schwache Batterien) konstant zu halten? - Ist es sinnvoll, den Enable-Pin des Puffers an die SCK-Leitung zu hängen, damit der Puffer deaktiviert wird, sobald SCK auf 5V liegt (also während der µC beschrieben wird)? Der Puffer benötigt als Information das Gegenteil dessen, was passieren soll (5V auf enable-Pin bedeutet disable, 0V auf enable-Pin bedeutet disable)? Ich freue mich auf eure Ideen, Martin
Martin Zippel schrieb: > Da ergibt sich wieder das leidige Problem, dass der Atmega 5V nutzt Ein AVR läuft auch mit 3,3 V. Wäre das nicht die einfachste Lösung?
Eigentlich schon, ich möchte aber den ganzen Aufbau (es gehört neben dem Mega32 und der SD-Karte noch weit mehr dazu) auch per USB-Spannung versorgen können. Da ich mit Menschen zusammenarbeite, die noch nie derartiges benutzt haben, muss die Schaltung "idiotensicher" sein. Das heißt, wenn jemand per USB programmiert oder auch nur den USB-ISP-Stecker einsteckt, muss ausgeschlossen sein, dass die SD-Karte dadurch Schaden nimmt, ohne dass vorher zum Beispiel ein Schalter umgelegt wird. Außerdem soll der Aufbau mit frischen Batterien ebenso funktionieren, da der ganze Kram wohl eine Weile im Freien wird überdauern müssen. Das wären dann 3x1,5V = 4,5V, also schon wieder zuviel für die SD-Karte.
Martin Zippel schrieb: > Außerdem soll der Aufbau mit frischen Batterien ebenso funktionieren, da > der ganze Kram wohl eine Weile im Freien wird überdauern müssen. Das > wären dann 3x1,5V = 4,5V, also schon wieder zuviel für die SD-Karte. Dann kannst du doch trotzdem (auch beim USB) alles über einen 3,3-V-Lowdrop-Regler versorgen, statt dir den Stress mit der Pegelwandlung zu machen. (Denk dran, dass die Entladeschlussspannung für 3 Zellen bei 2,7 V liegt.)
@ Martin Zippel (Gast) >Ich möchte einen Atmega32 eine SD-Karte beschreiben lassen. >Die ISP-Schnittstelle vom PC soll erhalten bleiben, Kein Problem. >sinkender Spannung). Die Spannungsversorgung per Spannungsteiler fällt >also aus, So einen Unsinn macht auch kein vernünftiger Mensch. >Meine Idee lautet deshalb, einen Puffer mit einem 3,3V-Low-Drop-Regler >zu betreiben, um tatsächlich nur 3,3V an der SD-Karte zu haben. Sicher, wie sonst soll man konstante 3,3V erzeugen? >- Fällt euch eventuell eine Alternative ein, um die Spannung an der >SD-Karte über einen Bereich von 5V (USB) bis runter zu 2,7V (3 schwache >Batterien) konstant zu halten? Schaltregler. >- Ist es sinnvoll, den Enable-Pin des Puffers an die SCK-Leitung zu >hängen, damit der Puffer deaktiviert wird, sobald SCK auf 5V liegt Nö. Der gehört an CS von der SD-Karte. >Ich freue mich auf eure Ideen, Mach es richtig. Mit ZWEI ICs. 74AHC244 für die Richtung 45V -> 3,3V für SCK, MOSI und CS. 74HCT125 für die Richtung 3,3V -> 5V für MISO. Siehe Pegelwandler. OK, der 244er ist für 3 Signale etwas groß, muss man halt einen anderen, nichtinvertierenden IC der AHC Familie suchen. 74AHC125 wäre einer. Das Enable vom 74HCT125 kommt mit an CS vom AVR, welches gleichzeitig per externem Pull-Up (10k) während der Programmierung inaktiv gehalten wird. Am Data out Ausgang der SD-Karte müssen 10K Pull-Up nach 3,3V dran, denn der Ausgang ist während der Initialisierung ein Open Drain Ausgang. Dann wird das was. Been there, done that. Finger weg von bidirektionalen, neumodischen Pegelwandlern ohne Richtungsumschaltung, die machen hier regelmäßig Probleme!
Wie wäre es denn, wenn Du mal zur Abwechslung aktuelle Technik verwenden würdest? Der pinkompatible Mega324PA funktioniert bis 1.8V und ist energieeffizienter. In die USB-Versorgung einen LDO zu setzen sollte wohl kein großes Problem sein. Und ein 3.3V oder 2.5V Design über USB zu programmieren ist überhaupt kein Problem. Zumindest nicht mit einem Qualitätsprogrammer wie dem Original von Atmel. Außerdem funktioniert Deine Schaltung so nicht. Ein 74HC verträgt an seinen Pins nur Spannungen bis zur Höhe seiner Versorgungsspannung. Du bräuchtest einen 74LVC126 für die 5->3V Wandlung und einen 74HCT1G126 für die 3->5V Richtung. Die Gate-Eingänge der Gatter hängst Du an !RESET vom Prozessor, dann sperren die Gatter, wenn der ISP Programmer !RESET auf Low zieht. fchk
Nun, ich danke euch für eure Antworten. Ich habe meine Skizze noch einmal nach euren Vorschlägen überarbeitet und hänge sie diesem Post an. Zum wiederholten Auftauchen des 3,3V-Vorschlages: Die Schaltung muss mit Batterien betrieben werden. Ich möchte gern den großen VCC-Bereich der µC nutzen, um sie ebenso über USB während der Aufbau- und Bastelphase, als auch später über drei volle bis leere Batterien nutzen zu können. Bei der Verwendung von 3,3V-Reglern für alle Bauteile gefällt mir die Vorstellung nicht, Energie zu verheizen. Außerdem kann ich dann keine Spannungen von unter 3,7V mehr nutzen, was schade wär. Ich möchte euch bitten, noch einmal einen Blick auf die Schaltskizze zu werfen und eure werte Meinung abzugeben. Einen schönen Abend wünsche ich, Martin PS: Als ich das letzte Mal was lötete, was mit weniger als 230V betrieben wird, WAR der ATmega32 tatsächlich aktuell.
Martin Zippel schrieb: > Zum wiederholten Auftauchen des 3,3V-Vorschlages: Die Schaltung muss mit > Batterien betrieben werden. Ja eben deswegen. Bedenke: Die Leistungsaufnahme geht quadratisch mit der Spannung. Bei 66% der Nennspannung (3.3/5.0) brauchst Du nur 43% der Leistung. Weniger Leistung -> längere Batterielaufzeit. Denk mal darüber nach, warum moderne Prozessoren heute mit 1.2V und weniger (teilweise bis 0.9V herunter) betrieben werden. Und um den ganzen Spannungsbereich von Batterien auszunutzen, gibts Buck-Boost-Konverter. Schau mal hier: http://www.analog.com/library/analogdialogue/archives/45-12/buck_boost.html http://www.analog.com/en/power-management/switching-regulators-integrated-fet-switches/adp2503/products/product.html http://www.linear.com/product/LTC3534 > PS: Als ich das letzte Mal was lötete, was mit weniger als 230V > betrieben wird, WAR der ATmega32 tatsächlich aktuell. Genau richtig: WAR. Vergangenheitsform. fchk
@ Martin Zippel (Gast) >Zum wiederholten Auftauchen des 3,3V-Vorschlages: Die Schaltung muss mit >Batterien betrieben werden. Ich möchte gern den großen VCC-Bereich der >µC nutzen, um sie ebenso über USB während der Aufbau- und Bastelphase, >als auch später über drei volle bis leere Batterien nutzen zu können. Aber soooo einfach geht das nicht. Du musst aus deiner recht variablen batteriespannung KONSTANTE 3,3V erzeugen und dann dennoch variable 5-2,7V für den Rest? Nee, vor allem die einfachen Pegelwandler mögen das gar nicht. >Bei der Verwendung von 3,3V-Reglern für alle Bauteile gefällt mir die >Vorstellung nicht, Energie zu verheizen. Außerdem kann ich dann keine >Spannungen von unter 3,7V mehr nutzen, was schade wär. SCHALTREGLER! Wenn man den richtigen nutzt, kann der aus 2,7-6V konstante 3,3 für ALLES machen. >Ich möchte euch bitten, noch einmal einen Blick auf die Schaltskizze zu >werfen und eure werte Meinung abzugeben. Funktioniert nicht. Denn der Pegelwandler für MISO müsste bei 5V wie bei 2,7V funktionieren, das tut DER IC nicht. >PS: Als ich das letzte Mal was lötete, was mit weniger als 230V >betrieben wird, WAR der ATmega32 tatsächlich aktuell. Sooo schlimm ist der nicht, der läuft auch mit 3,3V und 8 MHz, für viele Sachen ausreichend. Ein gutes Design kommt in erster Line aus dem Konzept, nicht aus den Bauteilen (wobei man ehrlich sagen muss, dass es heute geradezu unglaublich viele unglaublich leistungsfähige Bauteile gibt!) Wenn dir das mit der Batterienutzung sooo wichtig ist, nimm einen passenden Schaltregler und betreibe alles mit 3,3V.
>> PS: Als ich das letzte Mal was lötete, was mit weniger als 230V >> betrieben wird, WAR der ATmega32 tatsächlich aktuell. > >Genau richtig: WAR. Vergangenheitsform. Der gemeine Atmega32 arbeitet bei 2.7V sowieso nicht mehr. Wenn schon dann Atmega32L. Da kann man aber gleich was moderneres kaufen.
Na nun hängt euch doch mal nicht so an dem ATmega32 auf. Wollte damit doch nur andeuten, dass ich tatsächlich nicht auf dem neuesten Stand bin. Eure Hinweise werde ich beachten und einen Mega324PA verwenden. Mittlerweile bin ich vom Niedergang der abendländischen Spannung auf 3,3V überzeugt. Wenn ich also einen "Ultra Low Drop Voltage Regulator" in die Spannungsversorgung einbaue und für den USB-Programmer einen Pegelwandler nach 3,3V einbaue, arbeitet alles mit 3,3V. Die SD-Karte wird sich nicht beschweren und bei dann 4 zu verwendenden Batterien würden die von 1,5V bis 1V funktionieren, viel tiefer sollten sie ja sowieso nicht kommen. Ich verstehe allerdings noch nicht, wie der 74HC4050 als Pegelwandler USB - 3,3V funktioniert, wenn er doch nur ein Puffer ist? Eine geruhsame Nacht wünsche ich.
Aaaaaaaaaaaaaha: Hier steht, dass das Datenblatt bei Reichelt falsch ist: Beitrag "74HC4050 Datenblatt-verwirrung" Dieses kleine Gerät kann also, wenn ich das richtig verstehe, so betrieben werden: 3,3V VCC für den 74HC4050, so dass nur noch 3,3V durchkommen. Tatsächlich verträgt er aber bis zu 15V Eingangsspannung (und nicht, wie viele andere Puffer nur VCC + 0,5V), so dass er bei den 5V-USB-Signalen nicht gleich zusammenbricht. Na, dass das Reichelt-Datenblatt falsch ist, hätt ich mir ja auch denken können... Fällt euch noch ein anderer Baustein ein, mit dem das ebenfalls klappt? Den 74HC4050 gibt es zur Zeit nicht in der Dresdner Conrad-Filiale. Oh weh, ich hab das böse Wort ausgesprochen. so früh am Morgen! Einen schönen Tage allenthalben, Martin
Na dann führ ich doch mal meinen Monolog weiter: Dieses Gerät verträgt http://www.produktinfo.conrad.com/datenblaetter/150000-174999/172642-da-01-en-C_MOS_IC_HCF_4050_BEY_DIP16__STM.pdf Absolut max ratings: VDD = 22V Vinput = 18V I input = 10mA (ganz schön wenig, aber für die Signale wird es reichen) recommended: VDD 3 - 20V Vinput 15V Da der enable-Eingang nicht invertiert ist, kann ich den gleich an 3,3V+ legen, so dass ein Beschreiben über die ISP immer möglich ist. Damit das Programmieren nicht auch immer die SD-Karte verwurstet, würde ich so ein Ding nochmal zwischen ATmega und SD-Karte kleben und die enable-Leitung über einen beliebigen freien Pin hochziehen, wenn die SD-Karte beschrieben werden soll. Eine neue Skizze hänge ich an.
Martin Zippel schrieb: > Zum wiederholten Auftauchen des 3,3V-Vorschlages: Die Schaltung muss mit > Batterien betrieben werden. Ich möchte gern den großen VCC-Bereich der > µC nutzen, um sie ebenso über USB während der Aufbau- und Bastelphase, > als auch später über drei volle bis leere Batterien nutzen zu können. Soweit, so gut. Das geht auch prima mit einem Regler. Je nach SD-Karte könnte es höchstens sein, dass die Karte nicht bis zur minimalen Betriebsspannung (2,7 V) arbeitet. Der AVR macht das allemal. > Bei der Verwendung von 3,3V-Reglern für alle Bauteile gefällt mir die > Vorstellung nicht, Energie zu verheizen. Dein Gefühl mal in allen Ehren, hast du dir denn mal die Tatsachen angesehen? Ein ATmega32L (um bei deinem Beispiel zu bleiben, ist aber bei anderen ähnlich) braucht bei Vcc = 5 V doppelt so viel Strom wie bei 3,3 V, mithin dreimal so viel Energie. Wenn du jetzt einen Linearregler für 3,3 V einfügst, braucht folglich die gesamte Schaltung bei 5 V nur noch 1,5 mal so viel Energie wie bei 3,3 V! (Was glaubst du eigentlich, was mit dem Betriebsstrom passiert, der in den AVR bei 5 V reinfließt? Er leuchtet nicht, bewegt nichts, strahlt auch keine anderen EM-Wellen ab. Ja, es wird verheizt.) > Außerdem kann ich dann keine > Spannungen von unter 3,7V mehr nutzen, was schade wär. Es sagt ja niemand, dass du einen Regler benutzen solltest, der genauso altertümlich ist wie der ATmega32. Nimm einen ordentlichen modernen Lowdrop-Regler mit p-Kanal-FET als Stellglied. Die Dinger haben keinen nennenswerten Ruhestrom, und bei einer Eingangsspannung unter 3,3 V bleibt der FET einfach vollständig geöffnet, mit ein paar Ohm Kanalwiderstand zwischen Batterie und deiner Schaltung.
Martin Zippel schrieb: > 5V-USB-Signalen nicht gleich zusammenbricht. Was für 5V USB Signale überhaupt? Die D+/D- Signale haben bei Low und Full Speed maximal 3.6V. USB VBus ist 5V, aber da kommt ja ein Spannungsregler dahinter. Oder hast Du so einen grottigen ISP Programmer, der nur 5V Systeme programmiert? Kauf Dir zur Abwechslung was vernünftiges wie das Original von Atmel, dann geht das auch. Der hat Pegelwandler eingebaut, die vom zu programmierenden Device gespeist werden, und damit stimmen die Pegel immer, bis herunter zu mindestens 2.5V, möglicherweise bis 1.8V (müsste ich nachschauen). Billigschrott spart sich diese Beschaltung möglicherweise. fchk
>Die D+/D- Signale haben bei Low und Full Speed maximal 3.6V. >USB VBus ist 5V, aber da kommt ja ein Spannungsregler dahinter. Ich bin davon ausgegangen, dass die Signale des USB-Programmers ebenfalls über 5V laufen. Da ich kein Oszilloskop mehr habe, konnte ich es nicht prüfen. Denkt ihr denn, dass die Schaltung, wie ich sie zuletzt skizziert habe, laufen würde? Der HCF4050B zwischen USB und Mega wäre bei USB-Signalen von 3,6V zwar überflüssig, schaden würe er aber auch nicht. Eventuelle sollte ich die enable-Leitung aber noch einmal überdenken, da er sonst immer (auch wenn's wenig ist) Strom verbraucht.
Martin Zippel schrieb: >>Die D+/D- Signale haben bei Low und Full Speed maximal 3.6V. >>USB VBus ist 5V, aber da kommt ja ein Spannungsregler dahinter. > > Ich bin davon ausgegangen, dass die Signale des USB-Programmers > ebenfalls über 5V laufen. Da ich kein Oszilloskop mehr habe, konnte ich > es nicht prüfen. Das sagt mir, dass Du nicht das Original von Atmel hast, sondern irgend einen Billigscheiß. Wenn der nur 5V-Systeme programmieren kann, dann gehört der Pegelwandler in das ISP-Kabel und nicht vor die SD-Karte. Grund: Ein mit 3.3V betriebener AVR verträgt keine 5V-Signale ohne weitere Schutzmaßnahmen. fchk
>dann gehört der Pegelwandler in das ISP-Kabel und nicht vor die SD-Karte.
Welcher, "der Pegelwandler"? Ich hab doch zwei vorgesehen. Außerdem geht
die USB-Spannung über den Regler auf 3,3V runter. Hast du dir das Bild
angesehen? Ich hänge es noch einmal an.
Gedeihliches Treiben wünsch ich,
Martin
Martin Zippel schrieb: > Welcher, "der Pegelwandler"? Der, der in deinem Bild rosa ist. Der funktioniert so nämlich auch nicht, denn je nachdem, welche der Leitungen er treibt, muss er den Pegel entweder auf 3,3 V herabsetzen (/RESET, MOSI, SCK) oder von 3,3 V auf den vom Programmer benötigten Wert anheben (MISO). Das lässt sich mit einem einzelnen 4050 nicht bewerkstelligen. Der zweite 4050 ist ja nun kein Pegelwandler mehr, sondern trennt nur noch die SD-Karte vom ISP-Interface ab. Kann man so machen. Wenn du aber einen moderneren AVR benutzt, dann kannst du dir den auch sparen: die neueren USART-Blöcke kann man als SPI-Master benutzen, dan kannst du die SD-Karte dann an so einen SPI-Master hängen, während das „klassische“ SPI-Interface für ISP reserviert bleibt.
Das rosafarbene Bauteil ist kein IC, es ist lediglich ein Symbol für den Stecker vom USB-Programmer. Ich hab's jetzt deutlicher gekennzeichnet. Im Prinzip dient IC1 jetzt nur noch dazu, vom Billigscheiß ankommenden 5V bzw. vom Atmelqualitätsprogrammer ankommenden 3,6V auf sozialverträgliche 3,3V abzudämpfen. Enable (nicht invertiert) hängt jetzt mit an CS zur SD-Karte. Das heißt, wenn der Mega mit der SD-Karte sprechen will, schaltet er den HCF4050B aus. Für den Rückweg (MISO) habe ich jetzt den 74HCT125 vorgesehen. Den zweiten HCF4050B hatte ich tatsächlich nur dazwischengeschaltet, um die SD-Karte während ihrer Nichtbenutzung mehr oder weniger physisch von der ISP zu trennen, um zu vermeiden, dass bei ISP-Benutzung (USB-Atmega) ständig auch die SD-Karte zuhört. Dabei hatte ich wohl vergessen, dass die ohne Aktivierung der CS-Leitung gar kein Interesse hat, zu gehorchen. IC2 ist jetzt rausgeflogen. Erneut hänge ich dieser Nachricht eine aktuelle Skizze an.
Eieieiei, ein einfacher, NORMALER Programmieradapter ala AVR ISP MK II und die ganze Diskussion ist hinfällig. Der kann von 1,8-5V alles direkt programmieren, weil die Pegelwandler im Programmieradapter drinstecken.
Naja, ich weiß aber nicht, womit in Zukunft programmiert werden wird, wer da aus versehen welches Gerät dranhängt. Mittlerweile habe ich mich ja mit dem Gedanken der 3,3V als Spannung "für alles" angefreundet, womit ich nur noch die Schaltung vor den 5V des USB-Programmers (und später auch vor den 6V der 4 neuen Batterien) "schützen" muss. Würde denn die Schaltung, die ich in meinem letzten Post angehängt habe, so funktionieren, wie ich es beschrieben habe?
Martin Zippel schrieb: > Naja, ich weiß aber nicht, womit in Zukunft programmiert werden wird, > wer da aus versehen welches Gerät dranhängt. Naja, wenn du das nicht weißt, woher weißt du dann, dass niemand die Schaltung am Ende unter einem Autoreifen platziert oder in einem Teich versenkt? Ein ISP-Stecker gehört doch nun nicht gerade zum standardmäßigen user interface, d. h., wer ihn benutzt, sollte auch wissen, was er da tut. > und später auch vor den 6V der 4 neuen Batterien Bislang waren es immer 3, die haben zusammen, wenn sie neu sind, um die 4,9 V. > Würde > denn die Schaltung, die ich in meinem letzten Post angehängt habe, so > funktionieren, wie ich es beschrieben habe? Ja, sieht so aus. (Allerdings hast du die SD-Karte nun wieder direkt am ISP-Port dranhängen. Ich dachte, die wolltest du sicherheitshalber entkoppeln? Dann müsste sie an RXD0, TXD0, XCK0 sowie für /SS an einen x-beliebigen GPIO-Pin.) Martin Zippel schrieb: > Das rosafarbene Bauteil ist kein IC, es ist lediglich ein Symbol für den > Stecker vom USB-Programmer. 'tschuldigung, ich meinte auch den 4050 oberhalb deines Steckers.
>>Naja, wenn du das nicht weißt, woher weißt du dann, dass niemand >>die Schaltung am Ende unter einem Autoreifen platziert oder in einem >>Teich versenkt? >Ich versteh' den Aufwand, ehrlich gesagt, nicht. Ich ziehe zwischen "Ups, falschen Programmer verwendet" und "Mist, die Schaltung ins Wasser geworfen" eine gedankliche Grenze. Nein, ich kann sie nicht genau definieren. Eventuell benutze ich (oder wer auch immer sonst mit dem Aufbau zu tun hat) in Zukunft nicht mehr denselben Programmer wie heute. Ist ja durchaus denkbar, dass man mal rausfährt und einen anderen Programmer mitnimmt. Und letztendlich, nachdem ihr mich von den 3,3V überzeugt habt, sieht mir die Variante mit den zwei Puffern, welche die Schaltung unabhängig von der Programmerspannung machen, wie eine sehr elegante Lösung aus. >Bislang waren es immer 3, die haben zusammen, wenn sie neu sind, um die 4,9 V. Das stimmt, aber wenn ich es recht sehe, benötigt auch ein Ultra Low Drop Regler noch eine Spannung von mindestens 0,4V über der zu regelnden Spannung, also 3,3V + 0,4V = 3,7V. Bei 4 verwendeten Batterien funktionieren diese im Bereich von 4x1,5V = 6V bis etwa 4x1,0V = 4,0V, das klingt doch sehr sympathisch?! >Ja, sieht so aus. (Allerdings hast du die SD-Karte nun wieder direkt >am ISP-Port dranhängen. Ich dachte, die wolltest du sicherheitshalber >entkoppeln? Dann müsste sie an RXD0, TXD0, XCK0 sowie für /SS an >einen x-beliebigen GPIO-Pin.) Wie ich im letzten Post schrieb, sollte ja für die SD-Karte keine Gefahr mehr bestehen, wenn alles nur noch über den 3,3V-Regler bzw. bei der ISP über den Puffer geht. So würde ich mir die Energie, die der Puffer zwischen Atmega und SD-Karte verbraucht, sparen. Ja, das ist sehr wenig Energie, eventuell baue ich ihn doch ein. >> Das rosafarbene Bauteil ist kein IC, es ist lediglich ein Symbol für den >> Stecker vom USB-Programmer. >'tschuldigung, ich meinte auch den 4050 oberhalb deines Steckers. Es ist ja auch mehr hingeschmiert, als gezeichnet.
Martin Zippel schrieb: > Eventuell benutze ich (oder wer auch immer sonst mit dem Aufbau zu tun > hat) in Zukunft nicht mehr denselben Programmer wie heute. Ist ja > durchaus denkbar, dass man mal rausfährt und einen anderen Programmer > mitnimmt. Dann verkauf einfach alle die, die du noch hast, und die keine eingebauten Levelshifter haben, bei ibäh. Danach kannst du keinen „falschen“ mehr erwischen. ;-) Übrigens dürfte der Fall viel weniger drastisch werden, als du so erwartest. Die 5 V am USB sind eher nominell, meist kommen beim Device schon mal bloß 4,5 V an (und das lässt die USB-Spec ja auch zu). Wenn du diese dann über den treibenden Controller deines Programmers auf die ISP-Leitungen einspeist, gehen nochmal vielleicht 0,5 V in den Ausgangsstufen des Controllers drauf. Die verbliebenen 4 V öffnen dann die Schutzdioden deines AVRs, an denen wiederum 0,7 V abfallen. Damit wird Vcc also nicht auf (wesentlich) mehr als 3,3 V angehoben. In der Praxis wird also auch in diesem Falle nichts kaputt gehen. >>Bislang waren es immer 3, die haben zusammen, wenn sie neu sind, um >> die 4,9 V. > Das stimmt, aber wenn ich es recht sehe, benötigt auch ein Ultra Low > Drop > Regler noch eine Spannung von mindestens 0,4V über der zu regelnden > Spannung, Wenn du ihn mit 10 A belastest. Martin, hier fließen ein paar Milliampere. Wenn ein Regler da schon 0,4 V Spannungsabfall hat, dann sollte man ihn dem Hersteller um die Ohren werfen, der das Ding als “low dropout” bewirbt. Es gibt inzwischen wirklich genügend Regler, bei denen das in allen praktischen Belangen 100 mV oder weniger werden. >>Ja, sieht so aus. (Allerdings hast du die SD-Karte nun wieder direkt >>am ISP-Port dranhängen. Ich dachte, die wolltest du sicherheitshalber >>entkoppeln? Dann müsste sie an RXD0, TXD0, XCK0 sowie für /SS an >>einen x-beliebigen GPIO-Pin.) > > Wie ich im letzten Post schrieb, sollte ja für die SD-Karte keine Gefahr > mehr bestehen, wenn alles nur noch über den 3,3V-Regler bzw. bei der ISP > über den Puffer geht. Mir ging es mehr darum, dass die SD-Karte dann den Programmier-Datenstrom „mitliest“. > So würde ich mir die Energie, die der Puffer > zwischen Atmega und SD-Karte verbraucht, sparen.k Daher ja auch mein Vorschlag, stattdessen die SD-Karte an die USART (im SPI-Modus) zu hängen.
> Mir ging es mehr darum, dass die SD-Karte dann den > Programmier-Datenstrom „mitliest“. Ja, das war ja auch meine Intention. Aber ich hatte dabei den CS-Pin vergessen. Solange der vom Pullup auf 3,3V gehalten wird, interessiert es die Karte doch gar nicht?! > Wenn du ihn mit 10 A belastest. Ich hab im Datenblatt groß auf de ersten Seite "Low Drop Out Voltage 0.4V" gelesen und dachte, das wäre wohl das, womit der Hersteller "angibt". Wenn es nach wie vor mit 3 Batterien läuft, umso besser. Die Vierte wäre dann praktisch nur dazu da, die Laufzeit zu verlängern.
Martin Zippel schrieb: > Ja, das war ja auch meine Intention. Aber ich hatte dabei den CS-Pin > vergessen. Solange der vom Pullup auf 3,3V gehalten wird, interessiert > es die Karte doch gar nicht?! Das stimmt schon. Andererseits würde das Unterbringen der SD-Karte an einem separaten Controllerport halt die Karte noch weniger gefährden, selbst für das oben skizzierte Szenario, dass jemand da direkt mit einem Programmer herangeht, der vom USB gespeist ist. Zwischen dem Programmer und der SD-Karte ist dann halt noch ein Stapel Eingangsschutzdioden (mit 0,7 V Spannungsabfall) mehr dazwischen. > Ich hab im Datenblatt groß auf de ersten Seite "Low Drop Out Voltage > 0.4V" gelesen und dachte, das wäre wohl das, womit der Hersteller > "angibt". Ja, aber das bezieht sich dann auf den maximalen Laststrom. Weiß ja nicht, welchen du dir angesehen hast. Bei den hier betrachteten eher kleinen Strömen sollte das wirklich viel weniger werden. Musst halt mal ein paar Regler miteinander vergleichen. Schau dir auch die Ruheströme an. Lowdrop-Regler mit pnp-Transistor brauchen da mehr als solche mit FETs. > Wenn es nach wie vor mit 3 Batterien läuft, umso besser. Die > Vierte wäre dann praktisch nur dazu da, die Laufzeit zu verlängern. Solange du keinen Schaltregler benutzt, verlängerst du die Laufzeit allerdings nicht (zumindest nicht, solange die SD-Karte auch noch bis 2,7 V hinab funktioniert), denn der Strom bleibt ja der gleiche.
So, mit dieser Schaltung kann Dein Billig-Programmer alle Target-Spannungen von 1.65V bis zu 5.5V. Der verwendete Level-Shifter-Baustein NC7SZ125 kann am seinen Eingängen bis zu 5.5V ab, auch wenn er mit 1.65V betrieben wird. Er wird auch in vielen JTAG Programmern eingesetzt, zB bei Amontec. Kostenpunkt so um die 30 Cent bei den üblichen Verdächtigen (Digikey, Farnell, Mouser). Daran denken, dass beim ISP-Programmer an Pin 2 Spannung anliegen muss, sonst funktioniert der Levelshifter für MISO nicht. Datenblatt: http://www.fairchildsemi.com/ds/NC/NC7SZ125.pdf fchk
Ich möchte, für den Fall, dass nach mir jemand nach einer Lösung für dieses doch recht weit verbreitete Problem sucht, meine Ergebnisse notieren. Auf die Misserfolge und langen Fehlersuchen werde ich nicht eingehen, das dürfte jedem bekannt sein. Dank an Frank K. für die Schaltung, aber als ich diesen Plan sah, waren die Teile für meinen eigenen Vorschlag schon bestellt. Letztendlich läuft der von mir vorgeschlagene Schaltplan, um den Atmega zu programmieren. Allerdings muss ich den 4050BE jedes Mal entfernen, wenn die Schaltung arbeiten soll, da sonst undefinierbare Dinge geschehen. Allerdings kann ich bisher keine bessere Alternative für einen Pegelwandler 5V - 3,3V finden. Die Liste vom µC-Forum hilft mir nicht weiter, keiner der dort genannten Bausteine ist bei Conrad erhältlich. Außerdem scheint mir dort der genannte 74AHC126 falsch eingeordnet, da er an den Logikeingängen nur 0,5V mehr als Supplyspannung verträgt. Der 74HCT125N macht keine Probleme, der kann auch im normalen Betrieb verbleiben. Zusammengefasst: Den 4050BE zum Betrieb rausnehmen, dann funktioniert der Aufbau. Ich danke euch für Eure Vorschläge.
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.