PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ADC vor Störung schützen



DevU
09.06.2013, 09:32
Hallo,
ich arbeite im Moment an einem Projekt
und bin nun auf ein Problem gestoßen...

Ich habe einen Sharp-Distanzsensor an
meinen ATMega8 gehängt. Alles funktio-
niert solange, bis ich dann noch Motoren
anschließe. Wenn die Motoren angeschlos-
sen sind, lösen die Sensoren immer von
alleine aus :(

An die Motoren habe ich schon Entstör-
kondensatoren gelötet. Weiß irgendjemand
wie ich den ADC-Eingang vor Störungen
schützen kann? :)

JoeM1978
09.06.2013, 09:46
ein schaltplan oder bild könnte helfen das problem zu finden.
vieleicht kannst du die drähte zum motor noch irgendwie
"räumlich" etwas weiter weg legen vom rest der elektronik.

PICture
09.06.2013, 11:19
Hallo!


Alles funktioniert solange, bis ich dann noch Motoren anschließe. Wenn die Motoren angeschlossen sind, lösen die Sensoren immer von alleine aus :(

Das Messen per ADC bei abgeschalteten Motoren wird angeblich das Problem beseitigen, sonst bitte richtig die Massen (GND) verbinden.

markusj
09.06.2013, 13:20
Sind die Motoren entstört (http://www.rn-wissen.de/index.php/Getriebemotoren_Ansteuerung#Und_nie_vergessen_Moto ren_zu_entst.C3.B6ren)?

mfG
Markus

BMS
09.06.2013, 14:10
Hallo,
wie sieht die Spannungsversorgung aus? An welcher Spannung hängt der Mikrocontroller, an welcher Spannung die Motoren?
Ursache kann z.B. eine ungünstige Verkabelung der Masse sein. Auch helfen Elkos (100µ-1000µ üblich) und Kondensatoren (100nF) zwischen Versorgung und Masse, um die Spannung stabil zu halten.
Falls du ein Oszilloskop zur Verfügung hast, kannst du mal die Versorgung nachmessen. Sicher werden dort einige Störungen drauf sein.
Die Sharp-Sensoren brauchen übrigens kurzzeitig hohe Ströme, um die integrierte Infrarot-LED zu treiben (ca. 1000x pro Sekunde).
Sowohl den Ausgang als auch die Versorgung des Sharp-Sensors kannst du noch mit je einem geeigneten RC-Tiefpass filtern.
Grüße, Bernhard

schorsch_76
10.06.2013, 06:34
Hast du auch an allen ICs die obligatorischen 100nF angebracht? Im Datenblatt des Atmega steht bei den ADCs wie man exakt messen kann. Hier ist die Schaltung etwas aufwendiger (nicht nur C und gut).

Gruß
Georg

oberallgeier
10.06.2013, 08:10
... ein Problem ... Sharp-Distanzsensor ... lösen die Sensoren immer von alleine aus ...Die Sharps sind ziemlich pingelig, die wollen
a) eine konstante Spannung wenn sie gleichmässige Ergebnisse bringen sollen und
b) streuen sie selber Störungen zurück ins Bordnetz.

Abhilfe habe ich mit einer Entstörung geschaffen: ein Elko und ein KerKo in die Versorgungsspannung - direkt an der Sharp-Platine, siehe hier. (https://www.roboternetz.de/community/threads/33656-GP2D120-mit-Störung-oder-oder-ist-das-Normalbetrieb) Danach läufts prima. Denn: die LED vom Sharp zieht schauderhaft viel Strom - und das in ganz kurzen Peaks.

Du schreibst "...habe einen Sharp-Distanzsensor..." und danach "... lösen die Sensoren immer ...". Ists nun EIN Sharp? Oder doch mehrere? Und was heißt "immer" - etwas besser beschrieben könnte uns die Fehlersuche erleichtern.

DevU
12.06.2013, 13:58
Jap....
ich hab Entstörkondensatoren zwischen die Kontakte gelötet.

- - - Aktualisiert - - -

Also die Versorgung vom MicroC
ist Konstant. Der EINE Sensor ist
zur Versorgung dann an AVCC
gelegt.
Also ich hab das so programmiert,
dass wenn sich der Roboter einer
Wand nähert, er automatisch stehen
bleibt. Allerdings lösen die Sensoren
schon nach kurzer Zeit aus, auch
wenn kein Objekt in der nähe ist...

HeXPloreR
12.06.2013, 16:10
Jap....
ich hab Entstörkondensatoren zwischen die Kontakte gelötet.

- - - Aktualisiert - - -

Also die Versorgung vom MicroC
ist Konstant. Der EINE Sensor ist
zur Versorgung dann an AVCC
gelegt.
Also ich hab das so programmiert,
dass wenn sich der Roboter einer
Wand nähert, er automatisch stehen
bleibt. Allerdings lösen die Sensoren
schon nach kurzer Zeit aus, auch
wenn kein Objekt in der nähe ist...

Ja, was denn nun - EINEN oder mehrere Sensoren? Direkt an AVCC? - da hat der Sensor meines wissens auch nichts dran verloren. Damit störts Du den ADC vermutlich selber mächtig.

Was für ein Sharp ist es genau?
Wie treibst Du die Motoren genau an?

EDIT: Im Datenblatt (ab Seite ..hab ich vergessen) steht übrigens etwas von "Multiplexer selection" für den ADC. Damit kann man wohl festlegen auf welchen Eingängen innerhalb des ADC gemessen werden soll und an welchen nicht. Damit wären diese dann wohl als IO Port/Pins frei. Allerdings ist meine Übersetzung/Interpretation auch etwas dürftig - daher könnten vielleicht Andere hier dazu nochmal was sagen?! ;)

oberallgeier
12.06.2013, 18:20
Wie wärs, wenn Du meine Fragen beanwortest, bitte? EIN Sensor oder mehrere?


Jap ... ich hab Entstörkondensatoren zwischen die Kontakte gelötet ...Irgendwie sagt mir das jetzt nix.
... die Versorgung vom MicroC ist Konstant. Der EINE Sensor ist zur Versorgung dann an AVCC ...Zur Versorgung? Das wird so nix. Wie schon HeXPloreR schreibt: wieso um alles in der Welt hast Du den Sensor an AVCC gehängt? Der gehört (wenn Du den ADC nutzen möchtest) mit seinem Signalausgang an einen ADC-Pinn. Und dann käme auch gleich die Frage wie Du den ADC programmierst. Siehe dazu HeXPloreR Aussage zum Multiplexen des ADC.


... Also die Versorgung vom MicroC ist Konstant ...Das könnte so sein, mal ganz simpel ausgedrückt. Aber auch ne "konstante" Versorgung kann in der Schaltung schon mal Einbrüche haben. Daher glaub ich die Konstanz der Spannung erstmal nicht. Wie hast Du das festgestellt? Mit nem Oszilloskop? Auf Einbrüche kürzer als als ein paar wenige Mikrosekunden?

Und noch ne Frage: wie/woher werden die Sensoren versorgt? Getrennt vom Controller oder separat? Hier wäre es schon nett, nein, notwendig - siehe JoeM1978, wenn Du Dir die Mühe machen würdest die Schaltung vorzulegen, damit wir nicht jeden Klacks nachfragen müssen. Übrigens: wenn der "EINE" Sensor zur Versorgung am AVCC hängt, dann saugt der vermutlich beim Aufblitzen der Sharp-Diode so viel Strom, dass alles zusammenbricht. Hast Du das schon untersucht?

robo_tom_24
12.06.2013, 19:39
Ich hab bei meiner Treppenbeleuchtung zwei Sharp Distanz Sensoren (10-80cm, Oben und Unten) eingebaut. Da kamen auch andeuern Fehlmessungen und die Beleuchtung hat sich eingeschalten. Dann hab ich mein Soundkartenoszi dran gehängt und festgestellt, dass da andauernd Peaks daherkommen (siehe Bild 1), die hab ich dann mit einem Tiefpass rausgefiltert (470nF und 2.2k Ohm). Nun gibts keine Peaks mehr und somit keine Fehlmessungen (Bild 2)...

Also wenns bei dir gleich aussieht wär das ne mögliche Lösung ;)

25723
Bild 1: Die breiteren Peaks sind Testdurchgänge beim Sensor, x-Achse Zeit in ms

25724
Bild 2: gefilterter Ausgang

DevU
12.06.2013, 21:20
Danke :)
Könntest du mir noch sagen, wo ich diesen "Tiefpass" kaufen kann und
wie ich den an den Sensor anschließen muss?

Schon mal Danke im Vorraus!

robo_tom_24
12.06.2013, 22:26
Einen Teifpass musst dir selber aus einem Kondensator und Widerstand bauen, der Kondensator ändert bei einer Frequenzerhöhung dann seine Impedanz (wird kleiner -> leitet besser). Das Internet ist dir da sicher behilflich,wenn nicht sind wir ja auch noch da ;)

DevU
13.06.2013, 19:26
Danke für die Hilfe :)
Ich habe heute einen KerKo (100 nF) zwischen den
ADC-Eingang und GND gelötet. Die Störungen sind
nun nicht mehr da und alles funktioniert.

Ich werde wahrscheinlich das fertige Projekt nächste
Woche auch mal vorstellen:D

HeXPloreR
13.06.2013, 19:46
#-o(zehn Zeichen text)