Hallo Ich habe folgendes Problem. Mein I2C Signal wird durch einen Motor "etwas" gestört. Bei einer Induktiven Last(Glühlampe) bleibt der Bus schön auf dem Oszi sichtbar. Am besten sieht man das auf dem Video das ich auf Dropbox hochgeladen habe. Im Video habe ich den Motor über I2C an und wieder ausgeschaltet. http://dl.dropbox.com/u/41976379/Projekt/Allerlei/PICT0030.MOV Achtung hat 30Mb. Mich wundert das der I2C Bus trotzdem noch funtktioniert. Der Aufbau schaut momentan so aus. Funk Modul am PC-->)))Funk Modul auf Platine->I2C an Master (Atmega2560)-->SPI an Motorplatine(Atmega90PMW3B). Ja alle Platinen liegen auf der Masse. Die Bus Verbindung (I2C) ist ca 20cm lang und über ein verdrilltes Aderpaar ausgeführt.(Steckbrett) Bevor ich die Master Platine aufbaue würde ich noch gerne die Störungen rausbekommen. Was kann ich dagegen unternehmen.Später soll ein Cat5 Kabel mit einem SUB-D Stecker für die Verbindung verwendet werden. Reicht das? oder wie kann ich sonst noch den Bus besser gegen "Einstreuungen" schützen. Gruß Christoph
Christoph B. schrieb: > Bei einer Induktiven Last(Glühlampe) .. Ja klar doch... ;-) Werden I²C-Übertragungsfehler erkannt und protokolliert oder wird es bei einer fehlgeschlagenen Übertragung einfach probiert bis es klappt? Das flackert etwas am Anfang und während der Motor läuft ist Dein Signal nicht mehr synchron mit der X-Achse. Ich würde mir an deiner Stelle den Luxus gönnen und dem Trigger-Eingang Deines Oszis zumindest in dieser Entwicklungsphase einen eigenen Pin vom AVR leihen. Falls meine Vermutung stimmt wirst Du möglicherweise erkennen, dass einige Übertragungen zwischen 2 Motorstörimpulsen liegen oder die Amplituden der Störimpulse vielleicht nicht ausreichen. Mit dem Oszi-Bild wie es im Moment ist, kann man nur raten, in welche Richtung die Lösung gehen könnte. Wie gut hast Du den Motor versorgungsseitig vom AVR getrennt? Wenn Dein Oszi 2 Kanäle hat, könntest Du testweise der Versorgung auch einen gönnen. Wo (wie nahe am AVR) ist der GND vom Oszi angeklemmt? Nachtrag: Der film ist ein .MOV! Apple/Quicktime -Phobiker wie mein PC und ich sollten etwas Zeit mitbringen... ;-/
Hallo Philipp Ich werde noch mal mit dem 2 Eingang die Versorgung aufzeichnen. Der I2C Bus ist auf einer Eigenen Platine. Die Motorplatine hat nur SPI. Den Motor steuere ich über eine H-Brücke an. Der Motor hat einen Eigenen Ausgang des Labornetteils. (24V) Die Platine mit dem I2C Bus und den Master(2560) habe ich über die USB Schnittstelle versorgt. Von daher sollte es kein Problem ergeben. Habe mal testweise einen P82B96 eingebaut da ich den Bus auf max 3V laufen lassen kann und ich gerne auf der "Leitung" zwischen den Atmegas gerne einen 5V Pegel hätte. Doch damit kommt keine Übertragung mehr zustande. Sobald der Motor läuft stürzt der Bus ab. Erst nach einem Reset des Masters geht es wieder. (Master selbst hängt sich nicht auf). Gruß Christoph
Hi Wie gross sind denn deine Pull-Up-Widerstände an SCL und SDA? MfG Spess
Tja Motorplatine entstören (Entstörkondensatoren in die Versorgungspannung nahe bei den Motortreibern, Drossel rein, bzw. Filterschaltung aus C und L auf die Motorplatine, sternförmige Masseführung bzw. Masseführung verbessern)
Hi
>Die Pullups sind 4.7k Ohm groß
Dann geh mal weiter runter. Bei 5V liegt Rpmin bei ca. 1,3k.
MfG Spess
habe mir mal 3 Keramik Kondensatoren mit 100nF organisiert. Werde sie in den nächsten Tagen einmal einbauen um den Motor zu entstören.
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.