Hallo, ich hoffe ich könnt mir weiterhelfen.
Zielsetzung
---------------
Als Teil meiner Abschlussarbeit hab ich das Problem, dass ich
A.) eine Spannung gezielt vorgeben soll im Bereich von 0-1.5V mit einer
Auflösung von ~1-10mV
B.) gleichzeitig ein Strom über eine Last nicht die Spannungreferenz
verändern soll.
C.) sehr kleiner Bauraum muss eingehalten werden (Durchmesser 10mm, 25mm
Höhe)
---------------
Hintergrund
---------------
Der Aufbau sieht so aus, dass ein Arduino Nano verwendet wird, um über
eine eigene Shieldplatine eine Spannung auf einer Steckplatine
vorzugeben.
Diese sehr kleine Steckplatine (ungefähr 10x25mm), wird mit dem Shield
verbunden und nach der Spannungsvorgabe getrennt.
Die Steckplatine wird daraufhin in ein Glasröhrchen (D 10mm) und mit
einem Kontakt(Stiftleiste o.ä) in das darin enthaltene Pulverbett aus
verschiedenen Partikeln (Proben) gesteckt, um an diesen die
Referenzspannung anzulegen.Der Widerstand des Pulverbetts ist quasi die
Last, sofern Ausgleichsströme fließen.
Die Steckplatine nimmt die Bauteile für die Spannungsreferenz und für
die Entkopplung von Spannung und Strom auf, sowie eine Micro Knopfzelle
als Versorgung.
----------------
erster Ansatz:
----------------
Entkopplung über Impedanzwandler, Kondensator als Speicher für die
Spannungsreferenz.
siehe angehängtes Bild.
Grundsätzlich könnte eine solche Schaltung funktionieren, allerdings
zieht der OpV stets 25pA am Eingang und entlädt damit den Kondensator
innerhalb von Minuten um mehrere mV. Für die Messungen wäre es ideal,
wenn die Spannung an den Proben tatsächlich konstant wäre.
Sofern es keine bessere Lösung gibt, bliebe noch die Kapazität drastisch
zu erhöhen.
----------------
Fragen:
----------------
1.) ist es möglich, durch eine Schaltung den Eingangswiderstand des OpV
zu erhöhen?
2.) oder: wie kann man von außen eine Spannung als Referenz einstellen,
die dann über eine Schaltung von der Batterieversorgung her gehalten
wird, um die 24pA auszugleichen? Bzw. periodisch den Kondensator wieder
auf die Ursprungsspannung aufläd?
3.) das Arduino Nano hat nur digitale Ausgänge. 5V DC oder 5V 8Bit PWM.
Wie würdet ihr eine Spannung gezielt vorgeben? Das ganze sollte stets
reproduzierbar sein, z.B. wenig von der aktuellen Raumtemperatur oder
Störungen abhängen.
DAC ? Integrierer/Konstantstromquelle und dann mit schnellem Schalter
unterbrechen? Frequenz-Spannungswandler?
4.) ein anderes Problem ist der Ausgangsoffset des OpV. Kann man diesen
irgendwie beschränken/ konstant halten?
5.) ich würde gern die Verbindung zur Steckplatine elektrisch
unterbrechen, so dass diese abgezogen werden kann, ohne dass an den
Kontakten eine Spannung anliegt. Könnt ihr einen schnellen
Schalter/Transistor empfehlen den man hierfür verwenden könnte?
---------------
Danke schonmal für die Mühe.
Gruß
Ohne Deine eigentlichen Fragen zu lesen ein kleiner Hinweis:
Du hast als Roff im Schaltermodell 0,1EOhm (also Exaohm, 1*10^17)
angegeben - LTspice hat mit absurd großen und kleinen Werten einige
Probleme, dass kann die Simulationsdauer in ähnlich absurd-hohe
Größenordnungen treiben.
Okay. Danke für die ersten Hinweise. Ich wollte das Abstecken der
Platine (rechter Teil der Schaltung) simulieren und dann allein die
Spannungsabnahme am Kondensator durch den OpV betrachten. Sobald ich den
Schaltwiderstand Roff kleiner mache, entlädt er mir den Kondensator
hauptsächlich über den Schalter.
@gk: Danke! der DS4303 könnte funktionieren.
Ich sehe gerade, dass dieser intern nen DAC hat.
Ich frag mich gerade ob ich nicht direkt einen DAC auf der Zielplatine
verschalten soll. Der DAC könnte dann über einen festen
Spannungsreferenz IC eingestellt und seriell vom Arduino aus
programmiert werden. Dann müsst ich nicht mehr versuchen aus digitalen
Ausgängen analoge zu machen.
Hab mir jetzt den LTC1659 rausgesucht.
Dieser sollte auch seinen inneren Zustand beibehalten, solang man nicht
aktiv die Eingabe triggert.
Mit der Lösung wären praktisch fast alle Fragen vorerst anderweitig
gelöst.
Ansonsten falls jemand auch leidig nach SMD Schaltern (Batterie on/off)
gesucht hat, es gibt den 1Pol DIP Schalter SDA01H0SBR.
Ok neues Problem:
wie interpretiert man den Supply Current im Datenblatt z.B. des Lt1659.
Ist dies bei Dauerbetrieb, wenn der DAC fortwährend mit einer Frequenz
schaltet?
Bei einer Versorgungsspannung von ~2V würde mir der Chip allein laut
Angabe fast 0.8mA ziehen.
Wie legt man eine Batterieversorgung für Ic/uC Schaltungen am besten
aus?
In meinem Fall wird nur einmal die Spannung am DAC eingestellt. Der
Strom der danach fließt ist abhängig von der Last aber begrenzt durch
den Ausgang des DAC ~5mA.
Die Kurve mit Supply Current VS - Logic input level, spiegelt vor allem
das verhalten der digitalen Eingänge wieder. Bei 5 V Versorgung sind 2 V
am Eingang eines CMOS ICs nun mal schlecht. Wenn der µC und der DAC die
selbe Versorgung (z.B. 2,7V) haben, entfällt das Problem. Es bleibt dann
aber ein Stromverbrauch von etwa 250 µA für das IC und ca. U_ref/ 28 K
(Größenordnung 100 µA).
Der relativ hohe Stromverbrauch ergibt sich teils einfach aus der
relativ hohen möglichen Geschwindigkeit des DACs. Da gibt es sparsamere
(z.B. MCP4921 ist schon etwas sparsamer, geht aber wahrscheinlich noch
besser) - zumal man ja auch noch eine Ref. braucht, und 2,7 V als min.
Spannung auch schon recht hoch sind für Batteriebetrieb. Auch ein
Digitaler Poti und OP dahinter kann noch sparsamer sein.
Okay.
Ich hab jetzt allerdings keinen 12Bit Digital Poti gefunden. Und wenn
man mehrere Digitalpotis in Serie schaltet erhöht man leider nur den
Aufwand und verbraucht Platz.
Ich hätte jetzt diesen Ultra-low power DAC gefunden. AD5452http://www.farnell.com/datasheets/1780741.pdf
Wenn nichts weiter dagegen spricht, werd ich versuchen eine Schaltung
aufzubauen mit:
Für die Steckplatine:
1xAD5452 DAC
1xAD8551 prec. OpAmp http://www.farnell.com/datasheets/1769107.pdf
(es steht zwar bei Farnell chopper, aber das ist doch eher ein "chopper
gleich" stabilisierter OpV?)
1xREF3020 2.048V Spannungsreferenz
http://www.farnell.com/datasheets/1446366.pdf
-diverse R,C, On/Off DIP, SMD LEDs
2xMS621FE Lithiumpolymer Akku in Parallelschaltung.
http://www.farnell.com/datasheets/321180.pdf
Die Tiefentladung liegt anscheinend bei 2V. Da müssten meine oberen
Bauteile vorher schon Schluss (2.7V) machen und damit eine Tiefentladung
verhindern.
Gleichzeitig sollte der Ausgangsstrom durch die Akkus auf natürliche
Weise begrenzt sein? Oder brauch ich hierfür nochmal nen Vor-Widerstand?
(OpV kann bis zu 5mA ausgeben, beide Akkus liefern zusammen max 0.5mA)
Für den Arduino Shield:
-LTC4070 Batterie Charger IC
http://www.farnell.com/datasheets/1713919.pdf
Wenn ich diesen IC richtig verstanden habe, sollte ich mit ner Spannung
von 3,3V vom Arduino als Vin und nem passenden Widerstand genau die
Batterien aufladen können, ohne diese zu überlasten.
-analog switch TS5A23166, für Steuerung der Batterieaufladung
Die Steckplatine soll dann bei jeder neuen Anwendung und Programmierung,
gleichzeitig aufgeladen werden.
Ist das überhaupt möglich einen Akku aufzuladen und gleichzeitig eine
Last zu versorgen? Ich würde lediglich erwarten das eben der effektive
Ladestrom für die Akkus etwas geringer ausfällt.
Mit wieviel mA würdet ihr die Akkus aufladen? Laut Datenblatt stehen als
Standard 0.015mA, was etwas wenig ist im Verhältnis zum maximalen
Output.
Shield Vout Batterie charger 3.1V----)(------------------VBat+
(2,7V->3.1)
|
RL (DAC,OpV,URef)
|
Shield GND ----------------------)(------------------VBat-
Auch wenn die Teile nur bis 2,7 V spezifiziert sind, heißt das noch
nicht, dass dann darunter kein Strom mehr Aufgenommen wird, sondern nur,
das da keine Funktion mehr garantiert ist. Einen Schutz vor
Tiefentladung bräuchte man aber immer noch. Der ADC ist tatsächlich
recht sparsam, auch wenn das etwas täuscht: der Ref Eingang ist relativ
niederohmig und zieht da bei 2 V da etwa 200µA.
Der AD8551 ist präzise, aber nicht wirklich sparsam. Sparsam wäre etwa
ein MCP6V31.
Hi, danke dir btw. für deine Mühe und Zeit.
Habe jetzt den OpV von dir übernommen.
Hätte jetzt diesen Spannungsdetektor IC gefunden:
http://de.farnell.com/linear-technology/ltc1998cs6-trmpbf/spannungsdetektor-li-ion-batt-sot23/dp/1663873RL
Der Detektor ist dann das einzige Bauteil das stets versorgt wird. Der
Kreis der anderen Bauteile wird dann durch nen lowside FET geschlossen.
Mit zwei Batterien komm ich theoretisch auf 0.5mA., da fällt hoffentlich
der Verbrauch des DAC nicht so ins Gewicht, zumal dieser nur einmal
umgeschalten wird.
Die ganze Schaltung soll später nur kleinere Leckströme kompensieren und
die Spannung dabei konstant halten.
Wie schätze ich den Verlust von Transistoren richtig ein?
Könnte z.B. dieser Transistor von den Werten her passen?
FDY300NZ, mit Rdson = 0.00024ohm.
http://www.farnell.com/datasheets/298793.pdf
Der MOSFET sollte gehen, könnte auch noch kleiner sein. 1 mA gibt halt
auch bei o,3 Ohm nicht viel Verlust. Bei so wenig Strom könnte es ggf.
auch Überwachungs-ICs geben, die ohne den externen FET auskommen,
ggf.auch als Spannungsregler mit Abschaltung bei Unterspannung - das
könnte dann ggf. auch gleich die Ref. ersetzen.
Allerdings ist die Belastbarkeit der Akkus wirklich gering. Da sollte
man vielleicht doch noch mal nach einem Sparsameren DAC oder Digipot
suchen. Wegen der Auflösung halt notfalls auch 2 Zusammenschalten und
beim einstellen den passenden Wert suchen.
Das schwierige ist einfach auch der Aufwand für die Suche nach
Multifunktions Ic's. Meistens passen dann andere Werte nicht oder sie
sind nicht verfügbar.
Ich hab jetzt noch nen sparsameren DAC gefunden, der noch dazu offenbar
einen positiv gepolten Ausgang besitzt, so dass man sich einen OpV fürs
invertieren spart.
AD7390ARZ
Ich hab jetzt mal Schaltpläne und Board Layouts mit den bereits
gefundenen Bauteilen erstellt. Werde nächste Woche mit den Uni
Werkstätten reden, ob das ganze so machbar ist. Hauptsächlich kommt es
darauf an, das sie mir alle TH pads durchkontaktieren. Grundsätzlich
können die auch Bauteile bestücken und Reflow Löten, mal sehen.
Der Batterielogger IC wäre auf 2,8V Cut-Off programmiert.
Auf dem Shield bildet eine Stromreferenz + OpV + Transistor eine
einschaltbare CCCV Quelle. Der zuvor gefundene Chip war mit +4.0V
scheinbar zu hoch für die gewählten LiPos.
Mit der Schaltung sollte es möglich sein, zwischen Batterieversorgung
+Aufladung oder direkter Versorgung übers Arduino hin und her zu
schalten, je nachdem ob der User den SMD Schalter aufm Board drückt.
http://de.farnell.com/multicomp/mcate-1-v/schalter-betaetiger-oben/dp/1316982?Ntt=MCATE1
Die einzigen echten Fehlermeldungen vom DSR betrifft das vom Bauteil
Druck tPlace mit Lötstop tStop kollidiert. (lustigerweise auch bei
Hersteller eagle files).
Gibt es ne Möglichkeit über scripte einen Zeichnungsrahmen und ne
Stückliste zu generieren?
Die Digitalen Eingänge der DACs brauchen noch Pull-down oder Pull-up
Widerstände, damit die Eingänge nicht auf undefiniertem Pegel liegen,
das würde sonst den Stromverbrauch erhöhen. Zusätzlichen Strom brauchen
die Widerstände nur von der Schaltung die den Wert reinschreibt.
Es könnte sein, das die Versorgung hinter dem MOSFET noch eine
Kondensator zur Stabilisierung braucht, der Akku ist ja relativ
hochohmig und kann keine Pulsströme liefern, und auch nicht gut Ströme
etwa von ESD aufnehmen. Bei der Ref. ist ein Kondensator am Ausgang
optional (und dann auch mit Einschränkungen beim ESR) aber an der
Versorgung sogar ein recht großer empfohlen.
Servus,
@Bestaendiger
Vom technischen Standpunkt aus gehts um ein Board das über einen Shield
fürs Arduino Nano aufgeladen und programmiert werden soll eine feste
Spannung (0-2.047V/ @0.5mV LSB) über einen DAC auszugeben (200uA/1mA).
Durch LiPo Batterien und die sehr geringe angepeilte Größe des Boards,
soll es möglich sein dieses auch autonom einzusetzen wo man nicht mit
nem Labornetzteil hinkommt/ oder nicht hin darf. z.B. Reagenzgläser
unterm Abzug etc.
Daher die hohen Micropower Anforderungen. (uA statt mA)
@Ulrich
Danke nochmal für die Hinweise.
Die Pull-Downs sind problematisch, weil ich keinen Platz im Layout dafür
habe. Ich hab jetzt einen PullDown mit 1,3M setzen können. Hab mich für
den CLR Pin entschieden, weil dieser auf High Flanke geprüft wird.
Der Rest muss erstmal floatend verbleiben. Der DAC sollte zumindest
allein von Störungen auf den Leitungen nicht schalten und im normalen
Verbrauch bleiben.
Wenn verbunden mit dem Shield, sollten diese über die Digital Pins des
Arduino stets definiert auf GND sein.
Ich hatte schon nen Kondensator am URef Ausgang, mit 0.1u und hab jetzt
noch nen Kondensator C2 am MOSFET Ausgang mit 100u gesetzt. Würden die
passen oder sollten diese noch größer ausfallen?
ESD Schutz ist wirklich ne Sache die für meine spezielle Anwendung im
Laborbereich sehr wichtig ist.
(Handschuhe + Proben + Reibung + EMF)
Daher nochmal Danke das du mich drauf aufmerksam machst.
Ulrich schrieb:> Die Digitalen Eingänge der DACs brauchen noch Pull-down oder Pull-up> Widerstände, damit die Eingänge nicht auf undefiniertem Pegel liegen,> das würde sonst den Stromverbrauch erhöhen. Zusätzlichen Strom brauchen> die Widerstände nur von der Schaltung die den Wert reinschreibt.>> Es könnte sein, das die Versorgung hinter dem MOSFET noch eine> Kondensator zur Stabilisierung braucht, der Akku ist ja relativ> hochohmig und kann keine Pulsströme liefern, und auch nicht gut Ströme> etwa von ESD aufnehmen. Bei der Ref. ist ein Kondensator am Ausgang> optional (und dann auch mit Einschränkungen beim ESR) aber an der> Versorgung sogar ein recht großer empfohlen.
Um die Liste etwas zu erweitern:
Der AD7390 braucht noch 100 nF + 10uF an der Versorgung.
Wenn man wüsste was die Last ist, könnte auch gesagt werden, ob dieser
DAC mit der Last zurechtkommt... Max. Kapazität sind laut DB nur 100 pF!
Ob die Schaltung lang genug mit den vorgesehenen Batterien läuft, wäre
auch noch zu fragen, da die Spannung laut DB am Anfang ziemlich schnell
abfällt.
Eine Alternative zu dem AD7390, wäre, wenn es von den Anforderungen her
passt, z.B. der MCP4728. Etwas Overkill, da 4x 12-Bit DAC, aber drei
könnten abgeschaltet werden. Vorteil: Das Teil hat 1. eine interne
Referenz und 2. speichert es die Werte in einem EEPROM und verträgt bis
zu 1 nF an den Ausgängen.
http://ww1.microchip.com/downloads/en/DeviceDoc/22187E.pdf
Oder gleich einen kleinen Cortex-M3 mit passender Peripherie...
EFM32TG110 der bis runter auf 1.85 V läuft und u.a. einen 12-Bit DAC und
OpAmps integriert hat, DAC Stromverbrauch 38uA typ., Deep Sleep mit RTC
an um z.B. die Batterie zu schonen 1 uA, Shutoff 20 nA...
Allerdings QFN24-Gehäuse...
http://www.silabs.com/Support%20Documents/TechnicalDocs/EFM32TG110.pdf
Hi, Danke!
Stimmt die Kondensatoren am DAC hab ich auch noch vergessen, obwohl es
sogar im DB steht.
Also 0.1u Keramik und 10u Tantal am Supply.
Ich werde den MCP4278 übernehmen. Der kommt mit 1Channel aktiv auf
~200uA und das entspricht auch dem AD7390+URef.
Das schafft auch nochmal Platz im Layout.
Der Cortex ist wirklich heftig. Allerdings ist der Verbrauch angegeben
pro Mhz und sofern der uC nicht runtergetaktet werden kann auf 1Mhz wäre
der Verbrauch zu hoch. Die PCB Werkstatt der Uni gibt BGA 0.5mm fp als
minimum an, kein Wort über QFN.
---
Für meine Anwendungen: metallische Pulver unter Potenzial, die in
Kontakt mit Lösungen kommen und organisch/anorganische Lösungen die auf
ein geringes Potential reagieren, sind 100pF und wenige uA völlig
ausreichend.
Aber ja, die große Frage ist, wie lang die mini LiPos halten würden.
Cut-off Voltage ist ~2,7V (statt 2,8V wie oben mal geschrieben)
maximale Entladung ist 0.5mA. 200uA allein für die Schaltung.
Wenn die Schaltung eine Stunde lang durchhält, wäre das bereits
ausreichend. Die Einzelmessungen dauern nicht lange und man kann ja
jederzeit den Batteriekreis ausschalten.
Sowas hier wäre eigentlich ideal:
http://www.rocketpoland.com/en/text/6,14-LITHIUM_FLEXIBLE_BATTERY.php
Die Dinger kann man auch um die diversen Reagenzgläser/Glasröhrchen
wickeln. In dem Fall sind es Batterien, also nicht aufladbar und der
gesamte Auf/Entladeschutz würde wegfallen.
Frage ist nur wie leicht man an sowas rankommt.
Ben schrieb:> Der Cortex ist wirklich heftig. Allerdings ist der Verbrauch angegeben> pro Mhz und sofern der uC nicht runtergetaktet werden kann auf 1Mhz wäre> der Verbrauch zu hoch.
Der kann runtergetaktet werden... Allerdings braucht der DAC in diesem
Controller den schnelleren Haupttakt, wenn er kontinuierlich laufen
soll. Der DAC kennt aber auch einen Sample/Hold-Modus ähnlich der Idee
von oben. Müsste man mal im Manual genauer nachlesen
> Die PCB Werkstatt der Uni gibt BGA 0.5mm fp als> minimum an, kein Wort über QFN.
Wenn BGA mit dem Pinabstand geht, sollte auch QFN machbar sein.
> Sowas hier wäre eigentlich ideal:> http://www.rocketpoland.com/en/text/6,14-LITHIUM_FLEXIBLE_BATTERY.php> Die Dinger kann man auch um die diversen Reagenzgläser/Glasröhrchen> wickeln. In dem Fall sind es Batterien, also nicht aufladbar und der> gesamte Auf/Entladeschutz würde wegfallen.> Frage ist nur wie leicht man an sowas rankommt.
Es gäbe auch Lithium-Ionen-Akkus mit sehr geringem Durchmesser:
LC0840 8.4 mm Durchmesser, 40 mm lang
http://www.jauch-batteries.com/lithium-ionen-baps/?L=0
Die Widerstände an den Eingängen sind nicht nur für den logischen
Zustand wichtig, sondern auch für den Stromverbauch ! Ein floatender
Eingang kann den Stromverbrauch deutlich in die Höhe treiben. Wie
schlimm das werden kann war im Datenblatt vom Lt1659 drin. Die
Widerstände sind also wirklich nötig und dürfen auch kleiner werden,
denn der Strom dafür kommt nicht vom Akku sondern Arduino. Wenn es eng
wird, ggf. auch die Bauform noch etwas kleiner wählen.
Die Kondensatoren an der Versorgung kann man ggf. die für die Ref. und
den DAC zusammenfassen, wenn die Wege nicht so lang werden. Auf den
Tantal Elko könnte man vermutlich auch verzichten - ggf. ein Kondensator
vor den FET und einen dahinter - der Widerstand des MOSFET wirkt dann
zur Dämpfung.
Hi,
ich habe jetzt den DAC mit interner Referenz genommen und alle
benötigten Widerstände und Kondensatoren soweit verbaut.
Die Uni Werkstatt kann mir auch die Boards fertigen.
Bleibt das Problem mit der Energieversorgung.
Ich werde die Knopfzellen rausnehmen und stattdessen lediglich einen
Stecker auf die Rückseite des Boards anbringen.
Ziel wäre es dann das die Platinen mit Standard Lithium Akkus
zurechtkommen, die klein genug sind außen irgendwo angebracht zu werden.
Der Shield bekommt dann wieder den integrierten Lade IC (4-4.3V)
spendiert.
Bin noch am überlegen wie man den Ladestrom steuerbar gestaltet
(1mA->50mA) für unterschiedliche Akkus, vllt. hier nen digital Poti als
Vorwiderstand des LTC4070 verbauen.
Der Modellbau Sektor bietet z.B. diesen Akku an, der für meine Zwecke
gut passen würde und leicht beschaffbar ist:
http://www.rakuten.de/produkt/e-flite-30mah-1s-37v-25c-lipo-akku-fuer-zb-mini-vapor-776167506.html
Vom Hersteller gibt es scheinbar kein Datenblatt, aber allein von den
Rahmen Werten her, sollte er gut funktionieren.
Allerdings hab ich bislang nicht rausfinden können wie der Stecker
heißt.
Kennt sich da jemand zufällig aus?
Welchen Stecker würdet ihr für den Akku verbauen?
Verpolungs sichere Steckverbindungen wären nicht schlecht.