PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ampelsteuerung für den ASURO



esieg
21.12.2009, 13:33
Hallo,

Das Ziel: ASURO soll auf Ampelsignale reagieren. Farben mit den Möglichkeiten des ASURO zu unterscheiden, halte ich für unmöglich, darum ...

Die Idee: ein Baustein mit folgenden Eigenschaften:


Ansteuerung von mindestens 3 LED (möglichst bis zu 8 LED)
Zeitgleich mit der Ansteuerung einer LED soll ein IR-Signal gesendet werden (können)
Jede LED hat damit ihr eigenes IR-Signal
Das ganze ist über ISP programmierbar (welche LED wann wie lange hell/dunkel, wie sieht das IR-Signal aus)


Das Problem: ich habe überhaupt keine Ahnung, wie die Schaltung aufgebaut sein müsste. :-k

Gibt es jemanden, der das nötige Wissen hat und bereit wäre, uns hier zu helfen?

i_make_it
21.12.2009, 14:08
Warum soll es nicht möglich sein Farben zu unterscheiden?

Nimm 3 Fototransistoren, und farbige Bastelfolie als Farbfilter. so hast du einen einfachen GRB Sensor.
Ein einfacher Zähler schaltet immer reihum die Ausgänge der Fototransistoren auf einen AD-Eingang und beim Zählerüberlauf ein Signal Digitalsignal das beim Zählen auf 2 wieder weggenommen wird.
So wird bei R-G-B, auf Rot immer eine digitale Marke gesetzt und man weis immer welche Farbe grade eingelesen wird.
Alternativ kann man auch einen kleinen Kosmos Experimentierkasten Optik kaufen, und mit der Linse und dem Prisma einen Strahlteiler aufbauen. Dan reicht eine kleine Graustufen Scannerzeile um eine recht genaue Auflösung nach Farben und nach Helligkeit zu erreichen.
Der Aufwand an Elektronik steigt dann aber gleich geringfügig an.

esieg
21.12.2009, 14:21
Ok - das klingt ja recht einfach. Daran erkennt man, dass ich von Schaltungsentwurf wenig Ahnung habe ...

Allerdings hätt ich noch einen Einwand: Ich wollte am ASURO technisch keine Veränderung mehr vornehmen. Dort ist schon eine Erweiterungsplatine gesteckt.

Was spricht dagegen, die Ampel mit dem ASURO über IR kommunizieren zu lassen (ausser der Aufwand der Ampelschaltung)?

i_make_it
21.12.2009, 15:00
Gegen eine Kommunikation mittels IR spricht nichts.
Denk dir nur ein Protokoll aus das eine gewisse Fehlertolleranz und wenig Overhead hat.
Ich plane immer erst mal was soll passieren und dann was kann alles den Idealfall stören.
Wenn ich diese Gedanken formuliert habe, lösen sich schon mal ca. 10% meiner Ideen in Luft auf.
bei ca. 50% komme ich dann auf neue Ideen.
Wenn ich mein "Pflichtenheft " mit den Wass Muß, was darf nicht, und was kann, Kriterien durch habe, zerlege ich die Aufgabe in Teilprobleme und schaue ob jemand anderes so was schon mal gemacht hat. Dann versuche ich ob ich was vereinfachen kann. Und dann beginne ich damit erste Testaufbauten zu machen. Da kommt dann auch mal ein Lernbaukasten aus dem Spielwarenhandel oder sonst was das passt ins spiel. Einfach mal querdenken hilft meistens.

Übrigens hatte mein Post noch nichts mit Schaltungsentwurf zu tun.
Erst mal nur mit dem Konzept:
Das ein Fototransistor die Helligkeit einer Lichtquelle als Analogsignal Darstellen kann war bekannt, das Frequenzen per Bandpass selektiert werden kann war auch bekannt.
Das ein Farbfilter ein optischer Bandpass ist war auch bekannt.
Das ein Zähler zum Addressieren benutzt werden kann war auch bekannt.
Das ein Referenzsignal benötigt wird, um immer wieder den Zyklusstart zu finden auch.
Ich habe also einfach aus diesen "Legosteinen" die Probleömlösung zusammengesteckt.
Der nächste Schritt ist dann die Einzelfunktionen als Laboraufbau zu entwickeln und zu testen.
Bei der Integration zu einer Gesammtschaltung kommt es dann darauf an sich mit Schaltungsdesign etwas auszukennen, damit Entkopplungen und andere Aspekte richtig berücksaichtigt werden.

esieg
21.12.2009, 15:24
Ooops.

Die IR-Kommunikation hatte ich als geringeres Problem gesehen. Immerhin wird der Asuro im Standardaufbau mit IR programmiert und kann so auch mit einem PC kommunizieren. Ich wollte also vom Baustein ein Zeichen oder eine Sequenz senden und war davon ausgegangen, dass am Asuro auch zu erkennen. So war für mich die Empfängerseite gelöst.

Vielleicht stelle ich es mir auch viel zu enfach vor: wenn es ein ATMega sein soll (als Kern des Bausteins) braucht man ja wohl auch wieder einen externen Quarz, um die 36 kHz hinzubekommen und und und ...

Richard
21.12.2009, 15:42
Hallo,

Das Ziel: ASURO soll auf Ampelsignale reagieren. Farben mit den Möglichkeiten des ASURO zu unterscheiden, halte ich für unmöglich, darum ...



Scha mal dort rein....http://www.mazet.de/produkte/jencolor/sensor-ic/mcs/de

Gruß Richard

Besserwessi
21.12.2009, 17:37
Das IR Signal ist leichter zu realisieren als mit der Farberkennung.
Für die Ampel und das IR Signal wäre dann ein µC die richtige Wahl. Es kann dabei auch ohne Quarz gehen, wird aber mit Quarz vermutlich etwas zuverlässiger. Wenn man die Signale passend Wählt, kann auch der interne Takt ausreichen.

esieg
21.12.2009, 17:45
Ok, Ok, Ok. Farberkennung mit Fototransistor und AD-Wandler scheint nicht wirklich die Hürde für den "Wissenden" ...

... allerdings: den Sensor scheint ausser Jenoptik noch niemand zu vertreiben, oder? Was soll denn der kosten - ich hab keine Preisliste finden können?

Hier scheinen alle der Meinung zu sein, dass am Asuro die Änderung stattfinden sollte! Den wollt ich doch nun aber unverändert lassen! Die Idee mit der Ampel hat noch keiner kommentiert (zumindest nicht positiv).

Aber spinnen wir Euren Ansatz weiter: Ihr plädiert für die Nutzung etwa einer Erweiterungsplatine, wie sie in "Mehr Spass mit dem Ausro I" vorgestellt wurde? Dann stehen zwei AD-Wandler zur Verfügung. Der Lichtsensor hat drei Augänge. Da muss man auf eine Farbe verzichten? Braucht man den Tranzimpedanzverstärker hinter dem Sensor wirklich oder geht das auch einfacher?

Besserwessi
21.12.2009, 18:12
Die Erkennung der Farbe ist gar nicht so einfach: Es gibt ja noch mehr licht als nur die Ampel. Damit man die Lichter Ampel vom hintergrund unterscheiden kann, wäre es dann ohnhin sinnvoll die LEDs an der Ample zu modulieren. Wenn man dann schon am modulieren ist, ist die zusätzliche IR LED die logische weiterentwickling. Wenn man die Empfängerhardware schon da hat, umso mehr.

Man muß nur bei den IR LEDs mit der Ausrichtung etwas spielen. Wenn man schräg auf die Ampel zukommt, sieht man sonst 2 Seiten oder gar nichts von der Ampel.

esieg
21.12.2009, 19:14
Das war die Antwort, auf die ich insgeheim gehofft hatte.

Und weiter gehen die Fragen: welcher uC empfielt sich? Wenn er ähnlich dem ATMega8, müsste man doch einen Teil der Schaltung vom Asuro "kopieren" können.


Quarz
IR Sender und Empfänger (kann man die Ampel auch beeinflussen)


... und nicht zu vergessen die Anschlüsse für ISP-Programmierung ...

Besserwessi
21.12.2009, 19:35
Welcher µC, hängt ein wenig davon ab, was die Ampel so allen können soll. Wenn es klein sein soll könnte ein Tiny24 reichen. Da sollte man aber zur sicherheit vorher planen um zu sehen ob es wirklich paßt.
Sonst halt so etwas wie einen Mega8 oder Mega48. Wobei der Mega8 einen genaueren internen Oszillator hat und damit besser ohne Quarz geht. Was man braucht sind vor allem genug IO Pins für die Ampel ind IR LEDs. Sonst sind die anforderungen eher gering. Ein Tiny 13 wird aber knapp.
Ein IR Empfänger muß eigentlich nichtmal, es sein denn der Asuro soll die Ampel irgendwie steuern.

Die Schaltung wird so etwa die Grundschaltung zum µC, die LEDs an ein Paar Pins, wenns kanpp wird auch als Matrix oder Charlypixling.
Die IR LEDs mit einem Widerstand zwischen einen PWM Ausgang und einen anderen IO Pin. Wenn die Leistung nicht reicht hat noch Transistoren dazu für mehr Strom (bis etwa 200 mA, sicherer 100 mA).
Je nach Aufbau auch jeweils 2 IR LEDs in Reihe, um den Winkelbereich einstellen zu können. Das Signal zum Asuro kann man per software zusammenstricken der 2 ten Pin muß also nicht der TX Pin der UART sein.

esieg
21.12.2009, 19:45
Danke, dann geh ich mal mit den Infos ins Rennen und schaue, wie weit ich kommen. Aber für heute streikt erst mal die Familie - muss mich von dem Thema ers mal kurz trennen ...

esieg
22.12.2009, 17:36
So, hier hab ich mal etwas von der ASURO-Schaltung kopiert. Da gibt es noch ein, zwei Probleme ...

1.) Vorwiderstand für die LEDs. Was für Ströme dürfen denn an den einzelnen Ports fliessen. Ich hab PD5-7 gewählt. Im Original wurden 220 Ohm gewählt ... Ich wollte LED 3mm
2.) Ich hab den Unterschied zwischen VCC und V+ nicht verstanden ...
3.) Wie und wo wird die ISP-Programmierung angeschlossen? Ich wollte die 10-polige Buchse nutzen

Besserwessi
22.12.2009, 19:22
Die Resetleitung darf nicht direkt an VCC, wenn man ISP nutzen will.
Der 2 te GND-anschluß muß auch angeschlosen werden.

Die IO Ports können bis etwa 20 mA Strom liefern. Das kommt ganz gut hinmit 220 Ohm. Je nach Helligkeit der LEDs muß man da aber etwas anpassen. Die gelben LEDs sind oft nicht so hell wie rot oder grün.

Die IR LED könnte mehr Strom vertragen, aber mehr mag der Port direkt nicht. Wenn der Abstand kleine ist geht das so aber noch, reicht also für einen Test der Software.


Für ISP werden die PINs MSIO,MOSI, CLK, Reset, VCC und GND gebraucht. Einach mal im Wiki Bereich nachlesen, da sollte es Beispiele geben.

esieg
22.12.2009, 21:41
Danke für die Korrekturen.

Wenn die IR-Diode mehr Strom braucht, müsste da also noch ein Transistor rein. Wenn 100 mA reichen, sollte der BC557 Ok sein.

Oops, wo wird denn die Basis angeschlossen? PB3 oder PD1? Die Widerstände R1 (Vorwiderstand IR-LED) und der Basiswiderstand zum Transistor hängen dann davon ab, welcher Strom wirklich durch die IR-Diode fliessen soll. Was wären hier vernünftige Werte?

Zu ISP schau ich dann noch nach ...

Besserwessi
22.12.2009, 22:48
Wenn man schon Transistoren nimmt, dann eher schon so etwas wie BC328 / BC338. Gepulst mit 25% Tastverhältnis könnten die meisten IR LEDs bis knapp 400 mA vertragen. 100-200 mA sollten aber auch schon reichen. Mit 100 mA wäre theoretisch noch Dauerbetreib dirn, falls was schief geht mit der Software. Später noch einen 2 ten Widerstand parallen zu löten ist ja kein großer Aufwand.

Bei der Schaltung hat man mehrere Möglichkeiten, z.B. :
1) 2 transistoren jeweils als Emitterfolger - geht auch ohne Basiswiderstand.
2) Die Signale von PB3 und PD1 verknüpfen (z.B: mit einem Extra Transistor) und dann nur einen Transistor.
3) Nur den Ausgang PB3 (PWM) benutzen und dann eine Software UART nutzen. So hohe baudraten mag der Empfänger ja ohnehin nicht.

esieg
23.12.2009, 12:37
Ich bin wohl zu doof dafür.

Nehmen wir den ersten Vorschlag: zwei Transistoren meint Darlington-Schaltung? Ich hatte die komplemantäre Darlington gewählt mit Basis des NPN an PB3.

Wie ich's auch drehe ziehe ich dann PD1 auf Masse ... Das ist doch bestimmt falsch ?!

Ich hab die Schaltung (oben) aktualisiert. Sie enthält jetzt (neben den Fehlerkorrekturen) die zwei Transistoren. Der Basiswiderstand R6 ist nicht nötig? R1 hab ich noch nicht dimensioniert. Da stehen noch die 220 Ohm von der Variante ohne Transistoren.

b.t.w: warum nimmt man nicht die BC557? Ich hatte sie wegen der maximalen Ströme gewählt.

Tut mir leid - je weniger Ahnung desto mehr Fragen ...

Besserwessi
23.12.2009, 13:11
So ist die Schaltung falsch.
Der BC557 ist bis 100 mA, also schon ziehmlich knapp, wenn man mehr will.

Wenn man die ahrdware uart nutzen will, muß man die beiden Signal so verknüpfen, dass die LED nur leuchtet, wenn TX auf low ist, und das PWM Signal einen Zustand hat (Welchen ist egal, aber nur einer).
Eine Möglichkeit dazu ist es an beide Pins (PD1 und PB3) jeweils einen Transistor zu schalten. An PD1(Tx) einen PNP, and PB3 einen NPN - jeweils mit der Basis zum PIN und mit dem Emitter zur IR LED bzw. dem Vorwiderstand. R1 kann man dann kleiner Wählen: für die LED und die 2 Basis emitterstrechen fallen etwa 2,5 V ab, also noch etwa 2,5 V für den Wderstand. Passend wären dann z.B. 33 Ohm , später wenn man mehr Leistung braucht auch runter bis etwa 10 Ohm.

esieg
23.12.2009, 13:48
Ach herje: mindestens 15 Zeichen ...
Ich wollte nur fragen: So richtig?

Besserwessi
23.12.2009, 13:50
Ja , so hatte ich das gemeint.

esieg
23.12.2009, 14:39
Und den ISP-Stecker verbindet man einfach nach der Definition?


Pin1 an MOSI = PB3
Pin2 an VCC
Pin3 nix
Pin4 an GND
Pin5 an Reset
Pin6 an GND
Pin7 an SCK = PB5
Pin8 an GND
Pin9 an MISO = PB4
Pin10 an GND


Fehlen da noch Pullup-/Pulldown-Widerstände?

Besserwessi
23.12.2009, 15:03
Die Reset Leitung sollte noch einen Pullup bekommen. Ist nicht unbedingt nötig, tut der Zuferlässigkeit aber gut.
Die Pinbelegung hab ich jetzt nicht geprüft, sieht aber Plausibel aus.

esieg
23.12.2009, 15:07
Danke vielmals für die Geduld und Unterstützung.