- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 14

Thema: Problem: Pulsstrom bei AVR (ATmega328) Unterschied zu Arduino?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    37
    Beiträge
    1.225
    Das ist ein tolles Projekt, sowas steht auch auf meiner ToDo-Liste.

    Zu deinem Problem: Wie viel Strom ziehen deine LEDs? Als Daumenregel setzt man je Ampere eine Kondensatorkapazität von 1000µF an, damit sollte man auf der sicheren Seite sein. Die Ursache für das beobachtete Verhalten liegt aber vermutlich eher in einer wechselseitigen Beeinflussung der einzelnen Controller. Im Einzelbetrieb ist immer nur genau eine IR-LED zur Messung aktiv, bei mehreren Modulen zusammen kannst du darüber aber keine Aussage treffen. Die Module übersprechen, das Ergebnis hat mehr einen Zufallscharakter. Um diesen Effekt zu unterdrücken wäre eine Synchronisierung der Module untereinander erforderlich, damit benachbarte Sensoren keine Messungen durchführen.

    Ach ja: Du könntest das Projekt öffentlich dokumentieren (github würde sich anbieten um auch den Quelltext sauber unterzubringen), andere hätten daran bestimmt auch Interesse.

    mfG
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

  2. #2
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Für eine zuverlässige Finktion sollte schon der Mega328 alleine 2 der kleinen 100 nF Kondensatoren haben: je einer für die beiden GND/VCC (bzw. AGND/AVCC) Paare. Der Kondensatorwert ist nicht kritisch, so etwa 10 nF - 1 µF sollten gehen.

    2 der IR LEDs könnte man ggf. auch noch in Reihe schalten, das gibt dann mit dem gleichen Strom mehr Licht. Der Strom wird vermutlich durch den Transistor 2N3904 begrenzt, z.B. durch den Basisstrom, und gar nicht 1 A erreichen. Für 1 A ist der Transistor einfach zu klein, da wäre so etwas wie BC635 angebracht, bzw. für 500 mA ein BC338. Gegen die Störungen sollte man die Versorgung für die LEDs noch einmal extra Puffern und per Widerstand/Induktivität entkoppeln. Geeignet wäre da z.B. mit ein 100 µF low ESR Elko und einem 1 µF Keramikkondensator (gibt als SMD Form, lässt sich aber noch gut löten), und dann Ein Widerstand von z.B. 10 Ohm oder eine Induktivität, die auch ruhig etwas Widerstand habe darf. Die Entkopplung ist nicht nur für eine zuverlässige Funktion von Vorteil, sondern hilft auch Funkstörungen zu reduzieren.

    Die Störungen bei mehreren Einheiten könnten über die zufällig gleichzeitige Messung, oder auch über die Versorgung kommen.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    04.01.2013
    Beiträge
    6
    Wow, danke für die schnellen Antworten!

    @Bumbum:
    ja, die Leitungen sind etwas dünn, das stimmt. Durch den Pulsstrom ist die Gesammtleistung aber trotzdem sehr gering, die Litzen an sich sind also nicht gefärdet. Die Verluste waren mir in diesem Fall eher egal, schließlich ist das ganze Projekt an sich ja schon eine Form von Dekadenz
    Warum habe ich mich für die dünnen Litzen entschieden? Es gab sie bei Ebay in schon zugeschnittener, abisolierter und verzinnter Form, 1000 Stück für 11€. D.h. ich habe mir diese Fusselarbeit genau 2 x 5 x 60 = 600 mal erspart...
    Das mit den getrennten Leitungen ist eine gute Idee. Generell wäre natürlich eine Lösung, bei der ich einfach nur einen Kondensator einlöte angenehmer, denn nachdem die Einzelmodule so tadellos funktionierten habe ich die 10 µC-Sockel schon fertiggelötet, jetzt noch groß etwas zu ändern geht natürlich, ist aber eher zeitaufwändig.
    Sollte markusjs Vorschlag mit den Kondensatoren nicht funktionieren werde ich es aber sofort ausprobieren!

    @markusj:
    Du meinst je 1000µF an die Spannungsversorgung der Leds pro Modul, richtig? Spielt es eine Rolle wenn bei den Kondensatoren ein deutlich höherer Spannungswert (25V, mein System: 5V) angegeben ist oder beschreibt das nur das maximal zulässige?

    So wie ich dich verstehe meinst du, dass Pixel X z.B. gerade die Dunkelhelligkeit misst, während Pixel Y die IR-Leds leuchten lässt und Pixel X dadurch einen verfälschten Wert einliest? Nun ja, generell besteht das Problem. Wenn man mit einer Kamera (die IR nicht herausfiltert) bei Dunkelheit von oben auf das Plexi sieht, dann erkennt man deutlich die einzelnen IR-Lichtkegel. Diese haben bei einem Abstand zwischen Plexi und IR-Leds von 80mm immer noch 2-3 cm Distanz zueinander, falls das die Messung tatsächlich beinträchtigt dann nur für unmittelbar benachbarte Pixel.
    Wenn man jetzt davon ausgeht, dass das z.B. bei jeder 10. Messung eines Pixels deutlich passiert, dann wird dieser Effekt ohne Probleme in der Fade-Funktion (Ende des Codes) mit dem Fadefaktor 100 untergebuttert und fällt nicht mehr ins Gewicht.

    @Besserwessi:
    Die Schaltung mit Leds und Transistor (2N3904 stimmt) ist etwas suboptimal und weit weg von dem eigentlich möglichen, da hast du absolut Recht. Allerdings funktioniert es in der jetzigen Form zufriedenstellend, und fertiggelötet sind die Pixel auch schon. Bei eventuellen Folgeprojekten werde ich deinen Rat beherzigen!
    Der zusätzliche 100nF-Kondensator an AGND und AVCC ist notiert. Dem in Post#1 verlinkten stand-alone-tutorial folgend habe ich AVCC offen gelassen, der Funktion der einzelnen Module tat das keinen Abbruch. Sollte ich auch dort die 5V anlegen und den Kondensator einlöten?

    Dieses Entkoppeln ist mir neu. Die Controller-Platine habe ich mit einer Streifenraster-Platine realisiert. 5V, GND und Reset laufen von links nach rechts durch, Verbindungen gehen zum Controller und zu den einzelnen Pixeln, ich habe also eigentlich nur einen "Spannungstopf" von dem aus alles abzweigt. Soll nun der Controller vom Rest durch die Induktivität/Widerstand entkoppelt werden oder die Led-Versorgung? Wenn egal wäre es für den Controller einfacher umzusetzen. Einen 100µF Elko und einen 1µF Keramikkondensator an die Led-Verorgung, verstanden.


    Ich nehme mal an der Wert vonn 100µF (Besserwessi) für den Elko an den Leds ist besser als 1000µF (Markus), weil die Transistoren eh nicht so viel Strom wie oben geschätzt durchlassen? Tut es weh wenn ich einfach 1000µF nehme? (Preis annähernd gleich)

    Eine Dokumentation werde ich sollte ich Zeit haben machen sobald das Projekt fertig ist. Allerdings ist das ja nicht ganz allein mein Werk, eigentlich habe ich nur die in Post #1 angegebenen Instructables zusammengeführt und auf Kosteneffizienz getrimmt.


    Edit #1: dass das lustige Verhalten der zusammengeschalteten Module daher kommt, dass die Pixel einzelner Module schon bei der Initialisierung interferieren und somit den fehlerhaften Wert von "diff0" sorgt kann ausgeschlossen werden, ich habe Schüsseln über einzelne Pixel gestülpt und sie somit optisch isoliert. Keine Veränderung

    Edit #2: Ich habe mir das Layout der Controller-Platine nochmal genauer angesehen. Es wäre recht aufwändig und vor allem unübersichtlich dort diese Entkoppelung nachträglich einzulöten. Ich möchte deshalb auf den Vorschlag von Bumbum wieder mit in die Diskussion einbringen. Wie müsste ich die Entkopplung auslegen, wenn ich sie für die beiden Stränge der Versorgung ausführe? Ist eine doppelte Ausführung von GND überhaupt notwändig? Die Kondensatoren an den Leds lieber zentral für alle Module oder auf jeder einzelnen Platine?
    Geändert von Jannai (27.01.2013 um 12:46 Uhr)

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    37
    Beiträge
    1.225
    Zitat Zitat von Jannai Beitrag anzeigen
    @markusj:
    Du meinst je 1000µF an die Spannungsversorgung der Leds pro Modul, richtig? Spielt es eine Rolle wenn bei den Kondensatoren ein deutlich höherer Spannungswert (25V, mein System: 5V) angegeben ist oder beschreibt das nur das maximal zulässige?
    Ja, korrekt. Je Modul ein Kondensator, dann werden die Lastspitzen schon dort geglättet und pflanzen sich nicht durch die ganze Versorgungsleitung fort. Die Angegebene Spannung bei Kondensatoren ist die höchste zulässige Spannung, du kannst jederzeit kleinere Spannungswerte verwenden.

    mfG
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.08.2006
    Ort
    Würzburg, Germany
    Beiträge
    716
    Hallo Jannai,

    die Verluste der "Wärme" die du meinst sind dabei auch relativ egal. Das Problem ist,w enn die Spannung auch nur für 1ms (was beim Einschalten deiner 1A IR-Leds in Verbindung mit den dünnen Litzen schon leicht passieren kann) zu stark einbricht resetet der Controller oder macht andere ungewollte Dinge. Dafür baut man auch die 100nF direkt an den Controller, aber auch die können das Problem nur begrenzt überbrücken.
    Also entweder dickere Leitungen, dickere Elkos oder die Atmels sauber getrennt versorgen. (Zumindest wenn du eine gegenseitige beeinflußung ausschließt, wie du bereits geschrieben hast)

    Um eine Beeinfußung beim Start auszuschließen kannst du auch in jeden Controller eine andere Wartezeit beim Start einprogrammieren, z.B. in 100ms Abständen. So ist sichergestellt das jedes Modul sauber hochfährt.

    Hast du ein Oszi und kannst die Spannung am Atmel mal darstellen?

    Viele Grüße
    Andreas

  6. #6
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Der Elko zum Puffern des Stromes für die LEDs kann auch größer sein - 1000 µF sind auch OK, es sollten aber low ESR Elkos sein, damit sie auch den Strom liefern können.

    Den AVCC Pin sollte man wirklich an die 5 V anschließen, selbst wenn man die 2.ten 100 nF einsparen will. Eine Entkopplung mit Induktivität braucht man für AVCC nicht unbedingt - das geht meist auch ohne. Da die Pins nebeneinander liegen passt der Kondensator auch auf dem Streifenraster noch nachträglich hin, ggf. auch als SMD (Größe 0805 oder 0603).

    Bei AREF kann auch noch ein 100 nF Kondessator nach GND ran, muss aber nicht unbedingt - das verringert ggf. die Störungen für den ADC etwas.


    Die Entkopplung per Widerstand/Induktivität von LED Schaltung und µC ist in gewisser Weise eine Alternative zu getrennten Leitungen. Die extra Leitungen haben ja auch einen Widerstand und Induktivität.

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    04.01.2013
    Beiträge
    6
    So, ich bin mal wieder überwältigt wie schnell und umfassend hier im Forum geholfen wird...
    Nein, ein Oszilloskop habe ich leider nicht.
    Ah, ich war bei eben diesen Wärmeverlusten

    Ich werde versuchen den Aufwand möglichst klein zu halten und wie folgt vorgehen. Falls eine Lösung eintritt wird abgebrochen:
    1. Die großen Elkos sind bestellt, sie werden auf jeden Fall eingebracht.
    2. Eine individuelle Startzeit wird einprogrammiert wie Andreas es vorgeschlagen hat.
    3. Eine seperate Spannungsversorgung (so ein 3€ Step Down-Dings) für die Controller, GND gemeinsam.
    4. Redesign der Controller-Platinen mit allem was hier (v.a. von Besserwessi) diesbezüglich vorgeschlagen wurde

    Leider rutscht das Projekt gerade sehr in die Klausurenphase hinein, weshalb ich nicht weiß ob ich zeitnah weiterbasteln kann. Ich tagge diesen Tread mal als "erledigt", wenn sich eine neue Fragestellung ergibt, ich deutlich weiterkomme oder das Projekt abschließe werde ich hier natürlich darüber berichten.

    Vielen Dank für die Unterstützung,
    Jannai


    Edit: ein um 75 Millisekunden (4-7 mal Setup-Runtime) versetzter Startzeitpunkt bringt keine Veränderung.
    Geändert von Jannai (27.01.2013 um 20:24 Uhr)

Ähnliche Themen

  1. SainSmart uno r3-atmega328
    Von Droggelbecher im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 18
    Letzter Beitrag: 04.01.2013, 11:57
  2. Schreib Problem bei AVR-DOS
    Von Robo19 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 06.04.2009, 20:55
  3. Unterschied AVR MC zu AT89S8252 MC
    Von mkRE im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 04.01.2006, 16:24
  4. Problem bei Bascom AVR
    Von Moritz f. im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 19.10.2005, 18:20
  5. Unterschied bei Spannungswandlern
    Von A.T.I.R im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 12.06.2005, 10:11

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests