Forum: Mikrocontroller und Digitale Elektronik Masse-Problem


von MichaDi (Gast)


Lesenswert?

Merkwürdiges Phänomen:
Ich habe einen L293D (auf einem Breadboard) mit dem Arduino verbunden. 
An den L293D ist ein (kleiner) Motor angeschlossen, den ich 
bidirektional betreibe. Der Motor wird alle 40ms für 20ms (mit 5V) 
angesteuert. Am Ende der spannungslosen 20ms messe ich mittels der 
Analogeingänge A0 und A1 die vom Motor (im Leerlauf) erzeugte Spannung. 
"A0" ist mit dem einen Anschluss des Motors, und "A1" mit dem Anderen 
verbunden. Dadurch kann ich feststellen, in welche Richtung sich der 
Motor dreht (die Drehrichtung kann durch äussere Kräfte der Ansteuerung 
entgegenwirken, daher muss ich die vom Motor erzeugte Spannung messen, 
um festzustellen in welche Richtung sich der Motor dreht)! Mit 
Stromversorgung über USB funktioniert die Messung einwandfrei. Wenn ich 
den ARDUINO aber mit einem Netzteil mit Strom versorge, und keine 
USB-Verbindung besteht, liefert der A/D-Wandler unbrauchbare Werte! Ich 
habe dann die gleiche Schaltung (Spannungsregler + Atmega 328P + L293D + 
...) komplett auf einem Breadboard aufgebaut , so dass kein ARDUINO mehr 
benötigt wird. Auch hier liefert der A/D-Wandler (mit demselben Programm 
wie vorher) unbrauchbare Werte. Nach ein wenig Tüftelei habe ich dann 
herausgefunden, dass eine Verbindung der Breadboard Masse mit der 
Arduino Masse (bei bestehender USB-Verbindung des ARDUINOS) ausreicht um 
einwandfreie Messergebnisse zu bekommen. Es handelt sich also um ein 
"Masse-Problem". Nachdem ich dieses festgestellt hatte, habe ich die 
Breadboard-Masse anstatt mit der ARDUINO-Masse mit dem Schutzkontakt 
einer Netzsteckdose verbunden, und siehe da, dass Programm läuft 
einwandfrei!
Kann mir jemand sagen, wo das Problem mit der Netzteil Masse ist? Ich 
habe verschiedene Netzteile ausprobiert, immer dasselbe negative 
Resultat bei Verwendung von ausschließlich der Netzteil Masse!

von Floh (Gast)


Lesenswert?

MichaDi schrieb:
> Kann mir jemand sagen, wo das Problem mit der Netzteil Masse ist?

Schaltplan zeigen. Mit was versorgst du deine Schaltung?

von MichaDi (Gast)


Angehängte Dateien:

Lesenswert?

...Spannunsregler LM1117 (5V) (auch 7805 ausprobiert), versorgt mit 7.5V 
(auch 9V und 12V ausprobiert)!

von Achim M. (minifloat)


Lesenswert?

MichaDi schrieb:
> Foto_Breadboard.jpg

Sind diejenigen Leitungen im Breadboard, die für die Stromversorgung da 
sind, durchverbunden?
Es gibt nämlich Unterschiede...

http://media.tumblr.com/tumblr_lme4egdwf71qf00w4.png

Falls nicht verbunden(seen on hackaday):
http://www.protostack.com/blog/2011/09/8-breadboard-hacks/

mfg mf

von Thomas S. (thomas_s74)


Lesenswert?

Mess mal mit dem Multimeter durch, ob die Leitungen durch das ganze 
Breadboard gehen. Bei mir gehen die jeweils nur zur Mitte und deswegen 
hab ich die immer mit Drähten durchverbunden.

von MichaDi (Gast)


Lesenswert?

...ist alles "durchverbunden"!

von MichaDi (Gast)


Lesenswert?

Hinweis: Ich habe AVcc direkt (ohne Low-Pass Filter, da ich keine 
Drossel zur Hand habe) mit Vcc verbunden!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

MichaDi schrieb:
> Es handelt sich also um ein "Masse-Problem".
Nur hast du kein Problem mit der Masse, sondern ohne... ;-)

Ich würde bei diesem Aufbau eher ein elementares EMV-Problem vermuten: 
Ich kann keinen einzigen Entkopplungskondensator sehen, und der 
Laststrom fließt geradeaus über die Versorgung des uC. Zudem hast du 
keinerlei Filtermaßnahmen vor den AD-Eingängen... :-o
Probier mal das: sind deine AD-Werte konstant, wenn der Motor nicht 
läuft?

von MichaDi (Gast)


Lesenswert?

...nein, die Werte sind nicht konstant wenn der Motor nicht läuft und 
nur das Netzteil angeschlossen ist! Sobald ich die Breadboard-Masse aber 
mit einer zusätzlichen Masse verbinde sind die Werte konstant!

von MichaDi (Gast)


Lesenswert?

...Vcc2 des L293D mit einem separaten Spannungsregler zu versorgen 
bringt auch nichts!
Hab' gerade Drosseln bestellt, um einen Tiefpassfilter für AVcc zu 
realisieren, vielleicht hilft das!?

von Thomas (kosmos)


Lesenswert?

vielleicht hat der USB-Port irgend eine Schutzmaßnahme z.B: 
Überspannungsschutz...der deinen Aufbau unterstützt.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

MichaDi schrieb:
> Hab' gerade Drosseln bestellt, um einen Tiefpassfilter für AVcc zu
> realisieren, vielleicht hilft das!?
Nein. Ich habe etliche uC ohne Spule am Avcc problemlos auch mit ADC am 
Laufen. Dein Problem liegt woanders.

MichaDi schrieb:
> die Werte sind nicht konstant wenn der Motor nicht läuft
Ohne Witz: woran siehst du das? Du hast keine Anzeige in deinem 
Aufbau...

von Thomas (kosmos)


Lesenswert?

kommt ganz auf den Aufbau an. Wenn der Motor auch vom Spannungsregeler 
versorgt wird kann ein ordentlicher Aufbau z.B: Drosseln möglichst nah 
an VCC und AVCC ganz schon was helfen.

von MichaDi (Gast)


Lesenswert?

Thomas O. schrieb:
> vielleicht hat der USB-Port irgend eine Schutzmaßnahme z.B:
> Überspannungsschutz...der deinen Aufbau unterstützt.

...es reicht auch eine Verbindung (wie oben erwähnt) der 
Breadboard-Masse mit dem Schutzkontakt einer Netzsteckdose!

von MichaDi (Gast)


Lesenswert?

Lothar Miller schrieb:
> Ohne Witz: woran siehst du das? Du hast keine Anzeige in deinem
> Aufbau...

...ich habe eine Abfrage programmiert, bei welcher ich eine LED leuchten 
lasse wenn der Wert von "A0" (an einem der Motoranschlüsse) größer ist 
als der Wert von "A1" (an dem anderen Motoranschluss)! Mit zusätzlicher 
Masse leuchtet die LED wenn ich den Motor mit der Hand in eine Richtung 
drehe, und die LED erlischt, wenn ich den Motor in die andere Richtung 
drehe! Wenn der Motor steht leichtet die LED nicht! Ohne zusätzliche 
Masse blinkt die LED ungleichmäßig auch bei stehendem Motor und auch bei 
drehendem Motor ist kein Bezug der LED zur Drehrichtung zu erkennen!

von MichaDi (Gast)


Lesenswert?

...hab's jetzt mit Tiefpassfilter (Kondensator[100nF] und 
Spule[10microH]) an AVcc probiert, aber keine Besserung!

von MichaDi (Gast)


Lesenswert?

...auch wenn das hier in einen Monolog ausartet, möchte ich noch 
erwähnen, dass ich herausgefunden habe, dass sich das Massekabel eines 
Schweissgerätes ideal eignet um die Masse der Schaltung mit einer 
Heizung zu verbinden! Da fast in jeder Umgebung Heizungen in der Nähe 
sind halte ich diese Lösung für praxisnah!?

von Klaus D. (kolisson)


Lesenswert?

MichaDi schrieb:
> habe ich die
> Breadboard-Masse anstatt mit der ARDUINO-Masse mit dem Schutzkontakt
> einer Netzsteckdose verbunden,

Das ist ja zum Haareausreissen.
Überlege das doch bitte nochmal. Vielleicht klappt es ja auch
wenn du einen Finger in die nase steckst.  (Spassmodus)

k.

von MichaDi (Gast)


Lesenswert?

PROBLEM GELÖST:
Nachdem ich vergeblich versucht habe die Signalstörungen zu beseitigen, 
habe ich das Programm so geändert, dass es jetzt den analogen Komparator 
anstelle des A/D-Wandlers nutzt, und siehe da, alles funktioniert wie 
gewünscht!

von Klaus D. (kolisson)


Lesenswert?

Das hat jetzt keiner verstanden.

k.

von MichaDi (Gast)


Lesenswert?

Klaus De lisson schrieb:
> Das hat jetzt keiner verstanden.

...ich will ja nur die Drehrichtung des Motors feststellen, da brauche 
ich keine exakten Werte, sondern nur eine Abfrage, ob Signal a (einer 
der Motoranschlüsse) größer ist als Signal b (der andere 
Motoranschluss)!

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
Noch kein Account? Hier anmelden.