Regelbares Netzteil komm nicht weiter.

Ne andere möglichkeit wäre PWM, aberd das wird nicht vernümftig funktionieren. Auch nicht mit einem Elko dran. Viel zu ungenau. Ein Digitales Poti ist da die bessere wahl.

Ich rate Dir mit der Spannungsregelung anzufangen, da dies der problematischere Teil ist und es keinen Sinn hat, daß Du die Spannung und den Strom messen kannst, aber das Netzteil gar nicht regeln kannst, da Du nicht weißt wie.

Du schreibst Du willst ein Netzteil von 0 bis 15V ( brauchst Du wirklich 0V oder kann das Netzteil ab zB 1,5V anfangen?
Welchen maximalen Ausgangsstrom soll das Netzteil haben? Soll der strom ebenfalls geregelt werden können (Maximalstrom eingestellt werden)?

Grüße Uwe

Det Trago hat 2x15V 870mA. Der Strom braucht nicht geregelt werden. 0-15 war nur eine allgemeine Angabe. Der LM fäng eh erst bei 1.25V an. Desweiteren ist eh die Frage, eie genau das ganze nachher mit eimem Digitalen Poti überhaupt noch ist. PWM wird man eh vergessen können, hab ich ja schon erwähnt. Hinzu kommt dann noch, das mann dann ethliche male drücken muss, bis man den gewünschten Wert hat.

Die Platine wird auf alle fälle so ausgelegt, das irgendwann noch änderungen machbar sind. Ein Anschluss für mein Programieradapter kommt auch mit drauf.

Wichtig ist für mich mal erst, ob es genauer ist, wenn ich 15V zu 5V als berechnung nehm, oder 15V zu 1.5V
Dann kann ich die Wiederstände berechnen. Ohne die Werte gehts eh net weiter.

LG. Rene

Die digitalen Potentiometer vertragen nur maximal 5V am den Widerstandsanschlüssen und meist nur einige µA. Die digitalen potentiometer kannst Du nicht als Spannungsteiler für einen LM317 verwenden.
Grüße Uwe

Hab mal Dad seine Bücher durchstöbert. Bin nun bei IN 30V zu OUT 5V ausgehe sind R1 15K und R2 3K.

Dann hätte ich den teil fertig.
float R1 = 15000;
float R2 = 3000;

Morgen gehts weiter.

Zusatz: Fällt mir gerade ein, das wird net gehen, weil ich erst eine Ref. Spannung brauche um rückrechnen zu können. Oder hab ich einen denkfehler?

Nu bin ich aber wirklich weg. Night.

Wie wäre es mit einem HFC4051? Das ist ein Analog-Multiplexer. Über den kann man einen analogen Ein/Ausgang auf einen von 8 Ein/Ausgängen schalten. So kannst Du eine Widerstandskaskade mit "normalen" Widerständen für den LM317 verwenden und über drei digitale Eingänge am Chip (3 Bit = 8 Schaltzustände) entscheiden auf welchen Widerstand geschaltet wird und somit die Spannung bestimmen. Wenn Du bei 3V anfängst, kannst Du dann in Schritten von 1,5V bis 15V einstellen. Man kann die 4051 auch kaskadieren, dann könntest Du mit 2 von den Dingern in 1V Schritten locker von 2 bis 15V einstellen.
Im Playground gibt es eine kurze Übersicht über das Bauteil: http://playground.arduino.cc/learning/4051
Mario.

Das wäre auch eine möglichkeit. Anstelle der taster dann ein Drehimpulsschalter wie bei Aotoradios. Eine erhöhung oder absenkung in 0,5 Volt schritten würde reichen.

PS: Mit einem Digitalen Poti müsste doch gehen, weil der LM läst sich auch anstelle des Potis von VRef gegen Masse auch mit einem einem NPN Transystor steuern, der dann vom Digitalen Poti dampf auf der Basis bekommt. Dann reichen die paar mA die das Digitale Poti kann auch aus, und die max 5V kann man auch ausser acht lassen, da Schwellspannung 0,7V.

Aber ich denke, das es mit einer Wiedertsanskaskade genauer wird. 3 x HFC4051 in 0,5 volt schritten.

Ich gehe dann mal davon aus, das Du 3 HFC4051 "parallel" einsetzen willst, also 3x8=24 Ausgänge. Dabei musst Du dann aber darauf achten, das Du immer nur bei einem einzigen 4051 das
Bei den 4051 muss Du dann aber darauf achten, das Du immer nur bei einem 4051 den INHIBIT Eingang auf LOW ziehst, sonst sind immer mehrere Ein/Ausgänge aktiv.
Normalerweise verwendet man immer einen zusätzlichen HFC4051 beim kaskadieren, über den dann die INH-Eingänge der restlichen (maximal 8) HFC4051 geschaltet werden. Damit kann man sicherstellen, das wirklich immer nur eine Strecke aktiv ist. Mit 9 HFC4051 kann man so 64 Wege schalten. Das sieht man auch sehr gut im Playground Beispiel.
Mario.

Bin gerade an der Spannungsanzeige, wobei momentan nur "müll" rauskommt. Dachte es geht ohne R1 und R2 einzubeziehen, und würde reichen, wenn ich gemessenden Wert mal den Teilungsfaktor nehme.

void loop()
{
 value = analogRead(vddInput);
 vdd = (value * 3.0);
 lcd.setCursor(0,1);
 lcd.print(vdd);
 lcd.print("V");
 delay(500);
 }

Habe mir andere beispiele angesehen, und verstehe nicht genau, warum die den Wert aus dem Analog Eingang mal 5 nehmen und dann durch 1024 teilen. Warum 1024?

value = analogRead(analogInput);
vout = (value * 5.0) / 1024.0;
vin = vout / ( R2 /( R1 +R2 ));

PS: Hab mir noch nen paar andere möglichkeiten angesehen, alle nehmen 1024. Wieso nicht glatt durch 1000 um die komma stelle zu verschieben? Keine ne erklärung dafür.

Rene_Merten:
Bin gerade an der Spannungsanzeige, wobei momentan nur "müll" rauskommt. Dachte es geht ohne R1 und R2 einzubeziehen, und würde reichen, wenn ich gemessenden Wert mal den Teilungsfaktor nehme.

void loop()

{
value = analogRead(vddInput);
vdd = (value * 3.0);
lcd.setCursor(0,1);
lcd.print(vdd);
lcd.print("V");
delay(500);
}




Habe mir andere beispiele angesehen, und verstehe nicht genau, warum die den Wert aus dem Analog Eingang mal 5 nehmen und dann durch 1024 teilen. Warum 1024? 



value = analogRead(analogInput);
vout = (value * 5.0) / 1024.0;
vin = vout / ( R2 /( R1 +R2 ));




PS: Hab mir noch nen paar andere möglichkeiten angesehen, alle nehmen 1024. Wieso nicht glatt durch 1000 um die komma stelle zu verschieben? Keine ne erklärung dafür.

Weil analogRead() Werte von 0 (bei 0V) bis 1023 (bei 5V) liefert. Und mit value * 5.0 / 1024.0 kannst Du den gemessenen Wert in Spannung umrechnen.

Genaugesagt muß man durch 1023 teilen nicht durch 1024. Dies weil ein 10 bit Analog-Digital-Wandler max b11 1111 1111 messen kann und das ist 1023.

Uwe

Also ist 0V=0 und 5V=1023 richtig. Nu hab ich es verstanden, und genau darum gings mir, nicht irgendwas fertiges zu nehmen, sondern es selbst zu realisieren. Also muss ich den Weg gehen, damit meine Ausgabe nachher stimmt.

Thanks.

uwefed:
Genaugesagt muß man durch 1023 teilen nicht durch 1024. Dies weil ein 10 bit Analog-Digital-Wandler max b11 1111 1111 messen kann und das ist 1023

Und die Leute bei Atmel haben keine Ahnung? :grin:

Zwischenablage01.jpg

GerK, da fragst Du mich zuviel.
Ich bin mir meiner Version sicher da wenn Du VREF mißt dann kommt laut von Dir zitierter Rechnung:

ADC= VREF*1024/ VREF = 1024

1024 ist keine mit einer 10 Bit Zahl darstellbare Zahl.

Grüße Uwe

Wenn man z.B. die Spannung in Millivolt als Integer anzeigen will, kann man leider nie eine 5000 sehen, wenn man durch 1024 teilt.

Natürlich sind insgesamt nur 1024 Stufen möglich. Will man 0 als die erste und 5000 als die letzte, sollte man mit 5000 plutimizieren und durch 1023 teilen, also "mogeln".

Da die Genauigkeit des letzten Bits (und die von Vref und alles andere auch) eh fraglich ist, ist es "Geschmackssache", ob man durch 1023 oder 1024 teilt.

Nachtrag: Durch 1024 zu teilen hat allerdings den Vorteil, dass der Arduino das lieber macht (wenn der Compiler mitspielt und ein >> 10 draus macht, d.h. man sollte keine Variable verwenden, die momentan den Wert 1024 hat)

uwefed:
GerK, da fragst Du mich zuviel.
Ich bin mir meiner Version sicher da wenn Du VREF mißt dann kommt laut von Dir zitierter Rechnung:

ADC= VREF*1024/ VREF = 1024

1024 ist keine mit einer 10 Bit Zahl darstellbare Zahl.

Grüße Uwe

Dem würde ich mich anschliessen. Es gibt 1024 Werte (0 bis 1023), teilen sollte man aber durch den größen darstellbaren.
Wenn man mit 1024 rechnen würde, käme man bei einem maximalen ADC-Wert von 1023 und damit anliegenden 5V nur auf
5 * 1023 / 1024 = 4,99512V
Man hat halt immer einen "Wert" mehr, als man "Teile" hat. von 0 bis 5V und einem einzigen Schritt brauche ich trotzdem 2 Werte. bei 0 bis 5 V und zwei Teilen, brauceh ich 3 Werte (0, 2.5, 5) usw. bis 0 bis 5V (1023 Teilschritte, 1024 Werte) ...
Die Abweichung ist minimal und vermutlich ist die Ungenauigkeit der Messung deutlich größer.
Mario.

Man hat halt immer einen "Wert" mehr, als man "Teile" hat.

Eigentlich geb ich dir Recht, aber "hat halt immer" sollte korrekter "möchte meistens lieber" heissen.

Mit z.B. 2 bit Auflösung kannst du 4 Werte unterscheiden, wie hättest du diese vier Viertel gerne dargestellt ?
0 - 0.333 - 0.667 - 1 ? ( Eigentlich auch seltsam, für Viertel, oder ?)

Übrigens, mein Multimeter behauptet, es hätte einen Messbereich 0 - 20 V , kann aber nur 19.99 anzeigen :wink:

michael_x:
Übrigens, mein Multimeter behauptet, es hätte einen Messbereich 0 - 20 V , kann aber nur 19.99 anzeigen :wink:

Ist das von Atmel?? :astonished:

:drooling_face:

Nein, es hat eine so große 7-Segment-Anzeige, dass ganz links keine ganze Zahl mehr higepasst hat.
(Diese nichts oder "|" Anzeige nennen sie übrigens eine "halbe" Stelle. Na gut, ein Minus und Dezimalpunkt war bei den "3 1/2" Stellen gratis dabei)

und wenn, dann hiesse der Meßbereich 0 - 10, wenn er 9.999 anzeigen könnte, da bin ich mir sicher :wink: