Hallo, für eine Schaltung, die sowieso schon einen mit 5V versorgten ATMega8 enthält, benötige ich eine kleine negative Spannung, die ich mit einer Ladungspumpe erzeugen möchte. Baue ich diese wie im Anhang gezeigt auf und toggle den PC5, funktioniert es auch soweit einwandfrei. Nun zum eigentlichen Problem: Ich möchte die Ladungspumpe gerne statt vom Pin des ATMegas mit seiner begrenzten Leistung und festen Spannung extern versorgen, um die Spannung verändern zu können und den ATMega8 nicht zusätzlich zu belasten. Mein erster Gedanke war, das irgendwie mit einem Transistor zu realisieren, was jedoch, wie ich inzwischen herausgefunden habe, nicht funktioniert. Wie kann ich das Problem lösen? In diesem Thread Beitrag "Ladungspumpe mit Atmega" fand ich dann ein, meinem Verständnis nach, ähnliches Problem, wo darauf verwiesen wurde, dass eine Push-Pull-Stufe benötigt wird. Ist das die Lösung, und wie funktioniert so eine? Ist in diesem Thread Beitrag "Ladungspumpe funktioniert manuell aber nicht an uC" eine solche zu sehen, und funktioniert das so? Ich hoffe auf Eure fachkundige Hilfe, ich bin inzwischen absolut ratlos und bin für jeden Hinweis dankbar, der mir zur Lösung des Problems verhelfen könnte. Vielen Dank im Vorraus! Pascal
Ladungspumpen kann man normalerweise auch mit einem NE555 aufbauen und ähnlichen Geräten. Auch ein Treiberbaustein dazwischen müsste klappen. Was mir jetzt einfallen würde (aber bin mir nicth sicher ob das geht!): Eine halbe(?) H-Brücke mit Low-Level Mosfets aufbauen.
Das einfachste ist, den Frequenzausgang (clock-out) als ladungspumpe zu nehmen.
Hallo, > Ladungspumpen kann man normalerweise auch mit einem NE555 aufbauen und > ähnlichen Geräten. Ja, aber wie gesagt, der ATMega8 ist sowieso vorhanden und kann das übernehmen. > Auch ein Treiberbaustein dazwischen müsste klappen. Wie würde das aussehen, hast du dafür vllt einen Link oder ein kurzes Schaltbild? > Was mir jetzt einfallen würde (aber bin mir nicth sicher ob das geht!): > Eine halbe(?) H-Brücke mit Low-Level Mosfets aufbauen. Ich würde es nach möglichkeit gerne mit Standardbauteilen, die ich schon da habe, aufbauen, also Transistoren, Widerständen, Kondensatoren, Dioden, da ich wegen einem bisschen "Vogelfutter" keine Lust habe, eine extra Bestellung zu machen. Da wird das doch bestimmt auch eine einfachere Lösung geben, ich kenne sie nur nicht :( >Das einfachste ist, den Frequenzausgang (clock-out) als ladungspumpe zu >nehmen. Sicher, das wäre einfach, ändert aber nichts an meinem Problem, oder verstehe ich da etwas falsch? Pascal
>Baue ich diese wie im Anhang gezeigt auf >und toggle den PC5, funktioniert es auch soweit einwandfrei. D2 ist falsch rum eingezeichnet. Mehr Power geht mit der Schaltung im Anhang. Der Takt kann logischerweise auch aus dem uC kommen. Ändern kannst du die Spannung so aber nicht. Stimmt nicht ganz, Last dran, dann knickt die Spannung ein ;) Wozu eigentlich ändern, und in welchem Bereich? Wieviel Strom brauchst du?
Wenn man am Mega 8 noch einen 2 ten Pin frei hat, könnte man auch 2 Pins für die Ladungspumpe nehmen. Für weniger Belastung und Störungen wäre auch ein kleiner Widerstand (z.B. 50 Ohm) in Reihe zu C1 sinnvoll.
ghet auch mit den Mega8 mit PWM Ansteuerung: http://comwebnet.weimars.net/index.php?option=com_content&task=view&id=38&Itemid=49
> D2 ist falsch rum eingezeichnet. Tatsache, ist mir auf die schnelle beim Zeichnen nicht aufgefallen, auf dem Steckbrett habe ich sie andersrum ;) > Mehr Power geht mit der Schaltung im Anhang. > Der Takt kann logischerweise auch aus dem uC kommen. Was für eine Funktion hat der 74HC14? Das erschließt sich mir nicht so wirklich, es hängt ja trotzdem alles an dem Pin, der die Frequenz generiert... > Ändern kannst du die Spannung so aber nicht. > Stimmt nicht ganz, Last dran, dann knickt die Spannung ein ;) > Wozu eigentlich ändern, und in welchem Bereich? > Wieviel Strom brauchst du? Ich brauche die Spannung für den Kontrast eines LCDs. Da ich die ganze Schaltung mit Knopfzellen betreiben will, ist mir ein möglichst geringer Stromverbrauch wichtig, deshalb möchte ich auf Spannungsregler verzichten. Da alle anderen Komponenten mit Spannungen von 3-5V problemlos klarkommen, werde ich 3 Knopfzellen nehmen und die Spannung direkt zu den Komponenten führen. Da bei den Batterien aber mit der Zeit natürlich die Spannung sinken wird, verändert sich auch die erforderliche Kontrastspannung. Das wollte ich gerne ausgleichen, indem ich mit einem freien ADC des ATMegas die Batteriespannung messe und mit einem PWM-Port und einem Tiefpass eine Spannung für die Ladungspumpe erzeuge, sodass am Ende genau die benötigte Kontrastspannung dabei herauskommt. Mein Problem ist eben, dass ich nur auf die Teile zurückgreifen kann, die ich hier liegen habe, und das sind nur die absoluten Standardteile. Ist das so überhaupt möglich, und wenn ja, wie kann ich die Ladungspumpe mit der erzeugten Spannung vom PWM-Port und der Frequenz von einem anderen Pin betreiben? Das ist mein Problem, für das ich alleine keine Lösung gefunden habe :( Der Strom beträgt laut Multimeter ungefähr 0,2mA, also nicht zuviel für eine Ladungspumpe. Kontrastspannung muss bei dem Display ungefähr Betriebsspannung - 5V sein, also bei vollen Batterien mit 4,7V ungefähr -0,3V, bei leeren mit 3V ungefähr -2V. >Dafür gibs doch auch noch den ICL 7660 für ein paar cent. Habe ich leider nicht :( >Wenn man am Mega 8 noch einen 2 ten Pin frei hat, könnte man auch 2 Pins für die Ladungspumpe nehmen. Hilft mir bei meinem Problem leider nicht, mein Problem ist ja nicht der Strom, sondern die Spannung, auch wenn das oben vllt. nicht so gut rüber kam. Vielen Dank schonmal für eure zahlreiche Hilfe! Pascal
>Ich brauche die Spannung für den Kontrast eines LCDs. Da ich die ganze >Schaltung mit Knopfzellen betreiben will, Knopfzellen? Was zieht deine Schaltung sonst noch so an Strom? Willst du die Knopfzellen alle zwei Tage austauschen?
Fast keinen, alle anderen Komponenten wie das Display werden nur dann eingeschaltet, wenn sie gebraucht werden, der ATMega8 ist fast immer im Sleepmode und wird nur dann kurz geweckt, wenn er benötigt wird. Insgesamt kam ich bei meinen Berechnungen auf 50-100 Tage, damit kann ich gut leben. Länger als 2 Tage hält die Schaltung auch definitiv durch, das habe ich getestet - ich habe nurnoch das Problem mit dem Kontrast, für das ich einfach keine Lösung finde. Wenn du mir da also den entscheidenden Tipp geben könntest, wäre ich dir sehr dankbar.
hallo Pascal D., warum sollte das mit einem transistor nicht gehen ? wie hast du den denn da eingebaut ? (schaltung) gruss klaus
Hallo, ich habe es so versucht, wie es im Anhang ersichtlich ist. Das geht so bestimmt nicht, aber für mich als ungeübten Hobbybastler war es einen Versuch wert. Den Aufbau habe ich, wie auch die funktionierenden Schaltung im ersten Post, mit einem Widerstand belastet und mit dem eingezeichneten Voltmeter die Ausgangsspannung gemessen. Sie war deutlich höher, als sie es bei 3V Versorgungsspannung und Diodenverlusten hätte sein dürfen, an den Rest kann ich mich leider nichtmehr so genau erinnern. Hast Du vllt eine Idee, wie ich es trotzdem mit relativ einfachen Mitteln schaffen könnte?
Ich verstehe jetzt gerade das eigentliche Problem nicht ganz, ich würde das ganze so machen: Der AVR erzeugt ein PWM Signal, das über einen Widerstand die Ladungspumpe versorgt. So kann man durch das Verändern der PWM zwischen 0 und 50% die Spannung einstellen. Da das ganze stark nichtlinear und Last abhängig ist, würde ich die Spannung über einen Spannungsteiler gegen die Betriebsspannung mit dem ADC messen. Ein ADC Wert von 1024 würde dann 0V und ein Wert von 0 würde maximaler Spannung entsprechen. Damit das ganze funktioniert, muss man als Referenz für den ADC die Betriebsspannung verwenden. Jetzt weiß man die negative Spannung im Verhältnis zur Betriebsspannung. Nun muss man die Betriebsspannung messen (was man indirekt dadurch machen kann, indem man die Bandgapspannung misst). Daraus kann man dann die erzeugte, negative Spannung berechnen. Das ganze ist etwas Softwareaufwand, hat aber den Vorteil, dass man außer der Ladungspumpe und einem Spannungsteiler keine weiteren Bauteile benötigt.
ja ... pascal d., jetzt mal unabhängig von benedikts meldung und auch unabhängig davon, welche lösung im ende die beste ist, habe ich ja gefragt, warum es mit dem transistor nicht gehen soll. du schreibst : "ich habe es so versucht, wie es im Anhang ersichtlich ist." nun sehe ich in deinem anhang keinen transistor. wo ist mein problem? gruss klaus
Hallo, Entschuldigung, das Problem ist der nur in Gedanken angehängte Dateianhang ;) Sollte hier jetzt vorhanden sein... Bat2 steht für die über den ATMega8 erzeugte und veränderbare Spannung, mit der ich die Ladungspumpe betreiben möchte, zum Testen habe ich zunächst eine Festspannung von 3V aus einem extra Netzteil genommen, der Einfachheit halber. Außerdem habe ich PC5 hier einfach nur als Ausgang für die Frequenz für die Ladungspumpe nehmen wollen, die Pin-Wahl hat nichts mit seiner Fähigkeit als ADC zu tun ;) >Der AVR erzeugt ein PWM Signal, das über einen Widerstand die >Ladungspumpe versorgt. So kann man durch das Verändern der PWM zwischen >0 und 50% die Spannung einstellen. Genau so, wie du es beschrieben hast, möchte ich es auch haben, du hast mit deiner Erklärung genau das wiedergegeben, was ich versuche. Das Messen der Spannung mit einem ADC und einem Spannungsteiler und die davon abhängige PWM ist dabei nicht das Problem, ich scheitere derzeit daran, mit der durch PWM generierten Spannung die Ladungspumpe zu betreiben. Funktioniert das so, wie im Anhang gezeigt, oder gibt es da eine einfachere und vorallem funktionierende Möglichkeit? Um die Frage nochmal zu präzisieren: Wie bekomme ich es hin, dass die Ladungspumpe mit einer anderen Spannung als der arbeitet, die der als "Frequenzausgang" missbrauchte AVR-Pin zur Verfügung stellt (beim Testen und im Schaltplan 5V, später die Batterie- und somit auch AVR-Betriebsspannung)? Danke nochmal für eure Hilfe! Pascal
Pascal D. schrieb: > Funktioniert das so, wie im Anhang gezeigt, oder gibt es da > eine einfachere und vorallem funktionierende Möglichkeit? Das funktioniert so nicht, das ist viel zu kompliziert. Bat2 weg, C1 stattdessen an R1, der deutlich kleiner sein muss (etwa 100-500 Ohm je nach Strombedarf). T1 weg stattdessen kurzschließen. Dann passt die Ladungspumpe. Jetzt noch anstelle von PortC irgendeinen der Output Compare Pins verwenden (OC2 oder OC1A/B je nachdem welchen Timer und welche Pins du noch frei hast). Wenn du den Ausgang dann mit z.B. 10k belastest, solltest du über die PWM dann die Spannung verstellen können.
Ah, ich soll also keine extra Frequenz für die Ladungspumpe nehmen, sondern die der PWM dafür mitnutzen statt die erst zu glätten. Ich probiere es noch heute Abend aus, aber danke dir jetzt schonmal für deine Mühe, ich hätte nicht gedacht, dass es so einfach geht, manchmal ist weniger eben mehr :)
Ja, genau. Alles andere ist nur unnötiger Aufwand und bei einem so geringen Strom funktioniert das wunderbar.
ja ja pascal... nun kommst du ja weiter... dank der vielen berater. zumindest was dein display betrifft. .. allerdings wäre es ja auch nicht falsch , das problem mit dem transistor zu verstehen.... oder ? nachdem du nämlich die schaltung mit dem transistor gepostet hast, kann man dir ja für die zukunft helfen, den transistor richtig einzubauen. dies natürlich nur, wenn du es magst. ... allerdings muss ich ja sagen, dass deine transistoridee grundsätzlich sehr gut war. allerdings, wie auch von anderen erwähnt, nicht unbedingt für dein projekt nötig... aber vielleicht "GUT ZU WISSEN". sag bescheid, ob du noch über den transistor sprechen magst! gruss klaus
>sag bescheid, ob du noch über den transistor sprechen magst!
Muss man nicht mehr drüber sprechen.
Es funktioniert so nicht.
Verstehen würde ich schon gerne, wo mein Denkfehler lag, um es in Zukunft besser machen zu können, ohne die zahlreiche Hilfe auszukommen und eventuell mal selber soweit zu sein, anderen Leuten bei ähnlichen Problemen helfen zu können. Wenn also jemand bereit wäre, es zu erklären, bin ich sicher nicht abgeneigt, ich kann aber auch verstehen, wenn Ihr auf solche Anfängerprobleme keine Lust mehr habt. Außerdem sagte Holger ja schon, dass es so nicht funktioniert, von daher können wir das wohl als erledigt betrachten. Die von Benedikt empfohlene Variante habe ich gerade mal auf dem Steckbrett aufgebaut, die Spannung lässt sich zwar nur in sehr engen Grenzen verändern, aber ich hoffe, dass ich damit auskommen werde. Ich werde jetzt meinen richtigen Aufbau umbauen und dann mal schauen, ob es klappt. Danke nochmal an alle Beteiligten für eure Mühe, ich hätte nicht zu hoffen gewagt, dass ich nach nur 24h der Lösung so nah bin. Pascal
Versuch doch einfach mal zu verstehen, wie eine Ladungspumpe funktioniert. Hast du die Schaltung auf dem Steckbrett denn auch, wie gesagt, belastet? Mit 10K.
Pascal D. schrieb: > Die von Benedikt empfohlene Variante habe ich gerade mal auf dem > Steckbrett aufgebaut, die Spannung lässt sich zwar nur in sehr engen > Grenzen verändern, aber ich hoffe, dass ich damit auskommen werde. Ich > werde jetzt meinen richtigen Aufbau umbauen und dann mal schauen, ob es > klappt. Spiel etwas mit dem Widerstand. Am besten sollte es gehen, wenn die Spannung bei 50% Tastverhältnis gerade so (aber mit etwas Reserve) ausreicht.
Wenn die Kontrastspannung ca. Vcc - 5V sein soll, was spricht gegen eine Z-Diode vom Ausgang nach Vcc? Das war jetzt nur mal so eine Blitzidee, hab es nicht ausprobiert.
uch ...Holger weiss jetzt schon , dass man nicht mehr drüber sprechen muss, obwohl er nicht weiss, über was ich mit Pascal D. reden möchte. ich finde es immer unheimlich erfrischend, wenn antworten gegeben werden , bevor die frage gestellt wurde. lass uns drüber reden ... Pascal D.. wie bei jedem opv ist es wichtig, ein gutes Signal/noise ratio zu haben. gruss klaus
@ Klaus De lisson (kolisson) was willst Du groß drüber reden? Seine Transistorvariante funktioniert nicht, weil es keine Gegentaktstufe ist. Er hat nur einen PullDown-Transistor, aber keinen PullUp. Eine Ladungspumpe lebt ja vom hoch- und runterziehen der Eingangsspannung. @ Pascal D. ich würde sagen - mach es so, wie von Benedikt vorgeschlagen. Extra Transi brauchste bei der geringen Last nicht. Damit sich die Ladungspumpe auch gegen 0V regeln läßt, brauchste natürlich immer eine Last dran - irgendwas brauchste ja, um die Pumpen-C's wieder entladen zu können. Die Spannung, die dabei so rauskommen dürfte, wird wohl einem Spannungsteiler entsprechen, bestehend aus dem Last-R, und dem Treiber-R (µC-Ausgangs-R + Serien-R zw. Ausgang und Pumpe, falls vorgesehen), wobei der Treiber-R mit dem Tastverhältnis eingeht (ich würde sagen R/t, mit R als Treiber-R, und t als Tastverhältnis)
Z.B. genau sowas - mit der Aussage kann ich etwas anfangen, hab was handfestes zum Googlen und weiß, woran ich gescheitert bin. Aber wenn ich das so sehe, ist das wirklich überdimensioniert für meine kleine Spannung, vorallem hätte ich ja dann auch noch stärkere Spannungsverluste durch die beiden Transistoren. Bin bis jetzt noch nicht dazu gekommen, das ganze wie angegeben in der echten Schaltung zu testen, ich hoffe, dass ich das heute noch schaffe, ansonsten morgen Abend.
Sprites mods: Run an uC from an AA-battery http://hackaday.com/2009/07/07/avr-boost-converter/ => http://spritesmods.com/?art=ucboost&f=had
Guten Abend, ich bin jetzt dieses Wochenende endlich wieder dazu gekommen, etwas weiterzubasteln. Die Ladungspumpe ist fertig und funktioniert, durch Verändern des PWM-Wertes kann ich die neg. Kontrastspannung in dem Bereich verändern, in dem ich sie brauche. Probleme bereitet mir jetzt das Messen der Spannung, um sie automatisch anpassen zu können. Benedikt schrieb dazu: > Da das ganze stark nichtlinear und > Last abhängig ist, würde ich die Spannung über einen Spannungsteiler > gegen die Betriebsspannung mit dem ADC messen. Ein ADC Wert von 1024 > würde dann 0V und ein Wert von 0 würde maximaler Spannung entsprechen. > Damit das ganze funktioniert, muss man als Referenz für den ADC die > Betriebsspannung verwenden. > Jetzt weiß man die negative Spannung im Verhältnis zur Betriebsspannung. Ich habe deshalb versucht, mit zwei Widerständen im Verhältnis 1:1 zwischen Vcc und der Kontrastspannung einen Spannungsteiler aufzubauen und in der Mitte mit dem ADC zu messen, wie im Anhang kurz aufgezeichnet. Dieses resultiert jedoch darin, dass die Kontrastspannung sofort auf 0V zusammenbricht, sobald ich die Widerstände verbinde. Was mache ich falsch, und wie geht es richtig? > Nun muss man die Betriebsspannung messen (was man indirekt dadurch > machen kann, indem man die Bandgapspannung misst). Daraus kann man dann > die erzeugte, negative Spannung berechnen. Ich habe dafür einen Spannungsteiler mit zwei Widerständen 1:1 zwischen Vcc und GND genommen, die Mitte mit einem ADC verbunden und mit Internal Reference gemessen. Wie ist das mit der indirekten Messung durch die Bandgapspannung gemeint, bzw. was ist das überhaupt für eine Spannung? Pascal
Der ADC vom Atmega kann keine negativen Spannungen messen. Deine Spannung bricht wegen der internen Schutzdioden vom Atmega zusammen.
warum willst du die spannung für den kontrast denn messen ? reicht es nicht, den kontrast einstellen zu können ? gruss klaus
holger schrieb: > Der ADC vom Atmega kann keine negativen Spannungen messen. > Deine Spannung bricht wegen der internen Schutzdioden > vom Atmega zusammen. Mir fällt gerade auf, ich hatte noch nichtmal die Verbindung zum ATMega hergestellt, es waren nur die beiden Widerstände... Kann es sein, dass die Ladungspumpe einfach zu stark belastet wird und die Spannung deswegen zusammenbricht? >warum willst du die spannung für den kontrast denn messen ? >reicht es nicht, den kontrast einstellen zu können ? Zum Einstellen will ich sie messen, denn wie Benedikt schon geschrieben hat ist sie kein Stück linear, daher brauch ich die Messung.
Pascal D. schrieb: > Wie ist das mit der indirekten Messung durch die > Bandgapspannung gemeint, bzw. was ist das überhaupt für eine Spannung? die bandgapspannung ist die interne spannungsreferenz des µC. den spannungsteiler zum messen von VCC kannst du einsparen, wenn du im ADC als referenz AVCC angibst und als zu messenden channel die bandgapspannung. damit mißt du das verhältnis von bandgapspannung zu VCC, die bandgapspannung beträgt 1.30V, so kommst du auf VCC. cm.
Pascal D. schrieb: > Mir fällt gerade auf, ich hatte noch nichtmal die Verbindung zum ATMega > hergestellt, es waren nur die beiden Widerstände... Kann es sein, dass > die Ladungspumpe einfach zu stark belastet wird und die Spannung > deswegen zusammenbricht? Ja, vermutlich. Die LCD selbst sind recht hochohmig (meist im Bereich von wenigen 10k), daher wäre es auch sinnlos mehr Energie im Spannungsteiler zu verbraten. Ich würde die Widerstände Faktor 10 größer machen (also ca. 47k) und stattdessen dem ADC Pin noch einen kleinen Kondensator mit etwa 10-100nF spendieren.
Hallo, > den spannungsteiler zum messen von VCC kannst du einsparen, wenn du im > ADC als referenz AVCC angibst und als zu messenden channel die > bandgapspannung. damit mißt du das verhältnis von bandgapspannung zu > VCC, die bandgapspannung beträgt 1.30V, so kommst du auf VCC. Danke, funktioniert super! :) > Ich würde die Widerstände Faktor 10 größer machen (also ca. 47k) und > stattdessen dem ADC Pin noch einen kleinen Kondensator mit etwa 10-100nF > spendieren. Versuche ich heute Abend, sobald ich passende Widerstände besorgt habe.
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.