Kurze Frage -> schnelle Antwort
Moderatoren: Heaterman, Finger, Sven, TDI, Marsupilami72, duese
Re: Kurze Frage -> schnelle Antwort
Der Steinschlag ist gefühlt so 6x6 bis 8x8mm groß, also schon bisschen was an Lack weg.
Kann leider nicht nachmessen, das Auto sehe ich erst Samstag wieder.
Wie das an der Tür entstanden ist, weiß ich nicht. Ist ein Gebrauchtwagen, den ich mir gerade gekauft habe und das wären halt zwei Sachen, die es zu machen gilt.
Aber Griff abschrauben ist ja auch nicht so aufwendig. Das würde ich notfalls noch selber machen, bevor ich ihn weggebe
Kann leider nicht nachmessen, das Auto sehe ich erst Samstag wieder.
Wie das an der Tür entstanden ist, weiß ich nicht. Ist ein Gebrauchtwagen, den ich mir gerade gekauft habe und das wären halt zwei Sachen, die es zu machen gilt.
Aber Griff abschrauben ist ja auch nicht so aufwendig. Das würde ich notfalls noch selber machen, bevor ich ihn weggebe
-
- Beiträge: 53
- Registriert: Mo 2. Sep 2013, 23:03
Re: Kurze Frage -> schnelle Antwort
Ich bin mit meinem Latein am Ende.
Audioverstärker Selbstbau, Ringkerntrafo, Gleichrichter, Elkos, Mittelabgriff als Masse.
Alles ist gut, die Spannungen nach der Siebung scheinen ok.
ABER:
manchmal brummt der Trafo (nicht aus den Lautsprechern).
Habe jetzt mal vor dem Gleichrichter gemessen, sehe da DC-offsets von ein paar 100 mV.
Verstehe nicht wo die herkommen.
Außerdem sieht der Sinus kaputt aus.
Was meint Ihr?
Audioverstärker Selbstbau, Ringkerntrafo, Gleichrichter, Elkos, Mittelabgriff als Masse.
Alles ist gut, die Spannungen nach der Siebung scheinen ok.
ABER:
manchmal brummt der Trafo (nicht aus den Lautsprechern).
Habe jetzt mal vor dem Gleichrichter gemessen, sehe da DC-offsets von ein paar 100 mV.
Verstehe nicht wo die herkommen.
Außerdem sieht der Sinus kaputt aus.
Was meint Ihr?
Re: Kurze Frage -> schnelle Antwort
Brummender Trafo und deformierter Sinus: Da geht wohl der Eisenkern in die Sättigung.
Irgendwas an deiner Schaltung ist also unsymmetrisch oder (unwahrscheinlich) dein Netzstrom ist nicht symmetrisch.
Der Eisenkern integriert die DC-Offsets auf und fängt an sich lautstark zu beschweren, wenn das Ende der Magnetisierbarkeit erreicht ist.
Irgendwas an deiner Schaltung ist also unsymmetrisch oder (unwahrscheinlich) dein Netzstrom ist nicht symmetrisch.
Der Eisenkern integriert die DC-Offsets auf und fängt an sich lautstark zu beschweren, wenn das Ende der Magnetisierbarkeit erreicht ist.
Re: Kurze Frage -> schnelle Antwort
Kannst du auch die Ströme auf der AC-Seite sichtbar machen?
- Bastelbruder
- Beiträge: 11566
- Registriert: Mi 14. Aug 2013, 18:28
Re: Kurze Frage -> schnelle Antwort
Der Ausgang des Trafos mit hochkapazitiver Gleichrichterlast sieht ganz in Ordnung aus.
Wenn ein Ringkern brummt, dann versucht der den Fehler eines anderen Gerätes am (relativ hochohmigen) Netz geradezubügeln. Da ist ganz in der Nähe eine Diode defekt oder wahrscheinlicher ein Kondensator, der verhindert daß irgendein TRIAC in beiden Richtungen gleich angesteuert wird. Es könnte natürlich auch ein Lötkolben mit komischer Regelung sein.
Da hatte ich sowas mal beschrieben, des Rätsels Lösung steht ein paar Beiträge weiter unten.
Das Phänomen gibt es nur mit Ringkernen weil die seehr empfindlich auf DC-Vormagnetisierung reagieren.
Ich habe vor (15?) Jahren als die Ringschweine noch etwas verbreiteter waren, zur Diagnose einfach ein DVM im Bereich DC200V ans Netz gehängt. Wenn das nicht +/- null angezeigt hat, war ein latentes Problem das der Sparkie zu lösen hatte. Bloß ein besonders geiziger Kunde in Stuttgart hat lieber eine höhere Stromrechnung bezahlt, der bekam einen 10 Ohm-Vorwiderstand zum 1kW-Trafo seines Lasers.
Wenn ein Ringkern brummt, dann versucht der den Fehler eines anderen Gerätes am (relativ hochohmigen) Netz geradezubügeln. Da ist ganz in der Nähe eine Diode defekt oder wahrscheinlicher ein Kondensator, der verhindert daß irgendein TRIAC in beiden Richtungen gleich angesteuert wird. Es könnte natürlich auch ein Lötkolben mit komischer Regelung sein.
Da hatte ich sowas mal beschrieben, des Rätsels Lösung steht ein paar Beiträge weiter unten.
Das Phänomen gibt es nur mit Ringkernen weil die seehr empfindlich auf DC-Vormagnetisierung reagieren.
Ich habe vor (15?) Jahren als die Ringschweine noch etwas verbreiteter waren, zur Diagnose einfach ein DVM im Bereich DC200V ans Netz gehängt. Wenn das nicht +/- null angezeigt hat, war ein latentes Problem das der Sparkie zu lösen hatte. Bloß ein besonders geiziger Kunde in Stuttgart hat lieber eine höhere Stromrechnung bezahlt, der bekam einen 10 Ohm-Vorwiderstand zum 1kW-Trafo seines Lasers.
Re: Kurze Frage -> schnelle Antwort
Ich kenne als Problemverursacher eher Föne oder Heißluftgebläse, die die Leistung halbieren, indem sie eine Diode vorschalten. Bei entsprechender Netzimpedanz bringt das einen in der nähe stehenden Ringkerntrafo auch heftig zum Brummen.
Röhrenmonitore: lohnt ausschlachten?
Ich will 2 Röhren-Monitore zum Wertstoffhof karren. Fallen euch Wertstoffe ein, für die sich aufschrauben und ausbauen vor dem entsorgen lohnt?
Zeilentrafos fallen aus: da hab ich schon 'ne Kiste voll rumliegen.
Zeilentrafos fallen aus: da hab ich schon 'ne Kiste voll rumliegen.
Re: Kurze Frage -> schnelle Antwort
Wenn die Dinger noch tun, sinds doch komplett Wertstoffe.
Meiner Meinung nach ist die Farbwiedergabe nach wie vor unerreicht.
Das Problem ist nur, viele sehen das mittlerweile so, Hauptsache möglichst gross, die Qualität ist zweitrangig.
Meiner Meinung nach ist die Farbwiedergabe nach wie vor unerreicht.
Das Problem ist nur, viele sehen das mittlerweile so, Hauptsache möglichst gross, die Qualität ist zweitrangig.
-
- Beiträge: 53
- Registriert: Mo 2. Sep 2013, 23:03
Re: Kurze Frage -> schnelle Antwort
Vielen Dank schon mal für die Antworten.
Ich dachte auch daß der Trafo in die Sättigung geht, hatte aber eher ein Problem in meiner Schaltung im Blick (wegen des DC-Anteils auf der Sekundärseite).
Wie kann ich denn die Ströme auf der AC-Seite messen? Sekundär 1 Ohm einlöten und daran die Spannung? Gibt es auch eine nicht allzu gefährliche Methode für die Primärseite?
Jetzt hab ich erstmal die Spannung auf der Primärseite gemessen und die sieht genauso kaputt aus. -15V DC!
Heißt daß, das Problem kommt aus dem Netz?
Ich glaube ich habe vergessen zu erwähnen, daß das Brummen nicht dauernd da ist, sondern nur so ca. 10mal am Tag für 5 Sekunden, sorry.
Dazu ein Bild von meinem Heißkleber-Filmdosen-Netzspannungsmessungsetwassichermachgerät.
Ich dachte auch daß der Trafo in die Sättigung geht, hatte aber eher ein Problem in meiner Schaltung im Blick (wegen des DC-Anteils auf der Sekundärseite).
Wie kann ich denn die Ströme auf der AC-Seite messen? Sekundär 1 Ohm einlöten und daran die Spannung? Gibt es auch eine nicht allzu gefährliche Methode für die Primärseite?
Jetzt hab ich erstmal die Spannung auf der Primärseite gemessen und die sieht genauso kaputt aus. -15V DC!
Heißt daß, das Problem kommt aus dem Netz?
Ich glaube ich habe vergessen zu erwähnen, daß das Brummen nicht dauernd da ist, sondern nur so ca. 10mal am Tag für 5 Sekunden, sorry.
Dazu ein Bild von meinem Heißkleber-Filmdosen-Netzspannungsmessungsetwassichermachgerät.
Röhrenmonitore: lohnt ausschlachten?
Ich will mich echt von den Monitore trennen. Wenn jemand einen haben will muss er mir schnell Bescheid sagen - dann hebe ich 1 oder beide noch ein paar Tage auf. Abholung Nähe Aachen.
Re: Kurze Frage -> schnelle Antwort
Ja, das Problem des brummenden Trafos kommt ausm Netz. Mein 1800VA Trenntrafo (ebenfalls Ringkern) klingt hier fast durchgängig so, als würde ich ihn mit mindestens 20kW belasten, nur den Grund dafür habe ich noch nicht gefunden. Ich befürchte, der Verursacher wohnt wohl irgendwo beim Nachbarn...
Du könntest den Trafo AC koppeln um das Problem zu umgehen (zwei möglichst fette Elkos gegeneinander in reihe zum Netz). Wenns aber nur paar mal täglich für paar Sekunden auftritt, würde ich mir jegliche weitere Arbeit aber nur dann antun, wenn das Brummen irgendwie nervt.
Ich hab bei der letzten Netzstrommessung mitm Oszi selbiges über einen erdfreien Trenntrafo betrieben, einen Shunt zwischen N und Verbraucher geschaltet und die Masseklemme auf N gelegt. Diese Methode dürfte im allgemeinen aber wohl eher nicht als "sicher" zu bezeichnen sein
Du könntest den Trafo AC koppeln um das Problem zu umgehen (zwei möglichst fette Elkos gegeneinander in reihe zum Netz). Wenns aber nur paar mal täglich für paar Sekunden auftritt, würde ich mir jegliche weitere Arbeit aber nur dann antun, wenn das Brummen irgendwie nervt.
Ich hab bei der letzten Netzstrommessung mitm Oszi selbiges über einen erdfreien Trenntrafo betrieben, einen Shunt zwischen N und Verbraucher geschaltet und die Masseklemme auf N gelegt. Diese Methode dürfte im allgemeinen aber wohl eher nicht als "sicher" zu bezeichnen sein
Re: Kurze Frage -> schnelle Antwort
Kurze Frage: Ich will den (rauschenden) Ausgang einer Soundkarte mitm Oszi abgreifen, gebe testweise nen Sinus mit bekannter Frequenz drauf, aufm Oszi kommt aber nur Murks an. Fang ich mir übers Kabel (Klinkenrest -> Krokos auf BNC) irgendwelchen Mist ein, oder ist das eher ein Impedanzproblem?
Re: Kurze Frage -> schnelle Antwort
Probiers mal mit nem Terminator. Das Oszi ist hochohmig, der Soundkartenausgang AC-gekoppelt.
Lötpistolen und der Skineffekt?
Wie starkt wirkt sich der Skineffekt bei den Lötspitzen von Lötpistolen aus?
Ich hatte bei meiner Lötpistole 0,2-0,4Veff an der Spitze gemessen, dazu passend würde bei der aufgedruckten Leistung ein Strom von 100-200A fließen.
Da ich gerne eine Akkubetriebene Lötpistole hätte, habe ich mir heute einen Sperrschwinger mit einem PC-Netzteil-Übertrager und einer Sekundärwindung aus Kupferblech gebaut. Diesen musste ich für wirksames Löten bis 2,5Veff am Ausgang hochziehen, dabei gingen 35W in die Anordnung REIN (also schätze ich etwa 10A Strom in der Spitze). 2,5V sind nun eine andere Hausnummer als 0,4V, also habe ich einen Umbau auf-Direkt-Nickel-Cadmium-Betrieb versucht.
Ergebnis: Die Zellen werden heiß wie sau, und die Spannung an der Spitze bricht auf 0,2V ein, die Spitze wird nicht brauchbar warm. Die Zellen (2x 1,5Ah parallel) waren in Sekundenschnelle heiß und leer.
Gewonnene Erkenntnis: Der Widerstand ist wohl frequenzabhängig.
Kann jemand abschätzen, wie viel der Skineffekt bei 200kHz Schaltfrequenz wirklich zu dem Phänomen beiträgt?
Oder muss ich einen anderen Fehler im Verhau suchen?
Ich hatte bei meiner Lötpistole 0,2-0,4Veff an der Spitze gemessen, dazu passend würde bei der aufgedruckten Leistung ein Strom von 100-200A fließen.
Da ich gerne eine Akkubetriebene Lötpistole hätte, habe ich mir heute einen Sperrschwinger mit einem PC-Netzteil-Übertrager und einer Sekundärwindung aus Kupferblech gebaut. Diesen musste ich für wirksames Löten bis 2,5Veff am Ausgang hochziehen, dabei gingen 35W in die Anordnung REIN (also schätze ich etwa 10A Strom in der Spitze). 2,5V sind nun eine andere Hausnummer als 0,4V, also habe ich einen Umbau auf-Direkt-Nickel-Cadmium-Betrieb versucht.
Ergebnis: Die Zellen werden heiß wie sau, und die Spannung an der Spitze bricht auf 0,2V ein, die Spitze wird nicht brauchbar warm. Die Zellen (2x 1,5Ah parallel) waren in Sekundenschnelle heiß und leer.
Gewonnene Erkenntnis: Der Widerstand ist wohl frequenzabhängig.
Kann jemand abschätzen, wie viel der Skineffekt bei 200kHz Schaltfrequenz wirklich zu dem Phänomen beiträgt?
Oder muss ich einen anderen Fehler im Verhau suchen?
Re: Kurze Frage -> schnelle Antwort
Ich versuche gerade zu folgen: welchen Vorteil für die Wärmeausbeute hätte es denn, wenn der Strom, der ja trotzdem 100-200A betragen müsste, nur oberflächlich fliesst? Der müsste ja trotzdem das ganze Material der Spitze auf Nenntemperatur bringen. Oder meinst Du was anderes...?
Re: Kurze Frage -> schnelle Antwort
Es geht nicht um die möglichen Vorteile, es geht erstmal primär um die Frage, warum die Idee, das Ding mit HF zu speisen nicht hinhauen will.
Re: Kurze Frage -> schnelle Antwort
Ich beginne zu verstehen. Ich hatte es genau anders herum verstanden: mit 200khz alles tutti und bei DC brauchst Du die hohe Spannung.
Zu spät. Bei 200kHz ist die Eindringtiefe 0,15mm, insofern würde ich schon sagen, dass Dir einiges vom wirksamen Querschnitt verloren geht.
Mit einem Onlinerechner gespielt (http://www.electronicdeveloper.de/AllSk ... tiefe.aspx - wie gesagt zu spät, Taschenrechner suche ich jetzt nicht mehr) ändert sich der Widerstand einer fiktiven 3mm dicken und 6cm langen Lötspitze aber auch nur um und auf 1mOhm, das erklärt also nicht die hohe benötigte Spannung.
Die 75mOhm XL würden mir da schon eher zu denken geben (Faustwert 10nH/cm)
Zu spät. Bei 200kHz ist die Eindringtiefe 0,15mm, insofern würde ich schon sagen, dass Dir einiges vom wirksamen Querschnitt verloren geht.
Mit einem Onlinerechner gespielt (http://www.electronicdeveloper.de/AllSk ... tiefe.aspx - wie gesagt zu spät, Taschenrechner suche ich jetzt nicht mehr) ändert sich der Widerstand einer fiktiven 3mm dicken und 6cm langen Lötspitze aber auch nur um und auf 1mOhm, das erklärt also nicht die hohe benötigte Spannung.
Die 75mOhm XL würden mir da schon eher zu denken geben (Faustwert 10nH/cm)
Re: Kurze Frage -> schnelle Antwort
Dass die Induktivität von dem Stück Lötspitze ein Problem sein könnte, hatte ICH nun nicht aufm Schirm... dabei ist das eigentlich logisch.
Insbesondere da die Spitze eher 7-8cm lang ist (also 15cm Draht hat), kommt da ne Induktivität zusammen, die bei erwarteten 100A Strom schon relevant wird.
Das würde auch die unerwartet starke Zickigkeit des Wandlers erklären, der für das Umsetzen von 40W doch äußerst viel Verlustleistung produzierte. Wenn er natürlich Blindleistung im 3stelligen VA-Bereich liefern musste...
Naja, ich mache für heute Feierabend, mal sehen, was da noch an Ideen kommt.
Insbesondere da die Spitze eher 7-8cm lang ist (also 15cm Draht hat), kommt da ne Induktivität zusammen, die bei erwarteten 100A Strom schon relevant wird.
Das würde auch die unerwartet starke Zickigkeit des Wandlers erklären, der für das Umsetzen von 40W doch äußerst viel Verlustleistung produzierte. Wenn er natürlich Blindleistung im 3stelligen VA-Bereich liefern musste...
Naja, ich mache für heute Feierabend, mal sehen, was da noch an Ideen kommt.
Re: Kurze Frage -> schnelle Antwort
Kompensieren
- Bastelbruder
- Beiträge: 11566
- Registriert: Mi 14. Aug 2013, 18:28
Re: Kurze Frage -> schnelle Antwort
Zur Eindringtiefe habe ich zwei Zahlenpaare im Kopf: 50Hz 13mm und 10GHz 1µm, die unscharfe Wahrheit dürfte irgendwo dazwischen liegen.
sqr(10G/200k) = 223µm
sqr(10G/50) = 14mm
Das zweite Problem der HF-Heizung dürfte die Serieninduktivität der Pistolenheizwindung darstellen. 10cm² umschlossene Fläche kommt vielleicht auf 50nH, das sind 63 mOhm bei sinusförmigen 200kHz.
sqr(10G/200k) = 223µm
sqr(10G/50) = 14mm
Das zweite Problem der HF-Heizung dürfte die Serieninduktivität der Pistolenheizwindung darstellen. 10cm² umschlossene Fläche kommt vielleicht auf 50nH, das sind 63 mOhm bei sinusförmigen 200kHz.
Re: Kurze Frage -> schnelle Antwort
Da kann man eigentlich nur noch mit Synchrongleichrichtung arbeiten, gerade bei so niedrigen Spannungen relativ ätzend, selbst ne Schottky verbrät da ja >50% der Leistung einfach. Mal auf nem alten MoBo geschaut? Dort findest du eigentlich, gerade bei der Generation P4 und neuer, entsprechende Brocken zu Hauf. Niedrige Spannungen, hohe Ströme.
Nachtrag: Die Topologie sieht für deine Zwecke sogar recht useful aus:
http://www.3dcenter.org/artikel/geheimn ... ngswandler
Nachtrag: Die Topologie sieht für deine Zwecke sogar recht useful aus:
http://www.3dcenter.org/artikel/geheimn ... ngswandler
Re: Kurze Frage -> schnelle Antwort
Frage:
Die Funktionen aus eeprom.h von AVR GCC erwarten alle für die Speicheradresse einen Pointer. Warum ist das so?
Bsp:Dieser Code erzeugt eine Warnung beim compilieren:
"passing argument 1 of '__eewr_byte_m8' makes pointer from integer without a cast "
Wie muss es richtig heißen?
Die Funktionen aus eeprom.h von AVR GCC erwarten alle für die Speicheradresse einen Pointer. Warum ist das so?
Bsp:
Code: Alles auswählen
void ee_read_byte(void)
{
//Auszug aus der eeprom.h:
//uint8_t eeprom_read_byte (const uint8_t *__p) __ATTR_PURE__;
uint8_t ee_byte,ee_address=100;
//ee_addresse: Adresse von der gelesen werden soll
ee_byte=eeprom_read_byte (ee_address);
}
"passing argument 1 of '__eewr_byte_m8' makes pointer from integer without a cast "
Wie muss es richtig heißen?
Re: Kurze Frage -> schnelle Antwort
Ändere das mal in "ee_byte=eeprom_read_byte (&ee_address);", damit übergibst du statt dem Wert die Adresse, wo der Wert steht. Sinn davon: Vermutlich wird beim Aufruf die Adresse inkrementiertAnse hat geschrieben: ee_byte=eeprom_read_byte (ee_address);
- Fritzler
- Beiträge: 12604
- Registriert: So 11. Aug 2013, 19:42
- Wohnort: D:/Berlin/Adlershof/Technologiepark
- Kontaktdaten:
Re: Kurze Frage -> schnelle Antwort
Das Ding will nen Pointer, weil du auf EEPROM Adressen zugreifen willst.
Pointer = Adresse bzw Adresszugriff
Das soll eben stromlinienförmig bleiben.
In deinem ee_adress steht ja die Adresse als INteger die du haben wilst ne?
Dann machs so: ee_byte = eeprom_read_byte ((uint8_t*)ee_address);
Ansonsten:
http://www.avrfreaks.net/forum/tut-c-us ... c?page=all
Pointer = Adresse bzw Adresszugriff
Das soll eben stromlinienförmig bleiben.
In deinem ee_adress steht ja die Adresse als INteger die du haben wilst ne?
Dann machs so: ee_byte = eeprom_read_byte ((uint8_t*)ee_address);
Ansonsten:
http://www.avrfreaks.net/forum/tut-c-us ... c?page=all
Re: Kurze Frage -> schnelle Antwort
Weil der übergebene Wert im EEPROM eine Adresse ist, wird er als Pointer übergeben? Uhh, das ist aber eine gewöhnungsbedürftige Logik Nach meiner Ansicht übergibt man in C nur Pointer, wenn ein Array übergeben werden soll, oder eine Änderung des Wertes von der aufgerufenen Funktion zu erwarten ist. Aber ok, meinetwegen... Ich hatte mich schon über das "const" in der Prototypen-Deklaration gewundert...Fritzler hat geschrieben:Das Ding will nen Pointer, weil du auf EEPROM Adressen zugreifen willst.
Re: Kurze Frage -> schnelle Antwort
Zudem spart man im µC-Umfeld jedes Byte RAM was man sparen kann... und ein Pointer ist eben ein Pointer, da braucht es keine Kopie des Wertes nochmals im RAM.
- Fritzler
- Beiträge: 12604
- Registriert: So 11. Aug 2013, 19:42
- Wohnort: D:/Berlin/Adlershof/Technologiepark
- Kontaktdaten:
Re: Kurze Frage -> schnelle Antwort
Da übergibts du ja dann auch eine Adresse, weil du auf die Adresse des Array zugreifen willst.
Ansonsten müsstest du das Array ja auf den Stack kopieren zur Übergabe.
Adressen eben als Pointer mit der Compiler weis was vor sich geht.
Die Registerzugriffe im AVR GCC sind übrigens auch nur defines ala dereferencierter Pointer
Ansonsten müsstest du das Array ja auf den Stack kopieren zur Übergabe.
Adressen eben als Pointer mit der Compiler weis was vor sich geht.
Die Registerzugriffe im AVR GCC sind übrigens auch nur defines ala dereferencierter Pointer
Re: Kurze Frage -> schnelle Antwort
Die Warnung ist so weg. Allerdings verstehe ich das nicht ganz. Die Speicheradresse muss ja den kompletten Speicherbereich abdecke. Bei 512Byte EEPROM mindestens bis 512.xoexlepox hat geschrieben: Ändere das mal in "ee_byte=eeprom_read_byte (&ee_address);", damit übergibst du statt dem Wert die Adresse, wo der Wert steht. Sinn davon: Vermutlich wird beim Aufruf die Adresse inkrementiert
Wenn ich jetzt einen Pointer auf uint8_t übergebe, dann können ja nur die ersten 256Byte gelesen werden, richtig?
Integer--> zwei Bytes. Also muss ich eine Adressvariable mit mind. zwei Byte Größe verwenden und sie entsprechen casten.Fritzler hat geschrieben:In deinem ee_adress steht ja die Adresse als INteger die du haben wilst ne?
Dann machs so: ee_byte = eeprom_read_byte ((uint8_t*)ee_address);
jetzt muss ich mir aber erst mal den Artikel von avrfreakes.net durchlesen
Danke an die Helfer.
Re: Kurze Frage -> schnelle Antwort
Der Compiler braucht sich m.E. nur im das zu kümmern, was innerhalb des C-Programms Adressen oder Werte sind. Daß ein übergebener Wert dazu verwendet wird, ein EEPROM zu adressieren, ist m.E. für den Compiler doch uninteressant. Ok, diese Diskussion wird in diesem Thread doch sehr OT -> Weiterführung im AVR-Thread, oder kollidieren hier einfach nur verschiedene "Philosophien"?Fritzler hat geschrieben:Adressen eben als Pointer mit der Compiler weis was vor sich geht.
Re: Kurze Frage -> schnelle Antwort
Da gibt's nix zu philosophieren. Ein Pointer ist die Adresse einer Speicherstelle. Punkt. Beim Array ist es eben eine Speicherstelle im RAM.xoexlepox hat geschrieben:oder kollidieren hier einfach nur verschiedene "Philosophien"?
Re: Kurze Frage -> schnelle Antwort
Ein Pointer ist nur eine Speicheradresse. Die Menge an Daten, die zur Speicherung dieser Adresse benötigt wird, richtet sich nicht nach dem Datentyp, auf den gezeigt wird, sondern nach der Systemarchitektur.
Die Menge an Daten, die hinter einem Pointer steht muss immer im Kontext übergeben werden oder von vornherein klar sein. Deswegen braucht der memcopy Befehl beispielsweise, nicht nur eine Start- und Zieladresse, sondern auch noch eine Angabe, wieviele Byte kopiert werden sollen.
Mit dem Befehl können auch ohne weiteres N Byte von einem float Pointer zu einem integer Pointer kopiert werden, sofern dieser auch auf mindestens N Byte reserviert wurde.
Das ist schon alleine daran zu erkennen, dass man jeden Pointer zu void* casten kann und wieder zurück.
Der memcopy Befehl frisst nur void Pointer, die man vorher casten muss.
Ob ich nun auf einen 8 Bit Typen zeige oder einen 32 Bit Typen ist egal. Der Pointer ist immer gleich groß. Auf einem 16 Bit System dürften das 16 Bit sein, auf einem 32 Bit System 4 Byte, bei 64 Bit entsprechend 8 Byte. Wobei das nicht zwingend so sein muss, wer weiß was es für Perversitäten in Systemarchitekturen gibt
Die Menge an Daten, die hinter einem Pointer steht muss immer im Kontext übergeben werden oder von vornherein klar sein. Deswegen braucht der memcopy Befehl beispielsweise, nicht nur eine Start- und Zieladresse, sondern auch noch eine Angabe, wieviele Byte kopiert werden sollen.
Mit dem Befehl können auch ohne weiteres N Byte von einem float Pointer zu einem integer Pointer kopiert werden, sofern dieser auch auf mindestens N Byte reserviert wurde.
Das ist schon alleine daran zu erkennen, dass man jeden Pointer zu void* casten kann und wieder zurück.
Der memcopy Befehl frisst nur void Pointer, die man vorher casten muss.
Ob ich nun auf einen 8 Bit Typen zeige oder einen 32 Bit Typen ist egal. Der Pointer ist immer gleich groß. Auf einem 16 Bit System dürften das 16 Bit sein, auf einem 32 Bit System 4 Byte, bei 64 Bit entsprechend 8 Byte. Wobei das nicht zwingend so sein muss, wer weiß was es für Perversitäten in Systemarchitekturen gibt
Re: Kurze Frage -> schnelle Antwort
Zustimmung, solange die angesprochene Adresse im Speicherbereich des laufenden Programms liegt! Aber wie sieht es aus, wenn der Speicher "extern" (z.B. eine angebundene SD-Karte) ist? Dann ist es m.E. ein Wert, der ein externes Gerät dazu veranlasst, in seiner eigenen Ordnung nach einem Datum (beliebiger Größe) zu suchen, welches irgend wann einmal mit dem gleichen "Index" dort abgelegt wurde Und das EEPROM eines µCs sehe ich als "externen Speicher" an. Oder ist das EEPROM bei AVRs Teil des "normalen" Speicherbereichs eines Programms?flogerass hat geschrieben:Ein Pointer ist die Adresse einer Speicherstelle. Punkt.
Re: Kurze Frage -> schnelle Antwort
Ich weiß nicht wie es beim AVR ist. Aber es ist eine durchaus übliche Architektur, dass der gesamte Speicher (RAM, FLASH, EEPROM) in einem geminsamen Adressraum liegt. Aber selbst wenn nicht, werden alle über einen internen Adressbus angesprochen.xoexlepox hat geschrieben:Oder ist das EEPROM bei AVRs Teil des "normalen" Speicherbereichs eines Programms?
Eine SD-Karte liegt definitiv außerhalb und lässt sich wegen des krassen Missverhältnisses zwischen Adressbusbreite µC und Speichervolumen SD auch nicht direkt adressieren.
Re: Kurze Frage -> schnelle Antwort
Das ist dann aber kein Pointer des C Programms! Eine externe Speicheradresse ist ein Datenwert, der in irgendeiner Variable gespeichert wird, die groß genug sein muss.
Diese Variable kann ich dann ja wieder als Pointer handhaben.
Das ist nichts anderes als z.B. ein Filepointer oder ein Positionsindex eines irgendwie definierten Datentyps.
Diese Variable kann ich dann ja wieder als Pointer handhaben.
Das ist nichts anderes als z.B. ein Filepointer oder ein Positionsindex eines irgendwie definierten Datentyps.
Re: Kurze Frage -> schnelle Antwort
DANKE! Endlich mal Jemand, der verstanden hat, worauf ich hinaus will! Eine "Adresse" (wie auch immer geartet) eines externen Speichers ist nach meiner Ansicht "nicht eines Pointers würdig", da sie ausserhalb des vom Programm direkt adressierbaren Bereiches liegt, und nur über entsprechende Interfaces angesprochen werden kann. Daher auch der Hinweis auf "Philosophie" Beim Brennen von µCs mittels Hexfile gibt es zwar Adressbereiche, die in das EEPROM führen, jedoch sind diese Bereiche (zumindest bei PICs) vom Programm aus nicht direkt erreichbar.Sven hat geschrieben:Das ist dann aber kein Pointer des C Programms!
Edith meint: Vergesst bitte in dieser Diskussion nicht Anse mit seiner "8Bit-Frage", die ich mangels Ahnung von AVRs auch leider nicht beantworten kann
- Fritzler
- Beiträge: 12604
- Registriert: So 11. Aug 2013, 19:42
- Wohnort: D:/Berlin/Adlershof/Technologiepark
- Kontaktdaten:
Re: Kurze Frage -> schnelle Antwort
uint8_t* im AVR hat 2 byte, da ein Pointer beim AVR auf 16Bit Adressraum zeigt.
Ist also eine 16Bit Variable die auf einen 8Bit Wert zeigt.
@plox:
ist und bleibt aber trotzdem ein Pointer!
ER zeigt eben nur nicht auf den Hauptadressbereich des Prozessors, sondern zB auf einen FAT32 Block der SD Karte (is auch ne Adresse im SD Adressspace und somit nen Pointer).
Diesen Pointer nimmt dann die SD Kartenlesefunktion und schickt ihn über den SPI zur SD Karte rüber (gimma her den Block!)
Ist also eine 16Bit Variable die auf einen 8Bit Wert zeigt.
@plox:
ist und bleibt aber trotzdem ein Pointer!
ER zeigt eben nur nicht auf den Hauptadressbereich des Prozessors, sondern zB auf einen FAT32 Block der SD Karte (is auch ne Adresse im SD Adressspace und somit nen Pointer).
Diesen Pointer nimmt dann die SD Kartenlesefunktion und schickt ihn über den SPI zur SD Karte rüber (gimma her den Block!)
Re: Kurze Frage -> schnelle Antwort
Das akzeptiere ich mal so Einerseits ist es ein Pointer (für das Interface eines "externen Speichers"), andererseits aber auch kein Pointer im Sinne eines "laufenden Programms". Das hängt eben davon ab, was man als "Adresse" versteht... -> Das ist anscheinend Ansichtssache Ok so?Fritzler hat geschrieben:ist und bleibt aber trotzdem ein Pointer!
Edith meint: Eine wirkliche "Lösung des Problems" scheint es nicht zu geben, und sich über verschiedene Ansichten zu streiten, ist ineffektiv, und hält von der Frickelei ab
Re: Kurze Frage -> schnelle Antwort
Ähhh, es heisst "uint8_t" und hat nicht 8, sondern 16 Bit? Ok, ich möchte hier jetzt keine weitere Kontroverse starten, und bleibe lieber bei "meinen" PICs und schreibe Assembler...Fritzler hat geschrieben:uint8_t* im AVR hat 2 byte
Zuletzt geändert von xoexlepox am So 22. Feb 2015, 01:13, insgesamt 1-mal geändert.
- Fritzler
- Beiträge: 12604
- Registriert: So 11. Aug 2013, 19:42
- Wohnort: D:/Berlin/Adlershof/Technologiepark
- Kontaktdaten:
Re: Kurze Frage -> schnelle Antwort
uint8_t -> der Wert selber, also 8bit
uint8_t* -> der pointer darauf, also 16 bit
Kauf dirn C Buch
uint8_t* -> der pointer darauf, also 16 bit
Kauf dirn C Buch
Re: Kurze Frage -> schnelle Antwort
Den "Kernighan/Ritchie" (von '83, m.E. für Anfänger ungeeignet) habe ich hier, und ich programmiere seit ca. 30Jahren in "C", aber den "*" habe ich leider übersehen...Fritzler hat geschrieben:Kauf dirn C Buch
Re: Kurze Frage -> schnelle Antwort
Der Kernighan/Ritchie ist aber ein hervorragendes Nachschlagewerk. Als Lehrbuch ist das Ding nicht konzipiert aber für jeden Programmier wärmstens zu empfehlen.
Na dann ist ja alles geklärt
Na dann ist ja alles geklärt
Re: Kurze Frage -> schnelle Antwort
Es gibt einen Grund dafür, bei AVRs (und eigentlich auch bei allen anderen µC-Architekturen) für ALLE Adressbereiche (und nicht nur dem RAM) Pointer zu verwenden.
Bei AVRs haben wir dank der Harvard-Architektur ja sogar drei Adreßbereiche:
- Den Programmspeicher
- Das RAM
- Das EEPROM
"Normale Pointer" zeigen ins RAM und haben einige Annehmlichkeiten, die Integer nicht haben. Z.B. wird beim Inkrementieren eines Pointers selbiger immer um die Größe der Struktur auf die er zeigt inkrementiert. Genau so implementiert der Compiler auch Arrays. Also ermöglicht dieser Weg zusammen mit entsprechenden Funktionen in der AVR-Libc, nicht nur Bytes in das EPROM zu schreiben, sondern auch Arrays, Structs etc.
Hier gibt es für Systeme, die eingen gewissen Teil des Zustands speichern müssen die Möglichkeit, den ganzen erhaltenswürdigen Zustand in eine (evtl globale) Struct zu kapseln und auf einen Schwung wegzuschreiben und einzulesen.
Das macht den Umgang mit dem EEPROM echt simpel, wenn man sich das einmal erknobelt hat.
Es ist also keine reine Philosophiefrage, auch wenn "ich schmeiß mal 2 Bytes ins EPROM, an Adresse mit der Zahl x" intuitiver erscheint. Aber seit wann ist C intuitiv?
Bei AVRs haben wir dank der Harvard-Architektur ja sogar drei Adreßbereiche:
- Den Programmspeicher
- Das RAM
- Das EEPROM
"Normale Pointer" zeigen ins RAM und haben einige Annehmlichkeiten, die Integer nicht haben. Z.B. wird beim Inkrementieren eines Pointers selbiger immer um die Größe der Struktur auf die er zeigt inkrementiert. Genau so implementiert der Compiler auch Arrays. Also ermöglicht dieser Weg zusammen mit entsprechenden Funktionen in der AVR-Libc, nicht nur Bytes in das EPROM zu schreiben, sondern auch Arrays, Structs etc.
Hier gibt es für Systeme, die eingen gewissen Teil des Zustands speichern müssen die Möglichkeit, den ganzen erhaltenswürdigen Zustand in eine (evtl globale) Struct zu kapseln und auf einen Schwung wegzuschreiben und einzulesen.
Das macht den Umgang mit dem EEPROM echt simpel, wenn man sich das einmal erknobelt hat.
Es ist also keine reine Philosophiefrage, auch wenn "ich schmeiß mal 2 Bytes ins EPROM, an Adresse mit der Zahl x" intuitiver erscheint. Aber seit wann ist C intuitiv?
Re: Kurze Frage -> schnelle Antwort
Moin.
Ich habe einen Monitor aus dem Müll gezogen in der Hoffnung auf Elkopest oder ähnlich einfach zu reparierendes. Symptome: das Ding macht nix, egal welche Knöpfe man drückt. Bildschirm bleibt dunkel (ganz dunkel), LED gibts nicht. Aufgemacht und reingesehen: alle Elkos sehen halbwegs normal aus, die Sicherung ist intakt. Es gibt eine "Netzteilplatine", dahinter eine zweite (grün), und dann das Display. Spannungen kann ich überall messen, der fette Elko auf dem Netzteil hat 230V, dahinter gibt es alles mögliche, und am Ausgang des Netzteils bis zu 3.3V. Auch auf der zweiten Platine ist Saft, aber meine Messungen werden immer unsystematischer weil ich nicht so recht weiß, wie sowas üblicherweise aufgebaut ist. Mein Verdacht ist, das das Display selbst hin ist und ich den ganzen Kram am besten schnellstmöglich entsorge, evtl das Netzteil behalte.
Bevor es aber soweit ist: gibt es noch andere typische und leicht zu behebende Probleme bei sowas, ähnlich der Elkopest? Viel Zeit möchte ich allerdings nicht investieren.
Danke!
teff
Ich habe einen Monitor aus dem Müll gezogen in der Hoffnung auf Elkopest oder ähnlich einfach zu reparierendes. Symptome: das Ding macht nix, egal welche Knöpfe man drückt. Bildschirm bleibt dunkel (ganz dunkel), LED gibts nicht. Aufgemacht und reingesehen: alle Elkos sehen halbwegs normal aus, die Sicherung ist intakt. Es gibt eine "Netzteilplatine", dahinter eine zweite (grün), und dann das Display. Spannungen kann ich überall messen, der fette Elko auf dem Netzteil hat 230V, dahinter gibt es alles mögliche, und am Ausgang des Netzteils bis zu 3.3V. Auch auf der zweiten Platine ist Saft, aber meine Messungen werden immer unsystematischer weil ich nicht so recht weiß, wie sowas üblicherweise aufgebaut ist. Mein Verdacht ist, das das Display selbst hin ist und ich den ganzen Kram am besten schnellstmöglich entsorge, evtl das Netzteil behalte.
Bevor es aber soweit ist: gibt es noch andere typische und leicht zu behebende Probleme bei sowas, ähnlich der Elkopest? Viel Zeit möchte ich allerdings nicht investieren.
Danke!
teff
Re: Kurze Frage -> schnelle Antwort
Oft hilft bei offensichtlich intakten Leistungshalbleitern, Kondensatoren und Evulutionsbrems äh ich meine Sicherungen:
Auf der Hauptplatine gucken, ob irgendwelche lokalen Spannungsregler noch Spannung regeln, das Netzteil ohne Hauptplatine manuell anschmeißen und gucken was passiert (sofern der Möller nicht dauerhaft läuft, ich sehe spontan keinen Standby Wandler), mim Oszi vorhandene Spannungen prüfen. Prüfen, ob die Versorgungsspannung für die CCFL Inverter auch dort ankommt (hatte mal einen TFT da war da noch eine Sicherung im weg...) Aufm Panel könnte evtl. noch eine Sicherung sein. Welche Spannungen liefert das Netzteil denn noch? Außer den 3,3V müssten da noch 12-25V für die CCFL Inverter vorhanden sein, ggf. noch 5V für sonstiges.
Ich hoffe bei den 230V am Eingangselko hast du dich vertippt, wenn davor alles intakt ist, sollten da >300VDC anliegen.
Achja, auch ein gern gesehener Defekt bei Schaltnetzteilen: Prüf die Versorgungsspannung vom PWM Controller mim Oszi (sofern möglich) oder Löte einfach nen Elko im Bereich von 47-100µ drüber. Wenn der oft einzige dort verbaute Elko mal hin ist, läuft das teil nimmer richtig an. Ohne last könnten dann teilweise durchaus korrekt wirkende Ausgangsspannungen anliegen.
Auf der Hauptplatine gucken, ob irgendwelche lokalen Spannungsregler noch Spannung regeln, das Netzteil ohne Hauptplatine manuell anschmeißen und gucken was passiert (sofern der Möller nicht dauerhaft läuft, ich sehe spontan keinen Standby Wandler), mim Oszi vorhandene Spannungen prüfen. Prüfen, ob die Versorgungsspannung für die CCFL Inverter auch dort ankommt (hatte mal einen TFT da war da noch eine Sicherung im weg...) Aufm Panel könnte evtl. noch eine Sicherung sein. Welche Spannungen liefert das Netzteil denn noch? Außer den 3,3V müssten da noch 12-25V für die CCFL Inverter vorhanden sein, ggf. noch 5V für sonstiges.
Ich hoffe bei den 230V am Eingangselko hast du dich vertippt, wenn davor alles intakt ist, sollten da >300VDC anliegen.
Achja, auch ein gern gesehener Defekt bei Schaltnetzteilen: Prüf die Versorgungsspannung vom PWM Controller mim Oszi (sofern möglich) oder Löte einfach nen Elko im Bereich von 47-100µ drüber. Wenn der oft einzige dort verbaute Elko mal hin ist, läuft das teil nimmer richtig an. Ohne last könnten dann teilweise durchaus korrekt wirkende Ausgangsspannungen anliegen.
- einstein2000
- Beiträge: 379
- Registriert: So 11. Aug 2013, 23:01
- Wohnort: D:/Schleswig-Holstein/Henstedt-Ulzburg
- Kontaktdaten:
Re: Kurze Frage -> schnelle Antwort
Moin!
Für einen kleinen Verbund an Geräten, der an 320V/DC läuft, brauche ich Steckverbinder mit drei Kontakten (Plus, Minus, PE) und 8-10A Belastbarkeit. IP44 aufwärts wäre schön, ist aber kein muss.
Hat da jemand eine Idee? Die meisten Steckverbinder gehen nur bis 250V und können dann gar keine Gleichspannung.
Lg,
Dominic
Für einen kleinen Verbund an Geräten, der an 320V/DC läuft, brauche ich Steckverbinder mit drei Kontakten (Plus, Minus, PE) und 8-10A Belastbarkeit. IP44 aufwärts wäre schön, ist aber kein muss.
Hat da jemand eine Idee? Die meisten Steckverbinder gehen nur bis 250V und können dann gar keine Gleichspannung.
Lg,
Dominic
Re: Kurze Frage -> schnelle Antwort
derartige stecksysteme gibt es zwar, diese sind aber nur lastfrei steckbar! du mußt einen abreißfunken von 2x 10cm ungefähr einrechnen, im ungünstigstem falle.
ich würde auf alle fälle eher in richtung CEE gucken, als in was kleineres.
gleichspannung bzw. -strom ist brutal! NH00-elemente brutzeln beim schalten von 220V- / 10A regelmäßig weg, nach 5 bis 20 schaltungen sind sie verbraucht. (ohmischer widerstand an batterieanlage)
dominik, mach so ein mist nicht! du kommst nur in teufels küche. bleibe beim handlichem wechselstrom und lebe dein leben weiter
ich würde auf alle fälle eher in richtung CEE gucken, als in was kleineres.
gleichspannung bzw. -strom ist brutal! NH00-elemente brutzeln beim schalten von 220V- / 10A regelmäßig weg, nach 5 bis 20 schaltungen sind sie verbraucht. (ohmischer widerstand an batterieanlage)
dominik, mach so ein mist nicht! du kommst nur in teufels küche. bleibe beim handlichem wechselstrom und lebe dein leben weiter
- einstein2000
- Beiträge: 379
- Registriert: So 11. Aug 2013, 23:01
- Wohnort: D:/Schleswig-Holstein/Henstedt-Ulzburg
- Kontaktdaten:
Re: Kurze Frage -> schnelle Antwort
Hallo Axel,
danke für die Info. Okay, dann nehme ich halt normale 250er Steckverbinder mit IP68 und einem Pilotkontakt in Verbindung mit nem MOSFET oder sowas.
AC geht nicht, weil DC-->AC-->DC-->DC-->AC schon ineffizient genug ist.
Danke nochmal!
Lg,
Dominic
danke für die Info. Okay, dann nehme ich halt normale 250er Steckverbinder mit IP68 und einem Pilotkontakt in Verbindung mit nem MOSFET oder sowas.
AC geht nicht, weil DC-->AC-->DC-->DC-->AC schon ineffizient genug ist.
Danke nochmal!
Lg,
Dominic
Re: Kurze Frage -> schnelle Antwort
Hab hier einen Trafo aus einem Röhrenradio, der soll nun wieder Arbeit bekommen. Allerdings drückt er an der Heizungswicklung mit 7,6 V. Das erscheint mir etwas viel. Netterweise stehen die Wickeldaten drauf: primär 1030, sekundär 34 Schlaufen. Macht rechnerisch selbst bei ehemals 220 V noch 7,26 V. Jetzt bin ich doch etwas verwirrt. Ach so: Leerlaufspannung gemessen, dann mit 12 V / 20 Watt-Halobirne belastet. Bricht aber nur ein paar Zehntel ein.
Was tun? So nehmen? Vorwiderstand? Neu wickeln (ächz)?
Was tun? So nehmen? Vorwiderstand? Neu wickeln (ächz)?
- Bastelbruder
- Beiträge: 11566
- Registriert: Mi 14. Aug 2013, 18:28
Re: Kurze Frage -> schnelle Antwort
Die Gesamtbelastung so eines Trafos liegt auf der Primärwicklung, deren ohmsche Verluste zehren auch noch an der Heizung.
Nimm einen Vorwiderstand, am besten auf der Netzseite. Dann werden die eisernen Trafoverluste auch noch geringer, der Wirkungsgrad des Gleichrichters steigt und durch den längeren Stromfluß wird auch noch der Brumm reduziert. (Wahrscheinlich merkt man das aber nicht).
Nimm einen Vorwiderstand, am besten auf der Netzseite. Dann werden die eisernen Trafoverluste auch noch geringer, der Wirkungsgrad des Gleichrichters steigt und durch den längeren Stromfluß wird auch noch der Brumm reduziert. (Wahrscheinlich merkt man das aber nicht).
Re: Kurze Frage -> schnelle Antwort
einstein2000 hat geschrieben:Moin!
Für einen kleinen Verbund an Geräten, der an 320V/DC läuft, brauche ich Steckverbinder mit drei Kontakten (Plus, Minus, PE) und 8-10A Belastbarkeit. IP44 aufwärts wäre schön, ist aber kein muss.
Hat da jemand eine Idee? Die meisten Steckverbinder gehen nur bis 250V und können dann gar keine Gleichspannung.
Lg,
Dominic
Brauchst du einen Steckverbinder oder eine Steckvorrichtung?