Arduino Forum

International => Deutsch => Topic started by: Rene_Merten on Feb 03, 2013, 12:21 am

Title: Regelbares Netzteil komm nicht weiter.
Post by: Rene_Merten on Feb 03, 2013, 12:21 am
Habe vor ein regelbares Netzteil zu bauen 0-15V. Auf einem LCD soll erst mal nur die Ausgagspannung angezeigt werden. Wenn das geht, kommt ein Ampermeter hinzu, und ich möchte später mittels 2 Taster die Ausgangsspannung eingestellt können.

Denke mal, das mesite hab ich schon, nur hängt es wie ich im void loop teil vdd defeniere. Zum verständniss mal erst, der Analog Eingang kann doch maximal 5 volt ab richtig?

Das würde ja bedeuten, wenn ich den Spannungsteiler R1 und R2 so auslege, das maximal 5 Volt rauskämen bei max 15V, wäre es doch genauer, als wenn ich von 1.5V ausgehe?

Hier mal erst der Code.

Code: [Select]
// Netzteil
#include <LiquidCrystal.h>
// RS auf Arduino 7
// Enable auf Arduino pin 6
// D4 auf Arduino 5
// D5 auf Arduino 4
// D6 auf Arduino pin 3
// D7 auf Arduino pin 2
// A1 Eingang Spannungsmessung
// R/W auf Masse


LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
  int vddInput = 1;
  float vdd = 0.0;
  float R1 = xxxxxxxx;   
  float R2 = xxxxxxxx;
  int refresh = 1000;
  int value = 0;

void setup()
{
  pinMode(vddInput, INPUT);
  lcd.begin(16, 2);
}

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


Lg. Rene
Title: Re: Regelbares Netzteil komm nicht weiter.
Post by: uwefed on Feb 03, 2013, 12:25 am
Bevor wir hier Ratschläge bezüglich dem Analogeingang geben, verrat uns mal, wie Du die Ausgangspannung mithilfe 2 Tasten regeln möchtest.
Grüße Uwe
Title: Re: Regelbares Netzteil komm nicht weiter.
Post by: Rene_Merten on Feb 03, 2013, 12:44 am
Da mach ich mir jetzt noch keine gedanken zu, denn das wird wohl etwas komlezierter. Denke, das wird nur mit einem Digitalem Poti möglich, das dann über den I2C angesteuert werden könnte.

Aber wie gesagt, später mal.

PS: Hätte auch einen fertigen Code mir ausem Netz suchen können, gibs bestimmt, aber dann hätte ich null dabei gelernt. Zudem habe ich Grippe, da ist das Köpfenanstregen nicht so der hit :)  Nur ml so am rande.
Title: Re: Regelbares Netzteil komm nicht weiter.
Post by: Rene_Merten on Feb 03, 2013, 01:09 am
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.
Title: Re: Regelbares Netzteil komm nicht weiter.
Post by: uwefed on Feb 03, 2013, 01:15 am
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
Title: Re: Regelbares Netzteil komm nicht weiter.
Post by: Rene_Merten on Feb 03, 2013, 01:26 am
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
Title: Re: Regelbares Netzteil komm nicht weiter.
Post by: uwefed on Feb 03, 2013, 01:39 am
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
Title: Re: Regelbares Netzteil komm nicht weiter.
Post by: Rene_Merten on Feb 03, 2013, 02:31 am
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.
Title: Re: Regelbares Netzteil komm nicht weiter.
Post by: mkl0815 on Feb 03, 2013, 10:28 am
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 (http://playground.arduino.cc/learning/4051)
Mario.
Title: Re: Regelbares Netzteil komm nicht weiter.
Post by: Rene_Merten on Feb 03, 2013, 12:47 pm
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.
Title: Re: Regelbares Netzteil komm nicht weiter.
Post by: mkl0815 on Feb 03, 2013, 01:44 pm
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.
Title: Re: Regelbares Netzteil komm nicht weiter.
Post by: Rene_Merten on Feb 03, 2013, 03:00 pm
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.

Code: [Select]
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?

Code: [Select]
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.
Title: Re: Regelbares Netzteil komm nicht weiter.
Post by: MaFu on Feb 03, 2013, 05:59 pm

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.

Code: [Select]
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?

Code: [Select]
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.
Title: Re: Regelbares Netzteil komm nicht weiter.
Post by: uwefed on Feb 03, 2013, 07:01 pm
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
Title: Re: Regelbares Netzteil komm nicht weiter.
Post by: Rene_Merten on Feb 03, 2013, 07:36 pm
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.

Title: Re: Regelbares Netzteil komm nicht weiter.
Post by: GerK on Feb 04, 2013, 08:56 am

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? :smiley-mr-green:
Title: Re: Regelbares Netzteil komm nicht weiter.
Post by: uwefed on Feb 04, 2013, 09:44 am
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
Title: Re: Regelbares Netzteil komm nicht weiter.
Post by: michael_x on Feb 04, 2013, 10:00 am
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) 
Title: Re: Regelbares Netzteil komm nicht weiter.
Post by: mkl0815 on Feb 04, 2013, 11:21 am

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.
Title: Re: Regelbares Netzteil komm nicht weiter.
Post by: michael_x on Feb 04, 2013, 01:19 pm
Quote
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 ;)
Title: Re: Regelbares Netzteil komm nicht weiter.
Post by: mkl0815 on Feb 04, 2013, 01:33 pm

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

Ist das von Atmel??  :smiley-eek:
Title: Re: Regelbares Netzteil komm nicht weiter.
Post by: michael_x on Feb 04, 2013, 02:16 pm
:smiley-fat:

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  ;)