Moin ! Ich bastele da gerade an einer Schaltung mit einem AVR AT90S2313. Und zwar versuche ich das RC-CAM System (http://www.rc-cam.com/) auf einen AVR zu übertragen. Soweit so gut ich habe auch schon fast alles am rennen. Aber eine Sache macht mir Stress ... Vielleicht kurz was zu meinem Aufbau und meinem Equipment ... Ich verwende wie gesagt einen AT90S2313 mit angeklemmten MAX232 für Debugging. Dann habe ich eine GSmart Mini 3 Kamera. Das ist so ein Teilchen hier: http://www.mustek.de/ger_/img/produkte/gsmini3.jpg So, dann habe ich am AVR die PINs 6-8 für die Kameraansteuerung genommen. Pin 6 (PD2) - Ausgang - Kamera einschalten Pin 7 (PD3) - Ausgang - Bild schießen Pin 8 (PD4) - Eingang - prüfen ob Cam an oder aus ist Diese Aus-/Eingänge sind über 330Ohm Widerstände mit der Kamera verbunden (an den entsprechenden Tastern / Stellen). Über Pin 12 (PB0) werte ich das Signal der Fernsteuerung / Empfänger aus. Das klappt auch einwandfrei. So, nun mache ich folgendes: - PD2 auf High setzen für ca. 100ms -> die Kamera schaltet ein - PD3 auf High setzen für ca. 100ms -> Foto wird gemacht Wenn ich nun die Kam wieder ausschalten möchte, dann muss ich PD2 nochmals für 100ms auf High setzen (das entspricht dann dem Druck auf den Ein / Austaster). Hier passiert aber nüx. Die Kam bleibt stur an. Sie geht erst nach 60 Sekunden von selber aus. Jetzt kann ich die Kam auch nicht mehr einschalten. Ok, ich habe dann mal an dem Pin nachgemassen was denn da so an Spannung anliegt. Und wie ich mit Erschrecken feststellen musste waren es nur ~700mV. Das da nix an- / oder ausgeht ist logisch... Nun stellt sich mir aber die Frage, warum ist da so eine geringe Spannung? Ich kann mir nicht vorstellen das da ein so großer Strom fließt, dass die Spannung so einbricht. Zumal auch noch die 330Ohm Widerstände in der Leitung hängen. Und beim ersten Einschalten habe ich ja auch sauber die 5V auf dem Portpin. Mitlerweile habe ich noch zwei Änderungen gemacht. Cam und µC werden jetzt von der gleichen Spannungsquelle gespeist (~4,4V). Weiterhin setze ich den PortPin für das An- und Abschalten der Kam nicht mehr auf Low sondern ich ändere den Pin vom Ausgang zum Eingang. Dadurch hat er dann einen Tri-State Status. Der Code dazu schaut so: Sub Kamera_an_aus Config Pind.2 = Output 'rechts am Board Set Portd.2 Waitms 2000 Config Pind.2 = Input 'Input = TriState Status ! End Sub Kann mir jemand einen Tip geben, wie ich das nun in den Griff kriege? Evtl. einen Transistor als Schalter verwenden ?!
Hast Du die 700mV direkt am µController-Pin gemessen? Falls ja, dann ist da garantiert etwas mit der Portdefinition faul, denn selbst, wenn die Kamera den Eingang aus irgendeinem unerfindlichen Grund auf Low legen sollte, würden durch den 3300 Ohm-Widerstand die 5V am Port-Pin durchkommen. Ich tippe mal auf Softwarefehler. Übrigens ist der Port bei der Konfiguration, wie Du sie in dem Programmschnipsel machst, nicht Tristate, sondern Du schaltest den Pull-Up Widerstand ein. Du müßtest zusätzlich eine "0" auf dem Port-Pin ausgeben, um einen echten Tristate zu bekommen.
Moin ! Also so ?? Sub Kamera_an_aus Config Pind.2 = Output 'rechts am Board Set Portd.2 Waitms 2000 Config Pind.2 = Input 'Input = TriState Status ! Reset Portd.2 '<<< so auf Null setzen? End Sub Grüße Dominik
Moin ! So ich habe das ganze mal auf das Minimum reduziert ... Mit diesem Code passiert folgendes: - Kamera geht an - nach 5 Sekunden geht die Kamera aber nicht aus - wenn die Kamera selber ausgegangen ist, geht sie zumindest schon mal wieder an. Also schon mal ein Schritt in die richtige Richtung. Hier der Code: '----------------------------------------------------------------------- ----- ' Kamera an / aus '----------------------------------------------------------------------- ----- $regfile = "2313def.dat" $crystal = 8000000 $baud = 9600 Declare Sub Kamera_an_aus ' PD2 / Pin 6 = OUTPUT -> Cam einschalten kurz auf High dann wieder Low Config Pind.2 = Input 'rechts am Board Do Kamera_an_aus Wait 5 Kamera_an_aus Wait 5 Loop End 'Programmende Sub Kamera_an_aus Config Pind.2 = Output 'rechts am Board Set Portd.2 Waitms 100 Config Pind.2 = Input 'Input = TriState Status ! Reset Portd.2 End Sub Greetz Dominik
@Thomas Kaiser (thkais) Wie kommst du auf 3300 Ohm? Da steht 330. Das wären bei 5V im Falle eines Kurzschlusses immerhin schon 15 mA. Ich kenne die AT90er-Reihe nicht. Schaffen deren Ausgänge soviel Strom? @Dominik Hab ich das richtig verstanden, daß du einfach nur die Portpins an die Leitungen der Taster der Kamera angeschlossen hast? Bist du dir denn sicher, daß du die einfach so mit Logikpegeln gesteuert werden müssen und du beim ein/aus auch den richtigen Anschluß erwischt hast?
Ups - 330Ohm - da habe ich das "O" als "0" gelesen. Man sollte doch wieder zur Schreibweise mit dem Querstrich durch die "0" zurückgehen. @Magnus: Wie Du schon vermutest, können die "alten" Atmels nicht besonders viel sourcen. Auch der Einwand mit den Logik-Pegeln ist berechtigt, ich war davon ausgegangen, daß Dominik das abgecheckt hatte... Isofern wäre es besser, das Ganze mal mit einem Transistor, der den Schalter "schließt", auszuprobieren. Allerdings müßte da die richtige Richtung ausprobieren / ausmessen.
Moin ! Soderle ... >Einwand mit den Logik-Pegeln Dazu kann ich folgendes sagen ... Ich habe an der Kam einen Taster (den für ein / aus). Auf der einen Seite des Tasters liegen 4,4V die dann beim drücken logischerweise auch auf der anderen Seite anliegen. So, nun war meine Idee, ich schließe an der Spannungslosen Seite meinen µC Pin an. Will ich nun die Cam einschalten, dann setze ich den Pin auf High und die Kam geht an. Im Prinzip sollte das doch gehen, oder? Jetzt ist nur die Frage ob der µC genug Strom liefert. Habe das leider noch nicht gemessen. Was mich aber dennoch verwundert ... 1x geht die Cam ja an. Nur danach gehts nimmer. >Isofern wäre es besser, das Ganze mal mit einem Transistor, der den Schalter "schließt", auszuprobieren. Jep, das werde ich auch tun. Alternativ könnte man evtl. auch ein Treiber-IC nutzen. Da hätte man mehrere belastbare Ausgänge gleich in einem passenden Gehäuse. >Bist du dir denn sicher, daß du die einfach so mit >Logikpegeln gesteuert werden müssen und du beim ein/aus >auch den richtigen Anschluß erwischt hast? Also das es der richtige Anschluss ist, das sollte passen. Das kann man ja mit einem Multimeter einfach nachmessen. Ob es mit Logikpegeln geht ist ja letztlich das Problem. Scheinbar nicht sauber. Wie gesagt, werde da mal einen Transistor oder ein Treiber IC verwenden. Grüße Dominik
Es besteht auch noch die Möglichkeit, daß die Tasten der Kamera gemuplitplext sind. Dann würde man im Standby die volle Spannung messen, während des laufenden Betriebs würde dann auch das richtige Timing eine Rolle spielen. So richtig herauskriegen wird man das mit einem Multimeter aber nicht.
Meine Güte, totaler Tastensalat. "gemultiplext" meinte ich natürlich.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.