Entwickler-Ecke

Off Topic - Wie Photodioden an Mikrocontroller an schließen?


klezmor - Sa 17.12.05 03:23
Titel: Wie Photodioden an Mikrocontroller an schließen?
Ich will photodioden eine die analogen eingänge eines mikrocontrollers anschließen, um die Dioden als Lichtsensoren zu verwenden. Der Anschluss des controllers sieht wie folgt aus: 3 pins: +5V(schaltbar) GND(Masse) und Signal, die Diode, hat ja nur 2 anschlüsse, wie muss ich diese jetzt anschließen, ein Kontakt, muss mal ans signal nehme ich an und der andere muss der an minus oder an plus?
Bin sehr dankbar für jegliche Hilfe, denn ich verzweifle schon.
Muss ich eigentlich noch einen widerstand gegen die Photodiode schalten?
Wer sich auskennt, soll sich bitte melden.

Vielen Dank im Voraus.

MFG Klezmor.


Henry - Sa 17.12.05 23:46

Hallo,

als Lichtsensor würde ich meinen eignet sich eher ein Fotowiderstand.
Um es an dem von Dir beschriebenen Anschluss zu betreiben würde ich einen Spannungsteiler mit einem Festwiderstand und dem Fotowiderstand aufbauen. Die beinen Enden des Spannungsteilers schließt Du dan an 5V und GND an und in der Mitte greifst Du dein Signal ab.


klezmor - So 18.12.05 00:35

Ich check da einfach gar nicht durch, ich habe jetzt einen 1 mega widerstand vor die photodiode gelötet und scheinbar funktioniert das auch, aber die werteänderung ist minimal, bei viel licht, ist der wert vielleicht grad mal um 2 größer, und ich wollte eigentlich differencen im bereich >10 haben.


Henry - So 18.12.05 00:56

Deshalb sag ich ja, nehm einen Fotowiderstand. Da ist der Bereich größer in dem sich was ändert.
Wenn ich mich jetz nich irre, dann schaltet eine Fotodiode nur ducrch wenn sie beleuchtet wird und wenn ich Dich richtig verstanden habe dann willst Du ja einen Linearen Wert auf einen analogen Eingang (von irgendeinem Controller) geben.
Schau mal bei Conrad nach der Bestellnummer 145483, das ist ein Fotowiderstand den Du nehmen könntest.
Dann dunkelst Du inn ab und mißt den Widerstand.
Mit dem nun gemessenen höchsten Widerstands kannst du dann Deinen Spannungsteiler berechnen.

Beispiel:
Der Fotowiderstand hat einen Wert von 1000 Ohm bei Absoluter Dunkelheit und Du möchtest eine Spannung von 2,5V bei Absoluter Dunkelheit herausbekommen.

Schaltest Du nun einen Widerstand von 1000 Ohm in Reihe zu diesem Fotowiderstand uns schließt diese Schaltung an Deine 5V an dann fliießt ein Strom von 2,5mA.
Daraus folgt (da R= U/I) das bei absoluter Dunkelheit eine Spannung von 2,5V zwischen den beiden Bauteilen anliegen würde.

--> Die Werte sind von mir ausgedacht und entsprechen nicht denen des genannten Fotowiderstandes! <--


klezmor - Mo 19.12.05 00:02

habe noch nicht alles verstanden, was du sagtest. Das problem bei mir ist, dass ich eigentlich einfach keine ahnung von mikrocontrollern habe.
Ich weiß gar nicht was so ein analoger eingang misst, ich weiß nur, dass er werte von 0-255 zurück gibt, aber ob er jetzt einen widerstand oder eine Spannung misst, weiß ich leider net. Kennst du dich mit mikrocontrollern ein wenig aus?
Aufjedenfall werde ich das, was du da geschrieben hast wahrscheinlich mal ausprobieren, fragt sich bloss mit welchem widerstand. Glaubst du also, dass die wertedifferenz bei einem widerstand größer als bei einer photodiode ist oder? Habe mir grad überlegt, dass ich mit einem poti ja dann jeden lichtsensor individuell abändern könnte oder?

Vielen Dank MFG Klezmor


Henry - Mo 19.12.05 00:27

Hallo,

ein wenig kenne ich mich mit Microcontrollern aus, ja.
So eine Fotodiode sehe ich eher als Schalter , ein Fotowiderstand ist quasi ein lichtempfindliches Poti was den Widerstandswert je nach Lichteinfall ändert.
Mit den 0..255 ist schon mal ein guter Hinweis, das bedeutet das Dein wert in 8bit aufgelöst wird.

Wo möchtest Du denn den Lichtsensor anschließen? ggf. kann ich Dir dann besser helfen und Dir mal ein Beispiel aufzeichnen.


klezmor - Mo 19.12.05 21:47

er soll auf rote superhelle leds reagieren, Z.B. soll der Roboter einem roten licht nachfahren, und da wäre es nützlich, wenn ich möglichst unterschiedliche Lichtwerte bekäme.


Henry - Mo 19.12.05 21:51

Aha, aber was ich eher meine war an welchen Controller soll es angeschlossen werden

EDIT: Ich habe mal noch eine kleine Skizze zum Anschluß (mit zwei Beispielen) angehängt. Nur die Widerstände müßtest Du Dir noch passend rechnen.
Der LDR hat bei 1Lux 25 KOhm und bei 100Lux ca. 0,65 KOhm


klezmor - Mo 26.12.05 17:02

Das mit den Dioden klappt jetzt einigermassen, ich verwende jetzt doch keine widerstände.
Bloss habe ich jetzt ein riesiges problem, wird eine fotodiode, mit einem 1megohm vorwiderstand angeschloss, so manipuliert diese auch zusätzlich andere sensoreneingänge.
Heißt z.B. wenn ich ne diode an analog0 anschließ und lich fällt drauf, bekommt analog1 auch einen wert, obwohl da gar nichts angeschlossen ist.
Deshalb kann ich auch kein funktionierendes programm auf den microkontroller raufhauen.
Ich geb dir mal die klasse des mikrocontrollers, vielleicht kannst du was damit anfangen.


Henry - So 01.01.06 21:06

Hallo,

das die anderen Analogeingöngen dann auch einen Wert anzeigen, wird daran liegen das du sie nicht auf Masse gezogen hast.
Da kommt es schon einmal vor das sie sich gegenseitig beeinflussen.

Anhand der Datei kann ich Dir auch leider nicht weiter helfen, aber versuch mal das oben beschriebene


klezmor - So 01.01.06 23:38

Wie schon gesagt habe ich eigentlich viel zu wenig Grundwissen in dieser Materie, um selbst mit den Problemen umzugehen können. Aber das ist ein Schulprojekt und ich kann leider nicht mehr aussteigen, könntest du mir vielleicht genauer sagen was du mit "auf Masse ziehen" meinst?


klezmor - Mo 02.01.06 00:03

Je mehr ich lerne, desto weniger verstehe ich!!
Wenn ich eine Spannung von 5 V anlege und nur 2 Anschlüsse des Boards verwende(Masse und Signal), wie kann das Board dann überhaupt verschiedene Spannungen messen.
Die angelegte Spannung ist doch konstant, klar, wenn ich die schaltung mit widerständen oder sonstigen bauteilen erweitere, dann kommt es möglicherweise mal zu Spannungsabfällen, oder sonstigen Veränderungen, aber an der angelegten Spannung ändert sich doch dann nichts oder?
Wenn ich nun mein Finger in die Steckdose stecke, dann verändert sich doch deren Spannung nicht, je nachdem wie gross mein widerstand ist, desto mehr bzw. weniger strom kann fließen.
Dies könnte das board ja dann vielleicht messen, aber doch nicht die Spannung die ist doch konstant.


klezmor - Mo 02.01.06 00:41

und noch etwas, ich habe zwar beinahe keine mittel und auch keine zeit mehr, aber möglicherweise werde ich mein glück doch noch mit den Fotowiderständen versuchen.
Wie kann ich herausefinden welche Spannung einen wiegroßen analogen wert zurückgibt( ohne es auszuprobieren), denn nur so kann ich ja letztendlich den vorwiderstand geschickt wählen?


Henry - Mo 02.01.06 08:54

Also,

  1. mit auf Masse ziehen ist gemeint das du deinen Analogen Eingang den Du nicht verwendest aud 0V (Masse) legst.
  2. Du schliest an deinemm Sensor nicht nur Masse und Signal an. Du hast ja drei Anschlüsse an deinem Sensor (Masse, 5V und deinen Signalausgang, der zwischen den beiden Widerstanden (Fotowiderstand (Fotodiode) und dem Vorwiderstand) ist.So wie ich es Dir in der Skizze aufgezeichnet hatte.
  3. Die Spannung kann schon zusammenbrechen, wenn der Strom zu groß ist für die Spannungsquelle
  4. Wenn Du herausfinden willst wie groß der Wert ist bei einer bestimmten Spannung, dann mußt Du die Auflösung von den AD Wandlern des µC kennen (z.B. 8bit, 10bit, 12 bit...). Damit kann man das dann ausrechnen


Ich weis allerdings nicht wie ich es besser erklären sollte. Ist immer schwer find ich.

Eine Frage noch am Rande.
Warum macht man bei einem Schulprojekt mit wo es um etwas geht wo man nicht so richtig weis was da auf einen zu kommt? Da muss doch vorher mal etwas drüber erklärt worden sein, oder?


klezmor - Mo 02.01.06 12:32

ja schon, aber das ganze wissen über elektronik ist mir in meiner schullaufbahn halt wieder verloren gegangen(leider)


klezmor - Mo 02.01.06 12:39

zu 1. Ich verwende zu den dioden auch noch sharpentfernungssensoren, aber wenn nun alle 4 analogen eingänge belegt sind(analog0=diodea,analog1=diodeb,analog2=sharp1,analog3=sharb2)
Dann bekommt sobald wenn licht auf die diodea fällt sharp1 einen erhöhten wert zurück, so wird mein programm natürlich logisch unbrauchbar.


Henry - Mo 02.01.06 23:13

user profile iconklezmor hat folgendes geschrieben:
zu 1. Ich verwende zu den dioden auch noch sharpentfernungssensoren, aber wenn nun alle 4 analogen eingänge belegt sind(analog0=diodea,analog1=diodeb,analog2=sharp1,analog3=sharb2)
Dann bekommt sobald wenn licht auf die diodea fällt sharp1 einen erhöhten wert zurück, so wird mein programm natürlich logisch unbrauchbar.

Hmm,
bei dem Problem kann ich leider nicht helfen, aber da gibt es doch bestimmt einen Ansprechpartner in der Schule (einen Lehrer oder so) der das Projekt betreut.


klezmor - Di 03.01.06 12:59

der ist halt gerade weg und ich kann ihn net erreichen in diversen roboterforen wollte ich mich auch schon erkundigen, aber dieses hier ist das einzige das kompetente leute aufweist, die mir auch weiterhelfen können.


Henry - Di 03.01.06 18:51

Hat es Dir denn schon weiter geholfen? Denn wie gesagt, mit dem µC Programm kann ich Dir leider nicht helfen


Bunbury - Do 05.01.06 17:50

.

Also Deine Photodiode schließt Du zwischen Masse und Controllereingang an und dann legst Du noch einen 5k Ohm Widerstand (Pull-up) vom Controllereingang gegen +5V. Fertig. Grundsätzlich wie bei einem Photowiderstand (LDR) - man braucht nur etwas andere Widerstandswerte.

Die Empfindlichkeit (Spannungshub bei Lichtänderung) ist vom Diodenstrom abhängig - mit 'nem 1Meg bist Du da viel zu weit weg. Wenn Dir die Emfindlichkeit nicht passt (hängt vom Diodentyp ab) kannst Du auch andere Werte ausprobieren, unter 2k Ohm würde ich aber nicht gehen.
Wenn Du die Photodiode schonmal ohne Widerstand direkt zwischen 5V und GND angeschlossen hattest, kann es übrigens sein, daß sie hinüber ist oder wenigstens einen Schuß abgekriegt hat. Bevor Du Dich totspielst einfach eine Neue einbauen.

Wenn Dein µC interne Pullup-Widerstände hat, dann schalte die besser aus - sonst ist die Empfindlichkeit bei der nächsten Schaltung wieder anders und Du mußt neu experimentieren. Ach ja - und bei einer PhotoDIODE ist die Polarität wichtig - kaputt geht nichts, wenn Du sie falschrum drin hast, nur liefert sie dann blöde Werte. Einfach mal probieren un umdrehen.

Ich habe keine Lust mir den kompletten Thread durchzulesen - falls Du weitere Microcontroller oder Elektronikfragen hast besser nochmal neu stellen - ich bin quasi "Profi".

MfG
Bunbury

.


klezmor - Fr 06.01.06 01:26

@Henry vielen Dank für deine Hilfe ich habe deine Schaltung jetzt mit einer Photodiode verwirklicht und sie funktioniert auch einigermaßen, jedoch muss ich sagen habe ich für dieses Problem jetzt ewig gebraucht, leider hatte ich auf den Rat meines tutors gehört und die Diode anfangs erst nur an + und signal angeschlossen, das Programm funktioniert leider immer noch nicht ganz, für den welchen es interessiert poste ich das ganze Prog einmal, ist allerdings schon älter die neuere version liegt noch auf dem laptop.(ich reiche sie wahrscheinlich noch nach, aber das Prinzip ist immer das selbe)

@Profis sind immer gut, wenn mich nicht alles täuscht ist im Kontroller schon intern ein pullup drin, jedoch funzt der leider nicht ganz, da wenn ich die Kabel des analogen Einganges ein wenig Bewege, schon analoge werte von 100 herausbekomme( aufjedenfall kein Kurzschluss)
Ein weiters Manko ist, dass ein analoger Eingang, nämlich immer höhere Werte als alle anderen Eingänge herausbekommt, obwohl ich schon alle Sensoren an diesem Eingang durchgetestet habe, das wundert mich ein wenig ich glaube das Design von diesem Board ist echt nicht sonderlich gut.
Vielleicht weißt du oder Henry einen Rat.

Übrigens die Photodiode hat widerstandswerte von 10-30MOhm also schon ziemlich genau, lässt sich auch mit nem widerstand vergleichen.


Bunbury - Fr 06.01.06 15:09

user profile iconklezmor hat folgendes geschrieben:
wenn mich nicht alles täuscht ist im Kontroller schon intern ein pullup drin, jedoch funzt der leider nicht ganz, da wenn ich die Kabel des analogen Einganges ein wenig Bewege, schon analoge werte von 100 herausbekomme

Mit einem Pullup mußt Du immer 100% raus bekommen solange der Eingang offen ist - nicht nur beim Wackeln!

user profile iconklezmor hat folgendes geschrieben:

leider hatte ich auf den Rat meines tutors gehört und die Diode anfangs erst nur an + und signal angeschlossen,
das kann man auch machen - wenn man den zusätzlichen Widerstand dann vom Eingang eben nicht nach +5V sondern nach Masse schaltet. Der Widerstand muß aber rein!

user profile iconklezmor hat folgendes geschrieben:

Profis sind immer gut
Das klingt etwas zynisch... Ich bin Ingenieur für Mikrosystemtechnik - ich entwickle Microcontroller und Photodioden. Außerdem habe ich vor'm Studium als Elektroniker gearbeteiet - das ist schon kein Blödsinn, was ich Dir hier hinschreibe.

user profile iconklezmor hat folgendes geschrieben:
Ein weiters Manko ist, dass ein analoger Eingang, nämlich immer höhere Werte als alle anderen Eingänge herausbekommt, obwohl ich schon alle Sensoren an diesem Eingang durchgetestet habe, das wundert mich ein wenig ich glaube das Design von diesem Board ist echt nicht sonderlich gut.
Wie heißt denn Dein Board bzw. welcher Controller ist drauf?

user profile iconklezmor hat folgendes geschrieben:
Übrigens die Photodiode hat widerstandswerte von 10-30MOhm also schon ziemlich genau, lässt sich auch mit nem widerstand vergleichen.
Eine Diode hat eigentlich keine Widerstandswerte. Der "Widerstand" der sich ergibt resultiert nicht nur aus der Beleuchtungsstärke, sondern immer auch aus der Impedanz der Spannungsquelle - und die entspricht dem Pull-Up-Widerstand. Je kleiner der Vorwiderstand, umso unempfindlicher wird das Ganze gegen Umgebungslicht und Rauschen der Bauteile. Der Meßstrom und die Meßspannung des Multimeters sind so gering, daß der angezeigte Wert nicht mehr aussagekräftig ist. Ich habe noch keine Photodiodenschaltung gesehen, die bei Strömen kleiner 1µA arbeitet.
Mit einer ganzen Photodiode, richtig rum gepolt und einem Widerstand im Bereich bis max 50k kriegst Du den besten Spannungshub für Deine Anwendung wie Linienfolger oder auf Leuchtbojen zuzusteuern. Schreib' mal die Typenbezeichnung der Photodiode auf - dann gucke ich mal im Datenblatt nach, was der Idealwert ist.

MfG
Bunbury

.


klezmor - Fr 06.01.06 23:10

leider weiß ich nicht mehr genau, was das für eine photodiode war, welche ich bei konrad gekauft habe, aber das ist jetzt auch nicht mehr das Problem, das Problem ist folgendes:
mein Roboter findet das licht jetzt schon sehr gut, auch der werte unterschied bei verschiedenen Lichtverhälnissen ist eingigermaßen gut, wobei ich als sender nun ir leds benutzten muss, da die photodioden auf normale leds kaum ansprechen.
sobald ich aber zu den photodioden noch distanzsensoren anschließen spielt der roboter verrückt. Ich habe das ganze mit einem informatikstudent einmal ausprobiert und der meinte, dass es am programm aufjedenfall nicht liegt. Der roboter soll zurückfahren, wenn der abstand zu den distanzsensoren gering wird(>150), aber nun fährt der roboter immer zurück egal ob er an die wand anstößt oder nicht. Die analogen Eingänge beeinflussen sich gegenseitig das ist das Problem und ich habe absolut keine Ahnung wie ich das ändern kann.
Hier findest du alle datenblätter von board, controller sowie der distanzsensoren(welche, wenn man sie allein an das board anschließt einwandfrei funktionierten, die schaltung der dioden sieht so aus, wie henry sie mir in seinem anhang gezeigt hat ich verwende einen 8Mohm
widerstand, sowie dioden, welche werte, zwischen 10M und 30 M-Ohm haben.
http://qfix-shop.de/cgi/websale6.cgi?Ctx=%7bver%2f6%2fver%7d%7bst%2f3ec%2fst%7d%7bcmd%2f0%2fcmd%7d%7bm%2fwebsale%2fm%7d%7bs%2fqfixshop%2fs%7d%7bl%2fDeutsch%2fl%7d%7bctx%2fff82376a%2fctx%7d%7bmd5%2f194d6310c991a8defadafd8645631bf1%2fmd5%7d&act=load_tpl&tpl=downloads.html


Bunbury - Sa 07.01.06 00:23

.

user profile iconklezmor hat folgendes geschrieben:
sowie dioden, welche werte, zwischen 10M und 30 M-Ohm haben.
Willst Du mich ärgern? Ich sage Dir, daß das Blödsinn ist - nur weil ein Meßgerät 30 MOhm (womit hast Du das eigentlich gemessen?) anzeigt heißt das noch lange nicht, daß die auch 30 MOhm haben. Dein Meßgerät mißt den Strom, der bei seiner Meßspannung fließt und zeigt den als Widerstandswert an.

Ist die Meßspannung eines Multimeters 1V und Du mißt damit den "Widerstand" einer normalen Diode, zeigt es Dir fast 0 Ohm an. Mißt Du mit einem anderen Multimeter, dessen Meßspannung nur 0,5V ist, zeigt Dir das für die selbe Diode einige Megaohm an. Beides ist Nonsense - eine Diode ist kein Widerstand und man kann mit einem Widerstandsmeßgerät auch keinerlei Aussage über Ihre Eigenschaften herausfinden.

user profile iconklezmor hat folgendes geschrieben:
ich glaube das Design von diesem Board ist echt nicht sonderlich gut.
Oh doch - ich habe mir das mal angeguckt, sieht ganz ordentlich aus und der Controller ist auch in Ordnung.

user profile iconklezmor hat folgendes geschrieben:
Die analogen Eingänge beeinflussen sich gegenseitig das ist das Problem und ich habe absolut keine Ahnung wie ich das ändern kann.

Aber ich!
Der Sharp GP2D120 ist ein Infrarot-Entfernungssensor. Bist Du mal auf die Idee gekommen, daß ein Infrarot-Entfernungssensor Probleme bekommt, wenn Du mit einer Infrarot-Leuchtboje hineinstrahlst? Der Sharp-Sensor arbeitet zwar mit getakteter Strahlung - er weiß also welches Licht von Ihm selbst abgestrahlt wurde und was Fremdlicht ist - aber wenn Du mit zuviel Infrarot von außen reinstrahlst, wird der einfach überblendet. Das ist so, als müßtest Du Zahlen von einem Monitor ablesen, neben dem Dich direkt die Sonne blendet. Da siehst Du auch nichts.

Das beides zusammen geht also nicht. Entweder Du nimmst Ultraschall-Enfernungssensoren statt der Sharp, oder Du benutzt für die Leuchtbojen normales Licht statt Infrarot. Conrad hat auch Tageslichtempfindliche Photodioden, nicht nur Infrarottypen.

MfG
Algernon

P.S.: der Microcontroller Mega32L der auf dem Board verbaut ist hat übrigens insgesamt 8 analoge Eingänge PA0 - PA7 Wenn Du jemanden kennst, der etwas Geschick beim Löten hat ist das garkein Problem Dir da noch 4 weitere Stecker für Analogeingänge anzubauen. Bei den kleinen TQFP-Anschlüssen ist das Löten aber nichts für einen Anfänger. Wenn er kaputt gehen sollte ist das aber auch nicht so schlimm - für 3 Euro gibts den neu.

.


klezmor - Sa 07.01.06 14:09

Sorry ich hatte noch eine zusätzliche Information vergessen, der Roboter fährt auch zurück, wenn gar kein infrarot licht im Spiel ist. Also an der Beeinflussung der Distanzsensoren, durch infrarotlicht liegt es auch nicht.Hier noch das Programm:


Bunbury - Sa 07.01.06 14:21

.

Ok - dann solltest Du da mal einen Elektroniker draufgucken lassen und möglichst auch keinen Informatiker o.ä. sondern wirklich einen der weiß was Impedanzen sind, wie eine Referenzspannungsquelle funktioniert und der ein Oszi hat. An dem Board selbst kann es eigentlich nicht liegen, weil die AD-Wandlereingänge einfach nur vom µC rausgeführt wurden. Da muß man mal messen, was das IC bei welcher Spannung an den Eingängen zieht und ob die mit interner Referenzspannung vom µC arbeiten, oder eine externe Referenzspannungsquelle einen Schuß mitgekriegt hat. Nichts, was man nicht für 2-3 Euro in 10min ausgetauscht hätte.

Das teuerste an dem Controllerboard ist die Leiterplatte selbst - die elektronischen Bauelemente die drauf sind kommen zusammen auf ca. 10 Euro - eine Reparatur lohnt sich also und man riskiert nicht viel dabei.

MfG
Bunbury

.


klezmor - So 08.01.06 01:30

Ich weiß dass ich in diesen schachen nicht sehr kompetent bin, aber leider habe ich nihct die hälfte von deinem thread verstanden, übrigens danke für den Hinweis mit dem messen des widerstands einer Diode. Ich glaube das stimmt was du sagtest, dass man nicht direkt den widerstand messen kann, aber was dann, irgendwie muss ich die schaltung ja so konstruieren, dass ich werte zwischen 0 und 255 bekomme, das signal liegt zwischen 0 und 5V, wie schon gesagt verwende ich zur zeit einen 8mOhm widerstand der mit der photodiode in Reihe geschaltet ist, zwischen photodiode und widerstand greife ich das signal ab.


Bunbury - Mo 09.01.06 15:58

.

Wenn man den gesamten, deutschsprachigen Raum nimmt stehen die Chacen prozentual ziemlich schlecht, daß Du zufällig in der Nähe von Berlin wohnst. Wenn doch, gucke ich mir das Ding gerne mal an.

MfG
Bunbury

.


klezmor - Mo 09.01.06 19:17

Schade ich wohne leider im schwobaländle in Baden-Württember, nähe ravensburg(bodensee) usw... mein lehrer will sich der sache auch mal annehmen, er hat früher auch bei sap gearbeitet, hatte unter anderem auch mit mikrocontrollern zu tun, aber trotzdem vielen dank für das angebot, sollte ich mal zeit und vor allem geld haben komme ich mal nach berlin.


klezmor - Do 12.01.06 17:45

Ich wollte den thread aber trotzdem nicht zum einschlafen bringen, mein lehrer meinte die buttons benötigen schon die 4 weiteren analogen Eingänge funktioniert also leider nicht.
Glaubst du es wäre mögliche ein usb maus an den roboter anzuschließen, damit sich dieser besser orientieren kann? die q-fix leute meinten, das ginge nur über die 4 digitalen eingänge, aber vielleicht auch über den i²C der auf dem board ist?


Bunbury - Do 12.01.06 22:58

user profile iconklezmor hat folgendes geschrieben:
mein lehrer meinte die buttons benötigen schon die 4 weiteren analogen Eingänge funktioniert also leider nicht.
Na prima! Wenn dem wirklich so ist (ich hab die Platine leider noch nicht in der Hand gehabt) macht es das Ganze nur noch einfacher - einfach an die Tasten-Lötstellen das Analogsignal anschließen. Das kann jeder löten, weil die Lötpunkte viel größer und stabiler sind als die ganz kleinen am Mega32 selbst. Nur sollte man darauf achten dann nicht unbedingt im Betrieb die Tasten zu betätigen.
Diese Tasten kosten 10 Cent pro Stück und die gibt es in jedem Krämerladen wie Conrad o.ä. Ich würde Sie zur Sicherheit dann gleich auslöten.

user profile iconklezmor hat folgendes geschrieben:
Glaubst du es wäre mögliche ein usb maus an den roboter anzuschließen, damit sich dieser besser orientieren kann? die q-fix leute meinten, das ginge nur über die 4 digitalen eingänge, aber vielleicht auch über den i²C der auf dem board ist?

Möglich schon, nur fällt mir keine noch kompliziertere Lösung ein, als gerade das USB-Protokoll. Mit einer Normalen-RS232 Maus ist das kein Problem. Aber ich denke, USB bringst Du vor allem deshalb ins Spiel, weil Du eine optische Maus ohne Ball benutzen willst.

Ich kenne das PS2-Datenformat nicht. Da es aber sowohl Adapter von USB -> PS2 als auch RS232 -> PS2 gibt könnte es sein, daß das PS2-Format einfacher ist als USB und dem seriellen Verfahren ähnlicher.

Erkundige Dich mal im Internet über PS2-Ports und wie da welche Signale gesendet werden. Rein elektronisch kriegt man das dann schon irgendwie an einen Mega32 rangebastelt - das ist für den keine dramatische Anforderung die Signale entsprechend auszuwerten.

Schlecht ist die Idee mit einer optischen Maus jedenfalls nicht - lediglich den USB-Controller sollte man umgehen wenn möglich und auf ein einfacheres Format ausweichen.

MfG
Bunbury

.


klezmor - Fr 13.01.06 00:53

ok thanks werde mich mal erkundigen vielleicht funktioniert das ja irgendwie, die maus wird dann einfach tangential an den roboter angebracht, und durch die aufsummierung aller rückgabewerte, bekommt man die hoffe mal genaue position.


klezmor - Sa 14.01.06 14:52

Wie du sagtest, kann ich nicht direkt den widerstand der diode messen, aber ich könnte ja messen wie groß das signal ist oder?
Wie kann ich das signal messen ein pin des amperemeter an das signal und der andere, an plus oder an minus? Bitte antworte mir, so schnell wie möglich.


Bunbury - Sa 14.01.06 17:54

user profile iconklezmor hat folgendes geschrieben:
Wie du sagtest, kann ich nicht direkt den widerstand der diode messen, aber ich könnte ja messen wie groß das signal ist oder?
Wie kann ich das signal messen ein pin des amperemeter an das signal und der andere, an plus oder an minus? Bitte antworte mir, so schnell wie möglich.


Mit einem Amperemeter wirst Du bei den riesigen Widerständen bestimmt garnichts messen oder noch einen Kurzschluss fabrizieren. Also benutze besser ein Voltmeter und miss einfach die Spannung direkt an der Photodiode.

Willst Du unbedingt den Strom wissen, dann miss die Spannung am Vorwiderstand und teile die Spannung durch den Widerstandswert.

Bei den riesigen Widerstandswerten, die Du benutzt (bei denen Du drauf bestehst, daß sie richtig sind... ;o) bewirkt aber schon der Innenwiderstand des Meßgerätes dicke Messfehler. Der Innenwiderstand ist angegeben - je größer, je besser und nimm um Himmelswillen kein Zeigerinstrument, sondern auf jeden Fall ein Digitales.

MfG
Algernon

.


klezmor - Sa 14.01.06 18:22

habe mich falsch ausgedrückt, ich will die spannung wissen, welche am signal anliegt, aber das signal ist ja nur eine leitung, wo soll ich das zeite kabel des Mulitmeters platzieren? bei minus oder plus das war meine eigentliche frage.


Bunbury - Sa 14.01.06 18:37

.

Bei Minus bzw. Masse.

Sag' mal... wo hast Du den 8MOhm Vorwiderstand eigentlich her und hat der glatt 8MOhm, oder irgendeinen krummen Wert?

.


klezmor - Sa 14.01.06 22:37

Es scheint, als wäre dem nicht so, denn wenn ich am board direkt das signal mit dem + verbinde bekomme ich einen wert von 255, eigentlich sollt dann ja gerade 0 rauskommen oder?
das ist ein 7 und 1er in reihe geschaltet, ich halte das bald nicht mehr, aus ich will mir einfach nur einen lichtsensor bauen und das bekomme ich einfach nicht hin.
die schaltung die ich dazu verwende kennst du ja, ich will jetzt einfach den widerstand so wählen, dass er gut zu meiner diode passt, nämlich so, dass der wertebreich zwischen kein licht auf diode und licht auf diode möglichst groß ist.
Aber das bekomme ich einfach nicht hin ich bin schon am verzweifeln.
Könntest du dich mit mir vielleicht mal im chat unterhalten, und mir ein paar tipps geben. Wenn ich selbst eine Schaltung entwerfen will, muss ich doch wissen wie hoch der widerstand der diode ist oder?Am besten wäre es, wenn ich den lichtsensor per poti noch für seine umwelt anpassen könnte. gestern habe ich eine sehr seltsame entdekung gemacht, da du sagtest, ich kann mit einem multimeter nicht den widerstand der diode bestimmen, habe ich versucht die spannung des signals zu messen. Je mehr licht auf die diode fiel, desto kleiner war die Spannung, hieße bei nem spannungsteiler, ja dann eigentlich, dass dann auch der widerstand kleiner wird. Kurios dabei war, dass wenn ich die Diode ganz stark beleuchtet hatte, die spannung negativ wurde also die spannung ist so von 1 volt auf -200mV abgesgunken das habe ich aber nicht verstanden.


Bunbury - Fr 20.01.06 01:17

.

Wo ist denn da das Problem?

Schließt Du die Photodiode gegen Masse an und legst einen Widerstand gegen +Ub, dann werden natürlich Spannungswert und damit auch AD-Wandlerwert kleiner wenn Licht drauf fällt. Ist doch egal ob der Wert größer oder kleiner wird, wichtig ist nur, daß Du weißt wierum es funktioniert, damit Du die Helligkeit richtig beurteilst.

Im Programm ist der Unterschied nichts anderes, als daß aus einem > ein < in einer if-Schleife oder wo auch immer wird.

Willst Du das unbedingt drehen, weil es sonst zu schwer für Dich zu begreifen ist, dann kannst Du entweder den AD-Wandlerwert von 255 abziehen und dann steigt er statt zu fallen, oder Du tauschst Diode und Widerstand einfach aus, also Diode gegen +Ub und Widerstand gegen Masse.

Das man völlig blödsinnige, negative Spannungen mißt passiert schonmal bei billigen Meßgeräten bzw. wenn die Schaltung Sch**** ist und parasitäre Kapazitäten im Spiel sind. Kümmere Dich nicht drum! -200mV sind ab jetzt = 0V für Dich, sonst legst Du Dir echt die Karten, obwohl das alles garnicht so dramatisch ist.

MfG
Algernon

.


klezmor - Mo 23.01.06 13:14

Das klappt jetzt einiger maßen, wenn ich einen infrarot Ball nehme, fährt der Roboter dem Ball nach, aber ich habe bei Conrad infrarotdioden gekauft und auf diese reagiert der Roboter nicht.


Techniker2.0 - Di 02.02.16 17:47

Hallo zusammen,

ich arbeite zurzeit an einer Techniker Abschlussarbeit, unser Ziel ist ein Mikrodosierer für Granulate in den Größen
0,4mm bis 0,5mm. Diese Arbeit besteht aus einem Mechatronischen sowie Elektronischen Teil.
Die Anzahl der Körner soll über Sensor erfasst werden, in eine S7-1200 übertragen und ausgewertet werden, sowie die Anzahl soll man über Touchpanel einstellen können.

Zurzeit probieren wir aus, ob eine Photodiode dazu geeignet ist, ein Korn, das man daran vorbei wirft, zu erkennen.
Ich dachte zu erst an einen Spannungsteiler, mit einem Oszilloskop dazwischen, um gegebenenfalls, die Impulse zu empfangen, eventuell sogar an einem Verstärker zu verstärken bzw. ein schmitt trigger dazu zu schalten.


Was meint ihr so?
Greetz


Nersgatt - Di 02.02.16 17:54

Moin und willkommen in der Entwicklerecke. :welcome:

user profile iconTechniker2.0 hat folgendes geschrieben Zum zitierten Posting springen:
Was meint ihr so?


Auch wenn es mir natürlich weh tut das zu sagen. Aber ich glaube, Du bist hier falsch. :D Hier finden sich eher die Entwickler von PC-Software zusammen. Schau doch mal auf https://www.mikrocontroller.net/ vorbei. Da sind Leute die mit solchen Anforderungen Erfahrung haben (sowohl in der Hardware, als auch in der Mikrocontrollerprogrammierung).
Wenn Du dann Deine Anlage mit einer PC-Software steuern oder visualisieren willst, dann wärst Du hier wieder goldrichtig. :P


Boldar - Do 04.02.16 17:45

Also, ich kann da ja mal kurz meinen Senf dazugeben.
Photodioden schaltet man üblicherweise an einen Operationsverstärker als Transimpedanzwandler und dann an einen Analogen Eingang. Für besseren Kontrast kann man dann z.b. noch einen Logarithmischen Verstärker (AD8307 [http://www.analog.com/media/en/technical-documentation/data-sheets/AD8307.pdf]) verwenden. Für derart kleine Korngrößen wirst du aber sicherlich auch Optik benötigen (also im simpelstem Fall eine Linse vor der PD). Als Lichtquelle würde sich dann evtl. ein kleiner Diodenlaser anbieten, je nach benötigtem Detektionsbereich. Was bedeutet den in dem Zusammenhang "vorbeiwerfen"?
lg Boldar


mandras - Fr 05.02.16 00:00

Hallo Techniker, willkommen :)

Ich schließe mich an Nersgats Aussage an: Hier ist die SW-Ecke. Nicht daß wir nicht helfen wollten - meist jedoch nicht so gut können in diesem Bereich.

Aus meiner aktiven Zeit im Bereich Hardware fällt mir auf die Schnelle folgendes ein (reine Allgemeinplätze!):

- Photodiode: Flott, hochohmig.
- Photowiderstand: was für einer? häufig langsam aber meist zuverlässig, mittelohmig.

Der Hinweis auf die Optik ist nicht falsch.

Außerhalb meiner Erfahrung fällt mir grad folgendes ein:

Wie wär's mit kleinem Sensor-Array mit Optik wie es bei vielen Computermäusen verwendet wird?

Schnell genug, hohe Auflösung, halbwegs genormt, billig

Anderes wie höherauflösender CCD-Sensor mit SW-Auswertung (also eine Live-Cam sozusagen) halte ich für Kanonenkugeln auf Spatzen.

LG
Andreas