Hi inka,
du bist ja wirklich hartnäckig da dran!
Wenn ich dein Projekt von Anfang an sehe, dann könnte/sollte daraus sicher mal ein RN-Wissen-Artikel werden.
Hi Dirk,
es gibt neuigkeiten:
- ich habe einige bauteile "gesockelt" um flexibler beim beuteiletausch zu sein
- reflektoren an den IR dioden angebracht
und eine zweite platine "huckepack" , steckbar draufgesetzt mit einer zweiten blinkschaltung, die die IR bake ein und ausschaltet:
mit den beiden potis kann ich fast beliebige schaltintervalle einstellen...
allein durch die reflektoren und das "blinken" der IR-LEDs ist jetzt die reichweite bis auf ca. einen meter gestiegen...
Nächste woche werde ich andere vorwiderstände an den dioden testen und andere transistoren...
Geändert von inka (08.12.2013 um 16:29 Uhr)
Hi inka,
du bist ja wirklich hartnäckig da dran!
Wenn ich dein Projekt von Anfang an sehe, dann könnte/sollte daraus sicher mal ein RN-Wissen-Artikel werden.
Gruß
Dirk
hi Dirk,
zielstrebig ja, ich will ja schließlich eine ladestation - die auch gefunden wird - bauen...
schon wieder taucht eine frage auf:
ich dachte, ich könnte auf die gleiche art und weise die frequenz der zweiten schaltung (blinker) messen wie bei der ersten - zwischen dem anschluss 3 des zweiten ne555 und zwischen masse. Dort kann ich aber nur sehen wie die spannung zwischen 2 und 4 volt wechselt, kann ich so nicht die blinkfrequenz sehen und einstellen?
gruß inka
Hi inka,
Dem Oszilloskop ist die Höhe der Spannung ja egal. Da müßtest du doch die Frequenz messen können.Dort kann ich aber nur sehen wie die spannung zwischen 2 und 4 volt wechselt, kann ich so nicht die blinkfrequenz sehen und einstellen?
Für die Verbindung mit der 1. Schaltung würde ich aber noch einen Transistor-Treiber (wie Q1 in der 1. Schaltung) dranbauen. Da der Transistor nicht viel leisten muss, genügt ein NPN-Universaltyp.
Gruß
Dirk
hi Dirk,
am kontakt 3 des blinker-NE555 habe ich über einen basiswiderstand einen NPN transistor, zu sehen im bild DSCI2529-1...
von der unteren (grünen) platine zapfe ich nur die versorgungsspannung ab und vom collector des treibertransistors (blinker) gehe ich an die basis des NPN transistors der die IR-Dionen (auf der grünen platine) ansteuert...
Geändert von inka (13.12.2013 um 15:33 Uhr)
gruß inka
hallo,
habe jetzt die ganze schaltung gezeichnet:
Anhang 26912
kann man hier auch pdf als bild (und nicht als anhang) hochladen?
ich habe auch ein paar fotos:
der zweiter USB-stecker war notwendig, weil beim neuen netzteil (zwei USB-ausgänge, weil ja auch die ladestation von dort versorgt werden soll) die orientierung des USB-steckers anders war, die dioden hätten gegen die wand gesendet
das ganze funktioniert jetzt auf die entfernung von einem meter. Immer noch viel zu wenig und gefühlt mehr oder weniger vom zufall abhängig, ob der RP6 empfängt, oder nicht.
die blinkfrequenz kann ich "nach dem gefühl" auf ca. 2x/sec, 5x/sec und 10x/sec einstellen, das wäre jetzt erstmal genau genug, es geht mir ja hier nur darum, dass die IR-dioden ein bischen abkühlen können und ich den strom, der dort durchfließt erhöhen kann. Die vorwiderstände sind momentan 22 ohm und - da ich das schlecht messen kann - gefühlt ist die "lichtleistung" der blinkenden IR-dioden (in einer kamera beabachtet) dreimal so hoch, als mit den 47 ohm...
die abfrage (und die ausgabe im LCD display) des empfangs wird durch den aufruf dieser funktion in der main-schleife realisiert:
die ausgabe übers display ist m.e. nach viel zu langsam. Ich glaube auch, dass der sender und der RP6 sich gegenseitig austricksen, weil wenn der einer sendet, empfängt der andere gerade nicht und umgekehrt. Ich möchte folgenermassen vorgehen:Code:void read_IR_value(void) { I2CTWI_transmitByte(I2C_RP6_BASE_ADR, 30); // Start with register 30 I2CTWI_readBytes(I2C_RP6_BASE_ADR, ir_value, 1); clearLCD(); setCursorPosLCD(0, 2); writeStringLCD_P("pb2_value: "); setCursorPosLCD(0, 13); writeIntegerLengthLCD(ir_value[0], DEC, 4); setCursorPosLCD(2, 1); writeStringLCD_P("0000 = IR bake OK"); // setCursorPosLCD(2, 2); // writeIntegerLengthLCD(ir_value[0], DEC, 4); }
der IR- empfänger "füllt" ein array von der größe von 30-50 bytes(?) in seiner eigenen geschwindigkeit und überschreibt die werte wenn der platz voll ist. Die abfragefunktion sollte auf das array zugreifen und den inhalt auswerten. Das kann durchaus langsammer als das empfangen der IR-signale geschehen. Wenn die abfrage - das ist jetzt einfach nur eine hausnummer - 10 "ok" zeichen hintereinander als bestätigung eines IR-empfangs findet macht der RP6 irgendwas. Blebt stehen, piepst die ode an die freude oder was auch immer...
wie gehe ich das jetzt an? Mit arrays habe ich noch nichts gemacht![]()
Geändert von inka (13.12.2013 um 17:30 Uhr) Grund: schaltplan als jpeg hochgeladen
gruß inka
hallo inka,
das schaut sehr gut aus. Danke für Deine Arbeit.
Ich wollte mir eben den Schaltplan anschauen und fand dort kein Dokument. Weißt Du, woran das liegen könnte?
Danke und Gruß
jetzt müsste das mit dem schaltplan gehen...
gruß inka
Hi inka,
Die direkte Abfrage von PB2 beißt sich auf jeden Fall mit dem ACS. Das sollte also nicht parallel genutzt werden.Ich glaube auch, dass der sender und der RP6 sich gegenseitig austricksen, weil wenn der einer sendet, empfängt der andere gerade nicht und umgekehrt.
Wenn man sich z.B. vorstellt, dass sich der RP6 am Anfang der Suche zwecks Orientierung auf der Stelle dreht, dann könnte man parallel die Positionen "merken", bei denen er die Bake erkennt. Er würde sich dann zur gemittelten Bakenposition drehen und losfahren. Auf dem Weg könnte er sich noch ein paarmal durch kleinere Rechts-/Links-Drehungen zur Bake ausrichten.Wenn die abfrage - das ist jetzt einfach nur eine hausnummer - 10 "ok" zeichen hintereinander als bestätigung eines IR-empfangs findet macht der RP6 irgendwas. Blebt stehen, piepst die ode an die freude oder was auch immer...
Anforderungen:
1. Der IR-Empfänger müßte in einer Röhre sitzen wegen der nötigen Richtwirkung.
2. Es muss einen erkennbaren Zusammenhang zwischen der gemittelten Bakenposition und der "Drehposition" des RP6 geben, damit er in die richtige Richtung fahren kann. Wenn man nicht rein nach Versuch und Irrtum vorgehen will, braucht man evtl. einen Kompasssensor oder Gyro.
3. Es macht wenig Sinn, einen sehr breiten IR-Licht-Fächer im Raum zu haben (so dass er fast den ganzen Raum füllt), sondern ein schmaleres IR-Licht-Feld wäre wohl besser.
4. ... das gibt's bestimmt noch was, aber mehr fällt mir jetzt nicht ein ...
Gruß
Dirk
hi Dirk,
wieder ein paar tests gemacht:
die vorwiderstände auf 10 ohm verringert, die blinkfrequenz der bake auf ca. 1/sec eingestellt und bei der abfrage im RP6 es so eingerichtet, dass er keine pausen beim messen macht, die reichweite ist nun bei 2m! Ansonsten die erfahrungen im text:
klar, läuft auch nicht mit...
die 5 IR-dioden sind ja in einer art kranz, bzw. halbkreis mit lücken angeordnet. Bereits bei einer entfernung von 2 metern reicht eine sehr kleine verdrehung des RP6 (1 - 2 °) um das IR signal der empfangenen diode zu verlieren...
bei zwischenmessungen auf dem weg zu der bake verringert sich ja die entfernung, das signal wird besser, aber evtl. hast du recht...
der fächer ist ja in vertikaler richtung ziemlich flach, und es ist in horizontaler richtung kein geschlossener kreis/halbkreis, die lücken zwischen den einzelnen IR-kegeln werden ja mit der entfernung zwischen sender und empfänger immer größer...
Ich habe noch verschiedene temperaturen gemessen:
die 10 ohm vorwiderstände - 55°
die IR-dioden selbst - 36°
der Q2 - 89°, mit kühlkörper (siehe foto) immer noch 60°
ich habe beobachtet, dass, wenn die bake länger blinkt die leistung nachlässt, das signal wird offensichtlich mit wärmer werden des 2N222 immer schlechter. Durch welchen transistor könnte ich den ersetzen?
gruß inka
Lesezeichen