Hi @all, ich habe mir über die Feiertage meinen eigenen RGB-Stripe Controller auf Basis eines Atmega328P-PU aufgebaut. Die Funktionen im groben: manuelle Steuerung der einzelnen RGB-Kanäle mitteils Potentiometer, sowie können unterschiedliche Programme (Wechsellicht, Fading etc.) anhand eines Tasters angewählt werden. Zusätzlich kann der Strip aber auch mit der Bluetoothverbindung des Smartphones angesteuert werden. In der Schaltung verwende ich hierfür das Bluetoothmodul HC-05. Die hierfür verwendete Android-App habe ich mir mit Eclipse selber geschrieben. Problem: stelle ich das Breadboard, auf dem die Schaltung mit dem Atmega328P-PU und dem Bluetoothmodul aufgebaut ist in der Nähe meines LED-Fernsehers und meines Audioverstärkers (Kenwood), funktioniert weder die Bluetoothfunktion noch die manuelle Steuerung. Ich kann mich zwar mit meinen Smartphone und dem Modul verbinden, jedoch werden die programmierten Funktionen nicht an den AVR weitergegeben und verarbeitet. Gehe ich auf manuelle Steuerung "stürzt" der AVR häufig ab, führt also einen selbstständigen Reset durch. Das mysteriöse: Entferne ich die Schaltung ca. 2-3m von meinem Verstärker bzw. Fernsehgerät funktioniert alles super ohne Probleme. Auch nach 12h und mehr "stürzt" der AVR nicht ab. Vielleicht kann mir ja jemand von Euch verraten, woran das bewchriebene Problem liegt und wie ich es am besten abstellen kann. Strahlt der Verstärker oder Fernseher irgendwelche Störsignale aus und wenn ja, kann ich diese irgendwie mittels Filter umgehen? Viele Grüße, Thason
Marcel Stach schrieb: > das Breadboard, auf dem die Schaltung ... aufgebaut ist Wie sieht das Ding aus? Hast du Blockkondensatoren? Wie wird es versorgt?
Danke für Deine schnelle Antwort. Versorgt wird das ganze mit enem 12V / 5A Netzteil. Was sind Blockkondensatoren? Habe mal den Schaltplan als GIF an die Nachricht gehängt. Viele Grüße, Thason
Marcel Stach schrieb: > Was sind Blockkondensatoren? Die, die du nicht verbaut hast, und die wir hier im Forum bei 9 von 10 präsentierten Schaltungen anmahnen. 100nF keramische Kondensatoren an JEDEM Vcc/GND Pärchen des Prozessors (eigentlich an jedem Digital-IC) und so nahe wie möglich an die Prozessorpins heran.
Marcel Stach schrieb: > Was sind Blockkondensatoren? Kann man das essen? Das ist das was in deiner Schaltung fehlt. Abblock-Kondensatoren, die es dem Prozessor erst ermöglichen eine stabile (störarme) Versorgungsspannung zu bekommen. In vielen Application Notes nachzulesen.
Marcel Stach schrieb: > Was sind Blockkondensatoren? C1,C2,C6,C7 aus dem geposteten Schaltplan z.B. sind klassische Blockkondensatoren. > Habe mal den Schaltplan als GIF an die Nachricht gehängt. Tja, leider fehlen da die Blockkondensatoren für die ICs, sowohl für den µC als auch für das Schieberegister. 100n für den µC und 10n für das Schieberegister, jeweils so dicht wie möglich zwischen den Vcc- und GND-Anschlüssen des jeweiligen IC positioniert, könnten schon genügen.
Marcel Stach schrieb: > Was sind Blockkondensatoren? Damit wäre das Problem ja schon gefunden... Das sind die KerKos im Bereich um die 100nF, die du zwischen GND und VCC jedes ICs schalten solltest. Und so dicht wie möglich an den IC.
lol, 4 Posts, die alle das gleiche sagen
Weitere Macken: - Das dicke C7 ist äusserst ungünstig, es macht die Regeleigenschaften des 7805 schlecht. - die Tasten sind nicht entprellt (naja, vielleicht per Software)
c-hater schrieb: > 100n für den µC und 10n Nur aus Interesse, warum ein 10n für den Schieberegister?
Bülent C. schrieb: > Nur aus Interesse, warum ein 10n für den Schieberegister? Ich sehe keine Notwendigkeit da an den NanoFarads zu sparen.
1000 - Dank für Eure Tipps und werde dies auch gleich nachholen. Ich selber betreibe das ganze nur aus Interesse, also als Hobby. Habe auch schon viel Literatur hierzu gelesen. Frage mich nur, warum man da nie etwas von solchen Kondensatoren erwähnt. Eine Frage noch am Rande, könnt Ihr mir eine Literatur empfehlen bei der ich das Programmieren eines Microcontrollers in Maschinensprache lernen kann. Aktuell beschäftige ich mich nur mit der Entwicklungsumgebung von Arduino. Würde aber sehr gerne viel tiefer in die Thematik einsteigen. Achso, die Taster sind Softwareseitig entprellt. Viele Grüße, Thason
Marcel Stach schrieb: > Frage mich nur, warum man da nie > etwas von solchen Kondensatoren erwähnt. Schau dir irgendeine funktionierende Schaltung (z.B. Arduinos) an und du wirst überall diese Abblock-Kondensatoren finden. In vielen Application Notes der Prozessorhersteller wird immer wieder (gähn) darauf hingewiesen, daher ist dies eigentlich eine Selbstverständlichkeit. Nur dann nicht wenn man sie übersieht / vergisst.
Bülent C. schrieb: > Nur aus Interesse, warum ein 10n für den Schieberegister? Weil das dafür schlicht völlig ausreicht. Es schadet allerdings normalerweise auch nicht weiter, wenn du auch dafür ein 100nF-Teil verwendest. Wenn man allerdings z.B. ein Backblech mit 100 solcher Schieberegister darauf hat, könnten 100nF pro Schieberegister u.U. schon wieder ziemlich kontraproduktiv wirksam werden. "Viel hilft viel" ist nicht immer der cleverste Ansatz. Genau genommen eigentlich fast nie...
Marcel Stach schrieb: > Eine Frage noch am Rande, könnt Ihr mir eine Literatur empfehlen bei der > ich das Programmieren eines Microcontrollers in Maschinensprache lernen > kann. Aktuell beschäftige ich mich nur mit der Entwicklungsumgebung von > Arduino. Würde aber sehr gerne viel tiefer in die Thematik einsteigen. Du brauchst mindestens das A und O jeglicher sinnvoller Programmiertätigkeit: -Bool'sche Logik -Zahlensysteme (insbesondere natürlich das binäre) -brauchbare allgemeine Mathe-Kenntnisse Dazu noch: -Eine gute Beschreibung des µC-Kerns des Zielsystems bezüglich bezüglich des Speicher-, Interrupt- und ggf. DMA-Layouts -Eine gute Beschreibung der Peripheriebaugruppen -Eine umfassende Referenz des Befehlssatzes des Zielsystems Das meiste Zeug davon braucht man als guter Programmierer übrigens ganz unabhängig von der verwendeten Sprache, nur die Befehlssatzreferenz muß natürlich bei Programmierung in was anderem als Assembler durch die Sprachreferenz der verwendeten Sprache ersetzt bzw. ergänzt werden. Bei Programierung in einer "OS-Umgebung" (Arduino ist auch schon ein sehr primitives OS) werden analog dazu die Details der Hardware weniger wichtig und müssen dann durch Kenntnisse der OS-APIs ersetzt bzw. ergänzt werden.
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.