Hallo zusammen, ich möchte einen Atmega8 für kurze Zeit aus einem 47uF Kondensator betreiben. Dieser Kondensator wird einmalig von ca. 1V innerhalb von 10ms auf 5V aufgeladen. Dann schlägt die große Stunde des Atmega8, der nun möglichst viel und lange rechnen soll - mindestens so lange, daß er das Nachladen des Kondensators aus einer Stromquelle anstoßen kann (Elektronik dazu spendiere ich - der Atmega muß nur einen MOSFET-schalten). Dieses Nachladen soll der Atmega dann per ADC genau dosieren, um sich selbst nicht in die ewigen Jagdgründe zu schicken. Nach meinen Berechnungen kann ich den Atmega8 aus dem 47uF Kondensator ca. 50ms speisen, bis die Spannung auf 2,7V zusammengebrochen ist. Dabei möchte ich den Atmega mit seinem internen RC-Oszillator (1MHz) betreiben, um möglichst stromsparend und möglichst schnell arbeits- bereit zu sein. Aus den Datenblättern werde ich irgendwie nicht ganz schlau, was die Start-Up Phase angeht: - Ab wann (wieviel Spannung) rennt denn mein Atmega8 genau los? - Und gibt es irgendwelche "Delays", bevor er sich auf den Programmcode stürzt ? - Zählt meine Spannungsversorgung gemäß Datenblatt nun zur "slowly rising power" oder zur "fast rising power" ? - Im Datenblatt in Tabelle 8-7 wird z.B. von 18 CK Verzögerung gesprochen. Sind das 18 Zyklen (=18us in meinem Falle)? Und was macht der Atmega in dieser Zeit? Warten? Freue mich über jede Antwort. Igel
Du kannst auch einen 1F Goldcap nehmen, so ein 47µF Kondensator nutze ich nur zum stabilisieren der Spannung. Ich habe mal getestet ab wann der ATmega8 zu arbeiten anfängt. Atmega8L: 1MHZ 2.05V Atmega8: 1MHz 2.20V Atmega8: 12MHz 2.55V ATmega644PV: 12MHz 1.90V (bei jedem AVR ist das etwas anders, aber als Richtwert kannst du das nehmen) Was willst du eigentlich machen? igel schrieb: > Dieses Nachladen soll der Atmega dann per ADC genau dosieren, > um sich selbst nicht in die ewigen Jagdgründe zu schicken. Das ist kritisch, wenn die Versorgungsspannung recht hoch und der Widerstand der Zuleitung zu klein ist. Der AVR wartet dann vielleicht noch auf das Ergebnis des ADC obwohl die Spannung schon über 5.5V liegt. Du könntest einen variablen Spannungsregler nehmen und damit die entsprechende Versorgungsspannung herstellen.
Hallo,
Danke zunächst einmal ein Mike für seine Mühen und die interessanten
Infos.
> Was willst du eigentlich machen?
Ich möchte aus einer Batteriezelle (1V - 1,5V) einen Atmega betreiben.
Ich weiß, daß es dafür 10.000 Lösungen mit mehr oder weniger teuren
IC's gibt aber ich habe nun einmal den Ehrgeiz, das Problem möglichst
elegant und mit möglichst wenigen/billigen Bauteilen ohne IC's
zu lösen (mal abgesehen vom Atmega selbst natürlich).
Hier mein Ansatz:
1 | 1V ----- L1 ------------------ D1 --------------------------- |
2 | | | | |
3 | R1 | | |
4 | | | | |
5 | Taster1 C1=47uF Atmega 8 |
6 | | | | |
7 | | | | |
8 | GND --------------------------------------------------------- |
Per Druck auf Taster 1 wird die Spule L1 (1000mH) "geladen". L1 gibt beim Loslassen von Taster 1 über D1 (Schottky Diode) seine Energie an C1. Dort baut sich eine Spannung von max. 5,5V auf, die ausreichen muß, um den Atmega auf Schwung zu bringen. Der Atmega übernimmt dann im Anschluß selbst das Schließen/Öffnen von Taster 1 (der nämlich eigentlich ein MOSFET ist) und pumpt sich so anschließend selbst seine benötigte Energie "in die Birne". (Du bemerkst sicherlich: das Grundprinzip ist mehr oder weniger ein Step-Up-Konverter) Das ist also der Hintergrund meiner Frage ... > Das ist kritisch, wenn die Versorgungsspannung recht hoch und der > Widerstand der Zuleitung zu klein ist. > > Der AVR wartet dann vielleicht noch auf das Ergebnis des ADC obwohl die > Spannung schon über 5.5V liegt. Da hast Du völlig Recht - ich hoffe aber, daß ich dieses Problem mit etwas Hinschmalz, einer guten Bauteildimensionierung und passendem Pumpen-Timing umschiffen kann. Trotzdem kann es - je nach Eingangsspannung - beim ersten Öffnen des Tasters 1 zu einer Überspannung (> 5.5V) an C1 kommen. Das ist noch ein Problem, welches es zu lösen gilt. Meinen ersten Ansatz, eine 5.1V Z-Diode parallel zu C1 zu schalten, mußt ich leider vorhin beerdigen: irgendwie macht die mir meine schöne Spannung an C1 kaputt (muß nochmals näher untersuchen, warum ...) > Du könntest einen variablen Spannungsregler nehmen und damit die > entsprechende Versorgungsspannung herstellen. Wie gesagt: IC's sind für mich tabu - die Eleganz der Lösung ist für mich das Ziel. Viele Grüße Igel
igel schrieb: > Per Druck auf Taster 1 wird die Spule L1 (1000mH) "geladen". > L1 gibt beim Loslassen von Taster 1 über D1 (Schottky Diode) > seine Energie an C1. > > Dort baut sich eine Spannung von max. 5,5V auf, die ausreichen muß, > um den Atmega auf Schwung zu bringen. Das ist doch irgendwie gaga. Mit dem Taster sorgst du dafür daß eine ganze Menge Strom durch die Spule fliesst. 1. Frage: Wie verhinderst du, daß zuviel Strom duch L fliesst? 2. Frage: Taster loslassen und durch die in der Induktivität gespeicherte Energie soll der C geladn werden. Dieses Laden willst du durch den µC selbst überwachen und dann mit einem Mosfet den Strom zum C unterbrechen wenn du 5,5V hast. Wohin soll dann der Rest der Energie? Das gibt dann einen satten Spannungsstoß der deinen Mosfet und vieleicht den µC dazu grillt. Sauber gedacht. Achso su sorgst dafür daß die Überspannung irgendwie abgeleitet wird? Prima, dann kannst du die ganze µC Steuerung samt MosFet weglassen und statt dessen eine 5,5V Zehnerdiode parallel zum kondensator schalten. Die eleganteste Variante ganz ohne µC oder auch nur MosFet
igel schrieb: > Meinen ersten Ansatz, eine 5.1V Z-Diode parallel zu C1 zu schalten, > mußt ich leider vorhin beerdigen: irgendwie macht die mir meine schöne > Spannung an C1 kaputt (muß nochmals näher untersuchen, warum ...) Falsch rum angeschlossen? Dein C ist viel zu klein um nur ab und an über einen Taster gespeist alles zu versorgen. Wahrscheinlich reicht der Leckstrom der Diode um den C recht schnell zu leeren.
Eine sehr ähnliche Lösung zum Betrieb aus einer Zelle wurde schon mit PIC erfolgreich realisiert, mittels timerbasierter PWM, aber ohne ADC. Leider finde ich den Link nicht mehr.
Das Konzept kann schon funktionieren. Ersetze mal die ZD5.1 durch eine ZD5.6 Aber selbst die verbraucht bei 5V schon 1mA. Ansonsten kannst du noch versuchen es mit einem Transistor plus Zenerdiode aufzubauen. Google mal nach Parallelregler. Außerdem: Versorgung aus einer Zelle: Diskrete Schaltungen
Ich habe auch mal eine Schaltung gebaut, wo ein AVR kurzzeitig nur aus einem Kondensator lebt: http://www.rockbox.org/wiki/ArchosInfraredRemote Der Grund war dort ein etwas anderer, ein Zweidrahtinterface was auch die Versorgung stellt. Jörg
Alexander Schmidt schrieb: > Das Konzept kann schon funktionieren. Ersetze mal die ZD5.1 durch eine > ZD5.6 > Aber selbst die verbraucht bei 5V schon 1mA. 5V Surpressordiode (Reichelt). Sollen "besser" sein als normale Z-Dioden.
Michael schrieb: > 5V Surpressordiode (Reichelt). Sollen "besser" sein als normale > Z-Dioden. Die von TSC bei Reichlt fangen aber erst bei 6.8V an. Außerdem glaube ich nicht, dass diese generell besser sind. Die 15KE6.8 Diode leitet bei 6V schon 10mA.
N'abend Mädels, also, erst einmal an alle: Danke, daß Ihr so viel Feedback gegeben habt. Und nun im einzelnen: Udo Schmitt schrieb: > Das ist doch irgendwie gaga. Zum einen finde ich die Grundidee der Schaltung gar nicht gaga. Und zum zweiten kann man in heutigen Zeiten mit "Gaga" ziemlich viel verdienen :-) > 1. Frage: Wie verhinderst du, daß zuviel Strom duch L fliesst? Du hast R1 übersehen. > 2. Frage: Taster loslassen und durch die in der Induktivität > gespeicherte Energie soll der C geladn werden. Dieses Laden willst du > durch den µC selbst überwachen und dann mit einem Mosfet den Strom zum C > unterbrechen wenn du 5,5V hast. Du hast mich mißverstanden: Taster 1 sorgt nur für die "Initialladung" von C1. Anschließend übernimmt der AT-Mega das Schließen und Öffnen des Tasters und damit den Energie-Pumpmechnismus von L1 nach C1. Und weil der Atmega natürlich keine Taster bedienen kann, macht dies in Wirklichkeit ein MOSFET, der parallel zu R1 und Taster1 geschaltet wird. Ich hoffe, das erklärt's etwas besser. Der Rest Deiner Anmerkungen geht auf dieses Mißverständnis zurück. Sodann komme ich zu Sebastian: > Eine sehr ähnliche Lösung zum Betrieb aus einer Zelle wurde schon mit > PIC erfolgreich realisiert, mittels timerbasierter PWM, aber ohne ADC. > Leider finde ich den Link nicht mehr. Das ist superschade - ich wäre sehr daran interessiert. Als nächstes komme ich zu Alexander Schmidt: Danke für die interessanten Anmerkungen. Die Z-Diodencharakteristik muß ich einfach mal genauer untersuchen. Das Problem: Jegliche Spannungbegrenzungen benötigen immer eine Referenzspannung und dafür müßte ich dann wieder ein paar Bauteile (und vermutlich auch kostbare Energie aus C1) spendieren. Da kam mir heute die glorreiche Idee, daß der Atmega doch selbst eine Spannungsreferenz hat und diese (so meine ich mich zu erinern) sogar nach außen geführt ist. Diese Idee werde ich mal im Hinterkopf behalten. Den Link kannte ich schon - er enthält wirklich viele gute Ideen und Schaltungen zu diesem Thema. Ich gebe gerne zu, daß ich hier ein weiteres (hoffentlich elegantes) neues Rad erfinde. Sodann zu Jörg H.: Sehr hübsch - ich bin also nicht der einzige, der einen MOSFET für solche Zwecke vor den Karren spannt. Deine Lötkünste machen mir allerdings echt Angst - der helle Wahnsinn. Dafür muß man Augen wie ein Adler und Finger wie eine Biene haben. Zu Michael (Gast): Danke für diesen Hinweis - ich werde mir dieses Surpressor-Tierchen (oder heißen die Surprise-Dioden?) kennlinienmäßig mal anschauen, wollte aber eigentlich gerne im Gebiet der "Feld-/Wald-/Wiesen- Bauelemente" bleiben. Viele Grüße Igel
N'abend zusammen, nun "Butter bei die Fische": Anbei der erste Schaltungsentwurf. Zumindest in der Theorie läuft alles wie geschmiert: V2, S1 modellieren den vormals erwähnten Taster, den ich hier einfach einmal periodisch schließen/öffnen lasse (sorry für die etwas um- ständliche Taster-Modellierung - es geht in Spice nicht anders) In der Realität wird dieser Taster natürlich nur 1x bedient, danach übernimmt M2 den Job, der seinerseits in der Realität natürlich nicht mit Gate an GND liegt, sondern vom Atmega angesteuert wird. Bei 0.1s wird S1 geschlossen und der Strom fließt über L1, R1, S1 und lädt die Spule auf (siehe grüne Kurve im oberen Diagramm) Bei 0.2s wird S2 geöffnet - die Spule L1 treibt den Strom brav weiter über D1 in den Kondensator C1, dessen Spannung folglich schnell ansteigt (siehe blaugrüne Kurve im unteren Diagramm). Sobald die Spule Ihre Energie in Richtung C1 übertragen hat, versiegt der Strom über D1 und die Spannung an C1 beginnt zu sinken, da über C1 der Atmega mit Strom und Spannung versorgt wird. Die Zenerdiode D2 begrenzt das Spektakel ein wenig, damit es dem Atmega nicht zu viel wird (wie gesagt: in der Realität gibt's bei mir derzeit noch Probleme mit der Z-Diode). Gut sichtbar ist im zweitobersten Diagramm: Ich habe max. 70ms Zeit, bis die Spannung am Atmega von anfangs knapp 5V auf 2,7V gefallen ist. Bis dahin muß der Atmega den MOSFET M2 angesteuert haben und der "Pumpmechanismus" über M2 muß in Gang gekommen sein - sonst ist alles zu spät. Kommentare, Anmerkungen und Verbesserungsvorschläge sind jederzeit willkommen. Viele Grüße Igel
... sorry Bild wurde versehentlich 2x hochgeladen. Gruß Igel
Du könntest einfach einen LiIon Akku nehmen, da eh niemand mehr 1.2V NiMH Zellen zur Versorgung nutzt. Was möchtest du damit eigentlich erreichen? Wichtig: Du kannst deinen StepUp Wandler nicht starten indem du da ein mal hoch drückst, du bekommst ganz sicher auch keine 1 Henry Spule die 66mA aushält zu kaufen. Vorschlag: Zum Strom sparen würde sich ein LiIon Akku anbieten, dessen Spannung senkst du einfach mit einem StepDown Wandler. Der AVR kann ja den Takt erzeugen (PWM) und die Spannung messen (ADC). Wenn dein AVR mit 1MHz läuft regelst du einfach von 3.6V auf 2.1V, so verbraucht er permanent den minimalen Strom. Man kann es so machen dass du den Taster drückst, den AVR so mit den 3.6V versorgst. Danach regelt der AVR die Spannung über den MosFET.
Mein eigentliches Ziel ist es, einen Akku-Entlader für 1 NiCD/NiMH-Zelle zu bauen, ... 1.) der sich selbst aus der zu entladenden Zelle speist. 2.) der die Entladungskurve dokumentiert. (Stichwort: Atmega speichert die Entladekurve im EEPROM) 3.) dessen Entladestrom ich einstellen kann. 4.) dessen Entlade-Abschaltspannung ich einstellen kann 5.) der mir den Entladezustand via LED's anzeigt Ich stimme Dir zu: es gibt 10.000 andere Möglichkeiten, dies zu realisieren, aber mein sportliches (?) Ziel ist es: - für die Umsetzung nur den Atmega8 und möglichst wenige, günstige zusätzliche Standard-Bauteile zu verwenden (keine IC's). Daher kommt die LiIonen-Lösung leider nicht in Betracht. > Wichtig: Du kannst deinen StepUp Wandler nicht starten indem du da ein > mal hoch drückst, du bekommst ganz sicher auch keine 1 Henry Spule die > 66mA aushält zu kaufen. Ich kenne mich mit Spulen nicht so gut aus. Ist das wirklich der Fall? Ich dachte, ich hätte so ein Dingen erstanden: http://www.reichelt.de/Funkentstoerdrosseln-Ringkern/TLC-0-5A-1000-/index.html?;ACTION=3;LA=2;ARTICLE=105599;GROUPID=3182; Lag ich damit völlig falsch?? Viele Grüße Igel
igel schrieb: > Ich dachte, ich hätte so ein Dingen erstanden: > http://www.reichelt.de/Funkentstoerdrosseln-Ringke... > > Lag ich damit völlig falsch?? Das sind 1000µH, nicht 1000mH.
> Mein eigentliches Ziel ist es, einen Akku-Entlader für 1 > NiCD/NiMH-Zelle zu bauen, ... Ja klar, nee, mit AVR. Immerhin, die Zuverlässigkeit ist also völlig egal, das beruhigt. Dennoch ein paar Hinweise: Im Datenblatt eines Prozessors gibt es eine minimale Betriebsspannung, beim ATMega8 4.5V. Diese 4.5V sind garantiert, aber was der Prozessor darunter macht, weiß der Hersteller nicht. "losrennen" zeigt jedenfalls, daß du digitale Technik nicht verstanden hast. Einige Bereiche des Prozessors werden mit 1V funktionieren, andere mit 3V, die Befehlsausführung mag bei 2V einsetzen, aber ob er die Ports ansprechen kann, ist nicht gesagt, vielleicht fehlt auch nur 1 Port-Bit. Deine Fragestellung ist als Humbug. Es gibt nicht ohne Grund Bausteine die sich brown out detection nennen und die einen Prozessor anhalten, wenn die Betriebsspannung zu tief sinkt, damit er NICHT Amok läuft (und im Extremfall sogar EEPROM löscht). Falls du also mal nicht so sinnlose Dinge machst wie Akkus entladen mit Prozessoren: Denk dran, unter der Min-Betriebspannung weiß man nicht was der Prozessor macht, man hält ihn besser an.
wie kommst du auf 70ms Zeit? Wenn ich rechne: Q= C*deltaU wobei delta U = 5V-2,7V = 2,3V ist und C=47uF, dann erhalte ich eine maximal zur Verfügung stehende Ladung von 1,08*10^-5C. Ich gehe mal davon aus, dass du während dem Betrieb mindestens 5mA verbrauchen wirst, d.h. mit t=Q/I folgt für t= 2,16ms. Dabei ist allerdings ein konstanter Strom mit linearer Entladung angenommen. Tatsächlich wirst du einen e-Fkt-Verlauf haben, so dass du anfänglich eventuell mehr Strom verbrauchst, als der Controller unbedingt haben müsste... Wie bist du auf deine 70ms gekommen?
MaWin schrieb: > Falls du also mal nicht so sinnlose Dinge machst wie Akkus entladen mit > > Prozessoren: Denk dran, unter der Min-Betriebspannung weiß man nicht was > > der Prozessor macht, man hält ihn besser an. Wenn ich das richtig verstanden habe, dann soll die Spannung ja nicht unter die Mindestbetriebsspannung fallen. Erst wenn der Akku dann leer ist, dann muss der AVR eben stoppen. Was mich etwas irritiert ist: Der Sinn der Sache ist zweifelhaft! Wie Mike J. schon erwähnt hat, NiCd/NiMh-Akkus sind doch total out. Kein Mensch entwickelt heute noch ein Gerät mit einer solchen Spannungsversorgung. Selbst die Modellbauer stellen nach und nach um, seit die LiIon-Akkus auch richtig hohe Ströme liefern können. Unabhängig davon würde ich einfach mal mit 330µF oder auch 1000µF anfangen und ein paar Versuche machen. Wenn das Programm dann mal läuft sieht man ja wie gross der Kondensator mindestens sein muss. Das Prinzip sollte auf jeden Fall funktionieren. MfG Ulli-B
Hallo Igel, poste bitte die ASC-Datei zu deinem LTSpice-Projekt. Martin
Du wirst schon mit ca. 1mH auskommen müssen, sonst wird das viel zu groß. @112 (Gast): Du liegst Faktor 10 daneben.
ups stimmt, hab 4,7uF eingetippt statt 47uF. Aber demnach wäre ich bei einem 21ms-Zeitfenster, wobei mein Strom konstant bei 5mA läge. Auf 70ms käme man dann bei einem Strom von ca. 2mA, was mir reichlich wenig erscheint, selbst meine 5mA sind schon knapp bemessen und Leckströme sind garnicht eingerechnet. Außerdem frage ich mich, inwieweit der Strom linear bzw. konstant angenommen werden darf? Wieviel Strom zieht so ein Controller bei einem unbegrenzten Stromangebot und wieweit kann das Stromangebot eingeschränkt werden, ohne die Funktionalität einzuschränken?
112 schrieb: > Wieviel Strom zieht so ein Controller bei einem > unbegrenzten Stromangebot und wieweit kann das Stromangebot > eingeschränkt werden Ha ... du wurdest jetzt aber als Neuling im Elektronikbereich erkannt. Der AVR zieht sich nur so viel Strom wie er bei einer bestimmten Spannung zieht. Die Spannung bestimmt wie viel Strom durch ihn durch fließt. Aufgrund dessen nie mehr als 5V an ihn anlegen. (deutlich unter den Maximum Ratings bleiben) @ MaWin (Gast) Wenn ein AVR bei einer gewissen Spannung zu arbeiten anfängt und die Ausgänge setzt oder Daten über UART versendet kann man schon sagen dass er ab dieser Spannung läuft. Ich habe nicht versucht das EEprom zu beschreiben, aber die anderen Teile sollten alle laufen. Wenn ich bei dem ATmega644 die 2.56V Referenzspannung ausgewählt habe kann ich natürlich nicht erwarten dass es die bei 1.9V Versorgungsspannung liefert. @ igel (Gast) Also das funktioniert so nicht wie du dir das vorgestellt hast, es ist schön dass du darüber nachgedacht hast und kreativ geworden bist, aber so wirst du die Energiemenge nicht mal ansatzweise genau bestimmen können.
Hallo Leute, echt nett von Euch, daß Ihr Euch so viele Gedanken macht. Also ... --------------------------- zu den Anmerkungen von Dietrich L. und Esko: > Das sind 1000µH, nicht 1000mH. Du hast völlig Recht - es sind 1000uH und nicht 1000mH !! Au weia - wie konnte ich nur solche Tomaten auf den Augen haben ?! Das war wirklich ein Riesen-Lapsus ... Die anschließende Ohrfeige von Esko mit seinem Hinweis auf die SI-Präfixe habe ich mir also redlich verdient ... --------------------------- Zu den Anmerkungen von MaWin: >"losrennen" zeigt jedenfalls, daß du digitale Technik nicht verstanden hast. Ich glaube, Du unterschätzt mich da ein wenig :-) Ich habe zahllose Analog- und Digitalschaltungen gebaut - mit und ohne AVR. > Deine Fragestellung ist als Humbug. Hmmm ... Solche Kommentare finde ich immer etwas schade, werde aber nicht näher darauf eingehen. > Falls du also mal nicht so sinnlose Dinge machst wie Akkus > entladen mit Prozessoren: Hmmm ... Auch nicht wirklich nett, diese Anmerkung, oder ? Über Sinn und nicht Sinn läßt sich sicherlich stundenlang diskutieren. Viele Philosophen haben sich daran schon versucht. Nun haben wir also jemanden, der zwischen Sinnvollem und nicht Sinnvollem trennscharf unterscheiden kann. Gut zu wissen. --------------------------- Zu den Anmerkungen von "112 (Gast)": > Wie bist du auf deine 70ms gekommen? Danke für Deine Rechnung - genau diese Überlegungen hatte ich ebenfalls im Vorfeld durchgeführt und bin so auf die 70ms gekommen. Du hast Dich in Deiner Rechnung um eine Kommastelle vertan - Alexander Schmidt hatte das ebenfalls sofort bemerkt. Trotzdem: irgendwie nett von Dir, auf diese Weise jemanden zu trösten, der sich sogar um den Faktor 1000 verhauhen hat und nun am liebsten ins nächste Mauseloch kriechen würde :-) Ich bin übrigens von 2mA Verbrauch ausgegangen, da ich den Prozessor aus Stromspargründen nur mit 1MHz takten werde. Dann kommt man auf ca. 70ms. --------------------------- Zu "Martin (Gast)" > poste bitte die ASC-Datei zu deinem LTSpice-Projekt. Bitteschön - die ASC-Datei liegt bei. Interessierte können somit per Ltspice die Simulation reproduzieren. Achtung: die Datei enthält noch die falsche 1000mH-Variante. Ersetzt man die Induktivität durch eine 1000uH-Variante, so sehen die Ergebnisse sehr ernüchternd aus. ---------------------------- Zu "Alexander Schmidt": > Du wirst schon mit ca. 1mH auskommen müssen, > sonst wird das viel zu groß. Ich fürchte, Du hast Recht. Zu den Auswirkungen schreibe ich nachher noch etwas in einem separaten Posting. ---------------------------- Zu "Mike J.": > Also das funktioniert so nicht wie du dir das vorgestellt hast, > es ist schön dass du darüber nachgedacht hast und kreativ > geworden bist, aber so wirst du die Energiemenge nicht mal > ansatzweise genau bestimmen können. Nach meinem "1000 Milli-Henry-Lapsus" bin ich ziemlich "geerdet". Ich fürchte fast, Du hast Recht. Ich rechne nochmals alles durch und schreibe nachher dazu nochmals ein separates Posting. Danke für Deine anerkennenden Worte. Und danke mal wieder an alle, die sich bemüht haben. Viele Grüße Igel
> Wenn ein AVR bei einer gewissen Spannung zu arbeiten anfängt und die > Ausgänge setzt oder Daten über UART versendet kann man schon sagen dass > er ab dieser Spannung läuft. Nein.
Du solltest unbedingt den Brownout-Reset aktivieren. Damit ist sichergestellt, dass bei zu geringer Spannung nicht irgendwelcher Mist als Programm versucht wird abzuarbeiten. Außerdem solltest du einen moderneren Controller nehmen, ATmega88PA bietet sich an. Der braucht schon mal von sich aus weniger Strom, außerdem geht er bis 1,8 V herunter.
Ich verstehe nicht, weshalb man einmal einen Kondensator läd und diesen dann leer eiert. Mittels PWM kann man die Spannung doch konstant auf 3-5V (oder ...V) halten ... Damit fällt die gesamte zeitkritische Komponente weg. Gruß Jobst
Jobst M. schrieb: > Mittels PWM kann man die Spannung doch konstant auf > 3-5V (oder ...V) halten Eben. Rückmessung über einen ADC und dynamisches Anpassen des Dienstzyklus, äh, des Tastverhältnisses. Zum Starten würde ich einen Joule-Thief vorsehen, der mit dem Taster aktiviert wird und vom Prozessor, sobald er läuft, über einen selbstleitenden FET deaktiviert wird. Eventuell könnte man dann sogar den Taster loswerden. mfg mf
MaWin schrieb: > Nein. Ich habe alles auf dem AVR genutzt außer den EEProm, von daher kann ich sagen: Doch, es geht. Es mag zwar bei anderen AVRs aus der gleichen Fertigung etwas anders sein, aber nicht sehr viel. Da igel (Gast) nichts für den Massenmarkt herstellt kann er das ruhig probieren. Es ist aber besser die Brown out detection (2.7V) zu aktivieren damit dein AVR beim langsamen anfahren der Spannung keinen Mist in den Speicher schreibt und dein Programm somit hin ist.
Ich habe die Simulation auch mal laufen lassen und etwas verändert, siehe Anhang. Es wird wohl nicht klappen, weil die Energie in der Spule einfach zu gering ist um den Kondensator zu laden. Du wirst wohl auf eine der Möglichkeiten aus [[Versorgung aus einer Zelle]] zurückgreifen müssen.
> Es mag zwar bei anderen AVRs aus der gleichen Fertigung > etwas anders sein, Eben. > aber nicht sehr viel. So viel, daß manche den Endtest "arbeitet ab 4.5V" nicht bestehen.
Hallo zusammen, vorab zunächst einmal der Dank in die Runde für Zeit und Hirnschmalz, den Ihr in diese Geschichte hier investiert. Bevor ich einzeln auf Eure Antworten/Kommentare/Verbesserungsvorschläge eingehe, kommt hier zunächst einmal die angekündigte grundsätzliche Überlegung, ob die Schaltung überhaupt funktionieren kann (nachdem ich nun nicht mehr die großzügigen 1000mH sondern nur noch 1mH ansetzen darf). Also: - Laut Reichelt-Produktbeschreibung kann die Spule 0,5A verkraften. Ich nehme einmal an, daß anschließend der Spulenkern sättigt (korrekt?). - Daraus ergibt sich die maximal in der Spule speicherbare Energie zu: El = 1/2 L I^2 = 1/2 * 0,001 Vs/A * 0,5A * 0,5A = 0,00025 Ws # El = Energie, die in der Spule gespeichert ist - Im nächsten Schritt gehe ich davon aus, daß ich die Energie der Spule zu 100% in den Kondensator übertragen bekomme. Außerdem möchte ich die Größe des Kondensators so dimensionieren, daß sich nach der Energie- übertragung eine Spannung von 5V am Kondensator aufgebaut hat. Die allgemeine Formel für die Energie in einem Kondensator lautet: Ec = 1/2 C Uc^2 # Ec = Energie, die im Kondensator gespeichert ist # Uc = Spannung am Kondensator Meine obige Annahme in Formeln ausgedrückt lautet somit: Ec = El => 1/2 C Uc^2 = EL => C = EL * 2 / Uc^2 => C = 0,00025 VAs * 2 / (5 V)^2 => C = 0,00002 As/V => C = 20 uF Mir ist dabei völlig klar, daß ich einige Modellvereinfachungen vor- genommen habe: - ich nehme eine ideale Spule an - ich vernachlässige die Energieverluste, welche die Diode verursacht - ich vernachlässige die bereits im Kondensator befindliche Anfangsspannung - ich vernachlässige den Ladungsverlust, der bereits während er Auflad- phase am Kondensator entsteht, weil der Atmega ja parallel liegt. Trotzdem setzte ich einmal genau dieses Modell an - mit irgendetwas muß man ja starten. - Im nächsten Schritt berechne ich, wie lange ich meinen Atmega aus dem auf 5V aufgeladenen 20 uF Kondensator speisen kann, bis die Spannung auf 3 V zusammengebrochen ist. Diese Spannungs-Differenz 5V ... 3V nenne ich dU (für "Delta-U"). Sie beträgt dU = 2V. Außerdem nehme ich den Atmega-Strom mit 2mA an. Folgende Formel kommt als nächstes zur Anwendung: dU = 1/C I t => t = dU * C / I => t = 2V * 20uF / 2mA => t = 2V * 0,000020 As/V / 0,002A => t = 0,020s Auch dabei habe ich wiederum ein paar Modell-Vereinfachungen vorgenommen: - Der Strom durch den Atmega wird als konstant angesetzt - Leckströme durch Kondensator oder Diode werden vernachlässigt Ergebnis: Gemäß Rechenmodell bleibt eine Zeitspanne von ca. 20ms, in der der Atmega in einem Spannungbereich von 5V ... 3V operieren kann. TODO's: - Zu klären bleibt, ob der Atmega in dieser kurzen Zeit anläuft und dann auch bereits innerhalb der 20ms einen Aus-/Einschalt- vorgang am SchaltTransistor triggern könnte. (hierbei müßte man berechnen, wieviel Energie er dann max. in den Kondensator pumpen könnte - aber dafür bin ich momentan zu faul ...) Um zu testen, ob der Atmega schnell genug anläuft, könnte man z.B. den Atmega mit einem entsprechenden Mini-Programm bestücken und ihn anschließend an einen Funktionsgenerator mit umgekehrter Sägezahnspannung hängen. ... oder die Spule durch einen Widerstand ersetzen und statt der 1V Zelle einen Funktionsgenerator mit kurzen Rechteck- Ladeimpulsen einsetzen. Mit einem 2-Kanal Oszi sollte dann genau die Zeit zwischen Anstiegs- Flanke am Funktionsgenerator und erstem Lebenszeichen an den Atmega- Ausgangsports vermessen werden können. Fazit: - Noch gebe ich nicht auf und zähle weiterhin auf Eure Unterstützung Übrigens: - Meine Praxisversuche mit der 1mH-Spule und einem Aldi-NiMH-Akku (1,32 V) haben ergeben, daß ein kurzer Tastendruck den 47uF-Kondensator von 1,32V auf ca. 5,4V hochkatapultiert. Den 10 Ohm Widerstand vor dem Taster habe ich bei meinen Versuchen allerdings komplett gestrichen ... Der Strom wird also nur durch den Akku-Innenwiderstand sowie durch irgendwelche Verbindungswiderstände meines fliegenden Aufbaus begrenzt. Aber immerhin: die 5,4V machen Hoffnung ... Auch dieses Ergebnis hält mich noch bei der Stange. Viele Grüße Igel PS: - Eure guten Anmerkungen/Hinweise/Hilfestellungen werde ich in einem nächsten Posting kommentieren. Es bleibt nichts unberücksichtigt.
Wenn schon "SO8-SMD" Löterei Staunen hervorruft, dann traue ich mich garnicht, den hier http://www.atmel.com/dyn/products/product_card.asp?part_id=4523&category_id=163&family_id=607&subfamily_id=791 vorzuschlagen. Wie der Jörg schon sagte - nimm was aus der aktuellen Produktpalette von atmel. dann geht das auch. Der tiny hat den Stepup gleich eingebaut. Toll, oder? Gruß Axelr.
Axel Rühl schrieb: > Der tiny hat den Stepup gleich eingebaut. > Toll, oder? Aber das wäre dann doch langweilig ;)! Ohne ausufernde Bastelei macht es doch keinen Spaß ;D! Mit einem Step-Down habe ich sowas schon gemacht - ein Step-Up sollte also auch gehen. Gruß Jonathan
Man kann aber auch die Kirche im Dorf lassen ;))
N'abend zusammen, hier das versprochene Feedback auf Eure zahlreichen Antworten (Danke!): -------------------------------- Zunächst zu Jörg Wunsch: > Du solltest unbedingt den Brownout-Reset aktivieren. Jawohl, das hatte ich vor. > Außerdem solltest du einen moderneren Controller nehmen Claro, das würde mir das Leben schon arg erleichtern: Zwischen den 2 mA eines Atmega8 und den 240 uA der Pico-Power Atmega-Generation liegen schon Welten. Leider habe ich so einen Pico-Power-Atmega nicht in meiner Grabbelkiste. Ich werde über Deinen Vorschlag zurückgreifen, wenn's gar nicht mit den alten Boliden klappt. -------------------------------- Sodann zu Mini Float: > Zum Starten würde ich einen Joule-Thief [...] Ich hatte den Joule-Thief im Vorfeld meines Projektes bereits gesehen und bewundert - allerdings wäre dies ein ziemlich anderer Ansatz, den ich explizit nicht gehen wollte, da er selbstgewickelte Transformatoren benötigt. Trotzdem: die Grundidee ist mehr als genial. Ich hatte sogar einen Beitrag aufgetan, der die Sache auf die Spitze treibt und mit Hilfe des Joule-Thiefs und einem Peltier-Element aus Handwärme eine kleine LED-Taschenlampe betreibt: http://www.harald-sattler.de/html/body_led-taschenlampe.htm Ich hatte mir die erwähnten Germanium-Transistoren sogar schon besorgt. Nur - wie gesagt - es ist ein anderer Ansatz. ---------------------------------- Zum Beitrag von Mike J.: > Ich habe alles auf dem AVR genutzt außer den EEProm, > von daher kann ich sagen: Doch, es geht. Das hört sich äußerst positiv an !! Vielen Dank für diese wichtigen Infos. Bitte schreibe noch ein paar Takte dazu, ab welcher Spannung Du getestet hast. Außerdem würde mich interessieren, ob der Atmega bei aktiviertem Brown-Out auch wirklich erst ab dem Triggerlevel losläuft und vorher ggf. kaum Strom benötigt (was für mich natür- lich enorm wichtig wäre). ----------------------------------- Zum Beitrag von Alexander Schmidt > Es wird wohl nicht klappen, weil die Energie in der Spule > einfach zu gering ist um den Kondensator zu laden. Meine theoretischen Berechnungen aus meinem Posting vom 18.08.2011 12:31Uhr zeigen, daß die 1000uH-Spule dem Atmega8 etwa 20ms Zeit zum Hochfahren und Rechnen bescheren sollte. Wenn Du in der Simulation R1 kräftig runterdrehst (z.B. auf 2 Ohm) und außerdem die Z-Diode auswirfst, siehst Du, daß es klappen könnte. Ohne Z-Diode hat man dann allerdings das Überspannungsproblem, was ich inzwischen aber ebenfalls lösen konnte (ohne Z-Diode). Du hast schon Recht: es wird verdammt knapp, aber ich meine, es könnte trotzdem klappen. ------------------------------------ Zum Beitrag von MaWin (Gast) : > So viel, daß manche den Endtest "arbeitet ab 4.5V" nicht bestehen. Vermutung oder Selbsterfahrung? ------------------------------------ Zum Beitrag von Axel Rühl: > Wenn schon "SO8-SMD" Löterei Staunen hervorruft, dann > traue ich mich garnicht, den hier [...] Selbstverständlich hatte ich den Attiny43U bei meinen Vorrecherchen gesehen, aber zum einen fehlte mir eine Bezugsquelle, wo ich diesen Kameraden einfach bestellen kann, und zum anderen wäre diese Lösung irgendwie zu einfach, da von der "Stange" und ohne Neuland- erforschung :-) ------------------------------------ Zum Beitrag von Jonathan Strobl: > Aber das wäre dann doch langweilig ;)! > Ohne ausufernde Bastelei macht es doch keinen Spaß ;D! Mein Reden (siehe oben) ... Außerdem möchte ich einfach sehen und erleben, wie der Atmega selbst das Pumpenwerk bedient (wenn es denn jemals so weit kommt ...) ------------------------------------- Soweit mein Feedback zu Euren Beiträge, für die ich mich nochmals ganz herzlich bedanken möchte. Viele Grüße Igel
N'Abend zusammen, hier die neuesten Ergebnisse: diesmal nicht auf dem Blatt gerechnet oder mit Ltspice simuliert sondern mit Draht in der Praxis aufgebaut. Zur Erinnerung: Es war zu untersuchen, wieviele Millisekunden nach Anstieg der Versorgungsspannung von ca. 1V in Richtung 5V der Atmega8 mit der eigentlichen Programmabarbeitung beginnt. Diese Verzögerungszeit darf nicht fürchtbar lange dauern, weil der Atmega8 gemäß Vorüberlegungen (siehe meine vorigen Postings) insgesamt max. 20ms Zeit hat, um nach dem Anstieg der Versorgungspannung den Pumpen-MOSFET M1 anzusteuern und die erste Pumpaktion durchzuführen. Der Versuchsaufbau: Getestet habe ich einen frischen Atmega8, bei dem ich lediglich 2 Fuse-Bit-Einstellungen angepaßt habe: 1.) Startup-Verzögerung auf 6 CK heruntergesetzt 2.) Bown-Out-Detektion aktiviert (Schwelle: 2.7V) Dieser Atmega wurde in einer Minimal-Beschaltung gemäß http://www.mikrocontroller.net/articles/Absolute_Beginner-AVR_Steckbrettprojekte ... auf einem Steckbrett verbaut (natürlich ohne die in der URL aufgeführte Spannungsstabilisierung). Anschließend habe ich das Signal meines Funktionsgenerators (per Z-Diode auf 5,1V abgesichert) als Spannungsversorgung an den Versuchsaufbau angelegt. Das Ergebnis seht Ihr im angehängten Oszilloskopbild: - die Horizontalablenkung beträgt 10us pro cm - die Vertikalablenkung beträgt 1V für den ersten Kanal (Vss) und 2V für den 2. Kanal (PORTB) - bei 1V Ablenkung für beide Kanäle hätten sich die Strahlen unschön überdeckt, daher diese Wahl. - die Null-Volt-Linie ist NICHT in der Mitte des Schirms sondern 1 cm über der unteren Bildschirmkante. - die obere Kurve zeigt den Anstieg der Versorgungsspannung - die untere zackige Kurve zeigt das Signal an PORTB, den ich per Assembler-Programm toggeln lasse. Fazit: - Bereits 20us nach Überschreiten der 2.7V Versorgungsspannung könnte ich PortB schalten und somit den avisierten, potentiellen Pumpen-MOSFET ansteuern. Das macht wirklich Mut, die weiteren Schritte anzugehen, die da wären: 1. Umsetzung Schaltung aus der der LTspice-Simulation in die Praxis (diesmal natürlich nicht mehr mit 1H-Spule sondern mit 1mH-Spule, verkleinertem Kondensator und verkleinertem R1 - siehe die Überle- gungen aus dem vorigen Posting). Außerdem möchte ich statt des Tasters einen MOSFET einsetzen, der dann von meinem Funktions- generator auf- & zugesteuert wird, um den Vorgang periodisch und wiederholend zu gestalten denn ich habe leider kein Speicher-Oszi. 2. Ausdenken eines effizienten Überspannungsschutzes für den Atmega. Der Schutz sollte dabei ggf. möglichst wenig Energie vergeuden. 3. Erstellung eines Programms zur Steuerung des Pumpen-MOSFETs. Ich bin sehr gespannt, wie's weitergehen wird. Allerdings bin ich mir nicht ganz sicher, ob das neben mir noch jemand anderen auf dieser Welt interessiert ... Sollte also noch jemand da draußen mitlesen und ernsthaftes Interesse am Fortgang der Geschichte haben, bitte melden. Höre ich nichts, erspare ich Euch und mir diese etwas aufwändige Versuchsreportage und brutzle einfach wieder in meinem stillen Kämmerchen alleine vor mich hin. Viele Grüße Igel
Uppps: die Vss-Spannung ist am rechten Ende des Oszilloskopbildes nicht 5,2V sondern nur ca. 4,7V. Umso erstaunlicher, wie fix der Atmega anläuft. Viele Grüße Igel
20µs sind das also ... okay das war mal interessant zu sehen :) Zum entladen per StepUp: Du kannst dir ja theoretisch die Ladungsmenge berechnen die in den Kondensator jedes mal hineinströmt, dazu musst du die Kapazität des Kondensators aber genau kennen. Die BrownOutDetection liegt aber nicht geneu bei 2.7V Schau mal in das Datenblatt unter "Figure 165. BOD Thresholds vs. Temperature (BOD Level is 2.7v)" da sind das eher 2.65V. Wenn du die aktuelle Spannung messen möchtest ist der AD-Wandler aber bestimmt zu langsam. Du hast nur 2,16ms und die Referenzspannung von 2.56V muss sich erst mal aufbauen. Hast du keinen LiIon Akku? Ich nutze die nur noch. http://www.pollin.de/shop/dt/NDcwOTI3OTk-/Stromversorgung/Akkus/LiPo_Akkus/LiPo_Akkupack_BAK_553048P_7_4_V_820_mAh.html Du kannst das StepUp-Verfahren auf die genau so anwenden, nur dass der AVR sofort anläuft wenn du ihn an den Akku hängst. Der LiIPo-Akku von Pollin ist bei 3V leer und bei 4.2V randvoll. Dein AVr läuft also noch wenn der Akku leer ist und kann die Werte abspeichern und sich dann in den tiefsten Sleep-Mode versetzen. Bei unterschreiten ober überschreiten dieses Bereichs geht der Akku langsam kaputt. Er hält am längsten (höchste Lade-Zyklen Zahl) wenn du ihn nur bis 3.96V (= auf 90% Akkukapazität) auflädst und auch nicht so tief (nur bis 3.6V , da hat er noch ca. 10-20% Kapazität) entlädst.
igel schrieb: > Sollte also noch jemand da draußen mitlesen und ernsthaftes Interesse > am Fortgang der Geschichte haben, bitte melden. Ja, mich interessiert es. Ich habe zwar keine Ahnung, ob ich jemals eine vergleichbare Problemstellung in meinen Projekten haben werde, aber ich finde es trotzdem einfach spannend hier mitzulesen.
> Du kannst dir ja theoretisch die Ladungsmenge berechnen die in den > Kondensator jedes mal hineinströmt, dazu musst du die Kapazität des > Kondensators aber genau kennen. Ich glaube, die Ladungsmenge ist vom Kondensator unabhängig (jedenfalls so lange keine Überspannungsbegrenzung vorhanden ist). Meiner Meinung nach ist sie lediglich von der Spule und der Länge der Durchschaltzeit des MOSFET abhängig. Denn: die Schaltdauer bestimmt laut I = L U t den Strom und der Strom wiederum bestimmt die Energie in der Spule (El = 1/2 L I^2) und die Energie wiederum wird in den Kondensator übertragen - egal wie groß der ist. Die Größe des Kondensators legt dann lediglich fest, wie hoch die Spannung ist, die sich in ihm aufbaut (gemäß U = C I t). > Wenn du die aktuelle Spannung messen möchtest ist der AD-Wandler aber > bestimmt zu langsam. Du hast nur 2,16ms und die Referenzspannung > von 2.56V muss sich erst mal aufbauen. Guter Hinweis, ich hatte immer noch die schnellen Wandlerzeiten meines Quarz-gesteuerten Atmega im Hinterkopf, aber ich habe ja jetzt nur noch 1 MHz Taktfrequenz. Aber die AD-Idee war vermutlich sowieso suboptimal. Mit dem eingebauten Comparator und einer kleinen Interruptroutine sollte es viel eleganter gehen. Einfach nachladen, wenn der Comparator die Routine triggert. > Hast du keinen LiIon Akku? Ich nutze die nur noch. Du hast sicherlich technisch völlig Recht, aber mit 2 Kindern und jede Menge Spielgerät habe ich inzwischen ca. 200 (jawohl, in Worten "zwei- hundert") Mignon-Akkus im Einsatz. Daher mein Fokus auf diese Spezies. Außerdem - das gebe ich gerne zu - möchte ich es einfach herausfinden, ob man mit dem Atmega und ganz wenigen externen Bauteilen einen selbstgesteuerten Step-Up Wandler ab 1V Eingangsspannung bauen kann. Das habe ich nämlich bislang noch nirgendwo im Internet gefunden. Danke aber für Deinen Pollin-Hinweis - ist sicherlich eine interessante Alternative für (unsere) Bastler-Zwecke. Viele Grüße Igel
@Konrad - okay. Für Dich schreibe ich dann hier, wie's weitergeht. Allerdings geht mein Urlaub bald zu Ende und meine Beitragsfrequenz wird dann deutlich heruntergehen. Viele Grüße Igel
Hier! Ich! wink - Mich wuerde das auch interessieren! Gruß Jonathan
igel schrieb: > ca. 200 (jawohl, in Worten "zwei- > hundert") Mignon-Akkus im Einsatz. Uff! Wie organisierst du, dass da keiner hoppsgeht, Tiefentladung wegen zu langem Herumliegen oder Vergessen oder sowas? Und wieviele und welche Ladegeräte sind dafür nötig?
N'Abend zusammen, bevor ich in meinem nächsten Posting die aktuellsten "Forschungs"ergebnisse vorstelle, gehe ich schnell noch auf die letzten 2 Postings ein: Zum Posting von Jonathan Strobl: > Hier! Ich! wink - Mich wuerde das auch interessieren! Okay - Danke für die Meldung. Damit beläuft sich die Fangemeinde auf sagenhafte 2 Personen. Ich bin tief gerührt und werde also weiterposten. Zum Posting von Konrad S.: > Uff! Wie organisierst du, dass da keiner hoppsgeht, Tiefentladung > wegen zu langem Herumliegen oder Vergessen oder sowas? Und wieviele > und welche Ladegeräte sind dafür nötig? Na ja - für's Hoppsgehen sorgen schon die Kinder: der Legobagger oder die Taschenlampe werden stets so lange benutzt bis sie auch ja keine einzige Zuckung mehr von sich geben ... Und schon haben die kleinen runden Insassen einen Schaden ... Ansonsten sammle ich alle in einer Kiste und versuche die nach Round- Robin-Verfahren immer wieder alle aufzuladen. Immerhin sind alle nummeriert und ich notiere mir die Kapazitäten, damit ich gute und schlechte Akkus ein wenig auseinanderhalte und dem gröbsten Akku-Schinder nicht die besten Akkus in die Hand drücke. Das Laden/Entladen/Vermessen erledigt für mich ein von Friedich Mössinger getuneter AV4m: http://www.accu-select.de/ Nicht irritieren lassen: es ist eine der am schlechtesten designten Websites, die ich kenne, aber der Inhalt hat wirklich Hand und Fuß. Als ich Hr. Mössinger einmal darauf ansprach meinte er nur lapidar: wer sich wirklich dafür interessiert, der beißt sich durch - es soll ein wenig wehtun ... Er hält nichts von Internetseiten, die wie Schnellkost konsumiert werden. Ich ich fand diese Einstellung ganz interessant. By the way: wenn jemand wirklich Ahnung von Akkus hat, dann ist dies Hr. Mössinger. Cooler Typ übrigens und wirklich nett und hilfs- bereit am Telefon. Außerdem habe ich noch ein Ultramat 16 für Akkupacks und so'n Zeugs. Höllenteil - aber leider auch höllenlaut beim Entladen (es hat einen richtig doofen Designfehler: der Lüfter läuft bei jedem Entladestrom - sei er auch noch so klein. Beim Laden waren die Entwickler dagegen so schlau und schalten erst dann den Lüfter ein, wenn's nötig ist) So - genug geschwatzt. Und im nächsten Posting gibt's wieder Neuigkeiten von der Schaltungsfront. Viele Grüße Igel
Nochmals N'Abend zusammen, heureka - ich komme dem Ziel immer näher !! Und das Schönste: die Praxis scheint fast reibungsloser zu funktionieren als die simulierten Schaltungen ... Also: Da ich leider kein Speicher-Oszilloskop habe, muß ich einige Klimmzüge veranstalten, um zu sehen, was in meiner Schaltung so läuft. Also habe ich die weiter oben als Simulation vorgestellte Schaltung aufgebaut und dabei statt des Tasters den MOSFET M2 über einen Funktionsgenerator angesteuert. So simuliere ich periodisches "Tastern" und kann die Show auf dem Oszilloskop nachverfolgen. Der MOSFET macht in dieser Konstellation dann immer brav die Schleusen auf (=Spule wird mit Strom geladen) bzw. Schleusen zu (=Spule überträgt Energie über die Diode an den Kondensator sowie den dazu parallelgeschalteten Atmega). Im vorliegenden Bild wird übrigens ein 10uF Kondensator eingesetzt. R1 ist kurzerhand wegoptimiert worden - die Strombegrenzung liefern also nur noch meine fliegende Verdrahtung sowie der Akku-Innenwiderstand. Fazit aus dem Oszilloskopbild: Ein auf 5 V aufgeladener 10uF Kondensator genügt durchaus, um den Atmega in die Lage zu versetzen, ein Programm zu starten und einige Tausend Befehle abzuarbeiten. Offenbar zieht der Atmega dabei weit weniger Strom als die ursprünglich angenommenen 2mA. In der Simulation zeigt übrigens ein 25kOhm-Widerstand ähnliche Kurvenverläufe. Das würde bedeuten, daß der Atmega8 genau um den Faktor 10 weniger Strom zieht ??!!. Auch wenn mir das etwas seltsam erscheint, so gehe ich dem erst einmal nicht weiter nach. Nach diesem Test bin ich äußerst zuversichtlich, daß der Atmega nach dem einmaligen Initialstart über den Taster das Pumpen selbst übernehmen kann. Und da die Theorie (siehe vorige Postings) besagt, daß sogar ein 20uF Kondensator noch auf 5V geladen werden würde, so stimmt mich das zusätzlich optimistisch, daß auch der Initialstart über den Taster klappen könnte. Ausblick: Es fehlt jetzt eigentlich nur noch der letzte, konsequente und ent- scheidende Schritt: nämlich den Funktionsgenerator abzuklemmen und dem Atmega das Schalten des MOSFETs zu überlassen. Kurzum: demnächst in diesem Kino ... Viele Grüße Igel
Morgen zusammen, ich berechne gerade die Schaltzeiten für den MOSFET und möchte Euch daran teilhaben lassen: Die Fragestellung lautet: wie lautet der Zusammenhang zwischen Dauer der Durchschaltzeit des MOSFET und anschließender Spannungs- zunahme am Kondensator? Und los geht's. Strom in der Spule: I = 1/L Ub t (Gl. 1) # Ub: Batteriespannung Energie in der Spule: El = 1/2 L I^2 (Gl. 2) Spannung am Kondensator: dU = 1/C I t (Gl. 3) Energie im Kondensator: Ec = 1/2 C U^2 (Gl. 4) Mit der vereinfachenden Annahme, daß die Spulenenergie völlständig in den Kondensator übertragen wird, ergibt sich: Ec = El (Gl. 5) Nun ersetze ich den Strom in Gl. 2 durch Gl 1 und erhalte: El = 1/2 L (1/L)^2 * Ub^2 * t^2 (Gl. 6) Gemäß Gl. 5 darf ich die linke Seite von Gl. 6 auch durch die rechte Seite von Gl. 4 ersetzen. Gesagt, getan: 1/2 C U^2 = 1/2 L (1/L)^2 * Ub^2 * t^2 => U^2 = 1/(L*C) * Ub^2 * t^2 => U = SQRT( 1/LC ) Ub t (Gl. 7) Meine derzeitigen Werte eingesetzt ergibt sich: U = SQRT ( 1 / (0,001 Vs/A * 0,000010 As/V) * t = SQRT ( 1 / 10^-8 s^2 ) * t = (1 / 10^-4s) * t Fazit: Eine Schaltzeit des MOSFETs von 0,1ms genügt also (zumindest in der Theorie), um anschließend die Kondensatorspannung um 1V zu erhöhen. In der Praxis wird diese Zeit sicherlich deutlich länger sein, da ich weder Spulenverluste, noch Verluste in der Diode noch irgendwelche Übergangswiderstände berücksichtigt habe. Damit entfällt trotzdem eine meiner letzten Bedenken: nämlich, daß die MOSFET-Schließzeit länger sein könnte, als die nach der Initialladung zur Verfügung stehenden wenigen Millisekunden Rechenzeit. Bequem wie ich nun einmal bin, werde ich im nächsten Schritt den MOSFET vom Atmega zunächst einmal mit einer festen Schalt- frequenz ansteuern lassen. Das sollte funktionieren - auch wenn's nicht sonderlich effektiv ist und sicherlich den Kondensator "überpumpt". Da die Spannung lt. Oszilloskopbild innerhalb von ca. 5ms von 5V auf 4V gesunken ist, werde ich zum Einstieg genau diese 5ms als Schaltperiodelänge wählen, wobei die eigentliche Durch- schaltzeit nur die besagten 0,1ms dauern muß (theoretisch). Sicherheitshalber werde ich jedoch 0,4ms wählen. Will sagen: 0,4ms durchschalten und 4,6ms sperren. Um im Falle eines Falles zu verhindern, daß sich im Kondensator zu viel Spannung aufbaut und den Atmega himmelt, habe ich bereits eine Z-Diode in der Schaltung eingebaut. Egal wie falsch ich also auch gerechnet habe, es sollte nichts Schlimmes passieren :-) Viele Grüße Igel
Du kannst den PWM Ausgang an das Gate vpm MosFET hängen und die ganze Zeit pumpen, durch die Veränderung der On/OFF-Zeit kannst du ja bestimmen wie viel Energie du durchlässt.
Mike J. schrieb: > Du kannst den PWM Ausgang an das Gate vpm MosFET hängen und die ganze > Zeit pumpen, durch die Veränderung der On/OFF-Zeit kannst du ja > bestimmen wie viel Energie du durchlässt. Ja, das wäre eine gute Idee, da sich währenddessen der µC sogar noch schlafen legen kann und dann noch weniger Strom verbraucht. Außerdem wäre ein MosFET mit sehr wenig Gate-Kapazität auch sinnvoll, da bei jedem Schaltvorgang diese Energiemenge verlorengeht. Deine Messergebnisse sehen aber schon mal sehr gut aus! Ein µC, der auch bei 1,8V noch läuft, würde jetzt schon die ganze Zeit durchlaufen. Z.B. der ATTiny861V... Ich bin da sehr zuversichtlich, dass Du das hinbekommst! ;) Gruß Jonathan
Morgen zusammen, Danke an Mike und Jonathan für Ihre Hinweise und Anregungen. ------------------------------------------ Anmerkungen zu dem Posting von Mike: > Du kannst den PWM Ausgang an das Gate vpm MosFET hängen und die ganze > Zeit pumpen, durch die Veränderung der On/OFF-Zeit kannst du ja > bestimmen wie viel Energie du durchlässt. Die Sache mit dem dauerhaften Pumpen hatte ich nur als Übergangslösung gedacht, da dabei zu viel Energie durch Überschreiten der 5V-Grenze und anschließenden Abfluß durch die Z-Diode verloren gehen würde. Als dauerhafte Lösung habe ich derzeit den Comparator-getriggerten Interrupt ins Auge gefaßt. Der Ablauf wäre dann: - Spannung an C1 unterschreitet Comparatorschwelle - Interrupt wird getriggert und lädt ein Päckchen Ladung nach Vorteil: ich kann sogar lastabhängig regeln. ------------------------------------------- Anmerkungen zu dem Posting von Jonathan Strobl: > Ja, das wäre eine gute Idee, da sich währenddessen der µC sogar noch > schlafen legen kann und dann noch weniger Strom verbraucht. Ohne, daß ich selber recherchiert hätte, die Frage: Kann man im Schlafmodus die PWM aktiviert lassen ? > Außerdem > wäre ein MosFET mit sehr wenig Gate-Kapazität auch sinnvoll, da bei > jedem Schaltvorgang diese Energiemenge verlorengeht. Guter Hinweis. Bei meinen Schaltvorgängen im kHz-Bereich sollte dies allerdings noch keine Rolle spielen, da z.B. bei meinem derzeit verwendeten IRLZ34N (da unkaputtbar) mit 25nC Gatecharge nur Q = 1 kHz * 25nC = 25 uC/s ... flöten gehen. Bei späteren Optimierungsversuchen ist dies aber sicherlich ein wichtiger Punkt. ------------------------------------------- Soweit so gut an dieser Stelle. Danke nochmals für Euer Feedback und Euer gutes Zureden ! Viele Grüße Igel
igel schrieb: > Ohne, daß ich selber recherchiert hätte, die Frage: > Kann man im Schlafmodus die PWM aktiviert lassen ? Ja, kann man. Dazu gibt es den Schlafmodus "Idle". Der bringt zwar nicht sooo viel, aber immerhin etwas (ca. 1mA Stromverbrauch im Wurst-Käse (Worst Case :D )). igel schrieb: > Danke nochmals für Euer Feedback und Euer gutes Zureden ! ;) Gruß Jonathan
Hier eine Simulation, die zeigt wie es funktionieren könnte. Mit Reglung der Ausgangsspannung durch einen einfachen Komparator. L = 2,2 mH, C = 4,7 µF Verbrauch vom Atmega simuliert mit 10kΩ, also nur 0,3mA.
N'abend zusammen, ---------------------------------------------- Jonathan Strobl schrieb: > Ja, kann man. Dazu gibt es den Schlafmodus "Idle". Super, dann werde ich mir das nochmals näher angucken. Danke für den Hinweis. ---------------------------------------------- Alexander Schmidt schrieb: > Hier eine Simulation, die zeigt wie es funktionieren könnte. Wow - bin sehr beeindruckt von Deinen Simulationskünsten. Die Comparator-Idee hast Du sehr elegant in Ltspice abgebildet! Es scheint wirklich zu funktionieren ... Da kommt schon etwas staunende Vorfreude auf. Bitte schreibe noch etwas dazu, warum Du das Pulsweitenverhältnis 8us MOSFET durchschalten zu 2us MOSFET sperren gewählt hast. Bekommt man das mit einem 1MHz getakteten Prozessor hin? Oder war's einfach nur eine generelle Machbarkeitsstudie? ---------------------------------------------- Viele Grüße Igel
Hallo Igel, verwend wirklich die PWM. Damit sparst du dir viel Arbeit. Den Strom kannst du über den duty cycle einstellen. Der Wirkungsgrad ist auch etwas höher, da der Spitzenstrom wesentlich kleiner ist. Du kannst zusätzlich die CPU dauernd idlen lassen und mit clock_prescale die taktfrequenz herunter stellen. Siehe http://www.nongnu.org/avr-libc/user-manual/group__avr__power.html Falls du mit dem togglen früher anfangen möchtest kannst du dir http://www.nongnu.org/avr-libc/user-manual/group__avr__watchdog.html durchlesen. Wenn du den Kondensator kleiner wählst ist auch keine so große Spule erforderlich. Du hast dann auch leider insgesamt weniger Zeit zum anlaufen. Statt einer zener-diode würde ich eine LED verwenden. Eine weiße hat 3,0V - 3,7V Vorwärtsspannung. Damit würde deine CPU schon bequem laufen. Und du hast einen Überspannungsschutz + Betriebsanzeige. Du brauchst IMO keinen Vorwiderstand, da der Strom durch die Spule begrenzt wird. Der ELko könnte damit weiter schrumpfen, weil er nicht mehr ein "zuviel" an Induktionsspannung zwischenspeichern muss. Ich finde dein Projekt übrigens schön dokumentiert und habe von Anfang an mit gelesen.
igel schrieb: >> Hier eine Simulation, die zeigt wie es funktionieren könnte. > Es scheint wirklich zu funktionieren ... Bedenke, dass dies eine sehr einfache Regelung ist. Wie sie z.B. mit Lastsprüngen umgeht wird in der Simulation gar nicht getestet. > Bitte schreibe noch etwas dazu, warum Du das Pulsweitenverhältnis > 8us MOSFET durchschalten zu 2us MOSFET sperren gewählt hast. Die 100kHz habe ich gewählt, weil sie für Spule gut schaffbar sind. Es würden wohl auch 25kHz reichen, weil die Spule sehr groß ist. Das Tastverhältnis beim Boost ist definiert als: Tastgrad = 1 - Ui/Uo > Bekommt man das mit einem 1MHz getakteten Prozessor hin? Der Atmega88V erreicht 4MHz ab 1,8V. Damit schafft er es per Assembler. Mit der PWM-Einheit sollte es, denke ich, auch gehen. Ab 2,7V darf er dann auch mit 10MHz betrieben werden, spätestens dann ist es kein Problem mehr.
>Der Atmega88V erreicht 4MHz ab 1,8V. Igel hat keinen Atmega88V, Zitat: >Leider habe ich so einen Pico-Power-Atmega nicht in meiner Grabbelkiste. Lasst Ihn das mal mit dem Mega8 probieren. Ich finds spannund und sehr interessant. Ich habe selbiges einmal mit einem Mega8 machen müssen, als ich einen kleinen Fahrregler/Steller für LKW im maßstab 1:87 (H0) bauen durfte. Ich habe den Timer2 verwendet(der war als einziges noch frei), um die Spannung der einen NiHm Zelle zu erhöhen. Der einsatz zweier Zellen hat sich aber als günstiger erwiesen. Das spielt hier aber keine Rolle. Ging dort um Platz vs. Fahrzeit.
Hallo Igel, als Erstes möchte ich mir hier als Interessent n+1 anmelden... ;-) Es ist zwar schon sehr spät aber ich musste einfach den komplettten Thread von Anfang an lesen um vor Neugierde ruhig schlafen zu können... :-) Sehr spannende Geschichte (zum Mitlesen) mit guten Beiträgen! Ich bin sehr gespannt wie es weiter / aus geht! Viele Grüße Markus
igel schrieb: > Außerdem würde mich interessieren, ob der Atmega > bei aktiviertem Brown-Out auch wirklich erst ab dem Triggerlevel > losläuft Ja, klar, sonst wäre das ja witzlos. > und vorher ggf. kaum Strom benötigt (was für mich natür- > lich enorm wichtig wäre). Nein, das ist der wunde Punkt dabei: die Brownout-Erkennung hält den Controller im Reset, da will der Oszillator laufen und braucht natürlich Strom. Ein guter Sleep-Mode wird um einiges weniger benötigen.
Und? Hast Du schon weitere Fortschritte gemacht? gespanntsei Gruß Jonathan
Hallo zusammen, hier ein kleiner Zwischenstatus: Wie angekündigt habe ich ein bißchen in die Tasten geklopft, damit zukünftig nicht mehr mein Funktionsgenerator den MOSFET ansteuert, sondern der Atmega selber - schließlich war das ja genau das Ziel der ganzen Aktion. Euch zuliebe habe ich dafür meinem Atmega8 extra die PWM beigebracht, obwohl ich selber noch nicht so recht von diesem "reinen" PWM-Ansatz überzeugt bin, denn: Eine Schwalbe allein macht noch keinen Frühling, bzw.: eine PWM allein macht noch keine Regelung. Eventuell werde ich später beide Ansätze verheiraten: den PWM-Ansatz und den Interrupt-getriggerten Compare-Ansatz. Das stelle ich mir dann so vor: - PWM toggelt den MOSFET mit einem bestimmten Verhältnis von Ein- zu Ausschaltzeit (oder genauer: Tastverhältnis bzw. Duty Cycle = ON-Time / Gesamtperiodenzeit). - Der analog-Comparator prüft parallel, ob der Ausgangsspannung über einer Triggerschwelle von z.B. 4,5V liegt. - Fällt die Ausgangsspannung (z.B. wegen Lastwechsel) unter diese Schwelle, triggert der analog-Comparator eine Interrupt-Routine, die ihrerseits wiederum das Tastverhältnis des PWM-Timers anpaßt, sprich: das Tastverhältnis vergrößert. Geht die Ausgangsspannung über die Schwelle, so wird andersherum geregelt. Das Problem, an dem ich dabei festhänge: Leider scheint dieser Comparator nur "quantitativ" und nicht qualitativ triggern zu können, sprich: wenn man nicht genau weiß, auf welcher Seite der Triggerschwelle man sich befindet, so sagt einem der Comparator nur, daß man die Schwelle soeben durchschritten hat - keine sehr große Hilfe, wenn man entscheiden muß, ob nun Kohle oder Wasser ins Feuer geworfen werden soll. Alternativ gibt's dann immer noch der AD-Wandler Ansatz: schön brav messen und dann anschließend regeln. Sicherlich nicht sonderlich schnell und spektakulär, aber vermutlich mit ein wenig PID-Regelungs-technik einigermaßen beherrschbar. Und ach - vor lauter Zukunftsideen hätte ich fast vergessen, Euch den aktuellen Status mitzuteilen: Etwas zerknirscht muß ich zugeben, daß sich meine Step-Up-Atmega8-Rakete bislang noch einen Zentimeter (bzw. kein Millivöltchen) von Ihrer Startrampe in die Luft erhoben hat. Zu meiner Ehrenrettung: ich hatte bei dem Versuch kein Oszilloskop zur Hand, um etwas Ursachenforschung zu betreiben. Vermutlich nur ein ganz dummer Fehler. Vielleicht hat auch einfach das Tastverhältnis (0,4ms ON : 4,6ms OFF) noch nicht so ganz gepaßt. Bitte springt daher an dieser Stelle nicht alle über Bord - ich kriege das schon noch irgendwie geregelt (im wahrsten Sinne des Wortes :-) und werde dann hier berichten. Die sehr wertvollen Hinweise der letzten Postings werde ich in Kürze kommentieren - es waren wirklich gute Sachen dabei (Dankeschön!). Viele Grüße Igel
igel schrieb: > Das Problem, an dem ich dabei festhänge: > Leider scheint dieser Comparator nur "quantitativ" und nicht > qualitativ triggern zu können, sprich: wenn man nicht genau weiß, > auf welcher Seite der Triggerschwelle man sich befindet, so sagt > einem der Comparator nur, daß man die Schwelle soeben durchschritten > hat - keine sehr große Hilfe, wenn man entscheiden muß, ob nun > Kohle oder Wasser ins Feuer geworfen werden soll. Hallo Igel, ich denke das oben von Dir beschriebene Problem ist relativ einfach lösbar: Du musst Dir nur einfach merken ob Du zuletzt Kohle oder Wasser ins Feuer geworfen hast. Programmtechnisch ausgedrückt: Du musst den aktuellen Zustand in einer Variable (Register) zwischenspeichern und wenn der Comparator triggert, den aktuellen Zustand wieder aus der Variable (Register) auslesen und dann entsprechend handeln. Wenn Du magst kannst Du den bisher geschriebenen Quellcode (Assembler oder C?) ja hier im Thread anfügen! Ich denke Neugierige gibt es hierfür genug... ;-) Viele Grüße Markus
Problem 2 (Überspannung) könntest Du auch mit einem Monoflop erschalgen.. Wenn Taste gedrückt, Monoflop start und schaltet Mosfet für die Zeit, die benötigt wird das er losläuft... Weitergedacht könnte dies auch den sicheren Anlauf übernehmen -- wenn man statt monoflop einen multivibrator nimmt der so eingestellt ist das die Spannung "langsam" hochtaktet (über mehere Taktzyklen, evrl. höhere Schaltfrequenz) und vielleicht so bei 3.5 V stabil wird. Später übernimmt dann die MCU. PS: Du kannst im Comperator abfragen ob Du überhalb oder unterhalb der Schwelle bist, also das Feuer / Wasser Problem stellt sich gar nicht... PPS: Wenn Du mit den Analogteilen der MCU werkelst, sollte die Analoge Spannung der MCU gut gefiltert sein, sonst wird die Referenz auch "wackeln"
N'Abend zusammen, getreu dem Motto "ein Bild sagt mehr als 1000 Worte", findet Ihr im Anhang dieses Postings den Machbarkeitsbeweis: Der Atmega kann mit einer Außenbeschaltung von nur 4 zusätzlichen Standardbauteilen (1mH Spule, 10uF Kondensator, 1 MOSFET, 1 Schottky-Diode) an einer Zelle mit 1V-Spannung betrieben werden. Zusätzlich konnte ich den Atmega sogar noch eine kleine LED schalten lassen - siehe Bild. Kurzum: Heureka es funktioniert! Bevor Ihr aber nun alle mit Reis und Luftschlangen um Euch werft, hier noch ein paar mäßigende Worte: - der Adler fliegt zwar (siehe Bild), aber der Start ist alles andere als mustermäßig: es genügte leider kein knapper Schalter- druck um das Tierchen abheben zu lassen, nein: statt Schalterdruck mußte wie mit einer Raspel per Drähtchen an Drähtchen geraspelt werden, bis das Vöglein endlich abhob (sprich: genau die kritische Initialphase funktioniert noch nicht so sauber wie gewünscht) - ich habe nicht lange herumgefackelt und mein ursprünglich berechnetes Tastverhältnis von 0,4ms ON : 4,6ms OFF kurzerhand über den Haufen geworfen und ein Tastverhältnis von 2,5ms ON und 2,5ms OFF eingestellt. Ich habe das Erfolgserlebnis also zu Gunsten des Wirkungs- grades erzwungen (der dürfte momentan unter aller Kanone liegen). - die Anfangsspannung des Akkus lag bei 1,27V und somit noch ein gutes Stückchen über dem Zielwert von 1V. - insgesamt passen mir meine Berechnungen, die Ltspice-Simulation sowie die Vorversuche mit dem per Funktionsgenerator getasteten MOSFET noch nicht hinreichend gut zum Endergebnis - es bleibt zu weit hinter den Erwartungen zurück und ich möchte herausfinden, woran das liegt. Es gibt also noch einiges zu tun und zu optimieren - allerdings nicht mehr in dieser Woche. Ich erfreue mich jetzt erst einmal an diesem Zwischenerfolg und widme die nächsten Tage meinem Brötchengeber ... Schaut evtl. einmal in 1-2 Wochen wieder rein - ich hoffe, bis dahin gibt es weitere Neuigkeiten. Viele Grüße Igel PS: und im Nachgang noch ein extra Dankeschön an die Herren: Jonathan Strobl (joni-st) Jörg Wunsch (dl8dtl) Markus G. (thechief) Axelr. (Gast) Anon Ymous (avion23) Es ehrt mich sehr, von so viel geballter Fachkompetenz begleitet zu werden. Anon Ymous hat ganz offensichtlich viel Erfahrung im Umfeld Step-Up Wandler und hatte super Tipps auf Lager (1x Extra Danke!) Die Formel von Alexander Schmid kannte ich aus der Literatur - aber die Praxis hat dieser Formel offenbar ein Schnippchen geschlagen, denn mein Tastverhältnis ist 0,5 und trotzdem mache ich aus 1V Eingangsspannung ca. 4V Ausgangsspannung. Trotzdem hat Alexander immer gute Einwürfe - insbsondere Zeit und Mühen Deiner Comparator-Simulation weiß ich sehr zu schätzen. (und inzwischen habe ich auch verstanden, daß Du gar keine Regelung meintest, sondern nur die PWM als Mittel zum intermittierenden Schalten vorgeschlagen hast) Axelr. outet sich als Insider, der Ähnliches auch schon hinter sich gebracht hat - ein Schaltplan Deiner Lösung wäre interessant (vielleicht sogar ein Bild vom HO-Laster - würde uns alle sicherlich interessieren). Markus G.: Danke für die Meldung - die Variable "N" scheint im Moment so etwa gleich 5 bis 6 zu sein. Jörg Wunsch: Danke für die geduldige Antwort - auch wenn meine Frage vielleicht nicht allzu clever war ... Und Jonathan Strobl gilt mein Dank für sein anhaltendes, aufmunterndes Interesse :-)
Hallo zusammen, da während meines letzten Postings noch 2 Antworten eingegangen sind, hier schnell noch meine Reaktion darauf: ------------------------------------------- Zu Markus G.: >ich denke das oben von Dir beschriebene Problem ist relativ einfach >lösbar: [...] Nein, ist leider nicht einfach lösbar (jedenfalls aus meiner jetzigen Sicht), da bereits während der Verarbeitung des Ereignisses "Schwelle wurde überschritten", die Schwelle schon wieder unterschritten werden kann, was dann keinen Interrupt mehr auslöst, weil Du ja noch im ersten Interrupt hängst. >Wenn Du magst kannst Du den bisher geschriebenen Quellcode (Assembler >oder C?) ja hier im Thread anfügen! Derzeit habe ich nur reine PWM realisiert - noch keinerlei Regelung. Daher lohnt ein Posting bislang wirklich nicht. >Ich denke Neugierige gibt es hierfür genug... ;-) Ich würde mir beim derzeitigen Stand nur Ohrfeigen einfangen. Erst muß der Code etwas reifen, dann werde ich ihn vermutlich posten. -------------------------------------------- Zu tobi (Gast): >Problem 2 (Überspannung) könntest Du auch mit einem Monoflop >erschalgen.. Wenn Taste gedrückt, Monoflop start und schaltet Mosfet für >die Zeit, die benötigt wird das er losläuft... > >Weitergedacht könnte dies auch den sicheren Anlauf übernehmen -- wenn >man statt monoflop einen multivibrator nimmt der so eingestellt ist das >die Spannung "langsam" hochtaktet (über mehere Taktzyklen, evrl. höhere >Schaltfrequenz) und vielleicht so bei 3.5 V stabil wird. Später >übernimmt dann die MCU. Könnte man tun, aber es sollte elegant sein und mit extrem wenig zusätzlichen Bauteilen auskommen. Hättest Du dafür einen konkreten Vorschlag? (vielleicht sogar mit kleiner Ltspice-Simulation (wenn ich schon dreist frage, dann richtig :-) Ich selber hatte mal daran gedacht, die allgegenwärtige 50Hz Raum- spannung dafür auszunutzen. Und dann vielleicht ein Darlington oder, oder, oder ... >PS: Du kannst im Comperator abfragen ob Du überhalb oder unterhalb der >Schwelle bist, also das Feuer / Wasser Problem stellt sich gar nicht... Danach habe ich verzweifelt gesucht und nichts gefunden. Bitte gib mir einen Tipp!! >PPS: Wenn Du mit den Analogteilen der MCU werkelst, sollte die Analoge >Spannung der MCU gut gefiltert sein, sonst wird die Referenz auch >"wackeln" Jawohl - davor habe ich derzeit mächtig Respekt, denn meine erzeugte Spannung zackt an allen Ecken und Kanten und pulst sogar etwas (warum auch immer). -------------------------------------------------- Viele Grüße Igel
@ igel (Gast) Wie meinst du das mit dem Wirkungsgrad? Du hast den Abfall an der Diode und vielleicht das Problem dass die Ströme in der Spule immer so hoch sind. Der Wirkungsgrad liegt bei 5V-0.5V=4.5V 4.5/5=90% ;) Ich baue mir mit dem ATmagas einstellbare Spannungs und Stromquellen, dabei ist es wichtig dass die Spule gut dimensioniert ist, aber besser zu groß als zu klein. Für den PID Regler kannst du hier im Forum suchen oder direkt bei ATMEL. http://www.atmel.com/dyn/general/tech_doc.asp?doc_id=10615 Zum starten kannst du ja eine kleine Oszillatorschaltung mit zwei Transistoren bauen.
igel schrieb: >>PS: Du kannst im Comperator abfragen ob Du überhalb oder unterhalb der >>Schwelle bist, also das Feuer / Wasser Problem stellt sich gar nicht... > > Danach habe ich verzweifelt gesucht und nichts gefunden. > Bitte gib mir einen Tipp!! Unter "Analog Comparator" steht im einleitenden Text: ----- The Analog Comparator compares the input values on the positive pin AIN0 and negative pin AIN1. When the voltage on the positive pin AIN0 is higher than the voltage on the negative pin AIN1, the Analog Comparator Output, ACO, is set. The comparator's output can be set to trigger ... --- Also Bit ACO im ACSR-Register.
Hallo zusammen, von Mike J. und Konrad S. habe ich noch gute und wertvolle Hinweise erhalten, auf die ich kurz eingehen möchte, bevor ich den nächsten Meilenstein im nächsten Posting verkünde: ---------------------------------------------- > Wie meinst du das mit dem Wirkungsgrad? Tja - gute Frage. Eigentlich würde mich nur mal interessieren, wieviel mW mein Booster im "Leerlauf" so benötigt. Aber ich habe keine Idee, wie ich diesen Wert einigermaßen akkurat messen kann. Hast Du bzw. habt Ihr gute Vorschläge? > Du hast den Abfall an der Diode und vielleicht das Problem dass die > Ströme in der Spule immer so hoch sind. > Der Wirkungsgrad liegt bei 5V-0.5V=4.5V 4.5/5=90% ;) Schmeichler :-) > Ich baue mir mit dem ATmagas einstellbare Spannungs und Stromquellen, > dabei ist es wichtig dass die Spule gut dimensioniert ist, aber besser > zu groß als zu klein. Ah - interessant. Bin für jeden Tipp/Ratschlag offen. > Für den PID Regler kannst du hier im Forum suchen oder direkt bei ATMEL. > http://www.atmel.com/dyn/general/tech_doc.asp?doc_id=10615 Guter Hinweis - Danke! > Zum starten kannst du ja eine kleine Oszillatorschaltung mit zwei > Transistoren bauen. Ja schon, aber ich möchte die Bauteilzahl unbedingt so gering wie möglich halten. Außerdem konnte ich das Startproblem inzwischen lösen (siehe mein nächstes Posting). ------------------------------------------------ Zu Konrad S. (maybee) >>>PS: Du kannst im Comperator abfragen ob Du überhalb oder unterhalb der >>>Schwelle bist, also das Feuer / Wasser Problem stellt sich gar nicht... >> >> Danach habe ich verzweifelt gesucht und nichts gefunden. >> Bitte gib mir einen Tipp!! >Unter "Analog Comparator" steht im einleitenden Text: >----- >The Analog Comparator compares the input values on the positive pin AIN0 >and negative pin AIN1. When the voltage on the positive pin AIN0 is >higher than the voltage on the negative pin AIN1, the Analog Comparator >Output, ACO, is set. The comparator's output can be set to trigger ... >--- >Also Bit ACO im ACSR-Register. Super!! Genau danach hatte ich gesucht! Vieeelen Dank! Das ACO-Bit hatte ich ja noch im Datasheet-Schaubild gefunden, hatte dann aber offenbar übersehen, wo dieses ACO-Bit abgebildet wird (nämlich im Register ACSR). Wer lesen kann ist klar im Vorteil ... ---------------------------------------------- Viele Grüße Igel
Hallo zusammen, gute, ja sogar sehr gute Nachrichten: Eine Takterhöhung um den Faktor 5 brachte den Durchbruch. Meine ON- und OFF-Zeiten betragen nun beide nicht mehr 2,5ms sondern nur noch 0,5ms. Et voila - schon funktioniert auch der Anlaufvorgang wie geschmiert. Ein Druck auf den Taster und der Vogel fliegt los - und dies sogar bei gleichzeitig angeschalteter LED, die an einem Port des ATmega8 hängt und als "Lebenszeichen" fungiert. Und wie das Schicksal es so wollte, lag hier gerade noch eine alte Kaffeedose mit ca. 30 leeren Batterien herum - sie wurden allesamt sofort zu Testkandidaten für meinen Booster. Das Ergebnis entspricht genau meinen Erwartungen: selbst ausgemusterte Batterien mit 1,3V und weniger Spannung bringen den Booster zum Fliegen. Er tickt - wenn er erst einmal läuft - bis hinunter zu Eingangsspannungen von <0,8V (ganz genau habe ich es noch nicht vermessen). Außerdem verbraucht der Vogel im "ungezündeten" Zustand nur schlappe 30-50uA. Das kommt mir ebenfalls sehr zupass, da ich dann keine weiteren Mimiken mehr einbauen muß, um das Dingen von seiner Versorgung zu trennen, sobald die Mission (whatsoever) erfüllt und der Akku leergesagt ist. Tiefentladungen dürften damit weitestgehend vermieden werden (es sei denn, der Akku verbleibt noch Wochen im Booster). **************************************************** *** *** *** Fazit: *** *** *** *** Erfolg auf der ganzen Linie - ich *** *** freue mich wie ein Schneekönig. *** *** *** *** Alle, die mir das "Händchen" gehalten *** *** haben, lade ich herzlich ein, sich *** *** mit mir über dieses tolle Ergebnis *** *** zu freuen !! *** *** *** **************************************************** Viele Grüße Igel PS: die nächsten Schritte werden sicherlich in Richtung Optimierung der MOSFET-Ansteuerung gehen. Dabei werde ich zunächst noch einmal das Tastverhältnis und die Testfrequenz unter die Lupe nehmen. Anschließend plane ich, die in einem vorigen Posting skizzierte Comparator-Methode umzusetzen. Aber dies alles muß ich zeitlich etwas strecken, denn man kann leider nicht nur den interessanten Dingen im Leben fröhnen ... PSS: Auf Euren vielfachen Rat hin, habe ich heute nochmals satte 8,00 EUR (inkl. Versandkosten) in die Aquise zweier Atmega88PA-PU investiert. Damit sollte der Booster dann fast per scharfem Hinschauen anspringen (und wehe wenn nicht ... :-)
Juchu! freu nachbauenmuss Miss doch mal den aufgenommenen (von der Batterie) und abgegebenen Strom (also was LED und µC verbrauchen) und die jeweiligen Spannungen (Batterie & µC). Dann kannst Du dir den Wirkungsgrad ausrechnen ;) Und mach ein Video davon! ;) Gruß Jonathan
Jonathan Strobl (joni-st) schrieb: > Miss doch mal den aufgenommenen (von der Batterie) und abgegebenen Strom > (also was LED und µC verbrauchen) und die jeweiligen Spannungen > (Batterie & µC). Dann kannst Du dir den Wirkungsgrad ausrechnen ;) Hmmmpf - und wie soll ich das machen ??? Doch wohl nicht mit dem Multimeter ... Das hier sind alles hochgradig gepulste Ströme, bei denen mein DMM wohl kaum den korrekten Mittelwert bilden dürfte. ... oder belehrt mich eines Besseren ... Viele Grüße Igel
igel schrieb: > Doch wohl nicht mit dem Multimeter ... > Das hier sind alles hochgradig gepulste Ströme, bei denen mein > DMM wohl kaum den korrekten Mittelwert bilden dürfte. Dann nimm einen kleinen Widerstand als Shunt und mach einen RC-Tiefpass dahinter. Gruß Dietrich
Mal was generelles: ich lese hier schon eine ganze Weile mit und ich schreibe auch schon eine ganze Weile in diesem Forum (wenn auch in letzter Zeit micht mehr soo regelmäßig, leider QRL). Ich bin dafür, das IGEL einen Ehrenplatz im Bereich "Artikel" bekommt. Nicht dort, wo es um Step-Up Regler geht, auch nicht im Energy-Harvesting Sektor oder im Bereich PWM. Genau: im Bereich Nettiquette!! Das hat Stil, wie hier geschrieben wird. Alle Reglen des Anstands und der Nettiquette in Vollendung umgesetzt. Vielen Dank dafür! Axelr.
Hallo zusammen, offenbar habe ich mein Multimeter doch etwas unterschätzt: Bei einem Vergleich mit dem, was ich auf dem Oszilloskop so sehe, mit den Werten meines Multimeters, scheint es mir, als ob das gute Stück doch ziemlich genau die Mittelwerte bildet (echte deutsche Wertarbeit aus dem Hause Gossen-Metrawatt). Daher kann ich Euch (auch ohne Shunt und RC-Glied **) nun die Spannungs und Stromwerte präsentieren (alles zeitliche Mittelwerte). - Spannung am Akku: 1,28 V - Strom aus dem Akku in Richtung Spule: 84 mA - Strom aus dem Akku im Ruhezustand: 38 uA - Ausgangsspannung (= Vss, die am Atmega anliegt): 4,67 V - Strom aus dem Kondensator in Richtung Atmega (mit LED): 13 mA - Strom durch die LED: 3,0 mA - Strom durch die Z-Diode: 2,3 mA Viele Grüße Igel PS: ** danke für diesen Hinweis an Dietrich L.
Hallo zusammen, na das ist aber ein nettes Kompliment, das ich da einheimsen darf - nämlich das Posting von Alexander Rühl: > Ich bin dafür, das IGEL einen Ehrenplatz im Bereich "Artikel" bekommt. > > Nicht dort, wo es um Step-Up Regler geht, auch nicht im > Energy-Harvesting Sektor oder im Bereich PWM. > > Genau: im Bereich Nettiquette!! Selbstverständlich habe ich mich sofort umgeschaut, wo diese Hall-of-Fame Tafel der netten Jungs und Mädels denn so aufgestellt ist und wo mein Name dann (in Courier 60 ?) eingraviert werden soll. Aber der liebe Alexander hat da doch ein wenig geblufft - datt jib et nämlisch jar nich'. Nix wird's also mit den fetten Lettern "Igel the smartest man of Power-Boosting 2011" ... auf der Eingangsseite von mikrocontroller.net ;-) Anyway - Spaß beiseite: Ich möchte Alexanders Kompliment auch an Euch zurückgeben: Hier gibt's durch die Bank nur konstruktive Kommentare und aufmunternde Worte. Kein nerviges "Du hast keine Ahnung und ich weiß sowieso alles besser". So macht eine Diskussion Spaß. Dank also auch an Euch. So, und nun: gutes Nächtle allerseits ... Viele Grüße Igel
igel schrieb: > Hier gibt's durch die Bank nur konstruktive Kommentare und aufmunternde > Worte. Kein nerviges "Du hast keine Ahnung und ich weiß sowieso > alles besser". So macht eine Diskussion Spaß. Dank also auch an Euch. Doch - gibt es auch. Aber wie man eben in den Wald hineinruft, nicht wahr :)
Ja, dieser Thread hat wirklich "Stil" ;)! Kompliment an "Igel" und alle Anderen! Na ja, btt: Ich habe mal den Wirkungsgrad ausgerechnet: Eingangsleistung: 107 mW Ausgangsleistung (incl. Zenerdiodenheizung): 70 mW Wirkungsgrad: 65% (!) Na, das kann sich doch sehen lassen! Hast Du eigentlich bereits die Komparator-Steuerung eingebaut? Gruß Jonathan P.S.: Zeig doch mal ein paar Bilder! Irgendwie kann ich es nicht glauben, dass da eine LED dran hängt...
Guten Abend in die Runde, schnell ein paar Antworten auf das Posting von Jonathan Strobl: >Wirkungsgrad: 65% (!) >Na, das kann sich doch sehen lassen! Och ja - hatte ich gar nicht nachgerechnet - ist doch nicht so schlecht wie gedacht. Es kommt aber noch besser - freue Dich schon mal auf das nächste Posting ... >Hast Du eigentlich bereits die >Komparator-Steuerung eingebaut? Nein, bislang alles ungetuned und ungeregelt. >P.S.: Zeig doch mal ein paar Bilder! Irgendwie kann ich es nicht >glauben, dass da eine LED dran hängt... Beweisfotos kommen im nächsten Posting. Viele Grüße Igel
Hallo zusammen, anbei die gewünschten Fotos meines "MiniBoosters" (so habe ich den Vogel heute getauft). Inzwischen habe ich nochmals ein Schippchen draufgelegt, indem ich von 1kHz Schaltfrequenz auf 10kHz Schaltfrequenz erhöht habe. Den Wirkungsgrad der Schaltung könnt Ihr live und in Farbe aus den Bilden ablesen: unter dem Vorbehalt, daß mein Multimeter auch wirklich die Mittelwerte korrekt bestimmt und mit dem Hin- weis, daß ich etwas unschön den Eingangsstrom im 10A-Meßbereich messen mußte, komme ich auf einen gemessenen Wirkungsgrad von sage und schreibe 85% !! Die Schaltung ist dabei noch immer ungeregelt und wird nur von einer simplen PWM mit einem Tastverhältnis von 0,5 angesteuert. Vermutlich kann hier allerdings eine Regelung auch nicht mehr herausholen, da man die Schottky-Diode ja nicht wegregeln kann. Und hier noch ein paar Kommentare zu den angehängten Bildern: - MiniBooster-10kHz-Breadboard.jpg Ein etwas wilder Drahtverhau. Deutlich erkennbar ist die kleine, leuchtende LED. Alle Widerstandsdrähtchen auf der rechten Seite gehören zu einer anderen Schaltung. Am unteren Ende erkennt man den AVR-ISP-Anschluß, den ich heute dazugebastelt habe. Bitte nicht irritieren lassen: einige Widerstände in der Schaltung sind gar nicht angeschlossen. Sie sind nur deshalb eingesteckt, damit meine Meßschnüre mit den Krokoklemmen besser anbeißen können. MiniBooster-10kHz-Overview.jpg Hier seht Ihr den Gesamtaufbau. Die eigentliche Schaltung besteht nur aus dem oberen linken Teil des Breadboards. Der Rest sind andere Schaltungen, die nichts mit dem Thema hier zu tun haben. MiniBooster-10kHz-Scopeview.jpg Das Bild zeigt den Oszilloskopschirm sowie die Einstellungen am Gerät. Dargestellt sind die Ausgangsspannung von ca. 4V (obere Linie) sowie das vom Atmega generierte PWM-Signal zur Ansteuerung des MOSFETs (unteres Rechteck-Signal). Wichtig: die Nulllinie für beide Kanäle befindet sich jeweils etwa dort, wo die Signale Ihren unteren "Boden" haben. Außerdem ist zu beachten, daß die Horizontalablenkung nicht 0,2ms/cm beträgt, wie es das Bild scheinbar suggeriert, sondern nur 0,02ms/com, weil der Faktor10-Zoomknopf an meinem Oszi nicht mehr funktioniert und somit das Oszi dauernd zoomt. MiniBooster-10kHz-Vin.jpg Hier seht Ihr die Eingangsspannung MiniBooster-10kHz-Iin.jpg Und hier wird der zugehörige Eingangsstrom gemessen. Leider konnte ich keine feinere Auflösung einstellen, da sonst der MiniBooster nicht anspringt (... wobei mir in dieser Sekunde einfällt, dass dies am Autoranging und dem hohen Innenwiederstand des Meßgerätes im uA-Bereich liegen muß. Mit manueller Bereichswahl hätte es vermutlich geklappt - aber jetzt sitze ich gemütlich im Sessel und habe keine Lust mehr aufzustehen ...) MiniBooster-10kHz-Vout.jpg Abgebildet ist die Ausgangsspannung MiniBooster-10kHz-Iout.jpg Abgebildet ist der Ausgangsstrom (bei leuchtender Diode, die Ihrerseits ca. 2,3 mA verbraucht - sie ist über 1kOhm an den Atmega-Ausgangspin angeschlossen). MiniBooster-10kHz-Iin_off.jpg Und hier seht Ihr den Ruhestrom des MiniBooster - also derjenige Strom, der fließt, wenn nicht "geboostert" wird. Soweit erst einmal die Neuigkeiten in Sachen MiniBooster. Sollte jemand die Schaltung bereits jetzt nachbauen wollen, so würde ich mich über ein kleines Posting in diesem Thread freuen (auch dann, wenn Leute die Schaltung vielleicht erst in ein paar Monaten/Jahren in diesem Forum entdecken). Insgesamt plane ich mittelfristig, die Sache nochmals sauber aufzubeeiten: - Schaltplan, - Steckplan, - Bauteilliste, - Ltspice-simulation, - Schaltungsbeschreibung - Ein paar Hübsche Fotos ... das alles möchte ich nochmals in einem PDF aufbereiten. Mal sehen, ob's der innere Schweinehund zuläßt. Bis es so weit ist, wird aber noch ein wenig geforscht: Die zwei Atmega88PA sind heute angekommen ... Vielleicht geht's dann ja sogar mit einer kleineren Spule. Außerdem steht ja noch die Regelung aus, auf die ich mich ebenfalls schon freue. Mal sehen, wieviel Strom der MiniBooster dann maximal liefern wird, wenn er bei Last hochregelt. So - das war's erst einmal für heute (und vielleicht auch für die nächsten Tage - Familie, Beruf und Schlafdefizit fordern langsam ihren Tribut). Viele Grüße Igel
Hallo Gemeinde, ohne daß ich den Nerv hätte, den riesigen Thread durchzulesen, es könnte schon mal gesagt worden sein: Es liegt sehr viel daran, wie schnell man den Atmega in den Sleep Modus versetzt und wie spät man ihn aufwecken kann. Hier ist ein höchst spannender Versuch: http://jeelabs.org/2010/09/02/sending-packets-without-battery/ vy73 Markus DL8RDS
igel schrieb: > ... das alles möchte ich nochmals in einem PDF aufbereiten. Oder in einem Artikel fürs hiesige Wiki?
statt den Atmega88PV hätte man ja auch den ATtiny43U bestellen können. ich dachte, es geht um den (vorhandenen) Megaga8? Na egal, kannst ja mal vergleichen, was der 88 noch rausholt. wirst Dich wundern, wieviel da rumkommt! Diesen Controller kannst Du ja mit 2.7V oder sogar runter bis 1.8Volt laufen lassen. Einen MCP1700-1.8 davor und alles passt :)) Die PWM würde ich aber viel höher wählen. Du brauchst doch keine 8Bit Auflösung. 500Khz CPU-Takt und 4Bit PWM auflösung mit ICP Register==TOP==16 ergibt 62.5 Khz und sollte gut gehen. ( Wenn ich richtig liege ;) ) Andererseits ist nicht davon auszugehen, das sich die Stromaufnahme großartig ändern wird, eine Restwelligkeit von 1-2Volt sollten keine Rolle spielen. Überigens hat das Fahrradrücklicht meines Kollegen soetwas verbaut. mit einem PIC (baugleich Attiny10) . Der regelt die Helligkeit der LED so, das auch bei leer werdenen Akkus die Helligkeit erhalten bleibt und steuert zusätzlich noch eine "Warn"-LED für die Unterspannungsanzeige Beitrag "Re: Mikrocontroller im Gehäuse kleiner als SOIC-8"
Hey, also ich baue mir das jetzt nach ;)! egal schrieb: > Oder in einem Artikel fürs hiesige Wiki? Das wäre wirklich was für einen Wiki-Artikel. Willst Du (igel) einen machen? Gruß Jonathan
N'Abend zusammen,
> Hey, also ich baue mir das jetzt nach ;)!
Nach ein paar Tagen Funkstille wollte ich einmal fragen, ob tatsächlich
jemand meinen hier besprochenen MiniBooster nachgebaut hat?
In der Zwischenzeit bin ich noch ein ganzes Stückchen weitergekommen:
- Verkleinerung der Induktivität (positiv) getestet
- PWM-Programm mit online veränderbarem duty-cycle geschrieben
- Mini-Regelungsprogramm (Comparator-gesteuert) geschrieben
Wenn noch echtes Interesse besteht, werde ich in den kommenden Tagen
einmal nähere Details posten. Aber nur, wenn sich echte Interessenten
melden, denn die forentaugliche Aufbereitung kostet ja doch immer
einige kostbare Hobbyzeit, die ich mir schenken würde, wenn's keinen
interessiert.
Meldet Euch also bitte, wenn Ihr "Fortsetzung" wünscht.
Viele Grüße
Igel
PS: auf die letzten (wie immer guten ...) Forenbeiträge antworte ich in
nachfolgenden Postings.
Igel schrieb: > Meldet Euch also bitte, wenn Ihr "Fortsetzung" wünscht. Ja, klar interessiert mich das immer noch! Das ist einer der besten Threads, inhaltlich und auch spitzenmäßig von dir geführt. Danke dafür! Ich habe den Thread auch auf meine Merkliste gesetzt: "Stromversorgung, auch wenn es mal eng wird".
Igel schrieb: > Wenn noch echtes Interesse besteht, werde ich in den kommenden Tagen > einmal nähere Details posten. Aber nur, wenn sich echte Interessenten > melden, denn die forentaugliche Aufbereitung kostet ja doch immer > einige kostbare Hobbyzeit, die ich mir schenken würde, wenn's keinen > interessiert. Hatte ich ja bereits positiv erwähnt, das Du einer der wenigen bist, die sich damit viel mühe geben. Jetzt, da wir das ja wissen, kannst Du dich bei deiner zukünftigen Aufarbeitung ja auf das wesentliche beschränken und einfach drauflos schreiben. ;))
Hallo Igel, bitte setze Deinen Thread hier fort! Ich habe doch nicht um sonst die Email-Benachrichtigung hierfür aktiviert! :-) Ausserdem wollen wir doch nicht bei 90 Prozent aufhören zu lesen... :-) Vielen Dank und Grüße Markus
Auch wenn ich´s (derzeit) nicht einsetzen kann, finde ich es sehr interessant...
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.