-
-
Neuer Benutzer
Öfters hier
sensorpegel zu niedrig
hallo,
vielleicht kann mir mal jemand elektrotechnisch auf die sprünge helfen.
ich will einen sensor mit einem atmel AVR auslesen. laut datenblatt des sensors kommt da ein pulsweitenmoduliertes signal zwischen 0V und +5v raus. mit dem multimeter messe ich aber nur pegel bis max. 2V. gemäß datenblatt habe ich bereits einen 10kO pullup zwischen signalpin und +5v geschaltet. bei diesem geringen pegel interprtiert der AVR das signal leider nicht als logische 1, sonder mißt durchweg "0". villeicht kann mir ja jemand einen tip geben.
im voraus danke.
gruß
joschi
-
Erfahrener Benutzer
Roboter Genie
Hi!
Mit dem Multimeter ist es schwierig eine PWM Signal zu messen, weil das MM beliebigen Käse anzeigt. Ergo: Oszi dranhängen.
Wie hast Du denn den AVR messen lassen?
-
Neuer Benutzer
Öfters hier
???
oszi habe ich leider nicht.
habe das signal einfach auf einen digitalen input gelegt und wenn der "1" ist, sollte einfach eine led an einem output angehen. da die pulse in 0,2 bis 1,5 sekunden kommen, sollte das doch eigenlich gehen, oder?
gruß
joschi
-
Erfahrener Benutzer
Robotik Einstein
Wie lang sind denn die Impulse und die Pausen des PWM-Ausgangs? Deine Angabe über "kommende" Impulse kann ich nicht so recht in einen fachlich sinnvollen Kontext einordnen
Wenn die Frequenz zu hoch für eine digitale Auswertung (eine Flanke löst Interrupt aus, Timer starten, warten auf nächste Flanke, Timer auslesen, ggf auch beides per Interrupt) sind, würde ich einen RC-Tiefpass dahinter setzen und mit dem ADC die Spannung messen, geht natürlich etwas auf die Genauigkeit.
-
Erfahrener Benutzer
Roboter Genie
Geht denn die LED an, wenn Du den Port auf eindeutigem Wege auf high legst, zb durch Anlegen von 5V?
Wenn ja, weiß Du wenigstens, dass Dein Programm halbwegs tut.
-
Neuer Benutzer
Öfters hier
also, der sensor schickt drei signale nacheinander. je nachdem welcher wert übermittelt werden soll, wird dabei der pegel zwischen 0,2 und 1,5 sekunden pro impuls auf high gesetzt. danach kommt eine pause von zwei sekunden. das genaue messen mit interrupts kommt später. jetzt wollte ich eigentlich erst mal sehen, ob der atmel den impuls überhaupt mitbekommt. und genau das tut er anscheinend nicht.
das programm funktioniert. wenn ich eine bedingung á la "led an, wenn sensor=0" schreibe, geht die led die ganze zeit an. nur wenn die bedingung lautet "led an, wenn sensor=1", passiert gar nix.
-
Erfahrener Benutzer
Roboter Genie
Ja aber weißt Du denn, ob Dein Eingang, der den Sensor ausliest richtig konfiguriert ist und Dein Code auch stimmt?
Das würdest Du wissen, wenn Du einfach mal 5V anlegst und die LED beobachtest. Dann sollte sie dauerhaft brennen.
-
Neuer Benutzer
Öfters hier
problem gelöst
problem hat sich erledigt. ich weiß zwar nicht warum, aber aus irgeneinem grund funktioniert die schaltung an portc.4 einwandfrei und an portd.6 überhaupt nicht. und das alles bei unverändertem code.
naja, soll´s eben so sein.
trotzdem vielen dank für die hilfestellung =D> =D> =D>
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen