zu den belegten Ports: ELV ist mit den Pins recht verschwenderisch umgegangen, jede Taste ein Pin. Das kann man multiplexen oder mit einem Port-Extender erledigen. Serielle kommt unbedingt, zur Not mache ich das. Hat jemand Vorschläge zum Protokoll? PCINT16 RXD PD0 IC200/30 Stecker ST200/12 (Regler=Signal ob U oder I begrenzt) PCINT17 TXD PD1 IC200/31 Taster TA206 (Recall) Ich bringe das auch in die 8kB unter, den Code kann man noch kompakter schreiben. Wir pimpen das Ding ;-9 Zum Auslesen des Codes: da habe ich wenig Hoffnung, dass der Hersteller vergessen hat, die Fuses entwprechend zu setzen.
Beitrag #6396555 wurde von einem Moderator gelöscht.
Tasten umverdrahten, auslesen per ADC...dirty aber maximaler Pingewinn. Klaus.
eProfi schrieb: > Das kann man multiplexen oder mit einem Port-Extender erledigen. > Serielle kommt unbedingt, zur Not mache ich das. > Hat jemand Vorschläge zum Protokoll? PeDas per Timer Interrupt auch für Matrix geeignet um wieviel Tasten geht es denn? nur je weniger Tasten umso weniger nutzt Multiplex, eine I2C Tastatur mit PCF8574(a) habe ich erfolgreich eingesetzt, 8 Tasten direkt ohne Matrix im Timer IRQ gelesen und entprellt, PCF lesen irgendwas um 1.5µs, kein Beinbruch bei 10ms Timer IRQ, sogar IRMP Befehle kann ich noch verarbeiten. Interrupt auf 15000/s in IRMP, dann bis 150 zählen -> 10ms und in die Entprellroutine, wer mag setzt einen Marker und gibt den IRQ noch mal in der 10ms frei um weitere IRMP entgegenzunehmen.
Im PPS5330 Netzteil gibt es 7 Tasten. Dafür würde ein 74HC165 Schieberegister (parallel in seriell out) ausreichen. Gruß Rolf
Rolf D. schrieb: > Im PPS5330 Netzteil gibt es 7 Tasten. Dafür würde ein 74HC165 > Schieberegister (parallel in seriell out) ausreichen. Würdest du so eine Änderung an deinem vorhandenen Netzgerät oder bei einem zweiten, vollständig selbst konstruierten Gerät machen? Im zweiten Fall würde sich ja gleich ein größerer Controller anbieten und natürlich ein anderes Display. Zur Messung der Temperatur(en) könnten digitale Sensoren benutzt werden. Ein zweiter Drehgeber wäre auch gut.
Erwin E. schrieb: > Im zweiten Fall würde sich ja gleich ein größerer Controller anbieten ich dachte auch an ATmega 1284p, wenn schon denn schon und immerhin 2 serielle und Platz für alles inkl. Fernbedienung
Joachim B. schrieb: > ich dachte auch an ATmega 1284p, wenn schon denn schon und immerhin 2 > serielle und Platz für alles inkl. Fernbedienung Oder doch 'nur' ein 328PB? Wobei man sich ja erst dann auf den Controller festlegen kann und muss, wenn die Hardware festgezurrt ist. Eine 'Fernbedienung' wäre klasse. Nützlich finde ich diese aber nur mit einer guten PC-Software. Mein TDK ist per RS232 fernsteuerbar, die verfügbare Software bietet aber nichts außer der Einstellung von U und I. Das kann ich auch direkt am Gerät - genau einmal angeschaut, dann nie wieder benutzt.
Kann nichts ins EEPROM des ATmega88 schreiben. Steht immer nur Mist drin :( Weis jemand Rat ?
1 | //*************************************************************************
|
2 | // EEPROM write
|
3 | //*************************************************************************
|
4 | void EEPROM_write(unsigned int adress, char data) |
5 | {
|
6 | /* Warten bis vorheriger Schreibvorgang beendet */
|
7 | while(EECR & (1<<EEPE)); |
8 | |
9 | EEAR = adress; // Adresse an der das Byte im EEPROM geschrieben werden soll |
10 | |
11 | EEDR = data; // Datenbyte, welches im EEPROM gespeichert werden soll |
12 | |
13 | EECR &=~ (1<<EEPM0); // Erase and Write in one Operation (siehe Datenblatt Programming Mode) |
14 | |
15 | EECR &=~ (1<<EEPM1); |
16 | |
17 | EECR |= (1<<EEMPE); |
18 | |
19 | EECR |= (1<<EEPE); // Starte EEPROM Write |
20 | }
|
Ich habe das davor mit dieser Funktion gemacht. Aber da kann ich keine Adressen übergeben.
1 | eeprom_write_word (&eeFooWord, myByte); |
:
Bearbeitet durch User
Hi >Ich habe das davor mit dieser Funktion gemacht. Aber da kann ich keine >Adressen übergeben. Warum nimmst du nicht einfach den funktionierenden Code aus dem Datenblatt? MfG Spess
Problem gelöst. Hatte mal wieder das alte Problem mit Pointern und Adressen. Das schmeiße ich immer durcheinander ;) So ist es richtig. Jetzt kann ich im Programm die EEPROM-Adressen ohne Problem adressieren.
1 | uint16_t * eeAddr = 0; |
2 | eeprom_write_word(eeAddr, Ulimit) |
Hallöchen.. Ich muss noch ein paar kleine Fehler beseitigen (siehe Video) und dann bin ich fertig :) Die Temperaturanzeige habe ich wie folgt programmiert. Wenn kein Strom fließt wird auf dem Display die Spannung, Strom und Temperatur angezeigt. Wenn ein Strom fließt wird die Temperatur alternierend mit der Leistung in Watt angezeigt. Es können jetzt 16 Sollwerte Vorgaben für Spannung und Strom im EEPROM des ATmega88 abgespeichert werden. Mit der Taste "Memory" wird die Speicherfunktion aufgerufen und das "Memory" Symbol mit der Programmnummer wird angezeigt. Gleichzeitigt fängt die Programmnummer an zu blinken. Jetzt kann mit dem Encoder eine Programmnummer ausgewählt werden mit der die Sollwert-Vorgaben gespeicher werden. Mit der "Enter" Taste werden die Werte in das EEPROM geschrieben und die "Memory" Funktion beendet. Das gleiche gilt für das Aufrufen von Sollwert-Vorgaben mit der "Recall" Taste. Mit dem Encoder wird die Programmnummer ausgewählt und mit "Enter" die Sollwert-Vorgaben geladen und die "Recall" Funktion beendet. In einem Beitrag habe ich falsche Angaben über die Anzahl der Schreibzyklen auf das interne EEPROM im ATmega gemacht. Laut Datenblatt sind es keine 10.000 sondern 100.000 Schreibzyklen. Kleines Video: https://youtu.be/3XXFefjjd7o Gruß Rolf
:
Bearbeitet durch User
Hallo, schöner Hack und Gratulation, dass Du es trotz der Ignoranz der Logabirumer-Edelelektronik-Schmiede hinbekommen hast. Eine Temperaturanzeige ist für mich persönlich nicht interessant, aber ich habe die Beiträge doch mit Interesse verfolgt und fand diese Arbeit sehr unterhaltsam und anregend! Gruß Holger
Wie stabil lassen sich eigentlich kleine Ströme einstellen? Z.B. werden 8mA als Sollwert vorgegeben, bleibt der Strom dann konstant oder schwankt/driftet er weg? Oder regelst du die Drift per Software nach? Was mich auch interessieren würde ist, wie schnell die Ausgangsspannungen/-ströme verändert werden können.
@Holger. Danke :) @Erwin Ich werde ein paar Messungen durchführen und dann berichten. Ich hab mal einen Strom- und Spannungstest mit einer LED gemacht. Dabei habe ich die Spannung auf 10V eingestellt und den Strom auf 20mA. Die LED hats überlebt ;) Gruß Rolf
Ich spiele mit dem Gedanken, das Gerät nachzubauen. 'Natürlich' mit einigen Änderungen/Ergänzungen. Angefangen habe ich damit, den ELV-Schaltplan in Eagle zu übernehmen. Der Analogteil ist im Prinzip fertig (der Schaltplan, nicht die Platine), über den Teil mit dem Controller denke ich noch nach. Vermutlich werde ich einen Atmega328PB einsetzten, DAC/ADC und ein Display mit ILI9341. Man wird sehen. Das gibt aber einen eigenen Thread, deinen möchte ich nicht kapern.
> Dabei habe ich die Spannung auf 10V eingestellt und den Strom auf 20mA. > Die LED hats überlebt ;) Ein vernünftiges Labornetzteil hat eine kleine Kapazität am Ausgang, damit solche Experimente nicht schief gehen :: Erwin, da würde ich eher bei den Profis abschauen als bei ELV (47µF). Rolf, interessiert dich eine PC-Schnittstelle nicht? Kennlinien aufnehmen und so... Meins kommt voraussichtlich morgen - freu.
Hi Erwin :) Die Idee finde ich sehr gut. Bin gespannt auf dein Projekt. Mein Programmcode für das Netzteil ist Open Source und wenn du willst kannst du oder andere ihn gerne benutzen oder ändern. Der Einsatz eines 14Bit oder 16Bit DA/AD-Wandlers ist ein Vorteil bezüglich schneller und Regelung und störungsfreie Ausgangsspannung. Im PPS5330 arbeitet ein langsamer 14Bit AD-Wandler nach dem Prinzip des Zwei-Rampen-Wandlers (Dual-Slope). Für die Regelung von Strom und Spannung wird eine 14Bit PWM Steuerspannung geringer Taktfrequenz benutzt, was die Regelung noch zusätzlich verlangsamt. eProfi schrieb: > Rolf, interessiert dich eine PC-Schnittstelle nicht? > Kennlinien aufnehmen und so... Das müsste schon eine USB Schnittselle sein und das mit einem ATmega328 ? Ich weis nicht, ob das zu viel Resourcen frist. >Meins kommt voraussichtlich morgen - freu. Ja ist schon wieder Weihnachten ;) Gruß Rolf
eProfi schrieb: > Ein vernünftiges Labornetzteil hat eine kleine Kapazität am Ausgang, die auch u.U. bei 10V eine LED killt bevor die Strombegrenzung einsetzt. Rolf D. schrieb: > Ich hab mal > einen Strom- und Spannungstest mit einer LED gemacht. Dabei habe ich die > Spannung auf 10V eingestellt und den Strom auf 20mA. Die LED hats > überlebt ;) ich schalte LEDs immer einen R davor auch am Labornetzteil oder schliesse die Spannung vorher kurz.
:
Bearbeitet durch User
Joachim B. schrieb: > ich schalte LEDs immer einen R davor auch am Labornetzteil. Mmmm.. Dann wäre es aber kein Test für die Strombegrenzung am Netzteil ?
Nicht unbedingt natives USB, sondern mit USB-Seriell-Chip wie zum Beispiel FTDI oder CH340, oder gleich mit WLAN (ESP32 o.Ä.). Vor 4 Jahren hat jemand nach einer Fernbedienbarkeit gefragt: Beitrag "ELV PPS 5330 Labornetzteil hacken -> Schnittstelle nachrüsten?" Zum PWM habe ich gelesen, dass ein "kleiner" Ripple messbar ist: https://de.elv.com/forum/500hz-auf-ausgangsspannung-611 In der Bedienungsanleitung 75915_pps5330_g_um_161014.pdf steht ja was von 1mVeff.
Hier einige alte Messungen mit dem ELV PPS 5330 und Original Software 1.Bild - Rippel & Noise no LOad 2.Bild - Rippel & Noise 3A Load 3.Bild - 1A Load peak 4.Bild - 3A Load peak 5.Bild - 3A Load off peak Die Lastmessung habe ich mit einer Elektronischen Last durchgeführt (6.Bild). Gruß Rolf
:
Bearbeitet durch User
Rolf D. schrieb: > Test für die Strombegrenzung dazu braucht es keine LED, ich mag unschuldige Bauteile nicht töten, wie soll eine Strombegrenzung auf den C44 wirken? Beitrag "Re: PPS5330 Labor-Netzteil hack" https://www.mikrocontroller.net/attachment/467071/ELV-Power-02_1_.jpg
:
Bearbeitet durch User
Joachim B. schrieb: > wie soll eine Strombegrenzung auf den C44 wirken? Andersherum. Stell die Ausgangsspannung auf 30V und die Strombegrenzung auf 10mA. Dann schließt du die LED am Ausgang an. C44 ist auf 30V geladen und gibt seine gespeicherte Energie direkt an die LED ab - dann greift erst die Strombegrenzung und regelt die Ausgangsspannung zurück, so dass nur noch 10mA fließen. Leider zu spät für die LED. Ich habe das mit meinem Banggood Clone Beitrag "Re: Labornetzgerät - Fragen zum Schaltplan" getestet, dieses LNG hat nur 10µF am Ausgang. Auch hier stirbt die LED bei eingestellten 30V. Genauso übrigens an einem 10µ Elko, der auf 30V geladen wurde. Stabilere LEDs kaufen? Oder eben doch die Spannung runterstellen, bevor LEDs angeschlossen werden.
Erwin E. schrieb: > Oder eben doch die Spannung > runterstellen, bevor LEDs angeschlossen werden. oder erst die Ausgangsklemmen brücken, kurzschliessen bevor die LED angeschlossen wird und dann erst die Brücke entfernen, dann kann die Strombegrenzung gleich arbeiten und der Ausgangselko sich nicht über Gebühr aufladen!
:
Bearbeitet durch User
Hallo Ich habe noch ein paar Messungen in Bezug auf die Regelgeschwindigkeit der Ausgangsspannung im PPS5330 Netzteil gemacht. 1.Bild Anstiegszeit von 0V auf 30V ohne Last 2.Bild Anstiegszeit von 0V auf 30V mit 1A Last 3.Bild Anstiegszeit von 5V auf 30V mit 1A Last 4.Bild Abfallzeit von 30V auf 0V ohne Last 5.Bild Abfallzeit von 30V auf 0V mit 1A Last Im Anhang eine aktualisierte Liste der Steuercodes für das LCD Display Gruß Rolf
> Ich habe noch ein paar Messungen in Bezug auf die Regelgeschwindigkeit
1s zum einschalten? Oh Backe. Probier mal aus wie das auf einen
Lastsprung
von 1A reagiert. Und nimm da am besten nicht deine chinesische Last fuer
weil man dies sonst vielleicht auch erst mal vermessen muesste.
Naja, wenigstens kannst du mit dem traegen Dingen Tantalelkos
einschalten ohne das sich von der Platine huepfen. :)
Olaf
Die Begründung für die träge Spannungsregelung im PPS5330 Netzteil liegt vermutlich an der niedrigen PWM-Frequenz des Steuersignals und der nachgeschaltet Filterschaltung, bestehend aus R53 und C34 (siehe Bild). Diese hat eine Zeitkonstante von r * c = 0.726s (0.22Hz). Eine Erhöhung der PWM-Frequenz ist mit dem ATmega88 leider nicht möglich, da der Timer bei 14Bit Auflösung keine größere PWM-Frequenz erzeugen kann. Gruß Rolf
Wie hast du das Einschaltverhalten getestet? Vom ausgeschalteten Gerät über den Netzschalter oder bereits eingeschaltet aus dem Standby?
Olaf schrieb: > 1s zum einschalten? Oh Backe. Probier mal aus wie das auf einen > Lastsprung > von 1A reagiert. Und nimm da am besten nicht deine chinesische Last fuer > weil man dies sonst vielleicht auch erst mal vermessen muesste. Ok. Hab mal ein 12V/20W Halogenlämpchen genommen. Ausgangsspannung auf 12V gestellt und das Lämpchen versucht prellfrei an die Ausgangsbuchsen anzuschließen (Bild). Gruß Rolf
Erwin E. schrieb: > Wie hast du das Einschaltverhalten getestet? > Vom ausgeschalteten Gerät über den Netzschalter oder bereits > eingeschaltet aus dem Standby? Das Netzteil war eingeschaltet.
Doch könnte er, wenn man den µC höher taktet. Ich lasse ihn oft mit 24 MHz laufen. Ich sehe schon, ein DAC-IC muss her. > oder erst die Ausgangsklemmen brücken, kurzschliessen bevor die > LED angeschlossen wird und dann erst die Brücke entfernen, dann kann > die Strombegrenzung gleich arbeiten und der Ausgangselko sich nicht > über Gebühr aufladen! Oder die Standby-Funktion verwenden (viel einfacher). Die guten LNT haben weniger als 1µF am Ausgang, was die Situation deutlich entschärft. Danke für die Signalverläufe, Rolf. Interessant wären halt abrupte Lastwechsel, z.B. [0 oder 10 mA] -> 3A und umgekehrt. Ich werde das Ding sowieso massiv umbauen, 3-polige Netzbuchse und PE vorne herausführen. Dann kann man auch noch eine weitere Plus-Buchse mit Vorwiderstand für LED-Prüfungen anbringen. ;-) Diese könnte gleich auch noch als Remote-Sense-Leitung dienen.
eProfi schrieb: > Ich werde das Ding sowieso massiv umbauen, 3-polige Netzbuchse und PE > vorne herausführen. Dann kann man auch noch eine weitere Plus-Buchse mit > Vorwiderstand für LED-Prüfungen anbringen. ;-) Mir ist aufgefallen, dass ich beim Messen mit meinem Scope, die GND und Plus Klemmen am PPS5330 Netzteil immer vertauschen muss (Netzteil-PLUS an Scope-GND), da es sonst zu einem Spannungsabfall im Netzteil kommt. Liegt vermutlich an der speziellen Schaltung im Netzteil und das mein Scope geerdet ist !?
Weitere Gedanken: Warum ist die Spannung eigentlich auf 30,0V begrenzt? Ich bin mir sicher, dass bei kleinen Strömen auch 35-40V gehen sollten. D15 (Ausgangs-Verpolschutz) sollte mindestens 3A abkönnen, wenn man Netzteile seriell betreibt und das erste abregelt. Dann die Sache mit der relais-schaltbaren Spannungsverdopplung, das ist doch Murks, weil die Cs C15 und C16 effektiv nur mit 50 statt 100 Hz nachgeladen werden --> unnötig hohe Trafobelastung durch hohen Nachladestrom. Daher hat der Trafo auch 15,7V 9,8A und SI3 15A, bei 3A Ausgangsstrom?!? Jedes bisschen bessere China-Netzteil hat da einen Trafo mit teilweise mehreren Anzapfungen und 100Hz-Gleichrichtung. Wie ist das mit dem Power-Faktor? Müssen nicht alle Geräte >75W eine Oberwellenunterdrückung (PFC) haben?
eProfi schrieb: > Doch könnte er, wenn man den µC höher taktet. Ich lasse ihn oft mit 24 > MHz laufen. Ich sehe schon, ein DAC-IC muss her. dann könnte er auch gleich den ATmega8 ersetzen durch Stärkeres und einen echten DAC verbauen, wäre sowieso mein Vorschlag. Der kam auch schon mal wurde aber abgelehnt! Seine Erkenntnisse zum Display sind ja auch da nützlich, die Regelgeschichte gefällt mir auch nicht!
:
Bearbeitet durch User
> da es sonst zu einem Spannungsabfall im Netzteil kommt. > Liegt vermutlich an der speziellen Schaltung im Netzteil und > das mein Scope geerdet ist !? Oh je, auch das noch. Vermutlich hängt es auch noch davon ab, wie herum der Netzstecker drinsteckt (Kopplungskapazitäten im Netztrafo). Da sieht man halt wieder den Unterschied namhafter erfahrener Hersteller / Spielzeug. Die alten Hasen wussten genau, was und warum sie etwas so und nicht anders machten. Der Halogentest ist jetzt nicht so aussagekräftig, weil der Kaltwiderstand etwa 1/10 des Betriebswiderstandes ist. Dafür ist die Ausregelung noch relativ gut (geringer Überschwinger).
Wird die Trafotemperatur irgendwo ausgewertet oder angezeigt? Ich würde ja lieber die statischen Anzeigen rechts für die beiden Temperaturen verwenden (abwechselnd wie gehabt). Da noch 2 ADC-Eingänge frei sind, könnte man die unstabilisierte Spannung messen (und daraus die Transistor-Verlustleistung berechnen / integrieren).
eProfi schrieb: > (geringer Überschwinger) kann auch locker der µC mit den eingebauten Komperatoren und IRQ vermeiden! ein ATmega macht das https://rn-wissen.de/wiki/index.php/Analog_Komparator_(Avr) http://modelleisenbahn-steuern.de/controller/atmega8/17-der-analog-comparator.htm Beitrag "Analog Comparator des ATMega8 konfigurieren und in C verwenden" http://www.grzesina.de/avr/acompare/acompare.html
eProfi schrieb: > Wird die Trafotemperatur irgendwo ausgewertet oder angezeigt? > Ich würde ja lieber die statischen Anzeigen rechts für die beiden > Temperaturen verwenden (abwechselnd wie gehabt). > > Da noch 2 ADC-Eingänge frei sind, könnte man die unstabilisierte > Spannung messen (und daraus die Transistor-Verlustleistung berechnen / > integrieren). Die Trafotemperatur wird nicht ausgelesen. Kommt vielleicht noch in einem Setup-Menü. Ich habe lieber die Werte für Ulimit und Ilimit immer im Blick. Da weis man sofort was los ist, wenn die Spannung mal einbricht.
Ideenansammlung: Im Display-PDF bitte korrigieren: Ampre: --> Ampere: Im c-file Zeile 1293: // Stanby on --> Standby Die EinzelSegment-Befehle (z.B. für °) sind noch nicht aufgeführt. > Mir ist aufgefallen, dass ich beim Messen mit meinem Scope, die > GND und Plus Klemmen am PPS5330 Netzteil immer vertauschen muss > (Netzteil-PLUS an Scope-GND), da es sonst zu einem Spannungsabfall > im Netzteil kommt. > Liegt vermutlich an der speziellen Schaltung im Netzteil und > das mein Scope geerdet ist !? Common der Regelung ist der +-Ausgang, das ist oft zu finden bei Netzgeräten. Vermutlich kommt die Störung über den Programmier-Adapter. Entweder ist der Programmier-PC geerdet oder das (Laptop-?) Netzteil verbindet PC-Gnd über die Y-Entstör-Kondensatoren mit L und N. Dann sowieso aufpassen beim Zusammenstecken: den Netzstecker immer zuletzt einstecken und als ersten ausstecken! Grund: beim Verbinden entladen sich die Y-Cs schlagartig mit hohem Strom evtl. über eine Datenleitung. Am Gehäuserahmen gibt es in der Nähe der Netzbuchse einen 6,3mm-Flachsteck-Erdungsanschluss. > Zum PWM habe ich gelesen, dass ein "kleiner" Ripple messbar ist: > https://de.elv.com/forum/500hz-auf-ausgangsspannung-611 > In der Bedienungsanleitung 75915_pps5330_g_um_161014.pdf steht > ja was von 1mVeff. Es sind 8000000/16384=488,28125 Hz Wenn man den kleinen 8MHz-Resonator gegen einen 12MHz aus einem USB-Device austauscht, wird die Frequenz höher und der Ripple stärker bedämpft. Ob dann der AD-Wandler noch funktioniert, ich denke schon, er könnte ein bisschen mehr rauschen. Der Weihnachtsmann war da. Habe die Spannungsverdopplungsschaltung mit LTspice simuliert, es ist so wie ich schrieb, die Trafoverluste sind 50-100% höher. Man könnte das umbauen, der Trafo könnte bifilar gewickelt sein, vielleicht sind beide Wicklungsenden zugängig. Das Ralais sollte dann 2x Um sein, damit man bei niedriger Spannung (24V) beide Spulen wie gehabt parallel schalten kann. Der Trafo wird auch ohne Last leicht warm. Zur langen Dauer nach Standby:
1 | if (Button_nr == 1 && Standby_flag == 0) { |
2 | send_LCD_commands(Standby_on); |
3 | set_Isoll(0); |
4 | set_Usoll(0); |
5 | print_value(0x43,0); |
6 | print_value(0x47,0); |
7 | Standby_flag = 1; |
8 | return; |
9 | }
|
Es sollte ausreichen, nur das Standby_on-Pin zu setzen und Isoll und Usoll bestehen zu lassen. Dann dürfte nach Standby_off die Spannung schneller steigen. mehr als 30,0V / 3,00A: Rolf, wie hoch sind denn Spannung und Strom, wenn man 7FFF PWM ausgibt?
So viele Fragen ;) Erst einmal danke für deine Hinweise :) Ich fang mal mit der letzen Frage an. Dies betrifft die "Standby" Funktion. Wenn ich die PWM Steuerspannung bei aktivierten Standby nicht auf Null setze, entsteht beim deaktivieren von Standby ein großer positiver Spannungspeak auf der Ausgangspannung der um einge Volt höher ist als die eingestellte Spannung. eProfi schrieb: > Wenn man den kleinen 8MHz-Resonator gegen einen 12MHz aus einem > USB-Device austauscht, wird die Frequenz höher und der Ripple stärker > bedämpft. > Ob dann der AD-Wandler noch funktioniert, ich denke schon, er könnte ein > bisschen mehr rauschen. Man könnte den Quarz von 8Mhz auf 16MHz ändern. Dann ist die Anstiegszeit etwas kürzer. Nachteil ist, das sich dadurch die Messzeiten am Integrator ändern und mann die Timer/Counter Werte ändern und die Messergebnisse für Spannung und Strom neu berechnen muss. eProfi schrieb: > Common der Regelung ist der +-Ausgang, das ist oft zu finden bei > Netzgeräten. Vermutlich kommt die Störung über den Programmier-Adapter. > Entweder ist der Programmier-PC geerdet oder das (Laptop-?) Netzteil > verbindet PC-Gnd über die Y-Entstör-Kondensatoren mit L und N. > Dann sowieso aufpassen beim Zusammenstecken: > den Netzstecker immer zuletzt einstecken und als ersten ausstecken! > Grund: beim Verbinden entladen sich die Y-Cs schlagartig mit hohem Strom > evtl. über eine Datenleitung. Ja du hattest Recht. Die Störungen kamen von ISP-Programmer. Hab das Scope testweise alleine an den Plus/Minus Buchsen des Netzteils angeschlossen. Keine Problem mehr :) eProfi schrieb: > Die EinzelSegment-Befehle (z.B. für °) sind noch nicht aufgeführt. Die einzelnen Segmente lassen sich leider nicht alle getrennt ansprechen, sonder manchmal nur in Gruppen. Deshalb der Trick mit einer "2" und das Löschen und Setzen der anderen Segmente. Gruß Rolf
:
Bearbeitet durch User
Rolf D. schrieb: > Ich fang mal mit der letzen Frage an. Dies betrifft die "Standby" > Funktion. > Wenn ich die PWM Steuerspannung bei aktivierten Standby nicht auf Null > setze, entsteht beim deaktivieren von Standby ein großer positiver > Spannungspeak auf der Ausgangspannung der um einge Volt höher ist als > die eingestellte Spannung. Siehe Bild: PWM Steuerspannung bei aktivierten Standby nicht auf Null Ausgangsspannung 5.00V und Spannungspeak wenn Standby Off
:
Bearbeitet durch User
Rolf D. schrieb: > Ok. Hab mal ein 12V/20W Halogenlämpchen genommen. Ausgangsspannung auf > 12V gestellt und das Lämpchen versucht prellfrei an die Ausgangsbuchsen > anzuschließen (Bild). Uff, ich dachte mein Netzteil ist nicht besonders gut mit ca. 0.5ms Lastausregelung aber hier braucht das Teil ja fast 60ms...das ist heftig, übelst schlecht für ein Labornetzteil. Und dann bricht die Spannung auch noch weit über 50% ein, bei mir sind es nicht mal 5% Einbruch bei der Zuschaltung einer 1A Last. Also IMO steckt da aber noch mega viel Optimierungspotential drin.
Den Test sollten vielleicht noch andere Besitzer eines PPS5330 Netzteils verifizieren. Kann ja sein das es an meiner Software liegt. Bei der Hardware gibt es ja keine Unterschiede. Denke ich ;)
Rolf D. schrieb: > Kann ja sein das es an meiner Software liegt Darauf wollte ich mit meinem Post hinweisen. Versuch das mal nachzuvollziehen, vielleicht erstmal ein ganz simples Programm erstellen (auf Anzeigen und Co verzichten, mit durch im Code vorgegebenem Parametern wie Sollspannung und Sollstrom usw.). Wie gesagt, 60ms Ausregelzeit sind für ein LNG mindestens zwei Ewigkeiten. Das geht IMO gar nicht (So etwas ist ja schon für das menschliche Auge „sichtbar“). 10ms wäre schon lang für ne Lastausregelung. Selbst für das Reinlaufen in die Strombegrenzung wäre das mit 60ms bis zur Ausregelung schon mindestens eine Ewigkeit. Stell dir nur mal vor du hast eine uC-Schaltung angeschlossen die alle 10 ms eine 1A Last bei 12V zuschaltet...Das würde dauern bis du dahinter kommst, dass die ständigen Resets des uCs von der schlechten Lastausregelung des LNGs kommen.
Hallo Ich habe den Belastungstest noch einmal mit normalen Widerständen gemacht. Das Ganze sieht schon etwas besser aus. Die Spannung bricht im ersten Moment von 12V auf 9V zusammen und regelt innerhalb von 400usec nach. 1.Bild : Spannung 12V / 3.9 Ohm / 3A 2.Bild : Spannung 12V 12 Ohm 1A Die verwendete Halogenlampe (12V/20W) in meinem vorlezten Belastungstest war nicht unbedingt geeignet, weil sie im Einschaltmoment einen sehr geringen Widerstand hat und die maximale Strombelastung des Netzteils übersteigt. Gruß Rolf
:
Bearbeitet durch User
Eine Halogenlampe ist als Last eher ungeeignet, da sie ein PTC ist. Die 60ms sind nicht die Ausregelzeit, sondern die Zeit, bis die Glühwendel bei 3A so heiß geworden ist, dass der Widerstand 12V/3A=4 Ohm ist. Die Regelung funktioniert rein analog, der µC gibt über PWM-DAC den Sollwert vor. Was ich mir noch zum 488Hz-Ripple überlegt habe: Man kann die PWM-Unit auch mit 13 oder 12 Bits betreiben zu Gunsten der PWM-Frequenz zu Lasten der Auflösung. Ich würde das als Menüpunkt aufnehmen.
eProfi schrieb: > Die Regelung funktioniert rein analog, der µC gibt über PWM-DAC den > Sollwert vor. stimmt zwar aber bei derlei Überschwinger könnte der Komperator im µC auch schneller eingreifen und den DAC steuern oder den Leistungsteil abschalten oder begrenzen!
Rolf D. schrieb: > Das Ganze sieht schon etwas besser aus. Die Spannung bricht im ersten > Moment von 12V auf 9V zusammen und regelt innerhalb von 400usec nach Die Regelzeit finde ich jetzt OK (Nicht besonders schnell aber noch OK, ist in der Tat bei meinem LNG ähnlich, hab das heute morgen mit der Halogenlampe auch gar nicht bedacht, dass das LNG dadurch wahrscheinlich in der Strombegrenzung war) aber der Einbruch ist IMO immer noch viel zu heftig. Man sieht aber auch, dass das anscheinend vom Regler kommt denn es ist recht egal ob man 3A oder 1A anfordert, der Einbruch ist in beiden Fällen ähnlich stark.
Gerade sehe ich, dass es ein sehr ähnliches Labornetzteil SPS5630, 30V 6A, allerdings als Schaltnetzteil mit SG3524A-PWM-Regler, SPP15P10P-FET und STPS10L60D/FP Schottky, gibt. Fertig 185,16 Artikel-Nr. 083569 EAN: 4047976835690 Bausatz 175,41 Artikel-Nr. 083399 EAN: 4023392833991 Der Digitalteil ist praktisch identisch, nur die Linear-Endstufe wurde durch den Schaltregler ersetzt. 6A liefert es nur bis 12V, darüber geht der Strom zurück auf 2,5A bei 30V (75W), das 5330 kann 30V*3A=90W. Der Trafo hat 32V 4,8A. Hier im Forum gibt es 2 Beiträge dazu: 2011: Beitrag "Aufbau Schaltnetztzeil SPS5630" 2015: Beitrag "Problem mit ELV Netzteil Bausatz PPS 5630" mit Bauanleitung Bauanleitung Best.-Nr.: 75572 Version 2.0 Stand: März 2008 https://www.mikrocontroller.net/attachment/56486/elv.pdf 3,79 MB, 94304 Downloads ! Es ist die einzige Stelle im weiten WWW, an der das PDF (Bau- und Bedienungsanleitung SPS 5630) zu finden ist.
> Die Begründung für die träge Spannungsregelung im PPS5330 Netzteil liegt > vermutlich an der niedrigen PWM-Frequenz des Steuersignals und der Ja das ist der Grund. Nach meinem Post dachte ich mir das auch noch. Aber okay, das ist dann wohl okay. Solange man das Teil nicht schnell durchfahren will wird man damit leben koennen. Auch wenn sicher 2-3x schneller nett waer. Im letzten Horrowitz und Hill (X-Chapter) war ein interessanter Trick drin wie man die PWM ein bisschen schneller bekommt. Ich weiss aber nicht ob ich Elkos im Filter verwendet haette. Olaf
Hallöchen Ich habe noch ein paar Vergleichsmessungen mit meinem PPS5330 und einem Siglent SPD3303X gemacht. Siglent SPD3303X: 2x 32V/3.2A 1x 2.5/3.3/5V 3.2A ELV PPS5330: 1x 30V/3A 1a.Bild: Siglent Spannungs Peak 12V/3A Last 1b.Bild: PPS5330 Spannungs Peak 12V/3A Last 2a.Bild: Siglent Standby_off Peak 12V/3A Last 2b.Bild: PPS5330 Standby_off Peak 12V/3A Last 3a.Bild: Siglent Standby_off Peak 12V ohne Last 3b.Bild: PPS5330 Standby_off Peak 12V ohne Last 4a.Bild: Siglent Spannungs Peak Halogen 12V/20W 4b.Bild: PPS5330 Spannungs Peak Halogen 12V/20W Gruß Rolf
:
Bearbeitet durch User
Hallöchen.. Mit einer kleinen Trick habe ich versucht, die Anstiegszeit der Ausgangsspannung nach einem Standby zu verkürzen. Der Trick bestand darin, das ich vor der Aktivierung der Entstufentransitoren (T2-T5) durch die Standby-Leitung (T9), die PWM Steuerspannung an den Anschlüsse Usoll und Isoll einschalte und erst danach mit einer kleinen Zeitverzögerung von 1sec die Enstufentransistoren freigebe. Leider hat das nicht funktioniert, weil am Ausgang wieder hohe Spannungsspitzen zu messen waren (siehe Bilder). Schade.. Verstehen tuh ich das nicht ? :( 2.Bild: soft_delay ca 0.1sec vor Standby_off (ohne Last) 3.Bild: soft_delay ca 1sec vor Standby_off (ohne Last) Standby Funktion u.a.
1 | //*************************************************************************
|
2 | // Button function
|
3 | //*************************************************************************
|
4 | void buttonFunction (uint8_t Button_nr) |
5 | {
|
6 | // Standby on --------------------------------------------------------
|
7 | if (Button_nr == 1 && Standby_flag == 0) { |
8 | set_Isoll(0); |
9 | set_Usoll(0); |
10 | send_LCD_commands(Standby_on); |
11 | Standby_flag = 1; |
12 | return; |
13 | }
|
14 | // Standby off -------------------------------------------------------
|
15 | else if (Button_nr == 1 && Standby_flag == 1) { |
16 | read_Ulimit(); // read Ulimit from EEPROM |
17 | read_Ilimit(); |
18 | set_Usoll(Ulimit); |
19 | set_Isoll(Ilimit); |
20 | Standby_flag = 0; |
21 | if (Ulimit >= 15000) { |
22 | SPI_wr2(0xB1); // Relais on unregulated VDC 48.0V |
23 | }
|
24 | else if (Ulimit <= 14500) { |
25 | SPI_wr2(0xB0); // Relais off unregulated VDC 24.0V |
26 | }
|
27 | soft_delay(100); |
28 | send_LCD_commands(Standby_off); |
29 | return; |
30 | }
|
31 | ....
|
32 | |
33 | |
34 | |
35 | //*************************************************************************
|
36 | // set Usoll (0 - 30.000mV)
|
37 | //*************************************************************************
|
38 | void set_Usoll (uint16_t Usoll_value) |
39 | {
|
40 | uint8_t Digi_offset = 120; |
41 | #define Umax 30000
|
42 | //#define counts_per_30v 15419
|
43 | |
44 | if (Usoll_value == 0) |
45 | {
|
46 | OCR1A = Digi_offset; |
47 | return; |
48 | }
|
49 | else Digi_offset = 127; |
50 | |
51 | uint16_t counts_per_30v = 15423; |
52 | uint32_t u_factor = (counts_per_30v * 65536 / Umax); |
53 | OCR1A = Digi_offset + ((Usoll_value * u_factor) >> 16) + |
54 | (((Usoll_value * u_factor) >> 15) & 1); |
55 | }
|
56 | |
57 | |
58 | //*************************************************************************
|
59 | // set Isoll
|
60 | //*************************************************************************
|
61 | void set_Isoll (int Isoll) |
62 | {
|
63 | const uint8_t offset = 160; |
64 | OCR1B = offset + (((int32_t)Isoll * 10000) / 2045); // OCR1B 600=100mA 1200=230mA |
65 | }
|
Könntes es vielleicht an C21 in der Standby-Schaltung liegen ??
:
Bearbeitet durch User
1 | void set_Isoll (int Isoll) |
2 | {
|
3 | const uint8_t offset = 160; |
4 | OCR1B = offset + (((int32_t)Isoll * 10000) / 2045); // OCR1B 600=100mA 1200=230mA |
5 | }
|
6 | |
7 | kürzer: |
8 | void set_Isoll (int Isoll){ |
9 | OCR1B = 160 + ((Isoll * 1252UL) >> 8); // OCR1B 600=100mA 1200=230mA |
10 | }
|
> Könntes es vielleicht an C21 in der Standby-Schaltung liegen ??
Eher das Zusammenspiel C21 + C33 und bei Stromreglerbetrieb C26.
Funktion des Spannungsreglers:
Beispiel Uout=30,00
PWM=94,9% ((127+15423)/16384)
U(R52)=94,9/100*5/2=2,372V
Der Offset 127 kommt aus dem Spannungsteiler R50 (100) und R51 (22k auf
-5V)
Der Verstärkungsfaktor ist (R47 || R48) / (R49+R50) und ist
150/2/5,7=13,15789474
* 2,372= 31,21052632
- Offset --> 30V
d.h. R53 C34 und R50 C34 bilden ein PT2-Glied, das gegen das
PT1-Glied (interne Treiberwiderstand IC201/30) / C21 arbeitet, so ein
Murks.
Beim Stromregler ist das PT2 R43 C27 und R40 C26.
Rolf D. schrieb: > Ich habe noch ein paar Vergleichsmessungen mit meinem PPS5330 und einem > Siglent SPD3303X gemacht. Sehr schöner vergleich. Das SPD3303X ist ein, ich sag mal, durchschnittliches Labornetzteil, und an dem Vergleich sieht man jetzt mal wie krass schlecht das PPS5330 ist. Sicher, das PPS5330 kann man durchaus nutzen aber es ist halt, meiner Meinung nach, mega schlecht. Wenn man die Wahl hat...also kaufen würde ich das nicht. Ich drück dir die Daumen, dass du es noch ein wenig optimiert bekommst.
M. K. schrieb: > ... sieht man jetzt mal wie krass schlecht das PPS5330 ist. > ... meiner Meinung nach, mega schlecht. Das ist aber nur die Meinung eines unbedarften Bastlers, die er offensichtlich nicht mit technischen Fakten belegen kann. Eine Antwort erübrigt sich, da ich hier nicht mitlese. Danke für dein Verständnis.
Die Strombegrenzung ist auch noch etwas merkwürdig. Sie reagiert zwar sehr schnell, aber wenn die Belastung bei 5 Volt Sollspannung abfällt, ist eine Spannungsspitze von über 1 Volt am Ausgang messbar (siehe 1.Bild). 2+3.Bild: LED Test bei 10V
:
Bearbeitet durch User
Maulbeere schrieb: > Das ist aber nur die Meinung eines unbedarften Bastlers, die er > offensichtlich nicht mit technischen Fakten belegen kann. Soso...solche User sind immer die Besten. Vor allem wenn man dann noch mit Maulbeere schrieb: > da ich hier nicht mitlese um die Ecke kommt. Warum meldet man sich dann überhaupt zu Wort? Na, der Username ist anscheinend richtig gewählt. Rolf D. schrieb: > Die Strombegrenzung ist auch noch etwas merkwürdig. Sie reagiert zwar > sehr schnell, aber wenn die Belastung bei 5 Volt Sollspannung abfällt, > ist eine Spannungsspitze von über 1 Volt am Ausgang messbar (siehe > Bild). Das liegt wahrscheinlich schon in den anderen Beobachtungen begründet. Wie schnell die Strombegrenzung ist kann man hier auch schwierig abschätzen, könnte aber OK sein wenns so maximal 10-20ms sind. Ich glaube aber nicht, dass die schneller als 1-2ms sein wird.
Ist halt ein "Bastler" Netzteil. Mich würde aber zu gern interessieren, ob das Netzteil von eProfil mit der Original ELV-Software auch so reagiert. Gruß Rolf
Wenn Du genau sagst, was ich messen soll, mache ich das morgen. Generell: ein bisschen mehr dazu schreiben (oder in den Videos sagen) was Du gerade machst und warum. Die Überspannung kommt aus dem selben Grund wie beim Standby: Der Stromregler greift und hat Priorität, und der Spannungsregler macht voll auf, weil die Spannung ja zu gering ist. Fällt die Last weg, übernimmt der Spannungsregler, der aber voll offen ist. Bis der herunterregelt, ist halt die Spannung zu hoch. Das liegt hauptsächlich an den Elkos in der Regelung. Nur: wenn man die kleiner macht, könnte das Ding losschwingen (zum Oszillator werden). Da muss man feinfühlig optimieren. Eine LTspice-Simulation wäre angebracht. Aber der mechanische Aufbau spielt ja auch noch eine Rolle (parasitäre Rs, Ls und Cs).
Mich würden folgende Messungen interessieren: - Spannungsanstiegszeit mit Standby off auf 5V ohne und mit Last. - Spannungsstabilität bei steigender Temperatur unter Last Im Voraus schon mal ein Dankeschön für deine Mühe. Gruß Rolf
Heute gemessen: sieht ähnlich aus wie bei Dir: 5V 1A Last-Abwurf geht die Spannung auf 8V hoch und in 350ms linear herunter. Allerdings sehe ich bei 1A einen 500kHz-400mV-Ripple, das muss ich noch genauer untersuchen, das kann auch am Aufbau liegen. Nach Standby dauert es über 1 Sekunde, bis die 5V vollständig da sind, egal ob mit oder ohne Last. Hohe Temperaturen mache ich später.
Danke Dir. Dann liegt es nicht an meiner Software. Schon mal gut zu wissen. Jetzt mal schaun wie stabil die Ausgangsspannung ohne Last und mit Last ist. Hab das Gerät im kalten Zustand ohne Last auf 10V eingestellt und dann 20min gewartet und noch einmal gemessen. Start ohne Last: Temp.: 24.0'C Usoll: 10V Uist: 10.005V nach 20min Temp.: 27.6'C Usoll: 10V Uist: 10.001V danach direkt mit Last 10V/1000mA gemessen Temp.: 27.6'C Usoll: 10V Uist: 9.977V nach 30min Temp.: 44.3'C Usoll: 10V Uist: 9.974V Die Temperaturmessung erfolgte am Kühlkörper und die Spannungsmessung direkt an den Ausgangsklemmen.
:
Bearbeitet durch User
eProfi schrieb: > 5V 1A Last-Abwurf geht die Spannung auf 8V hoch ist aber böse, das darf nicht sein! das killt ja jeden nano mit hundert WS2812b wenn das Licht ausgeht!
:
Bearbeitet durch User
Joachim B. schrieb: > ist aber böse, das darf nicht sein! Das sehe ich ähnlich, und vorallem dass da rund 350ms nötig sind bis es wieder im Soll ist...alter Schwede, da kannst ja von Hand schneller nachstellen.
> .alter Schwede, da kannst ja von Hand schneller
Sowas hab ich auch gerade gedacht. Sowohl die Groesse wie auch
die Zeitdauer sind erschuetternd!
Ich geb zu, ich hab mich seit 20Jahren nicht mehr mit linearen
Netzteilen beschaeftigt. Man kauft sie halt und sie haben funktioniert.
Aber sowas sollte man doch besser hinbekommen. Erst recht bei
irgendwelchen Bausaetzen wo es doch egal ist ob da ein OP drin ist der
0.5Euro mehr kostet, oder gar ein zweiter.
Olaf
Hallöchen.. Vielleicht könnte man den Ausgang über eine "Ideale Diode" schaltbar machen. Ideale Dioden zeichnen sich dadurch aus, dass sie hohe Spannungen und Ströme schalten können und einen sehr geringen Durchlasswiderstand von wenigen Milliohm besitzen. Der Spannungsabfall am Ausgang wäre je nach Bauart und Aufwand sehr gering. Link: https://praktische-elektronik.dr-k.de/Praktikum/Analog/DiodenTransistoren/Le-Ideale-Diode.html
:
Bearbeitet durch User
Olaf schrieb: > Erst recht bei > irgendwelchen Bausaetzen wo es doch egal ist ob da ein OP drin ist der > 0.5Euro mehr kostet, oder gar ein zweiter. Am OP liegt es nicht sondern an der Schaltung ansich. Selbst eine Schnecke von LM358 und ähnliches bekommt das schneller hin. Rolf D. schrieb: > Vielleicht könnte man den Ausgang über eine "Ideale Diode" schaltbar > machen. Das wäre eine Idee, vielleicht schaust du mal via LTSpice ob das wirklich interessant wäre.
An dem langsamen Regelverhalten würde sich ja nichts ändern. Man müsste schon die Netzteilschaltung an sich ändern. Die Strombegrenzung reagiert innerhalb von 2ms und ist damit ausreichend schnell. Die Spannungsregelung ist dafür aber sehr langsam (> 700ms von 0V auf 10V).
:
Bearbeitet durch User
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.