WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 23.09.2011, 13:01   #1
Navus
Newbie
 
Registriert seit: 23.09.2011
Beiträge: 1


Standard analoges signal, c

Hallo miteinander

ich bin ein regelrechter frischling was das programmieren in c und pics angeht. meine frage beschränkt sich hauptsächlich auf das programmiertechnische Vorgehen meines Projekts, daher hoffe ich, im richtigen Forum gelandet zu sein.

Mein Problem ist folgendes:
Ich hab mir eine Schaltung mit dem PIC24F08KA101 ausgebaut und möchte damit eine Lichschranke bauen. Dabei soll eine LED eine Photodiode anleuchten. Dieses Signal wird zu einem Transimpedanzwandler gesendet und dann zum PIC (Pin 15, AN12). Ich geh mal davon aus, dasds ich dies soweit richtig gehandhabt habe.
Ich möchte nun mittels des PIC herausbekommen, ob die LED die Diode anstrahlt oder nicht.

Meine Idee: Ich müsste doch eig. nur herausfinden, ob in dem Pin15 ein Signal eintrifft oder nicht. Nicht wahr?
Bei einigen Dingen bin ich mir einfach noch nicht so ganz sicher:
- muss ich den ADC zuvor irgendwie einstellen?
- wie um himmels willen kann ich prüfen, ob auf pin15 ein signal ankommt oder nicht?

Vielleicht traut sich ja jemand mein problem mit mir weiter zu erörtern.
vielen dank schonmal ^^


Hier das Datenblatt:
http://ww1.microchip.com/downloads/e...eet_39927b.pdf
Navus ist offline   Mit Zitat antworten
Alt 23.09.2011, 17:00   #2
ZombyKillah
Trashtroll
 
Benutzerbild von ZombyKillah
 
Registriert seit: 19.10.2008
Ort: far away but still in austria
Beiträge: 1.194

Mein Computer

Standard

Hallo,
hab zwar noch nie einen PIC programmiert, aber vielleicht kann ich dir trotzdem helfen.

Also das was du suchst ist der A/D Converter also Kapitel 22.0 im Datenblatt.

Ja, den ADC musst du initialisieren.
Üblicherweise gibt es unterschiedliche einstellungen wie:
Referenzspannung - URef - also relative Spannung zu der gemessen wird der max. Wert der Messung würde genau der Referenzspannung entsprechen
Eingangspin der gemessen werden soll ... hat meist einen Namen mit "mux"
Dann muss der Pin natürlich als input definiert sein.
Dann musst du dich entscheiden, ob der ADC wenn er fertig ist einen Interrupt auslöst oder ob du im Programm auf Ihn wartest bis er fertig ist.

Wenn ich wo nicht weiterweiß suche ich auf:
http://www.mikrocontroller.net

Beispiel:
http://www.mikrocontroller.net/topic/200274

ODER:http://pic-projekte.de/wiki/index.ph...Beispiel_-_ADC
____________________________________
It's more fun to write crap that nothing!
Just kidding.

Ich bin für kreative Rechtschreibung, da kann man keine Fehler machen
ZombyKillah ist offline   Mit Zitat antworten
Alt 26.09.2011, 23:59   #3
Mobiletester
Inventar
 
Benutzerbild von Mobiletester
 
Registriert seit: 31.07.2000
Ort: Planet Erde
Beiträge: 2.498


Standard

Ich kenne solche Schaltungen nur von der Hardwareseite.
Ich denke unter Transimpendanzwandler meinst du eine Verstärkerschaltung für die Empfangsdiode. Steuere die Sendediode statt mit Gleichspannung mit einer Freqenz an, die nicht ein vielfaches der Netzfrequenz ist. z. B.: 73 Hz. Damit kommen die meisten AD Konverter mit, und du bist vom Sonnenlicht, Leuchtstofflampen, usw sicher.
Oder du verstärkst das Wechselstromsignal deiner Empfangsdiode auf "PIC" Level und führst das Signal einem digitalen Eingang zu und wertest die Frequenz aus. Die kann dann um einiges höher sein.
____________________________________
Gott hat nicht den Menschen erschaffen,
der Mensch hat Gott erschaffen.
Mobiletester ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:12 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag