pic analoges signal, c

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 25 11 2024  20:25:24      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte


Autor
pic analoges signal, c
Suche nach: pic (2056)

    







BID = 787852

Navus

Gerade angekommen


Beiträge: 2
Wohnort: Berlin
 

  


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

BID = 787856

Ltof

Inventar



Beiträge: 9333
Wohnort: Hommingberg

 

  


Zitat :
Navus hat am 23 Sep 2011 11:12 geschrieben :

... 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. ...

Kommt darauf an, welchen Abstand LED und Photodiode zueinander haben. Bei kurzen Abständen geht das. Ab einer gewissen Distanz funkt das Umgebungslicht dazwischen.

Zur PIC-Programmierung in C kann ich nichts beitragen. Ich kann nur Assembler.

_________________
„Schreibe nichts der Böswilligkeit zu, was durch Dummheit hinreichend erklärbar ist.“
(Hanlon’s Razor)

BID = 787864

Navus

Gerade angekommen


Beiträge: 2
Wohnort: Berlin

Jap, das Problem ist bedacht und schon gelöst, trotzdem danke =)
Mir geht es hauptsächlich um die Programmierung.

Wär schon, wenn sich auch jemand meldet, der in C programmieren kann

BID = 787874

Ltof

Inventar



Beiträge: 9333
Wohnort: Hommingberg

Kann vielleicht trotzdem noch dazu beitragen:
Unabhängig von der Sprache muss dem µC selbstverständlich gesagt werden, was er mit welcher Peripherie machen soll. Initialisierung nennt man das. Gerade PICs sind in dieser Hinsicht anspruchsvoll. Manche Peripherie muss explizit deaktiviert werden, sonst macht er alles mögliche, aber nicht, was er soll.

Am besten Du schaust Dich hier mal um:
http://www.holger-klabunde.de/

Nimm die Programmbeispiele und sieh Dir mal jeweils "initpic.c" an.

Ich würde Dir als Einsteiger auch empfehlen, einen kleineren PIC zum Üben zu nehmen und vielleicht sogar in die Assembler-Programmierung reinzuschnüffeln. Dadurch wird Dir manches vielleicht klarer.
http://www.sprut.de/electronic/pic/index.htm

_________________
„Schreibe nichts der Böswilligkeit zu, was durch Dummheit hinreichend erklärbar ist.“
(Hanlon’s Razor)

BID = 787893

QuirinO

Schreibmaschine



Beiträge: 2205
Wohnort: Behringersdorf
Zur Homepage von QuirinO ICQ Status  

Prinzipiell sollte es möglich sein, die Lichtschranke mit einem Digitalen Eingangs-Pin abzufragen, wenn der Transimpedanzwandler so dimensioniert wird, dass die Ausgangsspannung bei beleuchtung durch den Laser über der Schwellenspannung für "logisch 1" steht.

Eine weitere Frage die man sich stellen sollte ist Folgende:

Muss der Pic nebenbei noch etwas anderes tun, oder wird nur auf eine Zustandsänderung der Lichtschranke reagiert, ein kurzer Programmteil abgefragt und dann nur "gewartet" (z.B. die Ereignisse gezählt)

Es gibt prinzipiell 3 Möglichkeiten die Lichtschranke auszuwerten:

1) Man kann sie ständig abfragen, den Controller dabei in einer Schleife im Kreis laufen lassen und nur auf eine Änderung des Pins reagieren. (sogenanntes Polling)
-Programmtechnisch am einfachsten

2) Man kann dem Controller irgendwelche anderen schönen Aufgaben zuweisen und mittels Interrupt nur eine Zählroutine oder einen anderen Programmteil aufrufen, wenn sich der Zustand der Lichtschranke ändert. Das klappt nur an bestimmten IO Pins, siehe Datenblatt "Interrupt"
-Programmtechnisch am schwierigsten

3) Man kann den Controller mittels Sleep schlafen legen, er braucht dann kaum Energie - sobald sich der zustand des IO Pins der Lichtschranke ändert wird er durch einen Interrupt geweckt, arbeitet sein Programm ab und legt sich wieder schlafen. (auch nur an bestimmten Interrupt Pins möglch - siehe Datenblatt)
-Programmtechnisch irgendwo in der mitte.


Zurück zur Seite 1 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 20 Beiträge im Durchschnitt pro Tag       heute wurden bisher 12 Beiträge verfasst
© x sparkkelsputz        Besucher : 182399256   Heute : 6454    Gestern : 7548    Online : 630        25.11.2024    20:25
5 Besucher in den letzten 60 Sekunden        alle 12.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0699989795685