Kurze Frage -> schnelle Antwort

Der chaotische Hauptfaden

Moderatoren: Heaterman, Finger, Sven, TDI, Marsupilami72, duese

SebiR
Beiträge: 472
Registriert: Di 13. Aug 2013, 18:34

Re: Kurze Frage -> schnelle Antwort

Beitrag von SebiR »

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
ChristophF
Beiträge: 53
Registriert: Mo 2. Sep 2013, 23:03

Re: Kurze Frage -> schnelle Antwort

Beitrag von ChristophF »

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?
Dateianhänge
CIMG8590.JPG
DS1Z_QuickPrint1.png
Benutzeravatar
Zabex
Beiträge: 633
Registriert: Di 2. Jul 2013, 08:45
Wohnort: Aldenhoven
Kontaktdaten:

Re: Kurze Frage -> schnelle Antwort

Beitrag von Zabex »

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.
Benutzeravatar
Finger
Administrator
Beiträge: 7486
Registriert: Di 12. Jun 2012, 20:16
Kontaktdaten:

Re: Kurze Frage -> schnelle Antwort

Beitrag von Finger »

Kannst du auch die Ströme auf der AC-Seite sichtbar machen?
Benutzeravatar
Bastelbruder
Beiträge: 11566
Registriert: Mi 14. Aug 2013, 18:28

Re: Kurze Frage -> schnelle Antwort

Beitrag von Bastelbruder »

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.
Benutzeravatar
ferdimh
Beiträge: 9430
Registriert: Fr 16. Aug 2013, 15:19

Re: Kurze Frage -> schnelle Antwort

Beitrag von ferdimh »

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.
Benutzeravatar
Zabex
Beiträge: 633
Registriert: Di 2. Jul 2013, 08:45
Wohnort: Aldenhoven
Kontaktdaten:

Röhrenmonitore: lohnt ausschlachten?

Beitrag von Zabex »

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.
uli12us
Beiträge: 2293
Registriert: Mi 14. Aug 2013, 08:20

Re: Kurze Frage -> schnelle Antwort

Beitrag von uli12us »

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.
ChristophF
Beiträge: 53
Registriert: Mo 2. Sep 2013, 23:03

Re: Kurze Frage -> schnelle Antwort

Beitrag von ChristophF »

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.
Dateianhänge
CIMG8591.JPG
lila L, dunkelblau N, Hellblau und gelb Sekundärseite.
lila L, dunkelblau N, Hellblau und gelb Sekundärseite.
Benutzeravatar
Zabex
Beiträge: 633
Registriert: Di 2. Jul 2013, 08:45
Wohnort: Aldenhoven
Kontaktdaten:

Röhrenmonitore: lohnt ausschlachten?

Beitrag von Zabex »

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.
Bjoern
Beiträge: 577
Registriert: Mi 14. Aug 2013, 00:04

Re: Kurze Frage -> schnelle Antwort

Beitrag von Bjoern »

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 ;)
Bzzz
Beiträge: 1404
Registriert: Sa 31. Aug 2013, 01:06
Wohnort: Würzburg
Kontaktdaten:

Re: Kurze Frage -> schnelle Antwort

Beitrag von Bzzz »

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?
Benutzeravatar
Sascha
Beiträge: 673
Registriert: Di 13. Aug 2013, 15:20
Wohnort: Irgendwo bei Heilbronn

Re: Kurze Frage -> schnelle Antwort

Beitrag von Sascha »

Probiers mal mit nem Terminator. Das Oszi ist hochohmig, der Soundkartenausgang AC-gekoppelt.
Benutzeravatar
ferdimh
Beiträge: 9430
Registriert: Fr 16. Aug 2013, 15:19

Lötpistolen und der Skineffekt?

Beitrag von ferdimh »

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?
shaun
Beiträge: 2401
Registriert: Mo 12. Aug 2013, 20:37

Re: Kurze Frage -> schnelle Antwort

Beitrag von shaun »

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...?
Benutzeravatar
ferdimh
Beiträge: 9430
Registriert: Fr 16. Aug 2013, 15:19

Re: Kurze Frage -> schnelle Antwort

Beitrag von ferdimh »

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.
shaun
Beiträge: 2401
Registriert: Mo 12. Aug 2013, 20:37

Re: Kurze Frage -> schnelle Antwort

Beitrag von shaun »

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)
Benutzeravatar
ferdimh
Beiträge: 9430
Registriert: Fr 16. Aug 2013, 15:19

Re: Kurze Frage -> schnelle Antwort

Beitrag von ferdimh »

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.
shaun
Beiträge: 2401
Registriert: Mo 12. Aug 2013, 20:37

Re: Kurze Frage -> schnelle Antwort

Beitrag von shaun »

Kompensieren ;)
Benutzeravatar
Bastelbruder
Beiträge: 11566
Registriert: Mi 14. Aug 2013, 18:28

Re: Kurze Frage -> schnelle Antwort

Beitrag von Bastelbruder »

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.
Benutzeravatar
sub
Beiträge: 1387
Registriert: Mi 12. Nov 2014, 12:55
Wohnort: Großraum FFM

Re: Kurze Frage -> schnelle Antwort

Beitrag von sub »

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
Anse
Beiträge: 2309
Registriert: Mo 12. Aug 2013, 21:30
Wohnort: Bühl (Baden)

Re: Kurze Frage -> schnelle Antwort

Beitrag von Anse »

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


}
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?
Benutzeravatar
xoexlepox
Beiträge: 4815
Registriert: So 11. Aug 2013, 19:28
Wohnort: So etwa in der Mitte

Re: Kurze Frage -> schnelle Antwort

Beitrag von xoexlepox »

Anse hat geschrieben: ee_byte=eeprom_read_byte (ee_address);
Ä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 ;)
Benutzeravatar
Fritzler
Beiträge: 12604
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Kurze Frage -> schnelle Antwort

Beitrag von Fritzler »

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
Benutzeravatar
xoexlepox
Beiträge: 4815
Registriert: So 11. Aug 2013, 19:28
Wohnort: So etwa in der Mitte

Re: Kurze Frage -> schnelle Antwort

Beitrag von xoexlepox »

Fritzler hat geschrieben:Das Ding will nen Pointer, weil du auf EEPROM Adressen zugreifen willst.
Weil der übergebene Wert im EEPROM eine Adresse ist, wird er als Pointer übergeben? Uhh, das ist aber eine gewöhnungsbedürftige Logik :roll: 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...
Benutzeravatar
sub
Beiträge: 1387
Registriert: Mi 12. Nov 2014, 12:55
Wohnort: Großraum FFM

Re: Kurze Frage -> schnelle Antwort

Beitrag von sub »

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.
Benutzeravatar
Fritzler
Beiträge: 12604
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Kurze Frage -> schnelle Antwort

Beitrag von Fritzler »

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 :twisted:
Anse
Beiträge: 2309
Registriert: Mo 12. Aug 2013, 21:30
Wohnort: Bühl (Baden)

Re: Kurze Frage -> schnelle Antwort

Beitrag von Anse »

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
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.
Wenn ich jetzt einen Pointer auf uint8_t übergebe, dann können ja nur die ersten 256Byte gelesen werden, richtig?
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);
Integer--> zwei Bytes. Also muss ich eine Adressvariable mit mind. zwei Byte Größe verwenden und sie entsprechen casten.

jetzt muss ich mir aber erst mal den Artikel von avrfreakes.net durchlesen

Danke an die Helfer.
Benutzeravatar
xoexlepox
Beiträge: 4815
Registriert: So 11. Aug 2013, 19:28
Wohnort: So etwa in der Mitte

Re: Kurze Frage -> schnelle Antwort

Beitrag von xoexlepox »

Fritzler hat geschrieben:Adressen eben als Pointer mit der Compiler weis was vor sich geht.
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"?
Benutzeravatar
flogerass
Beiträge: 1145
Registriert: Mo 12. Aug 2013, 17:46
Wohnort: Nord-Östlich von Ulm

Re: Kurze Frage -> schnelle Antwort

Beitrag von flogerass »

xoexlepox hat geschrieben:oder kollidieren hier einfach nur verschiedene "Philosophien"?
Da gibt's nix zu philosophieren. Ein Pointer ist die Adresse einer Speicherstelle. Punkt. Beim Array ist es eben eine Speicherstelle im RAM.
Benutzeravatar
Sven
Beiträge: 4423
Registriert: Fr 28. Jun 2013, 12:52
Wohnort: Sechsundzwanzigdreisechzehn

Re: Kurze Frage -> schnelle Antwort

Beitrag von Sven »

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 ;)
Benutzeravatar
xoexlepox
Beiträge: 4815
Registriert: So 11. Aug 2013, 19:28
Wohnort: So etwa in der Mitte

Re: Kurze Frage -> schnelle Antwort

Beitrag von xoexlepox »

flogerass hat geschrieben:Ein Pointer ist die Adresse einer Speicherstelle. Punkt.
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?
Benutzeravatar
flogerass
Beiträge: 1145
Registriert: Mo 12. Aug 2013, 17:46
Wohnort: Nord-Östlich von Ulm

Re: Kurze Frage -> schnelle Antwort

Beitrag von flogerass »

xoexlepox hat geschrieben:Oder ist das EEPROM bei AVRs Teil des "normalen" Speicherbereichs eines Programms?
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.
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.
Benutzeravatar
Sven
Beiträge: 4423
Registriert: Fr 28. Jun 2013, 12:52
Wohnort: Sechsundzwanzigdreisechzehn

Re: Kurze Frage -> schnelle Antwort

Beitrag von Sven »

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.
Benutzeravatar
xoexlepox
Beiträge: 4815
Registriert: So 11. Aug 2013, 19:28
Wohnort: So etwa in der Mitte

Re: Kurze Frage -> schnelle Antwort

Beitrag von xoexlepox »

Sven hat geschrieben:Das ist dann aber kein Pointer des C Programms!
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.

Edith meint: Vergesst bitte in dieser Diskussion nicht Anse mit seiner "8Bit-Frage", die ich mangels Ahnung von AVRs auch leider nicht beantworten kann ;)
Benutzeravatar
Fritzler
Beiträge: 12604
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Kurze Frage -> schnelle Antwort

Beitrag von Fritzler »

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!)
Benutzeravatar
xoexlepox
Beiträge: 4815
Registriert: So 11. Aug 2013, 19:28
Wohnort: So etwa in der Mitte

Re: Kurze Frage -> schnelle Antwort

Beitrag von xoexlepox »

Fritzler hat geschrieben:ist und bleibt aber trotzdem ein Pointer!
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?

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 ;)
Benutzeravatar
xoexlepox
Beiträge: 4815
Registriert: So 11. Aug 2013, 19:28
Wohnort: So etwa in der Mitte

Re: Kurze Frage -> schnelle Antwort

Beitrag von xoexlepox »

Fritzler hat geschrieben:uint8_t* im AVR hat 2 byte
Ähhh, es heisst "uint8_t" und hat nicht 8, sondern 16 Bit? :shock: Ok, ich möchte hier jetzt keine weitere Kontroverse starten, und bleibe lieber bei "meinen" PICs und schreibe Assembler... ;)
Zuletzt geändert von xoexlepox am So 22. Feb 2015, 01:13, insgesamt 1-mal geändert.
Benutzeravatar
Fritzler
Beiträge: 12604
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Kurze Frage -> schnelle Antwort

Beitrag von Fritzler »

uint8_t -> der Wert selber, also 8bit
uint8_t* -> der pointer darauf, also 16 bit

Kauf dirn C Buch 8-)
Benutzeravatar
xoexlepox
Beiträge: 4815
Registriert: So 11. Aug 2013, 19:28
Wohnort: So etwa in der Mitte

Re: Kurze Frage -> schnelle Antwort

Beitrag von xoexlepox »

Fritzler hat geschrieben:Kauf dirn C Buch 8-)
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... :oops:
Benutzeravatar
Sven
Beiträge: 4423
Registriert: Fr 28. Jun 2013, 12:52
Wohnort: Sechsundzwanzigdreisechzehn

Re: Kurze Frage -> schnelle Antwort

Beitrag von Sven »

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 :)
Benutzeravatar
ferdimh
Beiträge: 9430
Registriert: Fr 16. Aug 2013, 15:19

Re: Kurze Frage -> schnelle Antwort

Beitrag von ferdimh »

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? ;-)
teff
Beiträge: 356
Registriert: Mi 12. Mär 2014, 18:26

Re: Kurze Frage -> schnelle Antwort

Beitrag von teff »

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.
lac.jpg
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
Bjoern
Beiträge: 577
Registriert: Mi 14. Aug 2013, 00:04

Re: Kurze Frage -> schnelle Antwort

Beitrag von Bjoern »

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.
Benutzeravatar
einstein2000
Beiträge: 379
Registriert: So 11. Aug 2013, 23:01
Wohnort: D:/Schleswig-Holstein/Henstedt-Ulzburg
Kontaktdaten:

Re: Kurze Frage -> schnelle Antwort

Beitrag von einstein2000 »

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
Benutzeravatar
uxlaxel
Beiträge: 14478
Registriert: So 11. Aug 2013, 22:05
Wohnort: Jena (Thüringen)
Kontaktdaten:

Re: Kurze Frage -> schnelle Antwort

Beitrag von uxlaxel »

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 ;)
Benutzeravatar
einstein2000
Beiträge: 379
Registriert: So 11. Aug 2013, 23:01
Wohnort: D:/Schleswig-Holstein/Henstedt-Ulzburg
Kontaktdaten:

Re: Kurze Frage -> schnelle Antwort

Beitrag von einstein2000 »

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. :-P

Danke nochmal! :-)

Lg,
Dominic
Nello
Beiträge: 2488
Registriert: Mo 2. Sep 2013, 23:44
Wohnort: Das westliche Ende des Sofas

Re: Kurze Frage -> schnelle Antwort

Beitrag von Nello »

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)?
Benutzeravatar
Bastelbruder
Beiträge: 11566
Registriert: Mi 14. Aug 2013, 18:28

Re: Kurze Frage -> schnelle Antwort

Beitrag von Bastelbruder »

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).
Henning
Beiträge: 1589
Registriert: So 11. Aug 2013, 23:38

Re: Kurze Frage -> schnelle Antwort

Beitrag von Henning »

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?
Antworten