Arduino Forum

International => Deutsch => Topic started by: obiwan on Apr 23, 2013, 09:01 am

Title: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: obiwan on Apr 23, 2013, 09:01 am
Hallo,

ich bin gerade dabei den Schaltplan für mein Tropfenprojekt zu entwickeln (siehe Anhang) und weiß jetzt nicht, wie ich die am Arduino angeschlossenen Ventile mit Strom versorgen kann. Wo verdrahte ich das Netzteil für die Ventile? Kann ich damit auch gleichzeitig das Board versorgen? Stimmt meine Berechnung zur mA Angabe? Was brauche ich zur "Entkopplung" der Venitle vom Board - Optokoppler, Transistoren, Widerstände? Oder alles drei und in welcher Größenordnung?

Fragen über Fragen, ich hoffe ihr könnt mir weiterhelfen?

(Habe den Schaltplan noch einmal angepasst)
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: michael_x on Apr 23, 2013, 09:58 am
Widerstand scheidet schomal aus, bleiben optokoppler und transistor ( oder Relaiskarten mit Optokopplern drauf ) , um deine 12V Ventile zu steuern.
Wenn die Ventile tatsächlich 9W brauchen, d.h. ca. 700 mA, wären wohl Logik-Level MOSFET als Transistor angesagt.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 23, 2013, 10:15 am
Da du ja schnell schalten willst, bleibt nur der Transistor (ein Logic Level MosFet)

Das Netzteil kannst du für beides nehmen, Arduino und Ventile. Du mußt die 12V+ mit der Vin des Arduino verbinden, und den GND des Arduino mit der Masse des Netzteiles (0V).

Ich habs dir mal im Anhang skizziert.

Gunther
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 23, 2013, 11:12 am
Danke für den Schaltplan, aber ich habe ein UNO Board und da finde ich kein VIN ???
Und ist ein Optokoppler nicht schneller als ein Transistor?
Und wie würde der Schaltplan aussehen, wenn ich mit dem Netzteil nur die Ventile versorgen möchte?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: mkl0815 on Apr 23, 2013, 11:14 am

Danke für den Schaltplan, aber ich habe ein UNO Board und da finde ich kein VIN ???


Schau mal auf die Bilder: http://arduino.cc/en/Main/ArduinoBoardUno (http://arduino.cc/en/Main/ArduinoBoardUno)
Untere Header-Reihe, der linke Header hat ganz rechts ein Pins "Vin".
Aber aufpassen. Soweit ich weiss, ist das Vin Pin HINTER der Diode die vor Verpolung schützen soll.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 23, 2013, 11:41 am
Hilfe, daß ist mir leider schon alles viel zu kompliziert.....

Also bitte das Netzteil nur für die Ventile, nicht für den Arduino - wie sieht die "Schaltung" dann aus?
Bitte mit "Teilenummern" o.A. - mit dem "Fachschinesisch" kann ich leider nix anfangen *heul*
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on Apr 23, 2013, 11:45 am
Hallo Gunther, kannst du den Schaltplan nochmal überarbeiten? ;) Da geht es bei den 12V und GND von der Netzteilbuchse ein bisschen chaotisch zu. An der Buchse steht bspw. +12V, die Leitung geht direkt an den GND vom Arduino.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 23, 2013, 12:17 pm
So, ich habe meinen Schaltplan mal mit den bisherigen Erkenntnissen verändert. Geht das so und wenn ja, was "genau" für "Teile" brauche ich dort wo die ?? stehen?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 23, 2013, 01:07 pm

Hallo Gunther, kannst du den Schaltplan nochmal überarbeiten? ;) Da geht es bei den 12V und GND von der Netzteilbuchse ein bisschen chaotisch zu. An der Buchse steht bspw. +12V, die Leitung geht direkt an den GND vom Arduino.


Uuuups! :smiley-red:

korrigiert!

Danke.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 23, 2013, 01:27 pm

Danke für den Schaltplan, aber ich habe ein UNO Board und da finde ich kein VIN ???
Und ist ein Optokoppler nicht schneller als ein Transistor?
Und wie würde der Schaltplan aussehen, wenn ich mit dem Netzteil nur die Ventile versorgen möchte?


Der UNO hat Vin.
Wahlweise kannst du auch die Power-buchse verwenden.
Ein Optokoppler ist nicht geeignet um hohe ströme zu schalten, dafür brauchts einen Transistor.


So, ich habe meinen Schaltplan mal mit den bisherigen Erkenntnissen verändert. Geht das so und wenn ja, was "genau" für "Teile" brauche ich dort wo die ?? stehen?


Was in deiner Zeichnung fehlt ist - zwingend - die Masseverbindung.  (der blaue Draht!)
Wenn du den Arduino mit über dein 12V-Netzteil versorgen willst kannst du dieses einfach an Power-Buchse an deinem UNO anschliessen.
Die Teile in dem ?? Kästchen sind:
je ein IRLZ44N (http://www.ebay.de/itm/5-Stuck-MOSFET-n-channel-MOSFETs-IRLZ44-IRLZ44N-/271177617586?pt=Bauteile&hash=item3f237210b2) und je ein Widerstand 220 Ohm (kann auch mehr sein, bis 1k) und ein Widerstand 10k (kann bis 47k gehen), die Verschaltung siehst du oben im Schaltplan.

Wenn du mit der Löterei übefordert bist, dann kannst du auch fertige MOSFET Module kaufen, z.B.  hier:
4-Channel MOSFET Switch V2 (http://www.elechouse.com/elechouse/index.php?main_page=product_info&cPath=78&products_id=1812)
oder drei von solchen:
TinkerKit Modul Mosfet (http://store.arduino.cc/eu/index.php?main_page=product_info&cPath=16&products_id=108)
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: mkl0815 on Apr 23, 2013, 01:27 pm
Wie wäre es damit:
Relais-Shield (http://www.amazon.de/gp/product/B00ALNJN72/ref=as_li_ss_tl?ie=UTF8&camp=1638&creative=19454&creativeASIN=B00ALNJN72&linkCode=as2&tag=wwwichbinzust-21)
Dann hast Du noch ein Relais als Reserve, das Dingen ist nicht wirklich teuer und Du sparst Dir die Schaltung. Soweit ich das auf dem Bild erkennen kann, arbeitet das Dingen auch mit Optokopplern.
Mario.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 23, 2013, 03:33 pm
So, ich glaube jetzt hab ichs...

Ob mir bitte das mal jemand bestätigen kann, ob ich da jetzt alles (vor allem die verwendeten Zusatzteile) richtig "verdrahtet" habe? Danke.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 23, 2013, 05:10 pm

Du brauchst vor jeder DIODE im Optokoppler jeweils einen Vorwiderstand, ca. 100-200 Ohm.

Ansonsten solle das so funktionieren.
Der Einzige Nachteil, den diese Schaltung hat, dass wenn der Arduino ausfällt, keine Versorgung mehr hat, oder ein Kabel abgeht, dann werden die Ventile dauern angesteuert.

Aber da du bei deinem Fotoprojekt das ja wahrscheinlich nicht unbeaufsichtigt laufen lassen wirst, sollte das kein Thema sein.

Grüße

Gunther
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on Apr 23, 2013, 05:24 pm
Pin 3 und 4 der Optokoppler müssten nach meinem Empfinden getauscht werden. Andere Meinungen hierzu?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 23, 2013, 06:32 pm
Du brauchst vor jeder DIODE im Optokoppler jeweils einen Vorwiderstand, ca. 100-200 Ohm.
Warum?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 23, 2013, 07:08 pm

Du brauchst vor jeder DIODE im Optokoppler jeweils einen Vorwiderstand, ca. 100-200 Ohm.
Warum?
Weil die Eingangsdiode des SFH610A laut Datenblatt eine Vorwärtsspannung von 1,25V hat, der Arduino aber 5V liefert. Um den Strom zu begrenzen und dem Arduino das Leben zu retten die Vorwiderstände.

du kannst auf runter gehen auf 47 ohm aber das sollte nicht nötig sein.
Du kannst ja mal im Datenblatt genaueres nachlesen.

Und, STH77 hat recht, Pin 3 und 4 sind vertauscht. Der Emitter (der Pfeil ) muß immer von der höheren zur niedrigeren Spannung zeigen.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 23, 2013, 07:30 pm
Ok, danke. Werde das morgen nochmal anpassen und dann den neuen Schaltplan zur "Begutachtung" nochmal hochladen.

Das ist aber erst die halbe Miete.... Ich möchte dann an den Arduino noch eine DSLR anschließen, eine Lichtschranke und einen Geräuschsensor.
Je nachdem was ich dann fotografieren möchte, möchte ich dann entweder die Ventile oder die Lichtschranke oder den Geräuschsensor verwenden.
Bei den Ventilen wird das ganze über Zeit gesteuert (öffnen der Ventile und Auslösen der DSLR). Mit der Lichtschranke möchte ich z.B. Gegenstände
die nach Unten fallen fotografieren. Hier soll quasi die Lichtschranke das "Signal" geben, damit die Kamera nach einer bestimmten Verzögerung auslöst.
Bei dem Geräuschsensor soll das ähnlich wie bei der Lichtschranke geschehen.

Aber dazu komme ich erst später, wenn der Schaltplan für die Ventile 100% passt und ich das ganze dann auch getestet habe.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 24, 2013, 09:28 am
So, hier ist nun der angepasste Schaltplan. Ich hoffe ich habe alles richtig umgesetzt?
Ich habe auch gleich die Kamera mit angeschlossen, weiss jetzt aber nicht, wie ich diese mit dem Optokoppler verbinde, da ich Kameraseitig nur ein Kabel habe, der Optokoppler aber zwei Aus-/Eingänge hat?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 24, 2013, 01:41 pm
Das sieht für mich gut aus!

Meine Empfehlung: Schrittweise aufbauen und testen.

Also erstmal einen Optokoppler  und ein Ventil dran, und mit einem primitiven Sketch testen:
Code: [Select]
digitalWrite(pin,HIGH);
delay(1000);
digitalWrite(pin,LOW);
delay(1000);


und erst wenn das funktioniert, weiter machen.

Zu deiner Kamera: in dem Kabel müssen mindestens 2 Drähte sein. Vielleicht ist ein Draht innen und ein weiterer als Abschirmung?
mit nur einem Draht kann das nicht gehen. Welche Kamera ist es denn?

Grüße

Gunther
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 24, 2013, 01:57 pm
Nein, nein, ich glaube ich habe es schon... es müssen drei Kabel sein: Auslöser, Focus und Ground. Auslöser und Focus muss ich zusammenschließen = Kabel 1 und Ground = Kabel 2. Den Ground packe ich dan an 3 (wo der Pfeil ist) oder an 4? Und muß da dann auch noch ein Widerstand zwischen Optokoppler und Kamera?

Und muß der "Auslöser" nicht an die "Analog IN" Anschlüsse angeschlossen werden?

Der Ablauf soll ja (vorerst) so sein, dass durch drücken des Auslösers (der der am Arduino angeschlossen ist) das ganze abläuft.

Angehängt der bzgl. Kamera modifizierte Schaltplan. Ist das so richtig mit dem Ground-Anschluss an den Optokoppler?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on Apr 24, 2013, 02:10 pm
Fokus und Auslöser zusammenschließen? Das sind doch zwei völlig verschiedene und vor allem zeitversetzte Vorgänge, somit löst du doch schon vor der erfolgten Fokussierung aus. Andererseits macht man diese Art von Bildern sowieso mit festem, d.h. manuellem Fokus. Dann reicht es vermutlich auch, die Fokusleitung unbeschaltet zu lassen. Oder löst deine Nikon nur dann aus?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 24, 2013, 02:18 pm
Ist das so richtig mit dem Ground-Anschluss an den Optokoppler?


GND muß höchstwahrscheinlich an (4).
Wie schon erwähnt, der Pfeil zeigt immer von der höheren Spannung zur niedrigeren.
GND ist 0V. Üblicherweise haben die anderen Kabel dann höhere Spannungen.

Was ist denn normalerweise an dem Kabel dran? Schalter? Dann brauchst du keine Vorwiderstände.

Grüße
Gunther
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 24, 2013, 02:26 pm
Also ich wollte dafür das "normale" Fernauslöerkabel (z.B. dieses: http://www.amazon.de/Fernausl%C3%B6ser-Nikon-D800-D300s-Kodak/dp/B004QAWMCY/ref=sr_1_3?ie=UTF8&qid=1366806156&sr=8-3&keywords=fernausl%C3%B6ser+d700 (http://www.amazon.de/Fernausl%C3%B6ser-Nikon-D800-D300s-Kodak/dp/B004QAWMCY/ref=sr_1_3?ie=UTF8&qid=1366806156&sr=8-3&keywords=fernausl%C3%B6ser+d700) )verwenden und aufschrauben. Dann das Kabel für Fokus und Auslöser zusammendrahten (muss man bei Nikon wohl so machen) und an den Optokoppler anschließen.

Das ganze muss aber 100%tig passen - ich möchte da nicht meine Kamera schroten - also lieber noch ein paar Extrasicherheiten einbauen?

Anbei der angepasste Schaltplan
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on Apr 24, 2013, 02:37 pm
Hast du mal die Produktbezeichnung bzw. noch besser das Datenblatt zu deinen Ventilen?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 24, 2013, 02:47 pm
Ventile: http://www.eventile.de/Shop/2-2-Wege-Magnetventil/6mm-Anschluss/12V-DC--o--STECKER--SCHW--180.html (http://www.eventile.de/Shop/2-2-Wege-Magnetventil/6mm-Anschluss/12V-DC--o--STECKER--SCHW--180.html)
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 24, 2013, 04:42 pm
Das ganze muss aber 100%tig passen - ich möchte da nicht meine Kamera schroten - also lieber noch ein paar Extrasicherheiten einbauen?


Ich würde mal das Gehäuse des Fernauslösers öffnen und nachsehen was drin ist. Wenn einfach nur Schalter drin sind, wird es auch mit dem Optokoppler funktionieren. Wenn da elektronik oder eine Batterie drin sein sollten, mußt du in dem Nikon Forum suchen...

Gunther
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 24, 2013, 07:22 pm
Nö, da iss keine Batterie drinn, nur drei Kabel. Da muss ich jetzt sehen, was Ground, was Focus und was Auslöser ist.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 25, 2013, 09:48 am
Also wenn ich der im Internet gefundenen Anschlußbelegung der 10-pol. Buchse glauben schenken darf müsste:

Gelb = GND (Masse)
Rot = Eingang (Auslöser)
Weiß = Focus

sein.

Also müsste ich Rot und Weiß miteinander verbinden und dann mit Pin 3 des Optokopplers verbinden. Gelb kommt an Pin 4 des Optokopplers.
Oder muss ich den Focus (weiß) mit der Masse (Gelb) zusammen verbinden und an Pin 4 des Optokopplers anschließen?

Nur wie kann ich das vorher testen um die Kamera nicht zu schroten?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 25, 2013, 09:54 am
Wenn in dem Kästchen wirklich bloß Schalter drin sind, dann kann eigentlich nichts passieren.

einfach mal Weiß und Gelb zusammenhalten, dann müßte die Kamera focussieren, dann Rot dazu und die Kamera müßte auslösen.

Wenn das funktioniert, dann das ganze an die Optokoppler anschliessen und mit einem einfachen Sketch mit
digitalWrite und delays testen.

Für deine Tropfenfotografie müßtest du aber die Kamera irgendwie auf manuellen Focus stellen, schliesslich muß sie ohne Auslöseverzögerung das Foto machen.

Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 25, 2013, 10:02 am
Ich glaube ich habs jetzt...
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 25, 2013, 10:17 am
Sieht brauchbar aus.
Schon probiert?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 25, 2013, 10:38 am
Nein, ich muss mir die ganzen "Kleinteile" noch kaufen. Was würdet ihr als "Steckerverbindung" empfehlen? Ich möchte das ganze ja möglichst "flexiebel" halten,
so dass ich da nicht so eine Kabelwirrwar habe.

Und was brauche ich im das ganze dann auf eine Platine zu löten? Ich habe zwar einen "Lötkolben" der ist für solche filigranen Tätigkeiten aber nicht geeignet.
Bestimmt brauche ich dann auch noch eine "Lupe" um zu sehen wo ich was zusammenlöte. Also wie sähe mein "Arbeitsequipment aus?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 25, 2013, 11:06 am
Wie wärs, für den Anfang, mit sowas:
Breadboard Steckbrett + Drahtbrücken (http://www.ebay.de/itm/Breadboard-Steckboard-Steckbrett-700-Kontakte-70tlg-Steckbrucken-Drahtbrucken-/170996609047?pt=Elektromechanische_Bauelemente&hash=item27d0313017)

Komplett lötfrei.

Oder gleich eines der Arduino Prototyping boards.

Allerdings wirst du um die Anschaffung eines Elektronik-Lötkolbens (http://www.ebay.de/itm/Regelbare-Lotstation-Lotkolben-100-450-C-230V-58W-incl-2-Spitzen-2-Tools-/280856233794?pt=Schwei%C3%9F_L%C3%B6ttechnik&hash=item4164560742) nicht rumkommen.

Gunther
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 25, 2013, 11:13 am
Nein nein, so ein Steckbrett um das ganze vor dem Verlöten zu testen habe ich natürlich schon.
Ja genau, so eine Lötkolben brauche ich. Und was empfehlt ihr als "Sehhilfe"?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on Apr 25, 2013, 11:21 am
Ich löte hauptsächlich auf Lochrasterplatinen, die haben ein Rastermaß von 2,54 mm. Das geht noch ohne Lupe.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 25, 2013, 11:44 am
Hmm... neben dem "Lötkolben" brauche ich noch Lötzinn, Lötfett, eine Entlötpumpe, und was weiß ich noch alles?
Vielleicht sollte ich das ganze doch über ein Steckplatine realisieren, dann kann ich mir das ganze Geraffel um den Lötkolben sparen.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on Apr 25, 2013, 12:10 pm
Lötfett brauchst du nicht, Elektroniklot hat eine Flussmittelseele. Das Steckbrett ist zwar praktisch für Versuchsaufbauten, ist aber nicht für den Dauereinsatz ausgelegt, allein damit wirst du nicht glücklich. ;)
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 25, 2013, 12:15 pm
Also dann doch mit Lötkolben und Lötzinn. Aber brauche ich eine Entlötpumpe? Und was sonst brauche ich noch?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on Apr 25, 2013, 12:33 pm
Diese Entlötpumpen sind manchmal ganz sinnvoll, wenn man als Einsteiger mal wieder einen zu dicken Lotklumpen gesetzt hat. Mit der Zeit braucht man sie aber immer seltener, so meine Erfahrung. Hilfreich ist auch die sogenannte "dritte Hand" - gibts sogar mit Lupe. ;) Ansonsten noch etwas Entlötlitze besorgen, einen kleinen Elektronik-Seitenschneider, etwas Litze, ein paar Drähte.
Je nachdem, wie ambitioniert du bist, hast du die Wahl zwischen einfachen Handlötkolben mit Netzkabel oder Lötstationen. Bei letzteren muss es nicht immer Weller oder Ersa sein, günstige Noname-Modelle gibts bspw. bei Pollin.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 25, 2013, 12:41 pm
Also bei mir in der Gegend ist ein Corad-Laden. Da würde ich mir diese Lötstation holen: http://www.conrad.de/ce/de/product/588415/Basetech-Kompakte-Loetstation-ZD-99-230-VAC-Leistung-48-W-Temperaturbereich-150-450-C (http://www.conrad.de/ce/de/product/588415/Basetech-Kompakte-Loetstation-ZD-99-230-VAC-Leistung-48-W-Temperaturbereich-150-450-C)

Und diese "dritte Hand" werde ich wohl auch gleich nehmen: http://www.conrad.de/ce/de/product/588221/TOOLCRAFT-Dritte-Hand-mit-Echtglas-Lupe-ZD-10D (http://www.conrad.de/ce/de/product/588221/TOOLCRAFT-Dritte-Hand-mit-Echtglas-Lupe-ZD-10D)

Was für Draht / Litze benötige ich zum Verbinden der einzelnen Module?

Mann, mann, mann.... wenn ich das alles mal durchrechne hätte ich mir für das Geld ja fast schon einen fertigen Tropfengenerator kaufen können...  $)
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 25, 2013, 01:54 pm
Die Lötstation ist ok.

Du brauchst Elektronikzinn, Lötpumpe ist hilfreich, geht aber auch ohne.
Die "Dritte Hand" habe ich nie gewollt, aber das ist persönliche Vorliebe.
Ferner einen Seitenschneider, eine Spitzzange, evtl Pinzette.
Als Lupe für die feineren Arbeiten habe ich mir mal diese Stirnlupe  (http://www.ebay.de/itm/LED-Profi-1-7-3X-4-Lens-Stirnlupe-Kopflupe-Lupenbrille-Brillenlupe-Vergroesserung-/330804516032?ssPageName=ADME:L:OC:DE:3160)gekauft, damit komme ich (Brillenträger!) ganz gut zurecht.

Litze: Schaltlitze 0,5mm² oder 0,25mm² ein paar Farben.
und: ich würde einfach mal eine Lochrasterplatine hernehmen, auf die dann ungefähr 100 Widerstände drauflöten, wahlweise drahtbrücken aus Silberschaltdraht. Dann hast du zumindest eine gewisse Grundfertigkeit im löten.
Und schau dir mal ein paar Lehrvideos auf Youtube an. Auch Löten will gelernt sein...

Grüße

Gunther

P.S.:
Mann, mann, mann.... wenn ich das alles mal durchrechne hätte ich mir für das Geld ja fast schon einen fertigen Tropfengenerator kaufen können...  $)

Richtig!
Selber bauen ist selten billiger.
Macht aber mehr Spaß!
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 25, 2013, 01:57 pm
Macht aber mehr Spaß!
So isses  :D
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 25, 2013, 04:03 pm
Und was kann ich für "Stecker" nehmen um das ganze "transportabel" zu gestalten?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 25, 2013, 04:49 pm
So wie ich das sehen hast du folgende Schnittstellen:
3 * Ventil (2polig)
1  Taster (2polig)
1 Kamera (3polig?)
1 Spannungsversorgung Ventile

Willst du das ganze in ein Gehäuse einbauen, oder als offene Platine verwenden?
Falls offene Platine, dann schaust du bei Conrad mal in der Rubrik "Platinen-Steckverbinder"

Fall Gehäuseeinbau, würde ich in die Kategorie Niedervoltstecker  (http://www.conrad.de/ce/de/overview/0223010/Niedervolt-Stecker)gehen. Die gibts mit zwei verschiedenen Innendurchmessern, da kannst du z.B. die 2,1mm für die Ventile nehmen,  und die mit 2,5mm für das Netzteil, dann ist das verwechslungssicher. Die entsprechenden Einbaubuchsen gibts unter Niedervolt-Buchsen (http://www.conrad.de/ce/de/overview/0223020/Niedervolt-Buchsen?filterBauform=Buchse%2C+Einbau~~~Kupplung%2C+Einbau).

Für Taster und Foto würde ich Klinkenstecker nehmen, den Arduino so ins Gehäuse montieren, dass die Arduino-Buchsen über entsprechende Ausschnitte von aussen zugänglich sind.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 25, 2013, 05:48 pm
Also die Verbindung vom/zum Arduino soll auch "steckbar" sein, damit ich das Arduino-Board ggf. auch für andere Dinge nutzen kann.

Kameras sollen 2 Anschließbar sein... nur mal so der Vollständigkeit halber.

Natürlich würde das ganze später in einer schicken Box besser aussehen - da muss ich dann aber jetzt schon die Größe bedenken...
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 25, 2013, 06:28 pm

Also die Verbindung vom/zum Arduino soll auch "steckbar" sein, damit ich das Arduino-Board ggf. auch für andere Dinge nutzen kann.

Entweder du nimmst Stiftleisten, an die du die Kabel anlötest, das ist aber nicht sehr haltbar,
oder ein Arduino Protoshield (http://arduino.cc/en/Main/ArduinoProtoShield) bzw ein Arduino Sensorshield (http://www.ebay.de/itm/Neu-SainSmart-Sensor-Shield-V4-Module-for-arduino-Duemilanove-UNO-Mega2560-ATMEL-/320854528603?pt=Wissenschaftliche_Ger%C3%A4te&hash=item4ab46b925b).
Allerdings kostet ein neuer Arduino beim freundlichen Chinesen auch nur 10€ (http://www.ebay.de/itm/UNO-R3-MEGA328P-ATMEGA16U2-2012-Version-Arduino-Compatible-USB-Cable-/181092108217?pt=Wissenschaftliche_Ger%C3%A4te&hash=item2a29ee47b9).
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 25, 2013, 07:01 pm
Allerdings kostet ein neuer Arduino beim freundlichen Chinesen auch nur 10€
Och nö, für das tolle Brett zahl ich auch gerne 25€ für das Original  :D
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 25, 2013, 08:43 pm
Ich habe jetzt mal den Fernauslöser auseinander gebaut und Fokus und GND zusammengeschlossen und dann mit dem Auslöser ausgelöst.
Die Kamera Fokussiert dann natürlich permanent. Das ist weniger schön. Vielleicht sollte ich das anders lösen (Focus und Auslöser getrennt ansteuern)?
Obwohl ja das Focusieren nur für den "Bruchteil" der Zeit stattfindet, in dem die Aufnahme stattfindet - von daher wohl nicht entscheident?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on Apr 25, 2013, 09:10 pm
Gerade bei der Tropfenaufnahme kannst du den Fokus vergessen - so schnell fokussiert die Kamer ohnehin nicht. Also manuellen Fokus einschalten, selbst fokussieren und nur die Kamera auslösen.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: MaFu on Apr 25, 2013, 11:30 pm
Selbstverständlich darfst Du Fokus und Auslöser nicht einfach verbinden, die müssen schön getrennt angesteuert werden. Aber weglassen würde ich Fokus nicht. Einige Kameramodelle lösen nur aus, wenn auch das Fokussignal anliegt. Und auch wenn es bei Deiner jetzigen Kamera kein Problem ist, kann es bei einem Kamerawechsel plötzlich nicht mehr funktionieren. Da gibt es auch innerhalb eines Herstellers Unterschiede.
Zudem wachen die Kameras meist nur über das Fokussignal aus dem Schlafmodus auf. Bei einer längeren Sitzung kann man so durch ein periodisch es Fokussignal recht einfach verhindern, dass sich die Kamera schlafen legt.
Und das Objektiv immer schön auf manuellen Fokus umstellen, das ist für Tropfenfotos ein absolutes muss. Allerdings wird da normalerweise nicht die Kamera gesteuert, sondern der Blitz.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 26, 2013, 08:30 am
Selbstverständlich darfst Du Fokus und Auslöser nicht einfach verbinden

Nein, Fokus und GND müssen verbunden werden (habe ich aber auch so in meinem Schaltplan dargestellt).

Einige Kameramodelle lösen nur aus, wenn auch das Fokussignal anliegt.

Genau deshalb muss ich ja Fokus und GND verbinden.

kann es bei einem Kamerawechsel plötzlich nicht mehr funktionieren.

Bei einem Kamerawechsel werde ich ohnehinn das Kabel wechseln müssen, da der Kameraanschluß ein anderer sein wird. Ich habe ja auch aktuell vorgesehen zwei verschidene Kabel anzuschließen, eines für die D90 und enes für die D700. Und das ist auch der Grund, warum ich diese Verbindungen mit "Steckverbindungen" realisieren möchte und nicht fest verlöten möchte damit ich ggf. auch ein anderes Modell mit einem anderen Kabel drannhängen kann.

Allerdings wird da normalerweise nicht die Kamera gesteuert, sondern der Blitz.

Also ich möchte die Kamera über den Arduino steuern und den Blitzt dann über die Kamera mit Yonguo 603.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: MaFu on Apr 26, 2013, 01:05 pm
Also ich möchte die Kamera über den Arduino steuern und den Blitzt dann über die Kamera mit Yonguo 603.

Kannst Du ja machen wie Du willst. Ist halt nicht die übliche Methode und liefert in der Regel auch weniger gut reproduzierbare Ergebnisse.
Das Problem daran ist nicht die Auslöseverzögerung der Kamera an sich, sondern dass diese Verzögerung nicht immer auf die Millisekunde identisch ist. Bei der Tropfenfotografie sind aber Millisekunden entscheidend. Löst Du hingegen die Blitze aus, ist die Verzögerung immer gleich, nämlich Null. Es hat schon einen Grund, warum fast alle so verfahren.
Warum willst Du unbedingt die Kamera ansteuern?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 26, 2013, 01:14 pm
Wenn ich die Blitze ansteuere bedeutet das doch, dass ich die Kamera "offen" lasse (also Bulb). Dann muss es ja "stockedunkel" sein.

Oder habe ich da jetzt etwas falsch verstanden?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on Apr 26, 2013, 01:21 pm
Ja, hast du richtig verstanden. Da dürfte schon fast der leuchtende Einstellbildschirm stören. ;)
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 26, 2013, 01:27 pm
Ok, danke für den Tip.
Ich werde aber im ersten Step das ganze erst einmal über die Kamerasteuerung lösen damit ich vorerst auch "sehen" kann was passiert.
Im zweiten Step kann ich ja meine Steuerung immer noch abändern und satt der Kamera(s) die Blitze ansteuern (habe ja noch ein paar Pins frei).
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: MaFu on Apr 26, 2013, 05:11 pm

Wenn ich die Blitze ansteuere bedeutet das doch, dass ich die Kamera "offen" lasse (also Bulb). Dann muss es ja "stockedunkel" sein.

Oder habe ich da jetzt etwas falsch verstanden?

Ich nehme in der Regel Blende 8 bis 11 bei ISO 100. Da reicht es wenn es so dunkel ist, dass man gerade noch etwas sehen kann. Das Bild bleibt ohne Blitz trotz mehrerer Sekunden Belichtungszeit schwarz. Selbst eine schwache diffuse Lichtquelle im Hintergrund stört nicht, wenn das Licht nicht direkt aufs Motiv fällt.

Bei mir ist der Ablauf so:
- Auslöser an der Schaltung wird betätigt
- Schaltung aktiviert Lichtschranke (Laser)
- Schaltung öffnet Kameraverschluss (Bulb)
- Tropfen kommt
- Tropfen trifft Lichtschranke
- Schaltung schaltet Lichtschranke aus
- Nach verstreichen der eingestellten Wartezeit werden die Blitze ausgelöst
- Schaltung schließt Kameraverschluss

In der Regel ist der Kameraverschluss dann max. zwei Sekunden offen, keinerlei Probleme mit Fremdlicht.

Du musst auch bedenken: Für wirklich rattenscharfe Tropfenfotos brauchst Du eine extrem kurze Belichtungszeit. Dafür müssen die Blitze auf das Leistungsminimum geregelt werden. Die Blitzleistung ist dann so schwach dass Du bei tagheller Umgebung vermutlich schon zuviel Fremdlicht und somit Unschärfe einfängst.

(http://bilder.mafu-foto.de/albums/userpics/10002/090608_Zuhause_2175.jpg)(http://bilder.mafu-foto.de/albums/userpics/10002/081229_Zuhause_Kaffee_50.jpg)
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 27, 2013, 02:37 pm
Nochmal zurückkommend auf das eigentliche Thema: der Schaltplan. Ich habe jetzt alle Teile zusammen, wobei ich mir bei den Widerständen nicht sicher bin, wiviel Watt die haben sollen? Ich habe die Widerstände (1K Ohm und 100 Ohm) jetzt mit 0,5 Watt genommen - ist das richtig?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 27, 2013, 03:02 pm
das reicht dicke!

Zur Überprüfung:
P = I² * R   bzw P = U²/R

z.B. Pullup oder Pulldown:
5V * 5V / 1000Ohm = 0,025W

deshalb nimmt man meist 0,25W Widerstände, bei SMD sogar kleiner.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 27, 2013, 03:32 pm
Da bin ich ja beruhigt... Habe gerade für cd. 140€ bei Conrad eingekauft.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 28, 2013, 10:25 am
So, mein kleines Progrämmchen ist fertig und wenn ich den Knopf drücke, flackert die LDE kurz auf. Das funktioniert bei der direkten Verbindung (rechte LDE) auch problemlos.
Aber unter Verwendung des Optokopplers (obere LED) funktioniert das ganze nicht. Warum? Was mache ich falsch?
Anbei mein Steckbrett.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 28, 2013, 10:35 am
Hilfreich wäre zu wissen, wohin die drei orangen Kabel gehen, die am unteren Bildrand verschwinden.

Was mich noch irritiert:
a) es ist kein einziger Widerstand auf dem Board
b) gibt es eine Spannungsversorgung? (5V und GND)
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 28, 2013, 10:38 am
Die orangenen Kabel gehen zu GND und Pin2 und Pin13.
An Pin2 sitzt die LED.
An Pin13 sitzt der Button.
Wenn ich den Button drücke, blinkt die LED kurz - aber eben nicht die über den Optokoppler.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 28, 2013, 11:09 am
Hier jetzt mit Widerständen (100 Ohm) - geht trotzdem nicht  :smiley-red:
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: flohzirkus on Apr 28, 2013, 11:19 am
Was du auf dem Steckbrett zusammengesteckt hast, verstehe ich nicht - allerdings fehlt mir auch die Geduld, die Kabel zu verfolgen, Pinbelegungen zu suchen (Optokoppler)/ zu erraten (LEDs) und einen Schaltplan zu skizzieren.

Allerdings fehlen auf jeden Fall schon mal Vorwiderstände für die LEDs - und zwar einschließlich der LED im Optokoppler.
Mein Tipp:

Mache dich erst einmal grundlegend - gänzlich ohne Programmierung mit der Funktion von LEDs und dem Optokoppler vertraut.
Den Arduino solltest du dabei nur zur Stromversorgung nutzen.

Dein Steckbrett hat auch zur Stromversorgung waagerecht durchkontaktierte Leisten oben und unten. Wenn du diese mit 5V und GND am Arduino verbindest, hilft das dem Verständnis sehr.
Und: so lange du keine Vorwiderstände benutzt, kann dir eventuell nicht nur die LED, sondern auch der betreffende Pin am Arduino abrauchen.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 28, 2013, 11:21 am
Hier mal die Beschreibung zum Optokoppler und wie ich verbunden habe:
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 28, 2013, 11:21 am

Hier jetzt mit Widerständen (100 Ohm) - geht trotzdem nicht  :smiley-red:


Kann auch nicht gehen.
Du hast keine 5V auf dem Board.

Wie sollen Optokoppler die LED ohne Spannung betreiben?
hast du denn vorher einen Schaltplan skizziert? Das wäre hilfreich.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 28, 2013, 11:27 am
Kann auch nicht gehen. Du hast keine 5V auf dem Board.

Das versteh ich nicht? Ich habe doch genau so verbunden, wie ich es einige Beiträge zuvor gezeigt habe.

Anbei der angepasste Schaltplan


Da war doch alles in Ordnung mit meinem Schaltplan.
Ich habe jetzt nur den Teil zur Auslösung der Kamera aufgebaut um das zu testen. In meinem Schaltplan ist doch der Optokoppler auch "nur" mit GND und einem Ausgang verbunden.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 28, 2013, 11:40 am
In meinem Schaltplan ist doch der Optokoppler auch "nur" mit GND und einem Ausgang verbunden.

Nein.
In deinem Schaltplan ist Pin 4 mit der Basis des Transistors verbunden,  Pin 3 geht über einen Widerstand auf 12V!

Zwei grundsätzliche Ratschläge:
a) verwende beim Steckbrettaufbau die Farben richtig: Schwarz oder Blau für Masse, Rot für 5V, für alle anderen Signale andere Farben.
b) das heißt nicht umsonst "Schaltungsentwicklung". So muß sich eben entwickeln. Also immer Schrittweise vorgehen.
    1. Schaltplan zeichen.  (dazu reicht ein Blatt Papier und ein Bleistift!)
    2. überlegen, wie die Ströme fliessen, wo welche Spannungen anliegen.
    3. Aufbauen und testen.
    Und erst, wenns funktioniert, die Schaltung um den nächsten Schritt erweitern und wieder mit 1. anfangen.

je weniger Ahnung man hat, um so wichtiger ist systematisches Vorgehen!
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 28, 2013, 11:45 am
Nein. In deinem Schaltplan ist Pin 4 mit der Basis des Transistors verbunden,  Pin 3 geht über einen Widerstand auf 12V!
Das ist doch aber die Verbindung zu den Ventilen. Pin 2,3,4 des Arduino gehen zu den Ventilen und die sind mit 12V verbunden. Pin8 des Arduino geht zur Kamera und die ist nicht mit den 12V verbunden.
Ich möchte jetzt die Verbindung zur Kamera mit einer LED testen, bevor ich das mit der Kamera mache.

Anbei der angepasste "Schaltplan"
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 28, 2013, 12:08 pm
Ah, jetzt verstehe ich dein Problem.

Nun, der Optokoppler ersetzt den Schaltern deines Fernauslösers.  Da sitzt die zugehörige Spannungsversorgung in der Kamera.

wenn du nun ohne Kamera eine led leuchten sehen willst, dann braucht die aber eine Spannungsversorgung!
Ohne Strom leuchtet nix!

Zum testen der Schaltung und des Sketches muß hier eine LED mit Vorwiderstand rein.
die natürlich später wieder wegfallen, wenn die Kamera dran soll.

Gunther

Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 28, 2013, 12:22 pm
Hmm.. ich hab's jetzt so "nachgebaut" aber die LED die die Kamera simulieren soll leuchtet jetzt permanent.
Ich möchte ja sehen, dass die LED nur einmal kurz aufflackert (was das spätere Auslösen der Kamera simulieren soll).
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 28, 2013, 12:50 pm
Tja schade, ich habe nun die Kamera wie im Schaltplan (#68) angegeben mit dem Arduino über das Steckbrett verbunden und es wird nicht ausgelöst.
Die "Kontroll-LED" blinkt auf, aber die Kamera löst nicht aus. Woran kann das nun liegen?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 28, 2013, 12:56 pm
leuchtet die LED auch, wenn du den widerstand am Pin 1 des Optokopplers ziehst?
Wenn sie dann ausgeht, dann funktioniert der Optokoppler.
Wenn sie dann weiterbrennt, funktioniert entweder der Optokoppler nicht, oder du hast dich "versteckt". (letzteres ist wahrscheinlicher)


Tja schade, ich habe nun die Kamera wie im Schaltplan (#68) angegeben mit dem Arduino über das Steckbrett verbunden und es wird nicht ausgelöst.
Die "Kontroll-LED" blinkt auf, aber die Kamera löst nicht aus. Woran kann das nun liegen?

Du bist mutig!
eine nicht funktionierenden Schaltung an deine teuere kamera anschliessen?

Naja, ist deine Kamera.

Versuche doch erstmal rauszufinden, warum deine LED dauerhaft leuchtet ...
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: flohzirkus on Apr 28, 2013, 01:46 pm
Für mich sehen die Fotos so aus, als ob obiwan die Pinbelegung des Optokopplers nicht verstanden hat.
Pin 1 und 2 des Optokopplers liegen dicht nebeneinander!
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 28, 2013, 02:16 pm
leuchtet die LED auch, wenn du den widerstand am Pin 1 des Optokopplers ziehst?
Ja und ich habe mehrere ausprobiert... *heul*
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 28, 2013, 03:41 pm

leuchtet die LED auch, wenn du den widerstand am Pin 1 des Optokopplers ziehst?
Ja und ich habe mehrere ausprobiert... *heul*

Die LED muß leuchten, so wie du das alles angeschlossen hast!

Das, was du gesteckt hast, ist anders als das, was ich in den Schaltplan gezeichnete habe.

Mit deiner Schaltung sollte die LED ausgehen, wenn der Optokoppler angesteuert wird. Auch eine nette Variante.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 28, 2013, 04:20 pm
Wo ist mein Fehler? Ich habe es jetzt nochmal anders "geschaltet". Das müsste genau deiner Schaltung entsprechen. Nun ist die LED aber aus und geht auch nicht an.
Bitte nicht wegen der Farben meckern, habe nur "feste" Steckbrücken und die haben eben diese Farben.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: flohzirkus on Apr 28, 2013, 05:02 pm
Was du genau falsch machst, ist anhand der Fotos zwar möglich zu erkennen, aber extrem aufwendig - und wahrscheinlich wird kaum jemand Lust haben sich so viel Arbeit zu machen.

Was du besser machen kannst?
Auf die Gefahr hin, mich zu wiederholen:
- lasse erst einmal den Arduino ganz weg (außer zur Stromversorgung)
- nutze die Schienen in der Steckplatine für GND und +5V zur Übersichtlichkeit
- Bringe eine LED Optokoppler-gesteuert zu leuchten (geht das überhaupt? Wieviel Strom schaltet so ein Optokoppler? Keine Ahnung...)
- Und bringe dann den Arduino und dein Programm ins Spiel, wenn du verstanden hast, was deine Schaltung macht.

PS:
Und falls es da noch Lücken geben sollte: mache dich am Anfang schlau über die Begriffe Spannung, Stromstärke und Widerstand.

Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 28, 2013, 05:13 pm
ich kann nicht so genau erkennen, was du gesteckt hast.
Aber es sollte so sein:

Erstmal alles raus bis auf den Optokoppler, den 1k Widerstand und die LED und neu stecken.

von 5V auf den 1K Widerstand Pin1
vom 1K Widerstand Pin2  auf LED_A
von LED_K auf Optokoppler Pin4
von Optokoppler Pin3 auf GND

(Du hast, zumindest in deiner ersten Variante, die LED parallel zum Optokoppler geschalten. deshalb ging das nicht)

die Eingangsseite sollte zum ersten Test so aussehen:
von GND auf Optokoppler Pin2
von Optokoppler Pin1 auf Widerstand 100R Pin1


Achtung - Test!
von Widerstand 100R Pin2 auf 5V
  ==> LED leuchtet ?   Gut!
Widerstand 100R Pin2 Verbindung trennen.
  ==> LED aus?   Gut!

jetzt
von Widerstand 100R Pin2 auf Pin2 Arduino.

Jetzt einen Testsketch laufen lassen:
Code: [Select]
// angelehnt an "BLINK" Beispiel

int led = 2;

void setup() {                
 pinMode(led, OUTPUT);    
}

void loop() {
 digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
 delay(1000);               // wait for a second
 digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
 delay(1000);               // wait for a second
}


Led Blinkt?  Gut!

Jetzt den Taster dazu und verdrahten:
von GND auf Taster Pin1
von Taster Pin2 auf Arduino Pin 13

Testsketch:
Code: [Select]
// angelehnt an Beispiel "BUTTON"
const int buttonPin = 13;     // the number of the pushbutton pin
const int ledPin =  2;      // the number of the LED pin

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status

void setup() {
 pinMode(ledPin, OUTPUT);      
 pinMode(buttonPin, INPUT_PULLUP);    
}

void loop(){
 // read the state of the pushbutton value:
 buttonState = digitalRead(buttonPin);

 // check if the pushbutton is pressed.
 // if it is, the buttonState is HIGH:
 if (buttonState == HIGH) {    
   // turn LED on:    
   digitalWrite(ledPin, HIGH);  
 }
 else {
   // turn LED off:
   digitalWrite(ledPin, LOW);
 }
 delay(100);
}


jetzt sollte, immer wenn du den Taster gedrückt hältst, die LED leuchten.
Wenn das passiert, dann weißt du, dass deine SCHALTUNG funktioniert, und du kannst den Sketch weiterentwickeln.

Und, jedesmal, wenn du neue HW-Komponenten dazusteckst: Erst prüfen, ob der neue Teil funktioniert.
So, wie oben: mit ganz primitiven sketchen
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 28, 2013, 05:38 pm
Sorry, aber da komme ich nicht mehr mit:


von 5V auf den 1K Widerstand Pin1
vom 1K Widerstand Pin2  auf LED_A
von LED_K auf Optokoppler Pin4
von Optokoppler Pin3 auf GND


und dann


von GND auf Optokoppler Pin2
von Optokoppler Pin1 auf Widerstand 100R Pin1


Wie soll ich erste von Optokoppler Pin3 auf GND gehen und dann von GND auf Optokoppler Pin2?
Und erst soll ich von  5V auf den 1K Widerstand Pin1 gehen und dann von Optokoppler Pin1 auf Widerstand 100R Pin1?

????

Wie soll ich das bitte verstehen? *heul*
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: flohzirkus on Apr 28, 2013, 05:51 pm
Vielleicht so, wie es da steht?

Der Optokoppler hat tatsächlich zwei Pins auf GND.
Selbst der Widerstand hat zwei Anschlüsse.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on Apr 28, 2013, 06:08 pm
Brauchst du es noch ausführlicher?????

Sorry, aber da komme ich nicht mehr mit:


Eine Drahtbrücke mit dem einen Ende in die  5V des Arduino stecken, mit dem anderen Ende  auf den 1K Widerstand Pin1
Eine Drahtbrücke mit dem einen Ende neben den anderen Pin vom 1K Widerstand stecken, mit den anderen Ende  auf LED_A
usw...
von LED_K auf Optokoppler Pin4
von Optokoppler Pin3 auf GND


und dann


von GND auf Optokoppler Pin2
von Optokoppler Pin1 auf Widerstand 100R Pin1


Wie soll ich erste von Optokoppler Pin3 auf GND gehen und dann von GND auf Optokoppler Pin2?
Und erst soll ich von  5V auf den 1K Widerstand Pin1 gehen und dann von Optokoppler Pin1 auf Widerstand 100R Pin1?

????

Wie soll ich das bitte verstehen? *heul*


ich habe es dir noch als Schaltplan und als Breadboard angehängt.

aber, verzeih mit die offenen Worte, mir scheint, du hast dir da für den Anfang ein etwas grosses PRojekt ausgesucht.
Du solltest erstmal ein paar Basics lernen.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 29, 2013, 08:44 am
Danke für die Schaltpläne!

du hast dir da für den Anfang ein etwas grosses PRojekt ausgesucht.


Mag sein, aber ich habe ja ein konkretes Projekt und nur wegen diesem bin ich die ganze Sache ja auch angegangen.
Mein Ziel ist es ja nicht mit dem Arduino 100te von verschiedenen Projekten, etc. zu realisieren sondern eben nur dieses eine.
Klar hätte ich mir für 300-600 Euro eine fertige "Tropfenmaschine" kaufen können - das war mir dann doch aber zu einfach.
Das dieses Projekt sich soooo kompliziert (für mich als absoluter E-Laie) gestaltet konnte ich ja nicht ahnen.

Ich werd mir mal den 680-Seiten-Schmöker von Erik Bartmann reinziehen... Eigentlich ist das ganze Projekt etwas für kalte Wintertage - die sind nun aber (hoffentlich) vorbei. Da muss ich sehen wie ich zeitlich dazu komme.

Die Teile zum Zusammenbauen habe ich alle - mir fehlt nur noch der genaue Umsetzungsplan. Ich bin nur froh, dass ich das alles nicht schon wie in meinem Schaltplan beschrieben auf eine Platine gelötet habe sondern das ganze erst noch einmel durchteste - da währ ich schön Überrascht worden ...  :smiley-red:
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 29, 2013, 09:56 am
So, jetzt habe ich das ganze nochmal "für mich leserlich" dargestellt um per Knopfdruck über den Arduino die Cam auszulösen.
Ich hoffe das das jetzt so richtig ist? Auch der Sketch?

Code: [Select]
const int CAM = 8;
const int BUTTON = 13;

int VAR = 0;

void setup()
  {
  pinMode(CAM, OUTPUT);
  pinMode(BUTTON, INPUT;
  }

void loop()
{
  VAR = digitalRead(BUTTON);

  if (VAR == HIGH)
     {
     digitalWrite(CAM, HIGH);
     }
  else
     {
     digitalWrite(CAM, LOW);
     }
}
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: JKbastler on Apr 29, 2013, 10:22 am
Hallo,
Sketch passt so nicht, digitalread() einsetzen.
Schaltplan ist auch fehlerhaft. Wo soll High an Pin13 herkommen. Versuch es mit Pulldown- oder Pullupwiderständen.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: MaFu on Apr 29, 2013, 10:23 am
Im Schaltplan hat der Button keinen PullUp, Du solltest also den Internen PullUp aktivieren.
Code: [Select]
pinMode(BUTTON, INPUT_PULLUP);

Beim Auslesen des Buttons hast Du digitalWrite() anstelle digitalRead() geschrieben.

Im allgemeinen schreibt man Variablen klein bzw. in CamelCase Schreibweise (button, myButton), Großschrift wird nur für Konstanten verwendet (z.B. #define BUTTON 13).
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 29, 2013, 10:30 am
digitalread() einsetzen

Habe ich angepasst.

Wo soll High an Pin13 herkommen.

Durch den an 13 angeschlossenen Taster. Wenn ich den drücke soll der "Impus" die Kamera auslösen.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: MaFu on Apr 29, 2013, 10:53 am

digitalread() einsetzen

Habe ich angepasst.

Wo soll High an Pin13 herkommen.

Durch den an 13 angeschlossenen Taster. Wenn ich den drücke soll der "Impus" die Kamera auslösen.

Wie gesagt fehlt der PullUp an Pin 13. So hast Du einen flatternden Eingang, die Kamera wird wie wild ständig auslösen ohne dass Du den Button drückst.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on Apr 29, 2013, 11:20 am
Wie Mafu schon sagte, der Eingangspin muss immer ein definiertes Potenzial HIGH/LOW haben. Das erreicht man entweder über externe Pullup- bzw. Pulldown-Widerstände oder über die internen Pullups. In deiner Variante hast du ein Low am Eingang, wenn du den Taster drückst - drückst du den Taster jedoch nicht, liegt der Eingang frei.
Das einfachste wäre es, die Schaltung nicht zu verändern und pinMode(BUTTON, INPUT_PULLUP); im Sketch zu verwenden.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 29, 2013, 11:59 am
Ok, dann müste es aber gehen, wenn ich If... else vertausche:

Code: [Select]
const int CAM = 8;
const int BUTTON = 13;

int VAR = 0;

void setup()
   {
   pinMode(CAM, OUTPUT);
   pinMode(BUTTON, INPUT);
   }

void loop()
{
   VAR = digitalRead(BUTTON);

   if (VAR == HIGH)
      {
      digitalWrite(CAM, LOW);
      }
   else
      {
      digitalWrite(CAM, HIGH);
      }
}


Oder ich verwende INPUT_PULLUP:

Code: [Select]
const int CAM = 8;
const int BUTTON = 13;

int VAR = 0;

void setup()
   {
   pinMode(CAM, OUTPUT);
   pinMode(BUTTON, INPUT_PULLUP);
   }

void loop()
{
   VAR = digitalRead(BUTTON);

   if (VAR == HIGH)
      {
      digitalWrite(CAM, HIGH);
      }
   else
      {
      digitalWrite(CAM, LOW);
      }
}


Würden so beide Varianten funktionieren?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on Apr 29, 2013, 12:06 pm
Die erste Version funktioniert nicht, weil du das was JKbastler, MaFu und ich sagten nicht umgesetzt hast.
Die zweite Version aktiviert den internen Pullup-Widerstand und funktioniert prinzipiell, allerdings musst du zum Auslösen den Knopf loslassen. :D Es liegt ja im ungedrückten Zustand ein High durch den Pullup an, du musst zum Auslösen also auf Low-Pegel reagieren.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 29, 2013, 12:19 pm
Der "BUTTON" ist ein Taster - also kein AN-AUS-SCHALTER.

Wenn ich da draufdrücke (und gleich wieder loslasse), dann soll die CAM auslösen - also quasi eine "verlängerter" Fernauslöser.

Bitte pass doch mal eine mein Sketch entsprechend an. MIt "Es liegt ja im ungedrückten Zustand ein High durch den Pullup an, ..." kann ich nix anfangen.

Es soll doch wenn ich drücke das HIGH da sein um die CAM auszulösen

:smiley-red:  :smiley-red:  :smiley-red:
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on Apr 29, 2013, 12:36 pm
Um in deinem Code zu bleiben, hier die wenigen Änderungen mit ein paar Kommentaren:

Code: [Select]

const int CAM = 8;
const int BUTTON = 13;

int VAR = 0;

void setup() {
  pinMode(CAM, OUTPUT);
  pinMode(BUTTON, INPUT_PULLUP);  // aktiviert den internen Pullup, zieht den Pin auf High-Pegel, wenn Taster nicht gedrueckt wird
}

void loop() {
  VAR = digitalRead(BUTTON);

  if (VAR == LOW) {  // Taster gedrueckt ---> Low-Pegel liegt an, also Pruefung auf Low
    digitalWrite(CAM, HIGH);  // Ausloesen durch High-Pegel am Optokoppler
    delay (50); // kleine Pause...
  } else {  // Taster nicht (mehr) gedrueckt
    digitalWrite(CAM, LOW);
  }
}
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 29, 2013, 12:44 pm
Super, Danke! Und wozu ist die kleine Pause? Währe ohne diese Pause der "Impuls" zu schwach die CAM auszulösen?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on Apr 29, 2013, 01:21 pm
Eine Pause ist die primitivste und nicht gerade eleganteste Lösung, um das Prellen des Tasters abzufangen. Mechanische Kontakte prellen, was in deinem Fall zu einer (theoretischen) Mehrfachauslösung führt - wenn die Kamera das geschwindigkeitstechnisch mitmacht.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 29, 2013, 01:40 pm
Och so, ja... deshalb hatte ich (u.a.) in einem vorherigem Sketch vor Auslösung eine Pause gesetzt, damit u.a. der Sketch auch erstmal "sauber" auf das Board gelang.
Könnte ich das auch so machen, wenn ich möchte dass erst 3sec. nach dem Tastendruck die CAM auslöst?:


  if (VAR == LOW)
  {
    delay(3000);
    digitalWrite(CAM, HIGH);
  }
    else
  {
    digitalWrite(CAM, LOW);
  }
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on Apr 29, 2013, 02:05 pm
Das kannst du so machen, aber überleg doch mal zusätzlich, wie lang dein Auslöseimpuls in dem Fall ist.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: MaFu on Apr 29, 2013, 02:20 pm

Och so, ja... deshalb hatte ich (u.a.) in einem vorherigem Sketch vor Auslösung eine Pause gesetzt, damit u.a. der Sketch auch erstmal "sauber" auf das Board gelang.
Könnte ich das auch so machen, wenn ich möchte dass erst 3sec. nach dem Tastendruck die CAM auslöst?:


  if (VAR == LOW)
  {
    delay(3000);
    digitalWrite(CAM, HIGH);
  }
    else
  {
    digitalWrite(CAM, LOW);
  }


Wird so nicht funktionieren.
Nachdem Du vermutlich den Taster nicht 3 Sekunden drückst, kommt nach dem digitalWrite(CAM, HIGH) sofort das digitalWrite(CAM, LOW), der Impuls ist somit extrem kurz.
Die meisten Kameras lösen aber nicht aus, wenn der Impuls nicht mindestens 10 oder 20 Millisekunden dauert.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 29, 2013, 02:35 pm
Ok, also so:

if (VAR == LOW)
  {
    delay(3000);
    digitalWrite(CAM, HIGH);
    delay(20);
  }
    else
  {
    digitalWrite(CAM, LOW);
  }
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: Sheldor on Apr 29, 2013, 02:43 pm
Das mit dem Prellen des Tasters ist übrigens in dem Buch vin Erik Bartmann genau beschrieben.
Ist eines der ersten Projekte!
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: MaFu on Apr 29, 2013, 02:55 pm

Ok, also so:

if (VAR == LOW)
  {
    delay(3000);
    digitalWrite(CAM, HIGH);
    delay(20);
  }
    else
  {
    digitalWrite(CAM, LOW);
  }


Ja. Ich würds aber dann gleich so schreiben:
Code: [Select]
if (VAR == LOW)
  {
    delay(3000);
    digitalWrite(CAM, HIGH);
    delay(20);
    digitalWrite(CAM, LOW);
  }
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 29, 2013, 03:02 pm
Und das währ dann der (für mich lesbare) Schaltplan zum Testen mit einer LED:
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 29, 2013, 03:05 pm
Und hier nochmal der jetzt hoffentlich endgültige Sketch:

Code: [Select]
const int CAM = 8;
const int BUTTON = 13;

int VAR = 0;

void setup(
{
  pinMode(CAM, OUTPUT);
  pinMode(BUTTON, INPUT_PULLUP);  // aktiviert den internen Pullup (= HIGH wenn BUTTON nicht gedrueckt wird)
}

void loop()
{
  VAR = digitalRead(BUTTON);

  if (VAR == LOW)                // wenn BUTTON gedrückt wird ist VAR = LOW
  {
    delay(3000);                 // 3 Sekunden warten
    digitalWrite(CAM, HIGH);     // CAM durch HIGH auslösen
    delay(20);                   // Auslöseimpuls 20 Millisekunden
    digitalWrite(CAM, LOW);      // Verbindung trennen
  }
    else                         // wenn BUTTON nicht gedrückt wird ist VAR = HIGH
  {
    digitalWrite(CAM, LOW);
  }
}
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on Apr 29, 2013, 03:18 pm

Und das währ dann der (für mich lesbare) Schaltplan zum Testen mit einer LED:

Die Beschaltung von Pin 3 und 4 des Optokopplers ist noch verkehrt. Ich glaube Gunther hat dir das bereits in einer Skizze verdeutlicht. Pin 4 geht auf Masse, Pin 3 zu Widerstand, LED und dann weiter auf die positive Versorgungsspannung. Polung der LED beachten, sonst leuchtet sie nicht.

[edit] Beitrag von guntherb: http://arduino.cc/forum/index.php/topic,162278.msg1219420.html#msg1219420
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: MaFu on Apr 29, 2013, 03:30 pm

Und hier nochmal der jetzt hoffentlich endgültige Sketch:

Code: [Select]
const int CAM = 8;
const int BUTTON = 13;

int VAR = 0;

void setup(
{
  pinMode(CAM, OUTPUT);
  pinMode(BUTTON, INPUT_PULLUP);  // aktiviert den internen Pullup (= HIGH wenn BUTTON nicht gedrueckt wird)
}

void loop()
{
  VAR = digitalRead(BUTTON);

  if (VAR == LOW)                // wenn BUTTON gedrückt wird ist VAR = LOW
  {
    delay(3000);                 // 3 Sekunden warten
    digitalWrite(CAM, HIGH);     // CAM durch HIGH auslösen
    delay(20);                   // Auslöseimpuls 20 Millisekunden
    digitalWrite(CAM, LOW);      // Verbindung trennen
  }
    else                         // wenn BUTTON nicht gedrückt wird ist VAR = HIGH
  {
    digitalWrite(CAM, LOW);
  }
}


Den else Zweig brauchst Du nicht.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: Sheldor on Apr 29, 2013, 03:31 pm
Auf dem Schaltplan ist die LED falsch herum eingebaut.
Langes Beinchen = Anode
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 29, 2013, 05:27 pm
Ich habe es jetzt zu 100% nachgebaut und es geht nicht! So langsam stellt sich bei mir hier der Frust ein!
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on Apr 29, 2013, 05:33 pm

Ich habe es jetzt zu 100% nachgebaut und es geht nicht! So langsam stellt sich bei mir hier der Frust ein!

Du kennst die Prozedur: Bitte Sketch und Foto. ;)
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 29, 2013, 05:35 pm
So, mit diesem Sketch (den ich gestern entwickelt hatte) geht es, aber die LED flackert nur ganz dunkel - [font=Verdana]ob das für die CAM reicht?[/font]

Code: [Select]
const int CAM = 8;
const int BUTTON = 13;

int VAL1 = 0;
int VAL2 = 0;
int VAL3 = 0;

void setup()
{
 pinMode(CAM, OUTPUT);
 pinMode(BUTTON, INPUT);
}

void loop()
{
 VAL1 = digitalRead(BUTTON);
 if ((VAL1 == HIGH) && (VAL2 == LOW))
   {
   VAL3 = 1 - VAL3;
   delay(10);
   }
   VAL2 = VAL1;
   if (VAL3 == 1)
   {
   digitalWrite(CAM, LOW);
   }
   else
   {
   digitalWrite(CAM, HIGH);
   delay(50);    
   VAL2 = LOW;
}
}

Ich würd mal gerne wissen, was an dem anderen Code (von euch) nicht stimmt?????
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 29, 2013, 05:45 pm
Ok, wenn ich statt 470 ohm nur 100 ohm zum Optokoppler nehme, brennt die LED heller.

Reichen 100 Ohm für den Eingang 1 vom Optokoppler?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on Apr 29, 2013, 05:51 pm
Bevor du "unseren" Code als nicht funktionierend abstempelst, solltest du deinen Code erst einmal erklären können (ggf. um Kommentare ergänzen).

Was mir daran nicht passt sind folgende Sachen, die ja schon zur Genüge erklärt wurden: Entweder internen Pullup oder externe Widerstände verwenden! Wofür stehen VAL1 bis VAL3? Okay, VAL1 ist schnell erklärt, ist der Status von Tasterpin. Den vergleichst du auf High und gleichzeitig VAL2 auf Low? Woher kommt VAL2? Dann mischst du High und 0 und Low und 1 nach Gutdünken, hat das irgendwie System? Für mich ergibt das gar keinen Sinn...
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 29, 2013, 05:58 pm
Das ist der leicht angepasste Code von Beispiel 4-5: turn_on_led_when_the_button_is_pre-id002
und ich habe für val VAL1, old_val VAL2, state VAL3 genommen.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on Apr 29, 2013, 06:15 pm
Okay, und wie hilft dir dieser Code weiter? Wenn ich das jetzt richtig gesehen habe, wechselt der auf Tastendruck nur den Status einer LED:
Tastendruck - LED leuchtet permanent - Tastendruck - LED aus - Tastendruck - LED leuchtet permanent - ... usw.
Was hat das mit deiner Aufgabenstellung zu tun? Warum verstümmelst du die Variablennamen bis zum Nicht-mehr-Wiedererkennen? Wie sieht die externe Beschaltung aus? Ich habe das angesprochene Buch nicht, hab nur den Beispielsketch bei Google Books gefunden...

Mach doch noch mal ein Foto...
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 29, 2013, 06:43 pm
So, hier das Foto. Der Sketch macht genau das was ich möchte: wenn ich den Taster drücke leuchtet die LED nach 2 sec. kurz (50 Millisekunden) auf.
Genau das verwende ich jetzt und schließe statt der LED meine CAM an und dann müsste nach 2 sec. die Kamera auslösen.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 29, 2013, 06:48 pm
ASCHE ÜBER MEIN HAUPT !!!

Der Sketch von euch geht doch - wegen der geringen Leuchtkraft konnte ich das nur nicht erkennen. Hier der "andere" Sketch von euch mit dem es auch geht.
Aber welcher ist nun besser/schlechter wenn doch beide das gleiche bewirken?

Code: [Select]
const int CAM = 8;
const int BUTTON = 13;

int VAR = 0;

void setup()
{
 pinMode(CAM, OUTPUT);
 pinMode(BUTTON, INPUT_PULLUP);  // aktiviert den internen Pullup (= HIGH wenn BUTTON nicht gedrueckt wird)
}

void loop()
{
 VAR = digitalRead(BUTTON);

 if (VAR == LOW)                // wenn BUTTON gedrückt wird ist VAR = LOW
 {
   delay(2000);                 // 2 Sekunden warten
   digitalWrite(CAM, HIGH);     // CAM durch HIGH auslösen
   delay(50);                   // Auslöseimpuls 50 Millisekunden
   digitalWrite(CAM, LOW);      // Verbindung trennen
 }
   else                         // wenn BUTTON nicht gedrückt wird ist VAR = HIGH
 {
   digitalWrite(CAM, LOW);
 }
}
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 29, 2013, 06:57 pm
[font=Verdana]HURA[/font][/size][/b]
die Kamera hat ausgelöst und ist noch heile...
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 29, 2013, 07:07 pm
Was mich jetzt nur stört: durch das zusammenschließen von GND und Focus ist die Cam ständig in "Bereitschaft" (so als ob man permanent auf den Auslöser drücken würde - 1.Druckpunkt).
Ich müsste jetzt wohl noch die Kabel trennen und anders schalten - aber wie?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 29, 2013, 07:44 pm
Problem gelöst: ich habe jetzt an Pin8 vom Arduino den Auslöser und an Pin9 vom Arduino den Focus.
Pin9 bekommt wie Pin8 einen Optokoppler und an Pin4 der beiden Optokoppler liegt der GND der Cam an.

Der Sketch sieht dann so aus:

Code: [Select]
const int CAM1 = 9;    // für den Focus
const int CAM2 = 8;    // für den Auslöser
const int BUTTON = 13;

int VAR = 0;

void setup()
{
  pinMode(CAM1, OUTPUT);
  pinMode(CAM2, OUTPUT);
  pinMode(BUTTON, INPUT_PULLUP);  // aktiviert den internen Pullup (= HIGH wenn BUTTON nicht gedrueckt wird)
}

void loop()
{
  VAR = digitalRead(BUTTON);

  if (VAR == LOW)                 // wenn BUTTON gedrückt wird ist VAR = LOW
  {
    delay(2000);                  // 2 Sekunden warten
    digitalWrite(CAM1, HIGH);     // Focus durch HIGH auslösen
    delay(10);                    // 10 Millisekunden warten
    digitalWrite(CAM2, HIGH);     // Auslöser durch HIGH auslösen
    delay(10);                    // 10 Millisekunden warten
    digitalWrite(CAM1, LOW);      // Verbindung trennen
    digitalWrite(CAM2, LOW);      // Verbindung trennen
  }
    else                          // wenn BUTTON nicht gedrückt wird ist VAR = HIGH
  {
    digitalWrite(CAM1, LOW);
    digitalWrite(CAM2, LOW);
  }
}
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 29, 2013, 07:49 pm
Dann wird es jetzt aber eng mit den digitalen Ausgängen...

00 + 01 müssen frei bleiben für evtl. spätere Übertragung von Daten mit einem Formular

02 = Ventil 1
03 = Ventil 2
04 = Ventil 3
05 = optional für Ventil 4
06 = optional für Ventil 5
07 = optional für Blitzanschluss
08 = Auslöser Cam1
09 = Focus Cam1
10 = Auslöser Cam2
11 = Focus Cam2
12 = Lichtschranke
13 = Auslöser

nun fehlt mir noch ein Ausgang für einen Geräuschsensor...

Kann ich einen Analogen Eingang für den Auslöser nehmen - dann hätte ich 13 frei für den Geäuschsensor.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on Apr 29, 2013, 08:18 pm
Du kannst die analogen Eingänge auch als Digitalpins verwenden.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: michael_x on Apr 29, 2013, 09:32 pm
Werden beide Cams vo einem Auslöser/Lichtschranke gesteuert ? Mit individuellen Verzögerungszeiten ?
Dann kannst du zumindest den Dummy-Focus für beide auf einen Pin legen.

Wenn die Analog-Pins auch verbraucht sind, kannst du, statt auf einen 2560 umzusteigen, die langsameren Ausgänge auf ein Shift Register (http://arduino.cc/en/Tutorial/ShiftOut) legen
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 30, 2013, 07:58 am
Mal eine Frage zum Optokoppler: dieser überträgt doch mittels optischem Sender das Signal. Wie kann es dan sein, das die LED bei einem höherem VorWiderstand vor dem Optokoppler geringer leuchtet?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 30, 2013, 01:34 pm

Du kannst die analogen Eingänge auch als Digitalpins verwenden.

Kann ich dafür auch INPUT_PULLUP verwenden?

const int TRIP = A5;   // Pin A5 = Starttaste
void setup()
{
pinMode(TRIP, INPUT_PULLUP);
}
void loop()
{
While (analogRead(TRIP) == LOW && start == false)   // wenn Taste gedrückt wird
{
startzeit = millis();
}
...

???
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 30, 2013, 01:45 pm

Werden beide Cams vo einem Auslöser/Lichtschranke gesteuert ? Mit individuellen Verzögerungszeiten ?
Dann kannst du zumindest den Dummy-Focus für beide auf einen Pin legen.

Und wie steuere ich dann die Zeiten? Ich möchte z.B. dass Cam2 x ms nach Cam1 auslöst.

Normalerweise sieht der Sketch so aus:

...
...
digitalWrite(FOCUS_CAM1, HIGH);
delay(10);
digitalWrite(SHUTTER_CAM1, HIGH);
delay(10);
digitalWrite(FOCUS_CAM1, LOW);
digitalWrite(SHUTTER_CAM1, LOW);
...
...

Und neu würde das so aussehen:???

...
...
digitalWrite(FOCUS_CAM1+2, HIGH);
delay(10);                                       // 10 ms sind nötig bevor der SHUTTER reagirt
digitalWrite(SHUTTER_CAM1, HIGH);
delay(10 + abstand);                          // abstand währe die Zeitvariable wieviel später CAM2 auslösen soll
digitalWrite(SHUTTER_CAM2, HIGH);
delay(10);
digitalWrite(FOCUS_CMA1+2, LOW);
digitalWrite(SHUTTER_CAM1, LOW);
digitalWrite(SHUTTER_CAM2, LOW);
...
...
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: michael_x on Apr 30, 2013, 02:57 pm
Quote
Und neu würde das so aussehen:???

Ja, so sehe ich es im Prinzip, ausser dass mir die ersten und letzten 10 ms etwas knapp vorkommen und die Zeit zwischen den 2 Auslösern
ohne zusätzliche 10 ms definiert werden sollte.
 
Code: [Select]

digitalWrite(FOCUS_CAM1, HIGH);
delay(10);                                       // 10 ms sind nötig bevor der SHUTTER reagirt
digitalWrite(SHUTTER_CAM1, HIGH);
delay(abstand);                               // abstand währe die Zeitvariable wieviel später CAM2 auslösen soll
digitalWrite(SHUTTER_CAM2, HIGH);
delay(10);



Ich hätte gedacht, das Dummy-Focus schon früh (beim Aktivieren) zu setzen und die Auslöser mit kurzen Verzögerungen durch die Lichtschranke zu triggern.
( Wenn du nicht sowieso langfristig auf die Methode "Blitz im Dunkeln" umsteigst. )

Und ja, OptoKoppler sind (miserable) Verstärker: um einen nennenswerten Strom durch C-E zu bekommen, braucht es einen großen Strom in die LED Seite.
(Lies das Datenblatt des Opto, es gibt welche mit einer "Verstärkung" von 40% ).
Kein Wunder dass mit 100 Ohm Vorwiderstand die Test-LED heller ist als mit 470 Ohm.  
Deine Kamera wird vermutlich weniger Strom ziehen als deine Test-LED.

610A-3 ist übrigens im Datenblatt (http://www.vishay.com/docs/83666/sfh610a.pdf) eine gute Wahl in für deinen Test:

IC / IF = 100 - 200 %
IF sat = 10mA

Wenn du den Vorwiderstand so wählst, dass IF 10mA wird, kannst du 10 .. 20 mA Kollektorstrom erreichen.



pinMode(A5, INPUT_PULLUP); geht ohne weiteres.

[edit:] Hab ich doch selber nachgesehen im Datenblatt und Link angehängt ;)
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 30, 2013, 03:16 pm
Also die Lichtschranke soll nicht für die Tropfenfotografie sein, die soll für spätere andere Aufnahmen dienen.
Bei der Tropfenfotografie starte ich den Prozess durch drücken des Tasters (Pin A5) und durch Vorgabe der Zeiten:

Ventil 1 an nach 1000ms für 85ms
Ventil 2 an nach 1200ms für 50ms
Ventil 3 an nach 1100ms für 55ms
KameraFocus an nach 1000ms
KameraShutter1 auslösen nach 10ms + 50ms (nach KameraFocus an)
KameraShutter2 auslösen nach 30ms (nach KameraShutter1 an)

10ms reichen zwischen Focus und Shutter aus - habe ich bereits getestet.
Ok, die 10ms kann man weglassen.
Und wenn ich den Focus beider Cams zusammenlege könnte ich den Auslöser wieder an 13 plazieren.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: MaFu on Apr 30, 2013, 04:50 pm


Du kannst die analogen Eingänge auch als Digitalpins verwenden.

Kann ich dafür auch INPUT_PULLUP verwenden?

const int TRIP = A5;   // Pin A5 = Starttaste
void setup()
{
pinMode(TRIP, INPUT_PULLUP);
}
void loop()
{
While (analogRead(TRIP) == LOW && start == false)   // wenn Taste gedrückt wird
{
startzeit = millis();
}
...

???


Aber nicht analogRead() verwenden sondern wie bei den andern Pins auch digitalRead(). Die Pins sollen ja schließlich als Digitalpins verwendet werden. Und es wird einfach weitergezählt. Analogpin 0 ist Digitalpin 14, Analogpin 1 ist Digitalpin 15, ...
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: michael_x on Apr 30, 2013, 05:20 pm
Quote
Und es wird einfach weitergezählt. Analogpin 0 ist Digitalpin 14, Analogpin 1 ist Digitalpin 15, ...

Stimmt,  A0 kann aber  - je nach Geschmack - genauso gut genommen werden.

Mit  if (digitalRead(TRIP) == LOW &&  start == false) hat MaFu allerdings einen wichtigen Punkt erwähnt; hab ich übersehen,sorry...
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on Apr 30, 2013, 06:01 pm
Ja, danke. Nur leider habe ich einen Fehler in meinem Sketch: "While was not declared in this sope"
Anbei mein Sketch mit der Bitte mal drüberzuschauen. Danke.

Code: [Select]

// Sketch zur Steuerung von 3 Ventilen und 2 Kameras

const int VEN1 = 2; // Pin 2 = Ventil 1
const int VEN2 = 3; // Pin 3 = Ventil 2
const int VEN3 = 4; // Pin 4 = Ventil 3
// Pin 5 = optional Ventil 4
// Pin 6 = optional Ventil 5
// Pin 7 = optional Blitz
const int CAM1S = 8;         // Pin 8 = Verschluss Kamera 1
const int CAM2S = 9;         // Pin 9 = Verschluss Kamera 2
const int CAMF = 10;         // Pin 10 = Focus Kamera 1+2
// Pin 11 = optional Lichtschranke
// Pin 12 = optional Geräuschsensor
const int TRIP = 13; // Pin 13 = Starttaste

int startzeit = 0;
int start = 0;

unsigned long VEN1_ON = 1000;   // Ventil 1 öffnen nach x ms
unsigned long VEN1_OF = 100; // Öffnungszeit Ventil 1

unsigned long VEN2_ON = 1150; // Ventil 2 öffnen nach x ms
unsigned long VEN2_OF = 85; // Öffnungszeit Ventil 2

unsigned long VEN3_ON = 1300; // Ventil 3 öffnen nach x ms
unsigned long VEN3_OF = 90; // Öffnungszeit Ventil 3

unsigned long CAMF_ON = 1000; // Focus Kamera 1+2 aktivieren nach x ms
unsigned long CAM1S_ON = 190; // Kamera 1 auslösen nach 10 ms + x ms nach Focus
unsigned long CAM2S_ON = 50; // Verzögerungszeit wann Cam2 auslösen soll nach Cam1

unsigned long ENDE = 1500; // Ende der Prozedur nach x ms

void setup()
{
pinMode(VEN1, OUTPUT);
pinMode(VEN2, OUTPUT);
pinMode(VEN3, OUTPUT);
pinMode(CAM1S, OUTPUT);
pinMode(CAM2S, OUTPUT);
pinMode(CAMF, OUTPUT);
pinMode(TRIP, INPUT_PULLUP); // aktiviert den internen pullup = HIGH wenn TRIP nicht gedrückt
}

void loop()
{
   While (digitalRead(TRIP) == LOW && start == false) // wenn Taste gedrückt wird
   {
   startzeit = millis();
   }
         start = true;
         delay(100);
         if (startzeit + VEN1_ON < millis())
         {
            digitalWrite(VEN1, HIGH);
            delay(VEN1_OF);
            digitalWrite(VEN1, LOW);
         }
         if (startzeit + VEN2_ON < millis())
         {
            digitalWrite(VEN2, HIGH);
            delay(VEN2_OF);
            digitalWrite(VEN2, LOW);
         }
         if (startzeit + VEN3_ON < millis())
         {
            digitalWrite(VEN3, HIGH);
            delay(VEN3_OF);
            digitalWrite(VEN3, LOW);
         }
         if (startzeit + CAMF_ON < millis())
         {
            digitalWrite(CAMF, HIGH);
            delay(10 + CAM1S_ON);
            digitalWrite(CAM1S, HIGH);
            delay(CAM2S_ON);
            digitalWrite(CAM2S, HIGH);
            delay(10);
            digitalWrite(CAMF, LOW);
            digitalWrite(CAM1S, LOW);
            digitalWrite(CAM2S, LOW);
         }
         if (startzeit + ENDE == millis())
         {
         start = false;
         }
}

Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on Apr 30, 2013, 06:09 pm
Wieviele Befehle inenrhalb der Arduino-IDE sind dir bekannt, die mit Großbuchstaben beginnen? ;)
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: michael_x on Apr 30, 2013, 06:28 pm
... und warum nimmst du überhaupt ein While / while,  statt eines if( )  ?

oder sitzt die } am Ende des "While" falsch ?
Da fiele mir aber auch nicht ein, wie du es eigentlich haben wölltest (und wenns zu kompliziert für mich ist, ist es schlecht ) ;)


Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 01, 2013, 10:52 am

Wieviele Befehle inenrhalb der Arduino-IDE sind dir bekannt, die mit Großbuchstaben beginnen? ;)
Danke, aber manchmal sieht man den Wald vor lauter Bäumen nicht...

Ok das währ gelöst, aber der Sketch muss irgendeinen Fehler haben - die Cam löst sofort und permanent aus.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: flohzirkus on May 01, 2013, 10:59 am

die Cam löst sofort und permanent aus.


Natürlich macht sie das. Mache dir einfach klar, was if (...){...} und while(...){...} bedeuten.
Außerdem denke daran, dass loop() wieder von vorn beginnt, wenn es einmal durchgelaufen ist.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 01, 2013, 11:04 am
Das mit der while-Schleife hat mir guntherb hier so empfohlen:


Zum Schalter abfragen würde ich (für den Anfang) sowas reinsetzen:
Code: [Select]
while (digitalRead(Startknopf) == HIGH  && Start == false) {    // Für Schalter nach Masse.  Für Schalter nach 5V auf LOW prüfen
  STARTZEIT = millis();
}
Start = true;
delay(100);  // zum Entprellen des Tasters


Die while-Schleife wird solange durchlaufen (er "hängt in der Whileschleife fest") bis der Taster gedrückt wurde.
Variable boolean Start sorgt dafür, dass er erst wieder in die whileschleife eintritt, wenn der nächste Start freigegeben ist.
Das würde ich jetzt wieder über eine Abfrage machen:
Code: [Select]
if (STARTZEIT + AllesFertig == millis()){
Start = false;
}
später kannst du das auch über den PC wieder freischalten.

AllesFertig sollte eine Zeit sein, die länger als alle anderen ist.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: flohzirkus on May 01, 2013, 12:01 pm
Deshalb tritt der Arduino auch nicht wieder in eine Warteschleife ein. Er läuft immer wieder durch loop() und löst dabei alle möglichen Aktionen aus - bis endlich die Abbruchbedingung erfüllt ist.

Füge mal strategisch geschickt das eine oder andere
Code: [Select]
Serial.println("Ventil 1 auf ...");
ein, um zu beobachten, wie oft dein Sketch z.B. das erste Ventil öffnet ...
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 02, 2013, 09:38 am
Deshalb tritt der Arduino auch nicht wieder in eine Warteschleife ein.
Weshalb?

Ich stehe aktuell total auf dem Schlauch was die "Schleife" angeht. Ich möchte das bei Knopfdruck das ganze nur einmal passiert - also wie kann ich das so "isolieren", dass in der loop-Schleife auf den Knopfdruck "gewartet" wird und nur bei Knopfdruck das eigentliche Programm durchgeführt wird (und zwar nur genau einmal)??
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on May 02, 2013, 10:58 am
Eines deiner Probleme könnte diese Zeile sein:
if (startzeit + ENDE == millis())

Du darfst niemals einen Vergleich mit == auf millis() machen.
Denn diese Bedingung ist nur genau für eine Millisekunde true. Und wenn loop nicht genau zufällig in dieser Millisekunde da vorbeikommt, wird sie nie erfüllt. Das war, verzeih mir, ein Tipfehler von mir.

Aber auch das lehrt wieder: nie einfach etwas übernehmen, was man nicht versteht.  :)

Durch diesen Fehler wird die Variable "Start" nie zürückgesetzt und damit fängt sich der Arduino nicht wieder in der while-Schleife am Anfang.

Und, nur zur Sicherheit:
Das mit der whileschleife ist nicht sauber programmiert, weil es den Prozessor "fängt" und in einer Endlosschleife hängt bis zum Tastendruck und sonst nichts machen kann. (auch keine serielle Kommunikation). Das ist nur zum "mal schnell was testen".

Später wirst du nicht umhinkommen, das vernünftig aufzubauen, z.B. mit einer State machine.

Und noch ein Tip zur Fehlersuche:
"Serial.print()" an strategischen Stellen verteilt hilft dir zu verstehen, was dein Program macht, welche Zweige es durchläuft, welchen Wert Variablen haben. Das ist wichtig für die Fehlersuche.

Gunther
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 02, 2013, 11:15 am
Ich habe jetzt mal einen Sketch mit entsprechenden Komentaren geschrieben. Würde der so jetzt "sauber" und nur einmal durchlaufen bis ich erneut den Taster drücke?
Oder was müsste wo an welcher Stelle wie geändert werden?

Code: [Select]

const int CAMS = 8;    // Pin 8 = Kameraverschluß
const int CAMF = 10;   // Pin 10 = Kamerafokus
const int TRIP = 13;   // Pin 13 = Starttaste (normaler Taster)

int startzeit

unsigned long CAMF_ON = 2000;    // Kamerafokus nach 2 Sekunden aktivieren
unsigned long CAMS_ON1 = 2000;   // Kamera 2 Sekunden nach Aktivierung des Fokus auslösen
unsigned long CAMS_ON2 = 3000;   // Kamera erneut 3 Sekunden nach erster Aktivierung auslösen

void setup()
{
  pinMode(CAMS, OUTPUT);
  pinMode(CAMF, OUTPUT);
  pinMode(TRIP, INPUT_PULLUP);   // aktiviert den internen pullup (TRIP = HIGH)
}

void loop()
{
  if (digitalRead(TRIP) == LOW)          // wenn die Starttaste gedrückt wird ist TRIP = LOW
  {
  startzeit = millis();                  // startzeit = aktuell Programm(ablauf)zeit
  delay(100);                            // zum Entprellen der Starttaste
  }
  if (startzeit + CAMF_ON < millis())    // dies müsste 2 Sekunden nach drücken der Taste der Fall sein
  {
     digitalWrite(CAMF, HIGH);           // Fokus aktivieren (2 Sekunden nach drücken der Taste)
     delay(CAMS_ON1);                    // 2 Sekunden warten
     digitalWrite(CAMS, HIGH);           // Kamera nach 2 Sekunden auslösen
     delay(10);                          // 10ms warten
     digitalWrite(CAMS; LOW);            // Kamera deaktivieren damit nur eine Aufnahme gemacht wird
     delay(CAMS_ON2);                    // 3 Sekunden warten
     digitalWrite(CAMS, HIGH);           // Kamera nach 3 Sekunden erneut auslösen
     delay(10);                          // 10ms waren
     digitalWrite(CAMS, LOW);            // Kamera deaktivieren
     digitalWrite(CAMF; LOW)             // Fokus deaktivieren
  }
}
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: flohzirkus on May 02, 2013, 05:16 pm

Ich habe jetzt mal einen Sketch mit entsprechenden Komentaren geschrieben. Würde der so jetzt "sauber" und nur einmal durchlaufen bis ich erneut den Taster drücke?
Oder was müsste wo an welcher Stelle wie geändert werden?


Nein, würde er nicht. Vor allem hast du die Variable herausgenommen, die entscheidet, ob im Moment gerade eine "Belichtungssequenz" läuft, die Entscheidung liegt nur in der Variable "startzeit".

Deine Sequenz wird jetzt bei jedem loop()-Durchlauf, der später als 2 Sekunden nach dem ersten Tastendruck erfolgt, ausgeführt.
Je nachdem, was am Anfang in "startzeit" steht, wird die Sequenz früher oder später auch ohne Tastendruck ausgeführt.

Was du ändern solltest?
Debug-Meldungen einbauen - Serial.println(...) - um zu verstehen, was der Arduino macht.
Dann: viel ausprobieren! (besser mit aufblinkenden LEDs statt mit auslösenden Kameras)
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 02, 2013, 06:53 pm
Ich versteh es nicht...

Dieser Sketch läuft genauso wie ich es mir vorstelle:

Code: [Select]

const int CAMS = 8;     // Pin 8  = Kameraverschluß
const int CAMF = 10;    // Pin 10 = Kamerafokus
const int TRIP = 13;    // Pin 13 = Starttaste

int VAR = 0;

unsigned long CAMF_ON = 2000;   // Kamerafokus nach 2 Sekunden aktivieren
unsigned long CAMS_ON1 = 2000;  // Kamera 2 Sekunden nach Aktivierung des Fokus auslösen
unsigned long CAMS_ON2 = 3000;  // Kamera nach 3 Sekunden erneut auslösen

void setup()
{
  pinMode(CAMS, OUTPUT);
  pinMode(CAMF, OUTPUT);
  pinMode(TRIP, INPUT_PULLUP);  // aktiviert den internen Pullup (= HIGH wenn TRIP nicht gedrueckt wird)
}

void loop()
{
  VAR = digitalRead(TRIP);

  if (VAR == LOW)                 // wenn BUTTON gedrückt wird ist VAR = LOW
  {
    delay(100);                   // zum Entprellen
    delay(CAMF_ON);               // focus nach 2 Sekunden aktivieren
    digitalWrite(CAMF, HIGH);     // focus durch HIGH auslösen
    delay(CAMS_ON1);              // shutter nach weiteren 2 Sekunden aktivieren
    digitalWrite(CAMS, HIGH);     // shutter durch HIGH auslösen
    delay(10);                    // 10 Millisekunden warten
    digitalWrite(CAMS, LOW);      // shutter durch LOW deaktivieren
    delay(CAMS_ON2);              // shutter nach weiteren 3 Sekunden aktivieren
    digitalWrite(CAMS, HIGH);     // shutter durch HIGH auslösen
    delay(10);                    // 10 Millisekunden warten
    digitalWrite(CAMS, LOW);      // shutter durch LOW deaktivieren
    digitalWrite(CAMF, LOW);      // focus durch LOW deaktivieren
  }
    else                          // wenn BUTTON nicht gedrückt wird ist VAR = HIGH
  {
    digitalWrite(CAMF, LOW);
    digitalWrite(CAMS, LOW);
  }
}


Und dieser Sketch, bei dem ich lediglich millis() mit eingebaut habe läuft nicht:

Code: [Select]

const int CAMS = 8;     // Pin 8  = Kameraverschluß
const int CAMF = 10;    // Pin 10 = Kamerafokus
const int TRIP = 13;    // Pin 13 = Starttaste

int VAR = 0;
int startzeit = 0;

unsigned long CAMF_ON = 2000;   // Kamerafokus nach 2 Sekunden aktivieren
unsigned long CAMS_ON1 = 2000;  // Kamera 2 Sekunden nach Aktivierung des Fokus auslösen
unsigned long CAMS_ON2 = 3000;  // Kamera nach 3 Sekunden erneut auslösen

void setup()
{
  pinMode(CAMS, OUTPUT);
  pinMode(CAMF, OUTPUT);
  pinMode(TRIP, INPUT_PULLUP);  // aktiviert den internen Pullup (= HIGH wenn TRIP nicht gedrueckt wird)
}

void loop()
{
  VAR = digitalRead(TRIP);

  if (VAR == LOW)                 // wenn BUTTON gedrückt wird ist VAR = LOW
  {
    startzeit = millis();
    delay(100);                   // zum Entprellen
   
    if (startzeit + CAMF_ON < millis())
    {   
      digitalWrite(CAMF, HIGH);     // focus durch HIGH auslösen
      delay(CAMS_ON1);              // shutter nach weiteren 2 Sekunden aktivieren
      digitalWrite(CAMS, HIGH);     // shutter durch HIGH auslösen
      delay(10);                    // 10 Millisekunden warten
      digitalWrite(CAMS, LOW);      // shutter durch LOW deaktivieren
      delay(CAMS_ON2);              // shutter nach weiteren 3 Sekunden aktivieren
      digitalWrite(CAMS, HIGH);     // shutter durch HIGH auslösen
      delay(10);                    // 10 Millisekunden warten
      digitalWrite(CAMS, LOW);      // shutter durch LOW deaktivieren
      digitalWrite(CAMF, LOW);      // focus durch LOW deaktivieren
    }
  }
    else                          // wenn BUTTON nicht gedrückt wird ist VAR = HIGH
  {
    digitalWrite(CAMF, LOW);
    digitalWrite(CAMS, LOW);
  }
}


Woran liegt das?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: flohzirkus on May 02, 2013, 09:00 pm

Woran liegt das?


Daran:

if (startzeit + CAMF_ON < millis())
    {
...


Die Bedingung ist nämlich nicht erfüllt, wenn der Prozessor sie abarbeitet.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 03, 2013, 07:55 am
Würde es so gehen (vereinfachte Darstellung):

void loop()
{
   VAR = digitalRead(TRIP);
   if (VAR == LOW)
   {
      startzeit = millis();
      delay(100);
      ende = true;
   }
   while (ende = true)
   {
      if (startzeit + CAMF_ON < millis())
      {
         ...
      }
      if (startzeit + ENDZEIT < millis())
      {
         ende = false
      }
   }
}
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on May 03, 2013, 08:45 am
rein vom code her betrachtet:

du liest den Taster ein: VAR = digitalRead(TRIP);
dann prüfst du (sofort danach!), ob seit dem Tastendruck schon 2 sek vergangen sind: if (startzeit + CAMF_ON < millis()), was natürlich noch nicht der Fall ist.
daraufhin beendest du die If anweisung, und loop() beginnt wieder von vorne,  und, fragt als erstes wieder den Taster ab:VAR = digitalRead(TRIP);, der natürlich inzwischen wieder high ist!

hast du denn Serial.print() schonmal probiert, um zu sehen, was der Code macht?

Laß' doch mal diesen code laufen und seh dir dazu den Seriellen Monitor an. (einfach in deiner Arduino-Umgebung oben rechts auf die Lupe klicken)

Code: [Select]
const int CAMS = 8;     // Pin 8  = Kameraverschluß
const int CAMF = 10;    // Pin 10 = Kamerafokus
const int TRIP = 13;    // Pin 13 = Starttaste

int VAR = 0;
int startzeit = 0;

unsigned long CAMF_ON = 2000;   // Kamerafokus nach 2 Sekunden aktivieren
unsigned long CAMS_ON1 = 2000;  // Kamera 2 Sekunden nach Aktivierung des Fokus auslösen
unsigned long CAMS_ON2 = 3000;  // Kamera nach 3 Sekunden erneut auslösen

void setup()
{
  Serial.begin(9600);
  pinMode(CAMS, OUTPUT);
  pinMode(CAMF, OUTPUT);
  pinMode(TRIP, INPUT_PULLUP);  // aktiviert den internen Pullup (= HIGH wenn TRIP nicht gedrueckt wird)
}

void loop()
{
  VAR = digitalRead(TRIP);
  Serial.print("VAR: "); Serial.println(VAR);

  if (VAR == LOW)                 // wenn BUTTON gedrückt wird ist VAR = LOW
  {
    Serial.println("                          Eintritt IF  VAR == LOW");
    delay(100);                   // zum Entprellen
    startzeit = millis();
    Serial.print("startzeit = "); Serial.print(startzeit);
    Serial.print(";    millis()  = "); Serial.println(millis());
   
    if (startzeit + CAMF_ON < millis())
    {   
      Serial.println("                          Eintritt IF  Kamera Ansteuern");
      digitalWrite(CAMF, HIGH);     // focus durch HIGH auslösen
      delay(CAMS_ON1);              // shutter nach weiteren 2 Sekunden aktivieren
      digitalWrite(CAMS, HIGH);     // shutter durch HIGH auslösen
      delay(10);                    // 10 Millisekunden warten
      digitalWrite(CAMS, LOW);      // shutter durch LOW deaktivieren
      delay(CAMS_ON2);              // shutter nach weiteren 3 Sekunden aktivieren
      digitalWrite(CAMS, HIGH);     // shutter durch HIGH auslösen
      delay(10);                    // 10 Millisekunden warten
      digitalWrite(CAMS, LOW);      // shutter durch LOW deaktivieren
      digitalWrite(CAMF, LOW);      // focus durch LOW deaktivieren
    }
  }
    else                          // wenn BUTTON nicht gedrückt wird ist VAR = HIGH
  {
    Serial.println("                          Eintritt else VAR == LOW");
    digitalWrite(CAMF, LOW);
    digitalWrite(CAMS, LOW);
  }
}



Aber die Frage ist für mich vielmehr:
was willst du mit dieser IF-Abfrage if (startzeit + CAMF_ON < millis()) bezwecken?
Selbst wenn man das jetzt so hinstrickt, dass es funktioniert, dann würde sie nur dafür sorgen, dass nach dem Knopfdruck 2sek gewartet wird, bis die Kamera ausgelöst wird.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 03, 2013, 09:00 am
was willst du mit dieser IF-Abfrage ... bezwecken?


Was am Ende dabei rauskommen soll wisst ihr doch und das ich Teile davon zuvor testen soll war doch euer Vorschlag.
Von daher verstehe ich die Frage an dieser Stelle nicht, zumal du selber mir dieses Vorgehen empfohlen hast:


Im Prinzip sollte das so gehen:
Bei Knopfdruck millis() merken.
Code: [Select]
startzeit = millis();
Dann für die einzelnen Aktionen abfragen:
Code: [Select]
if (startzeit + Ventil1zeit < millis()){
 digitalWrite(VENTIL1, HIGH);
}

 
Wie gesagt, im Beispiel BlinkWithoutDelay ist der Ansatz beschrieben.

Die Zeiten mußt du dir alle als Variable definieren.
Code: [Select]
unsigned long Ventil1ein = 5000;
unsigned long Ventil1aus = 6000;
unsigned long Ventil2ein = 5500;
unsigned long Ventil2aus = 6700;
etc
.
Die Zeiten am besten immer absolut von Start an gerechnet, muß aber nicht sein, dann musst du halt addieren.


Natürlich würde der Sketch für sich alleine betrachtet mit dieser einen if-Abfrage nicht viel sinn machen.

Aber später soll doch variabel gesteuert werden wann

- Ventil 1 öffnet
- Ventil 2 öffnet
- Ventil 3 öffnet
- ...
- Kamera 1 auslöst
- Kamera 2 auslöst


Wobei das nicht zwingend in der Reihenfolge wie angegeben ausgeführt werden soll.
Es kann also sein, daß durch die "Zeitvariablen" erst Ventil 2 dann 3 dann 1 öffnen
soll und dann Kamera2 vor Kamera1 auslösen soll - oder eben in anderer Reihenfolge.

Von daher nochmal die Frage ob das so gehen würde:

void loop()
{
  VAR = digitalRead(TRIP);
  if (VAR == LOW)
  {
     startzeit = millis();
     delay(100);
     ende = true;
  }
  while (ende = true)
  {
     if (startzeit + CAMF_ON < millis())
     {
        ...
     }
     if (startzeit + ENDZEIT < millis())
     {
        ende = false
     }
  }
}

Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on May 03, 2013, 09:27 am
ich habe dir unten mal einen Beispielcode eingefügt, um die zu zeigen, wie man sowas aufziehen KÖNNTE.

die wesentliche Struktur ist diese:
Code: [Select]
  if (RunAction && !DoneAction1 && startzeit + Action1time < millis()){     
    // Aktion1 ausführen
    DoneAction1 = true;


RunAction wird gesetzt, wenn der Taster zum Start gedrückt wurde und bleibt auf true bis alles abgearbeitet wurde.
DoneAction1 sorgt dafür, dass jede definierte Aktion nur einmal ausgeführt wird.
Action1time setzt den Zeitpunkt ab Start, wann die Aktion ausgeführt werden soll.


Beim Tastendruck setzt du nur die Variable RunAktion auf true und die startzeit.
dann wird der loop ständig durchlaufen und bei jeder if Abfrage geprüft, ob die Aktion ausgeführt werden soll.
Das hast auch den Vorteil, dass die zeitlichen Reihenfolge völlig frei ist. Du kannst also einfach durch ändern der Zeiten auch Reihenfolge der Aktionen ändern. (siehe Aktion2 im Beispielcode).
Ein Aktion ist dabei z.B. immer etwas einschalten oder ausschalten.
Um ein Ventil ein und wieder auszuschalten, brauchst du also 2 Aktionen.

Diese Art sowas zu programmieren ist nicht besonders elegant, aber leicht zu verstehen und auch leicht zu erweitern.

ich schalte hier keine Pins im Beispiel, sondern gebe nur im Seriellen Monitor aus, was passiert.
du mußt also nach dem upload den seriellen Monitor starten, um was zu sehen.



Code: [Select]
const int CAMS = 8;     // Pin 8  = Kameraverschluß
const int CAMF = 10;    // Pin 10 = Kamerafokus
const int TRIP = 13;    // Pin 13 = Starttaste

int VAR = 0;
boolean RunAction = false;

unsigned long startzeit = 0;

unsigned long Action1time = 1000;
unsigned long Action2time = 6000;
unsigned long Action3time = 3000;
unsigned long Action4time = 3100;
unsigned long Action5time = 3200;
unsigned long Action6time = 4000;
unsigned long ActionOver = 7000;
unsigned long timestamp = 0;

boolean DoneAction1 = false;
boolean DoneAction2 = false;
boolean DoneAction3 = false;
boolean DoneAction4 = false;
boolean DoneAction5 = false;
boolean DoneAction6 = false;

void setup()
{
  Serial.begin(9600);
  pinMode(CAMS, OUTPUT);
  pinMode(CAMF, OUTPUT);
  pinMode(TRIP, INPUT_PULLUP);  // aktiviert den internen Pullup (= HIGH wenn TRIP nicht gedrueckt wird)
 
  Serial.println("Warte auf Taste TRIP");
}

void loop()
{
  VAR = digitalRead(TRIP);
  if (VAR == LOW)                 // wenn BUTTON gedrückt wird ist VAR = LOW
  {
    Serial.println("                          Eintritt IF  VAR == LOW");
    delay(100);                   // zum Entprellen
    RunAction = true;
    startzeit = millis();
    Serial.print("startzeit = "); Serial.print(startzeit);
    Serial.print(";    millis()  = "); Serial.println(millis());
  }
   
  if (RunAction && !DoneAction1 && startzeit + Action1time < millis()){   
    timestamp = millis();
    Serial.print("                          Ausfuehren Aktion1 nach ");
    Serial.print(timestamp-startzeit);Serial.println("ms");
    DoneAction1 = true;
  }
  if (RunAction && !DoneAction2 && startzeit + Action2time < millis()){   
    timestamp = millis(); 
    Serial.print("                          Ausfuehren Aktion2 nach ");
    Serial.print(timestamp-startzeit);Serial.println("ms");
    DoneAction2 = true;
  }
  if (RunAction && !DoneAction3 && startzeit + Action3time < millis()){     
    timestamp = millis();
    Serial.print("                          Ausfuehren Aktion3 nach ");
    Serial.print(timestamp-startzeit);Serial.println("ms");
    DoneAction3 = true;
  }
  if (RunAction && !DoneAction4 && startzeit + Action4time < millis()){   
    timestamp = millis();   
    Serial.print("                          Ausfuehren Aktion4 nach ");
    Serial.print(timestamp-startzeit);Serial.println("ms");
    DoneAction4 = true;
  }
  if (RunAction && !DoneAction5 && startzeit + Action5time < millis()){   
    timestamp = millis();   
    Serial.print("                          Ausfuehren Aktion5 nach ");
    Serial.print(timestamp-startzeit);Serial.println("ms");
    DoneAction5 = true;
  }
  if (RunAction && !DoneAction6 && startzeit + Action6time < millis()){ 
    timestamp = millis();   
    Serial.print("                          Ausfuehren Aktion6 nach ");
    Serial.print(timestamp-startzeit);Serial.println("ms");
    DoneAction6 = true;
  }
  if (RunAction && startzeit + ActionOver < millis()){   
    Serial.println("                          Alles abgearbeitet");
    Serial.println("Warte auf Taste TRIP");
    RunAction = false;
    DoneAction1 = false;
    DoneAction2 = false;
    DoneAction3 = false;
    DoneAction4 = false;
    DoneAction5 = false;
    DoneAction6 = false;
  }
}
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 03, 2013, 09:57 am
DANKE! Werde ich testen (wenn ich zu Hause bin).
Dennoch: würde das von mir oben angegebene while-Beispiel so funktionieren?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on May 03, 2013, 10:03 am
Dein while konstruktion könnte funktionieren.

aber eine while schleife hat den Nachteil, dass der Arduino in der schleife gefangen ist, und während der Abarbeitung nichts anderes machen kann.
Deshalb sollte der Code immer so aufgebaut sein, dass die loop() möglichst immer und oft durchlaufen wird. Nur kannst du aufgaben parallelisieren.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 03, 2013, 10:24 am
Aber für "mein Vorhaben" würde ich eine "Parallelisierung" von Aufgaben ja eigentlich nicht brauchen.
Es soll ja "gewartet" werden bis ich das Knöpfchen drücke und dann sollen die Ventile öffnen/schließen und die Kameras auslösen.
Danach geht es wieder in die "Warteschleife" bis ich das nächstemal den Knopf drücke.

Also müsste doch in der "loop-Schleife" auf das Drücken der Taste gewartet werden und wenn diese gedrückt wird geht das
Programm über in die "while-Schleife" und "verweilt" dort so lange, bis die Boolean Konstante "ende" falsch (false) ist.
Danach müsste das Programm wieder in die "loop-Schleife" "springen" und erneut warten bis die Taste gedrückt wird.

Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: MaFu on May 03, 2013, 10:38 am
Und wenn Du es so machst wie Gunther vorschlägt, funktioniert es wie von Dir gewünscht ohne dass das Programm irgendwo wartet. Und Du bist wesentlich offener für eventuelle Erweiterungen (Beispiel: ein Display anschließen, welches den ablaufenden Countdown und den aktuellen Status anzeigt).
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on May 03, 2013, 10:40 am
Ich sage ja, es sollte auch mit while funktioniern.

Es ist einfach kein guter Stil.
Weil, wenn du später doch noch was anderes machen willst, (z.B. die Serielle Schnittstelle zum PC bedienen) dann mußt du alles wieder umbauen.

letztlich ist es aber deine Entscheidung, wie du es machst.

Gunther

P.S.:

ich sehe gerade, ich habe auch einen kleinen Fehler drin:
wenn die Taste während des Ablaufes nochmal gedrückt wird, dann wird Startzeit neu gesetzt.
Das sollte verhindert werden in dem bei der Auswertung der Tastervariablen noch geprüft wird, ob gerade eine Sequenz läuft:
 if (VAR == LOW && !RunAction)  
So wird der Tastendruck ignoriert bis alles zu Ende ist.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: michael_x on May 03, 2013, 10:45 am
Mal ganz nebenbei:
while (ende = true)

macht wohl nicht das was du möchtest. (--> ende wird auf true gesetzt und die Bedingung ist immer erfüllt )

while ( ende == true) ist syntaktisch auch richtig und das gleiche wie while (ende)  und entspricht vermutlich eher deiner Idee...


Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 03, 2013, 11:00 am
guntherb, was ich nicht verstehe sind die vielen Boolean Konstante "DoneAction1 bis 6"?

Übersetzt lese ich "if (start && !DoneAction1 && startzeit + Action1time < millis())"

start ist ja auf true gesetzt also wahr
!DoneAction1 bedeutet das DoneAction1 wahr ist - aber wozu ist das noch "zusätzlich" notwendig? Was bewirken diese Konstanten?
Und danach wird DonaAction1 auf wahr gesetzt - warum?
Und dann ganz zum Schluss wieder auf falsch...?

Das versteh ich leider überhaupt nicht - das andere schon irgendwie...
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 03, 2013, 11:02 am
... while (ende) ...


Also sann so:

void loop()
{
   VAR = digitalRead(TRIP);
   if (VAR == LOW)
   {
      startzeit = millis();
      delay(100);
      ende = true;
   }
   while (ende)
   {
      if (startzeit + CAMF_ON < millis())
      {
         ...
      }
      if (startzeit + ENDZEIT < millis())
      {
         ende = false
      }
   }
}
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on May 03, 2013, 11:06 am
Erklärt sich doch schon aus der Wahl des Variablennamens und des Typs: DoneActionx ist der Status jeder einzelnen Aktion x. Wenn die Aktion abgeschlossen ist, wird sie auf TRUE gesetzt. Dann kann die nächste Aktion gestartet werden, bis alle Aktionen durchgelaufen sind. Sind alle Aktionen abgearbeitet, wird wieder auf eine neue Eingabe gewartet, dass ein erneuter Aufruf auch funktionieren kann, müssen diese Statusvariablen wieder auf FALSE gesetzt werden.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 03, 2013, 11:17 am
Dann kann die nächste Aktion gestartet werden, bis alle Aktionen durchgelaufen sind.


Das würde doch dann aber wieder bedeuten, daß die Aktionen "nacheinander" abgearbeitet werden - oder?

Ich möchte doch aber, daß z.B. Ventil 1 nach 1000 ms für 85 ms öffnet und dann z.B. Kamera 1 nach 1055 ms auslöst - also noch während Ventil 1 offen ist.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on May 03, 2013, 11:23 am
Ist eigentlich nur eine Definitionsfrage, was die Aktion beinhaltet. Man könnte ja eine Aktion "Öffne Ventil 1" und eine Aktion "Schließe Ventil 1" definieren, dazwischen laufen dann weitere Aktionen wie "Löse Kamera aus". Das muss später alles Bestandteil deines Protokolls werden, das wird dir noch sehr viel Kopfzerbrechen bescheren...
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 03, 2013, 11:29 am
...  wenn du später doch noch was anderes machen willst, (z.B. die Serielle Schnittstelle zum PC bedienen) ...


Ich möchte später möglichst die Variablen (in deinem Beispiel währen das diese):

unsigned long Action1time = 1000;
unsigned long Action2time = 6000;
unsigned long Action3time = 3000;
unsigned long Action4time = 3100;
unsigned long Action5time = 3200;
unsigned long Action6time = 4000;
unsigned long ActionOver = 7000;

über eine "Eingabemaske" an das Arduino-Board senden (um dies nicht immer über die Anpassung des Sketches machen zu müssen).
Dies soll aber nicht zwingenderweise parallel während einer Sequenz geschehen sondern danach.

Der Ablauf währe also folgender:

1. der Sketch wird auf das Arduino-Board geladen
2. der Auslöser (Taste) wird gedrückt
3. der Sketch wird mit den "ursprünglichen" hinterlegten Zeiten abgearbeitet (Ventile öffnen/schließen, Kamera(s) auslösen)
4. die Zeiten werden über eine Eingabemaske angepasst
5. die angepassten Zeiten werden auf das Board übertragen
6. der Auslöser (Taste) wird gedrückt
7. der Sketch wird mit den angepassten Zetien abgearbeitet
8. die Zeiten werden angepasst
9. die Zeiten werden übertragen
  u.s.w.

Es finden also keine parallelen Tätigkeiten statt.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 03, 2013, 11:34 am
Das muss später alles Bestandteil deines Protokolls werden, das wird dir noch sehr viel Kopfzerbrechen bescheren...


Das macht mir jetzt Angst...  :smiley-eek:
Was für ein Protokoll brauche ich denn nun schon wieder...  :smiley-eek-blue:
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on May 03, 2013, 12:09 pm

Was für ein Protokoll brauche ich denn nun schon wieder...  :smiley-eek-blue:

Ein Kommunikationsprotokoll, wie die Daten vom PC zur Steuerung übertragen werden. In einem deiner letzten Threads zum Thema hat dir mkl0815 ja bereits einen Vorschlag gemacht:
http://arduino.cc/forum/index.php/topic,162521.msg1215856.html#msg1215856


Du brauchst dann ein sinnvolles Protokoll, mit dem Du Steuerdaten übermittelst: z.b. als String "V1,30,35:V2,40,45:V3,50,55,K1:60" "Vx" ist jeweils das Ventil Nummer x mit den beiden Steuerzeiten in ms. "Kx" ist dann die entsprechende Kamera. Den Steuerstring musst Du dann auf dem Arduino in die entsprechende Werte zerlegen.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 03, 2013, 12:20 pm
Ach so... ja das Protokoll... da bin ich irgendwie noch nicht viel weitergekommen - sind wohl doch zuviele Baustellen gleichzeitig  :smiley-red:

Wenn mir das mit dem Übertragen eines Protokolles (und was da alles mit verbunden ist wie z.B. eine Oberfläche programmieren) zu aufwendig/schwer wird,
werde ich halt immer den Sketch anpassen und übertragen müssen. Ist zwar sicherlich etwas umständlicher, aber eh ich mich jetzt verrenne
und frühestens in 2 Jahren mein erstes Tropfbild machen kann, lass ich das mit dem Protokoll erstmal wech.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on May 03, 2013, 12:39 pm

guntherb, was ich nicht verstehe sind die vielen Boolean Konstante "DoneAction1 bis 6"?

Übersetzt lese ich "if (start && !DoneAction1 && startzeit + Action1time < millis())"

start ist ja auf true gesetzt also wahr
!DoneAction1 bedeutet das DoneAction1 wahr ist - aber wozu ist das noch "zusätzlich" notwendig? Was bewirken diese Konstanten?
Und danach wird DonaAction1 auf wahr gesetzt - warum?
Und dann ganz zum Schluss wieder auf falsch...?

Das versteh ich leider überhaupt nicht - das andere schon irgendwie...


DoneAction1 sorgt dafür, dass jede definierte Aktion nur einmal ausgeführt wird.


Wenn die Zeitbedingungen erfülllt ist, und die Aktion ausgeführt, dann wird die zugehörige Variable auf true gesetzt. Damit ist gekennzeichnet, dass die Aktion abgearbeitet wurde und nicht nochmal ausgeführt werden muß.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 03, 2013, 12:57 pm
Damit ist gekennzeichnet, dass die Aktion abgearbeitet wurde und nicht nochmal ausgeführt werden muß.


Das versteh ich leider schon wieder nicht  :smiley-red: Warum muss ich das dem Programm den mitteilen?

Ich sage doch mit HIGH, daß das Ventil geöffnet werden soll und mit LOW, daß es wieder geschlossen werden soll (nach Vorgabe der Zeiten in den entsprechenden Variablen).
Danach ist doch "Ventil" agbearbeitet und wird nich nochmal geöffnet. Wozu muss ich das dann (in meinen Augen) nochmal extra mit einer weiteren Variablen "bestätigen"?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on May 03, 2013, 01:35 pm

Danach ist doch "Ventil" agbearbeitet und wird nich nochmal geöffnet. Wozu muss ich das dann (in meinen Augen) nochmal extra mit einer weiteren Variablen "bestätigen"?


Damit der Arduino das auch weiß!

Sonst weiß der Arduino nur:
if (startzeit + Action1time < millis())
das ist aber nicht nur beim ersten mal war, sondern ab da jedes mal wenn er vorbeikommt.

stell dir vor, du hast einen Nachtwächter (nennen wir ihn "loop"), der immer um dein Haus rumgeht.
Du sagst ihm: "wenns später ist als 9:00Uhr, schalte bitte das Licht ein".
Da der Nachtwächter aber nun dumm ist, wird er, ab Neun Uhr, bei JEDER Runde das Licht einschalten.
Also mußt du ihm sagen, dass er es nur einmal tun soll. Das passiert mit DoneAction.
Damit merkt er sich, dass er es schon eingeschalten hat, und macht es nicht nochmal.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 03, 2013, 01:48 pm
Stimmt, das macht Sinn. Und mit if (... == millis()) geht es nicht, da das zu kurz für das Programm ist um es zu merken.
Also würde meine while-Funktion ja auch nicht laufen, da da ja auch ständig nach erreichen von < millis() des Ventil / die Kamera auslösen würde.
Das ich da nicht selber drauf gekommen bin...  :smiley-red:
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 03, 2013, 02:39 pm
Hat das einen Grund, dass du die Boolschen Variablen am Anfang alle auf false gesetzt hast und im Programmablauf dann auf true
oder könte man das auch andersrumski machen?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: michael_x on May 03, 2013, 02:48 pm
Quote
mit  if (... == millis()) geht es nicht, da das zu kurz für das Programm ist

kann auch zu lang sein.
Sollte ganz egal sein, ob loop weniger als eine Millisekunde braucht oder mehr.

Quote
Das ich da nicht selber drauf gekommen bin...  :smiley-red:

Alle anderen (ausser uns beiden)  sind da von allein draufgekommen  :smiley-mr-green:

Quote
Hat das einen Grund, dass du die Boolschen Variablen am Anfang alle auf false gesetzt hast und im Programmablauf dann auf true
oder könte man das auch andersrumski machen?

Geht auch andersrum, kostet aber beim Start 62 ns mehr, da bei Reset alle Variablen erstmal auf 0 gesetzt werden.

Viel wichtiger ist eigentlich, dass ein Variablename auch das bedeutet was er sagt.
Code: [Select]
if ( ! ende ) {
  // mach was bis das Ende erreicht ist
   if (xyz) ende = true;
}
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on May 03, 2013, 03:52 pm

Hat das einen Grund, dass du die Boolschen Variablen am Anfang alle auf false gesetzt hast und im Programmablauf dann auf true
oder könte man das auch andersrumski machen?


So wie Michael geschrieben hat:
Boolsche Variablen sollten im Namen so gewählt werden, dass er die Bedeutung widerspiegelt.
In dem Falle: DoneAction1 bedeutet: die Aktion 1 ist erledigt.
Und am besten so initialisieren, dass bei ersten Programmaufruf alles so ist, dass das PRogramm reibungslos durchläuft.

Wenn DoneAction1 = true intialisiert würde, dann würde beim ersten Tastendruck nix passieren.
Wenn RunAction = true initialisiert werden würde, dann würde beim programmstart gleich die komplette Sequenz mal durchlaufen und alle Aktionen einmal ausgeführt.

Es gibt also keine Regel "alles false", es muß für jede Variable einzeln überlegt werden: "welchen Wert soll sie beim Start haben."

Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 03, 2013, 05:17 pm
Ok, habe nun dein Programm mit dem Serial Monitor verfolgt - alles super durchgelaufen. Dafür gibt's nochmal ein Karma für dich  XD (ok, sth77 und michael_x haben auch eins verdient  :smiley-mr-green:)

Werde mich nun daran machen, diesen Sketch für "meine Bedürfnisse" (also die Ein-/Ausschaltzeiten der Ventile und Kamera(s)) umzuschreiben.

Drückt mir die Daumen...  :D
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: flohzirkus on May 03, 2013, 08:59 pm
Na, dann drücke ich auch mal die Daumen ...

viel Spaß mit den Tropfen :)
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 05, 2013, 12:13 pm
Ich habe jetzt testweise mal 2-3 Widerstände auf eine Platine gelötet...

Also wenn ich die "Beinchen" weit genug auseinander durch die Löcher stecke (min. 2 freie Löcher zwischen den Beinchen) kann ich das "gut" festlöten.
Nun sind die "Beinchen" vom Optokoppler aber sehr klein (also nicht so lang wie bei den Widerständen) und liegen direkt nebeneinander (also keine 2 Löcher Abstand).
Wie ich das festlöten soll ohne die Beinchen miteinander zu verbinden weis ich wirklich noch nicht  :smiley-red:

Hat da jemand einen Tipp für mich?

Und wie stark sollte die Litze sein? Aktuell habe ich Ø 1,00 mm² - das finde ich schon sehr dick.
Was empfehlt ihr für eine Litze mit der ich auch die 12V Ventile mit verkabeln kann (zu klein darf der Ø ja auch nicht sein)?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on May 05, 2013, 01:08 pm
Also wenn du das Rastermaß von 2,54mm nicht löten kannst, solltest du vielleicht weniger Kaffee trinken. ;) Wahrscheinlicher ist jedoch, dass deine Lötspitze bzw. der ganze Lötkolben zu groß ist. Womit lötest du denn?

Platinenrückseiten sehen bei mir in etwa so aus:

Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on May 05, 2013, 01:33 pm
Und wie stark sollte die Litze sein? Aktuell habe ich Ø 1,00 mm² - das finde ich schon sehr dick.
Was empfehlt ihr für eine Litze mit der ich auch die 12V Ventile mit verkabeln kann (zu klein darf der Ø ja auch nicht sein)?



Du hast die Frage schonmal gestellt, und ich habe sie dir schonmal beantwortet:

Die Lötstation ist ok.

Du brauchst Elektronikzinn, Lötpumpe ist hilfreich, geht aber auch ohne.
Die "Dritte Hand" habe ich nie gewollt, aber das ist persönliche Vorliebe.
Ferner einen Seitenschneider, eine Spitzzange, evtl Pinzette.
Als Lupe für die feineren Arbeiten habe ich mir mal diese Stirnlupe  (http://www.ebay.de/itm/LED-Profi-1-7-3X-4-Lens-Stirnlupe-Kopflupe-Lupenbrille-Brillenlupe-Vergroesserung-/330804516032?ssPageName=ADME:L:OC:DE:3160)gekauft, damit komme ich (Brillenträger!) ganz gut zurecht.

Litze: Schaltlitze 0,5mm² oder 0,25mm² ein paar Farben.
und: ich würde einfach mal eine Lochrasterplatine hernehmen, auf die dann ungefähr 100 Widerstände drauflöten, wahlweise drahtbrücken aus Silberschaltdraht. Dann hast du zumindest eine gewisse Grundfertigkeit im löten.
Und schau dir mal ein paar Lehrvideos auf Youtube an. Auch Löten will gelernt sein...

Grüße

Gunther

P.S.:
Mann, mann, mann.... wenn ich das alles mal durchrechne hätte ich mir für das Geld ja fast schon einen fertigen Tropfengenerator kaufen können...  $)

Richtig!
Selber bauen ist selten billiger.
Macht aber mehr Spaß!


Schau' dir mal dieses Video an:
Technik für Kinder - 2 - Löten (http://www.youtube.com/watch?v=f62tF3S5dCk)
Hier ist das recht anschaulich, und vor allem, fachlich richtig!
(bei vielen anderen "Lehrvideos" wird teilweise völliger nonsens gezeigt)
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 05, 2013, 01:41 pm
Platinenrückseiten sehen bei mir in etwa so aus:
Aber da sind doch das rote und das schwarze Kabel auf der Rückseite der Platine eindeutig miteinander verbunden (sieht roter Pfeil im angehängten Bild). Das geht doch so nicht - oder wo ist da mein Denkfehler?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 05, 2013, 01:42 pm
Hier ist das recht anschaulich, und vor allem, fachlich richtig!
Ha! Genau das hatte ich mir im Vorfeld schon angeschaut.
Wie stark soll den nun die Litze sein? Reichen 0,25 oder doch lieber 0,5?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on May 05, 2013, 01:56 pm

Aber da sind doch das rote und das schwarze Kabel auf der Rückseite der Platine eindeutig miteinander verbunden (sieht roter Pfeil im angehängten Bild).


Hier mal eine Detailansicht von der Bestückungsseite, diese Verbindung ist nur von einer Drahtschlaufe, die bei mir als Kabelzugentlastung dient. Also keine Sorge, da gibt es keinen Kurzschluss. Natürlich darf man diese Stelle nicht so lange erhitzen, bis sich die Drahtschlaufe durch die Isolierung der roten und schwarzen Litze geschmolzen hat. Denn dann gibt es tatsächlich einen Kurzschluss.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 05, 2013, 02:10 pm
Natürlich darf man diese Stelle nicht so lange erhitzen, bis sich die Drahtschlaufe durch die Isolierung der roten und schwarzen Litze geschmolzen hat. Denn dann gibt es tatsächlich einen Kurzschluss.
Moment mal... die Drähte (also rot und schwarz) sind doch aber auf der Rückseite der Platine durch die Lötpunkte miteinander verbunden - von daher müsste es doch einen Kurzschluss geben. Oder "leiten" die Lötpunkte nicht sondern dienen nur der "Befestigung" der Teile auf der Platine???
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on May 05, 2013, 02:39 pm
Zwei verbundene Lötpunkte leiten natürlich auch. Das ist zweimal die gleiche Schaltung, kannst anhand der Löcher auch auszählen, wo die rote und schwarze Litze endet, nämlich direkt vor dem Spannungsregler. Die Schlaufe hat keinerlei Verbindung zur Schaltung und ist einfach nur ein befestigter Drahtbügel.

Nochmal zur Verdeutlichung: Die Schlaufe liegt in der ersten durchgehenden Lötreihe (von unten gezählt), die Litzen sind in der 3. Reihe verlötet.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: mkl0815 on May 05, 2013, 03:14 pm
@sth77: Wie bekommst Du die Verbindungen zwischen den Lötaugen so sauber hin? Ich habe dabei immer das Problem, das sich beim entfernen des Lötkolbens das noch flüssige Lötzinn auf die Lötaugen zurückzieht und die Verbdingung wieder getrennt ist.
Mario.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on May 05, 2013, 03:26 pm
Gute Frage. Klappt einfach so. ;) Ich setze jeweils etwas Lötzinn entlang der späteren Leitungsbahn. Diese verbinde ich dann jeweils zu Zweiergruppen und setze wieder an, um zwei Zweiergruppen zu einer Vierergruppe zu verbinden. Dadurch teilt man sich die Bahn ja in mehrere Einzelglieder, die zwischenzeitig auch mal etwas auskühlen können. Die Leiterbahn in einem Rutsch durchzuziehen ist mir auch noch nicht gelungen.
Einfacher ist es übrigens, ein Stück Draht auf der Lötseite in die Bahn einzulegen, dann ziehen sich die Lötstellen nicht auf ihr Pad zurück. So musste ich vorgehen, als ich auf den Prototypenplatinen löten musste, da ist zusätzlich noch Lötstopplack zwischen den Durchkontaktierungen.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 06, 2013, 04:02 pm
Hallo guntherb,

ich habe deinen Code von hier:

Um ein Ventil ein und wieder auszuschalten, brauchst du also 2 Aktionen.


jetzt mal umgesetzt, wobei ich ja bei der Kamera keine Ausschaltzeiten habe. Ich hoffe ich habe das so "richtig" umgesetzt?

Code: [Select]

// Sketch zur Steuerung von drei Ventilen und einer Kamera

const int VENTIL1 = 8;   // Pin 8  = Ventil 1
const int VENTIL2 = 9;   // Pin 9  = Ventil 2
const int VENTIL3 = 10;  // Pin 10 = Ventil 3
const int FOCUS = 11;    // Pin 11 = fucus
const int SHUTTER = 12;  // Pin 12 = shutter
const int TRIP = 13;     // Pin 13 = Starttaste

// Steuerungszeiten Veintile

unsigned long ven1_on = 1000;
unsigned long ven1_of = 1050;
unsigned long ven2_on = 1100;
unsigned long ven2_of = 1180;
unsigned long ven3_on = 1150;
unsigned long ven3_of = 1200;

// Steuerungszeiten Kamera

unsigned long focus_on = 1000;
unsigned long shutter_on = 1060;

// Steuerungszeiten sonstige

unsigned long endzeit = 2000;
unsigned long startzeit = 0;
unsigned long timestamp = 0;

// Boolsche Variablen zum starten/anhalten der einzelnen Aktionen

boolean ven1on = false;
boolean ven1of = false;
boolean ven2on = false;
boolean ven2of = false;
boolean ven3on = false;
boolean ven3of = false;
boolean focuson = false;
boolean shutteron = false;
boolean action = false;

void setup()
{
  pinMode(VENTIL1, OUTPUT);
  pinMode(VENTIL2, OUTPUT);
  pinMode(VENTIL3, OUTPUT);
  pinMode(FOCUS, OUTPUT);
  pinMode(SHUTTER, OUTPUT);
  pinMode(TRIP, INPUT_PULLUP);
}

void loop()
{
  if (digitalRead(TRIP) == LOW && !action)
  {
     delay(100);
     action = true;
     startzeit = millis();
  }
  if (action && !ven1on && startzeit + ven1_on < millis())
  {
  timestamp = millis();
  digitalWrite(VENTIL1, HIGH);
  ven1on = true;
  }
  if (action && !ven1of && startzeit + ven1_of < millis())
  {
  timestamp = millis();
  digitalWrite(VENTIL1, LOW);
  ven1of = true;
  }
  if (action && !ven2on && startzeit + ven2_on < millis())
  {
  timestamp = millis();
  digitalWrite(VENTIL2, HIGH);
  ven2on = true;
  }
  if (action && !ven2of && startzeit + ven2_of < millis())
  {
  timestamp = millis();
  digitalWrite(VENTIL2, LOW);
  ven2of = true;
  }
  if (action && !ven3on && startzeit + ven3_on < millis())
  {
  timestamp = millis();
  digitalWrite(VENTIL3, HIGH);
  ven3on = true;
  }
  if (action && !ven3of && startzeit + ven3_of < millis())
  {
  timestamp = millis();
  digitalWrite(VENTIL3, LOW);
  ven3of = true;
  }
  if (action && !focuson && startzeit + focus_on < millis())
  {
  timestamp = millis();
  digitalWrite(FOCUS, HIGH);
  focuson = true;
  }
  if (action && !shutter && startzeit + shutter_on < millis())
  {
  timestamp = millis();
  digitalWrite(SHUTTER, HIGH);
  delay(10);
  digitelWrite(SHUTTER; LOW);
  shutter = true;
  }
  if (action && !shutter && startzeit + endzeit < millis())
  {
  action = false;
  ven1on = false;
  ven1of = false;
  ven2on = false;
  ven2of = false;
  ven3on = false;
  ven3of = false;
  fucuson = false;
  shutteron = false;
  }
}
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on May 07, 2013, 09:42 am
Ich hoffe ich habe das so "richtig" umgesetzt?


Hast du es denn probiert? Das ist immer noch die einfachste Methode um es zu testen...

die vielen  "timestamp = millis();"  machen keinen Sinn, oder?

Gunther
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 07, 2013, 10:13 am
Hast du es denn probiert?


Ich muss doch erst noch meine Platine "belöten" - das ist für einen Anfänger doch ziemlich fummelig und ich bin noch am Üben...

die vielen  "timestamp = millis();"  machen keinen Sinn, oder?


?? Die habe ich doch von dir übernommen:

ich habe dir unten mal einen Beispielcode eingefügt ...
...
void loop()
{
...
   
  if (RunAction && !DoneAction1 && startzeit + Action1time < millis()){   
    timestamp = millis();
    Serial.print("                          Ausfuehren Aktion1 nach ");
    Serial.print(timestamp-startzeit);Serial.println("ms");
    DoneAction1 = true;
  }
  if (RunAction && !DoneAction2 && startzeit + Action2time < millis()){   
    timestamp = millis(); 
    Serial.print("                          Ausfuehren Aktion2 nach ");
    Serial.print(timestamp-startzeit);Serial.println("ms");
    DoneAction2 = true;
  }
  if (RunAction && !DoneAction3 && startzeit + Action3time < millis()){     
    timestamp = millis();
    Serial.print("                          Ausfuehren Aktion3 nach ");
    Serial.print(timestamp-startzeit);Serial.println("ms");
    DoneAction3 = true;
  ...



Ach so, das war nur um das am Bildschirm auszugeben - ich kann das natürlich weglassen... :smiley-red:
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 07, 2013, 10:18 am
Hier nochmal der angepasste Sketch:

Code: [Select]

// Sketch zur Steuerung von drei Ventilen und einer Kamera

const int VENTIL1 = 8;   // Pin 8  = Ventil 1
const int VENTIL2 = 9;   // Pin 9  = Ventil 2
const int VENTIL3 = 10;  // Pin 10 = Ventil 3
const int FOCUS = 11;    // Pin 11 = fucus
const int SHUTTER = 12;  // Pin 12 = shutter
const int TRIP = 13;     // Pin 13 = Starttaste

// Steuerungszeiten Veintile

unsigned long ven1_on = 1000;
unsigned long ven1_of = 1050;
unsigned long ven2_on = 1100;
unsigned long ven2_of = 1180;
unsigned long ven3_on = 1150;
unsigned long ven3_of = 1200;

// Steuerungszeiten Kamera

unsigned long focus_on = 1000;
unsigned long shutter_on = 1060;

// Steuerungszeiten sonstige

unsigned long endzeit = 2000;
unsigned long startzeit = 0;

// Boolsche Variablen zum starten/anhalten der einzelnen Aktionen

boolean ven1on = false;
boolean ven1of = false;
boolean ven2on = false;
boolean ven2of = false;
boolean ven3on = false;
boolean ven3of = false;
boolean focuson = false;
boolean shutteron = false;
boolean action = false;

void setup()
{
   pinMode(VENTIL1, OUTPUT);
   pinMode(VENTIL2, OUTPUT);
   pinMode(VENTIL3, OUTPUT);
   pinMode(FOCUS, OUTPUT);
   pinMode(SHUTTER, OUTPUT);
   pinMode(TRIP, INPUT_PULLUP);
}

void loop()
{
   if (digitalRead(TRIP) == LOW && !action)
   {
      delay(100);
      action = true;
      startzeit = millis();
   }
   if (action && !ven1on && startzeit + ven1_on < millis())
   {
   digitalWrite(VENTIL1, HIGH);
   ven1on = true;
   }
   if (action && !ven1of && startzeit + ven1_of < millis())
   {
   digitalWrite(VENTIL1, LOW);
   ven1of = true;
   }
   if (action && !ven2on && startzeit + ven2_on < millis())
   {
   digitalWrite(VENTIL2, HIGH);
   ven2on = true;
   }
   if (action && !ven2of && startzeit + ven2_of < millis())
   {
   digitalWrite(VENTIL2, LOW);
   ven2of = true;
   }
   if (action && !ven3on && startzeit + ven3_on < millis())
   {
   digitalWrite(VENTIL3, HIGH);
   ven3on = true;
   }
   if (action && !ven3of && startzeit + ven3_of < millis())
   {
   digitalWrite(VENTIL3, LOW);
   ven3of = true;
   }
   if (action && !focuson && startzeit + focus_on < millis())
   {
   digitalWrite(FOCUS, HIGH);
   focuson = true;
   }
   if (action && !shutteron && startzeit + shutter_on < millis())
   {
   timestamp = millis();
   digitalWrite(SHUTTER, HIGH);
   delay(10);
   digitelWrite(SHUTTER, LOW);
   shutteron = true;
   }
   if (action && startzeit + endzeit < millis())
   {
   action = false;
   ven1on = false;
   ven1of = false;
   ven2on = false;
   ven2of = false;
   ven3on = false;
   ven3of = false;
   fucuson = false;
   shutteron = false;
   }
}
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on May 07, 2013, 11:27 am
Sieht erstmal gut aus, aber ich bin kein Compiler....

ich würde auf dem Steckbrett das Ganze aufbauen, mit LED + 1k als Last an den Pins, dann kannst du am einfachsten prüfen, ob dein Sketch funktioniert.

Denn, wenn du dann die neue Schaltung testest, solltest du wissen, dass dein Sketch funktioniert, sonst suchst du dir den Wolf, wenn du nicht weißt, ob der Fehler in der Software oder in der Hardware liegt.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 07, 2013, 11:41 am
Da hast du natürlich Recht, werde ich machen, danke dafür.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 07, 2013, 12:07 pm
Da ja 10ms nach dem focus der shutter auslösen kann/soll, kann ich doch das ganze zusammenfassen und den Sketch so gestalten:

Code: [Select]

// Sketch zur Steuerung von drei Ventilen und einer Kamera

const int VENTIL1 = 8;   // Pin 8  = Ventil 1
const int VENTIL2 = 9;   // Pin 9  = Ventil 2
const int VENTIL3 = 10;  // Pin 10 = Ventil 3
const int FOCUS = 11;    // Pin 11 = fucus
const int SHUTTER = 12;  // Pin 12 = shutter
const int TRIP = 13;     // Pin 13 = Starttaste

// Steuerungszeiten Veintile

unsigned long ven1_on = 1000;
unsigned long ven1_of = 1050;
unsigned long ven2_on = 1100;
unsigned long ven2_of = 1180;
unsigned long ven3_on = 1150;
unsigned long ven3_of = 1200;

// Steuerungszeit Kamera

unsigned long cam_on = 1050;   // hier 10ms für den focus berücksichtigen

// Steuerungszeiten sonstige

unsigned long endzeit = 1500;
unsigned long startzeit = 0;

// Boolsche Variablen zum starten/anhalten der einzelnen Aktionen

boolean ven1on = false;
boolean ven1of = false;
boolean ven2on = false;
boolean ven2of = false;
boolean ven3on = false;
boolean ven3of = false;
boolean camon = false;
boolean action = false;

void setup()
{
  pinMode(VENTIL1, OUTPUT);
  pinMode(VENTIL2, OUTPUT);
  pinMode(VENTIL3, OUTPUT);
  pinMode(FOCUS, OUTPUT);
  pinMode(SHUTTER, OUTPUT);
  pinMode(TRIP, INPUT_PULLUP);
}

void loop()
{
  if (digitalRead(TRIP) == LOW && !action)
  {
     delay(100);
     action = true;
     startzeit = millis();
  }
  if (action && !ven1on && startzeit + ven1_on < millis())
  {
  digitalWrite(VENTIL1, HIGH);
  ven1on = true;
  }
  if (action && !ven1of && startzeit + ven1_of < millis())
  {
  digitalWrite(VENTIL1, LOW);
  ven1of = true;
  }
  if (action && !ven2on && startzeit + ven2_on < millis())
  {
  digitalWrite(VENTIL2, HIGH);
  ven2on = true;
  }
  if (action && !ven2of && startzeit + ven2_of < millis())
  {
  digitalWrite(VENTIL2, LOW);
  ven2of = true;
  }
  if (action && !ven3on && startzeit + ven3_on < millis())
  {
  digitalWrite(VENTIL3, HIGH);
  ven3on = true;
  }
  if (action && !ven3of && startzeit + ven3_of < millis())
  {
  digitalWrite(VENTIL3, LOW);
  ven3of = true;
  }
  if (action && !camon && startzeit + cam_on < millis())
  {
  digitalWrite(FOCUS, HIGH);
  delay(10);
  digitalWrite(SHUTTER, HIGH);
  delay(10);
  digitalWrite(FOCUS, LOW);
  digitalWrite(SHUTTER, LOW);
  camon = true;
  }
  if (action && startzeit + endzeit < millis())
  {
  action = false;
  ven1on = false;
  ven1of = false;
  ven2on = false;
  ven2of = false;
  ven3on = false;
  ven3of = false;
  camon = false;
  }
}



Oder sollte ich wie bei den Ventilen beim öffnen/schließen auch jeweils 2 if-Abfragen und 2-boolsche-Variable für focus und shutter einrichten???

Wenn in dem Abschnitt für das Auslösen der Kamera "delay(10);" steht, "wartet" das Programm dann dort an der Stelle oder führt es parallel die anderen if-Abfragen kontinuierlich aus?

Beispiel: der focus soll nach 1100, und der shutter nach 1110 (wegen delay(10)) auslösen.
Wenn ich jetzt in einer anderen if-Abfrage bei 1105 ein Ventile öffnen möchte, würde das dann auch zu 1105 ausgeführt werden oder würde das Programm von 1100 bis 1110 "warten" und erst danach (also bei 1111) das Ventil öffnen (oder ggf das Ventil gar nicht mehr öffnen, da die Zeit schon abgelaufen ist?)).
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: MaFu on May 07, 2013, 12:32 pm
Bei delay() wartet der Prozessor, er kann schließlich kein Multitasking.
Lass das mit dem zusammenfassen und vor allem mit den delays.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 07, 2013, 01:10 pm
Dann soll ich also aus:

   if (action && !camon && startzeit + cam_on < millis())
   {
   digitalWrite(FOCUS, HIGH);
   delay(10);
   digitalWrite(SHUTTER, HIGH);
   delay(10);
   digitalWrite(FOCUS, LOW);
   digitalWrite(SHUTTER, LOW);
   camon = true;

Das hier machen:

   if (action && !focuson && startzeit + focus_on < millis())   // z.B. bei 1050
   {
   digitalWrite(FOCUS, HIGH);
   focuson = true;
   }
   if (action && !focusof && startzeit + focus_of < millis())   // z.B. bei 1070
   {
   digitalWrite(FOCUS, LOW);
   focusof = true;
   }
   if (action && !shutteron && startzeit + shutter_on < millis())   // z.B. bei 1060
   {
   digitalWrite(SHUTTER, HIGH);
   shutteron = true;
   }
   if (action && !shutterof && startzeit + shutter_of < millis())   // z.B. bei 1070
   {
   digitalWrite(SHUTTER, LOW);
   shutterof = true;

???
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on May 07, 2013, 02:26 pm
Stimmt folgende Aussage:

Shutter EIN kommt IMMER nach Focus EIN
und beides kommt IMMER nach der letzten Venilaktion.

Wenn du das uneingeschränkt bejahen kannst, dann kannst du das mit den delays lassen.
Aber dir muß bewußt sein: während delay steht der Prozessor still und zählt die millissekunden.

Besser ist es, das mit millis()  zu machen.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 07, 2013, 03:15 pm
Shutter EIN kommt IMMER nach Focus EIN


Jein

und beides kommt IMMER nach der letzten Venilaktion.


Nein

Also shutter (Auslöser) kommt (zwangsläufig) immer 10ms nach focus (bei Nikon muss zuerst der Fokus akitviert werden - auch wenn man manuell fokussiert!), wobei dazwischen eine Ventilöffnung/-schließung stattfinden könnte:

Mal folgendes Beispiel (mit 2 Ventilen):

Ventil 1 auf bei 1000
Ventil 1 zu bei 1065
Ventil 2 auf bei 1050
Ventil 2 zu bei 1100
Kamera auslösen bei 1070 (also focus bei 1060 + 10ms = bei 1070 der shutter)

Also währe der Zeitablauf so:

1000 Ventil 1 auf
1050 Ventil 2 auf
1060 focus aktivieren
1065 Ventil 1 zu
1070 shutter aktivieren (= Aufnahme machen)
1100 Ventil 2 zu

In diesem Fall müsste zwischen dem focus (1060) und dem shutter (1070) bei 1065 das Ventil 1 schließen.

Also dann doch alles per if-Abfragen...

Habe ich denn den code in #187 mit den if-Abfragen so richtig aufgebaut bzw. würde das dann so wie im Beispiel auch funktionieren?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: michael_x on May 07, 2013, 03:59 pm
Quote
Also dann doch alles per if-Abfragen...

Vielleicht langsam doch mal ein richtiges Programm draus machen

Code: [Select]
// Devices and Pins
#define TRIGGER 13

Ventil V1(8);
Ventil V2(9);
Ventil V3(10);

Kamera K1(11,12);

boolean run;
unsigned long starttime;

void setup() {
   pinMode (TRIGGER, INPUT_PULLUP);
   // other pins are set in the constructors
}

void loop() {
  if ( (digitalRead(TRIGGER) == LOW) && (run == false) )  {
     run = true;
     starttime = millis();
  }
  if (run) {
    V1.open ( starttime, 1000, 1065 );
    V2.open ( starttime, 1050, 1100 );
    K1.take ( starttime, 1070 );  // focus comes 10 ms earlier

    if ( millis() - starttime > 2000 ) run = false;  // wieder bereit für den nächsten Trigger
  }
}

fertig! Edit: jetzt sogar mit setup()

Da sind zwar ein paar ifs drin, das Ganze ist aber recht übersichtlich und leicht änderbar,
zumal die Reihenfolge der Steuerzeilen innerhalb if (run) {   }   egal ist !

Jetzt noch separat eine class Ventil definiert, mit der Methode open( unsigned long basetime, int from, int to);
Und eine class Kamera , mit der Methode take( unsigned long basetime, int shutter);

Alles wird einfach, wenn man ohne delay() arbeitet.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: michael_x on May 07, 2013, 04:30 pm
Und da ich nicht weiss, ob jurs hier mitliest:

Code: [Select]
public class Kamera {
byte f;
byte s;
const byte focusVorlauf = 10;
const byte Nachlauf = 10;

public:
   Kamera ( byte focusPin, byte shutterPin ) {
       f = focusPin;
       s = shutterPin;
       pinMode(f, OUTPUT);     
       pinMode(s, OUTPUT);       
   }
   take ( unsigend long basetime, int shutter ) {
      int reltime = millis() - basetime;
      if (reltime > (shutter - focusVorlauf)  && reltime < shutter + Nachlauf) {
         digitalWrite(f, HIGH);
         if ( reltime > shutter) ; digitalWrite(s, HIGH);
      }  else {
         digitalWrite(f, LOW);
         digitalWrite(s, LOW);
     }
   }

};


Probier mal, das als Vorlage für eine class Ventil zu nehmen.
Und finde zuerst raus, warum es noch nicht ganz geht ... (na, weil es nicht getestet ist )
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 07, 2013, 04:30 pm
Ja ne, die Öffnungs- und Verschluss-Zeiten sollten schon oben als Variable deklariert sein (so wie ich das in #182 angegeben habe - nur eben abgeändert um dei if-Abfragen für die Kamera aus #187), da ich diese ja ständig ändern muss, bis ich den "richtigen" Zeitpunkt gefunden habe (wo Tropfen 1 schon wieder aus dem Wasser kommt und Tropfen 2 auf Tropfen 1 trifft).

Der "aktuelle" Code (basierend auf dem Sketch von guntherb aus #144) mit Beispielzeiten sähe jetzt so aus:

Code: [Select]

// Sketch zur Steuerung von drei Ventilen und einer Kamera

const int VENTIL1 = 8;   // Pin 8  = Ventil 1
const int VENTIL2 = 9;   // Pin 9  = Ventil 2
const int VENTIL3 = 10;  // Pin 10 = Ventil 3
const int FOCUS = 11;    // Pin 11 = fucus
const int SHUTTER = 12;  // Pin 12 = shutter
const int TRIP = 13;     // Pin 13 = Starttaste

// Steuerungszeiten Veintile

unsigned long ven1_on = 1000;
unsigned long ven1_of = 1065;
unsigned long ven2_on = 1075;
unsigned long ven2_of = 1130;
unsigned long ven3_on = 1150;
unsigned long ven3_of = 1200;

// Steuerungszeit Kamera

unsigned long focus_on = 1060;
unsigned long shutter_on = 1070;
unsigned long focus_of = 1080;
unsigned long shutter_of = 1080;

// Steuerungszeiten sonstige

unsigned long endzeit = 1500;
unsigned long startzeit = 0;

// Boolsche Variablen zum starten/anhalten der einzelnen Aktionen

boolean ven1on = false;
boolean ven1of = false;
boolean ven2on = false;
boolean ven2of = false;
boolean ven3on = false;
boolean ven3of = false;
boolean focuson = false;
boolean focusoff = false;
boolean shutteron = false;
boolena shutterof = false;
boolean action = false;

void setup()
{
  pinMode(VENTIL1, OUTPUT);
  pinMode(VENTIL2, OUTPUT);
  pinMode(VENTIL3, OUTPUT);
  pinMode(FOCUS, OUTPUT);
  pinMode(SHUTTER, OUTPUT);
  pinMode(TRIP, INPUT_PULLUP);
}

void loop()
{
  if (digitalRead(TRIP) == LOW && !action)
  {
     delay(100);
     action = true;
     startzeit = millis();
  }
  if (action && !ven1on && startzeit + ven1_on < millis())
  {
  digitalWrite(VENTIL1, HIGH);
  ven1on = true;
  }
  if (action && !ven1of && startzeit + ven1_of < millis())
  {
  digitalWrite(VENTIL1, LOW);
  ven1of = true;
  }
  if (action && !ven2on && startzeit + ven2_on < millis())
  {
  digitalWrite(VENTIL2, HIGH);
  ven2on = true;
  }
  if (action && !ven2of && startzeit + ven2_of < millis())
  {
  digitalWrite(VENTIL2, LOW);
  ven2of = true;
  }
  if (action && !ven3on && startzeit + ven3_on < millis())
  {
  digitalWrite(VENTIL3, HIGH);
  ven3on = true;
  }
  if (action && !ven3of && startzeit + ven3_of < millis())
  {
  digitalWrite(VENTIL3, LOW);
  ven3of = true;
  }
  if (action && !focuson && startzeit + focus_on < millis())
  {
  digitalWrite(FOCUS, HIGH);
  focuson = true;
  }
  if (action && !focusof && startzeit + focus_of < millis())
  {
  digitalWrite(FOCUS, LOW);
  focusof = true;
  }
  if (action && !shutteron && startzeit + shutter_on < millis())
  {
  digitalWrite(SHUTTER, HIGH);
  shutteron = true;
  }
  if (action && !shutterof && startzeit + shutter_of < millis())
  {
  digitalWrite(SHUTTER, LOW);
  shutterof = true;
  if (action && startzeit + endzeit < millis())
  {
  action = false;
  ven1on = false;
  ven1of = false;
  ven2on = false;
  ven2of = false;
  ven3on = false;
  ven3of = false;
  focuson = false;
  focusof = false;
  shutteron = false;
  shutterof = false;
  }
}



Würde das so "richtig" durchlaufen (mal losgelöst von der Sinnhaftigkeit der einzelnen Zeiten) ? Also bei:

1000 Ventil 1 öffnen
1060 focus aktivieren
1065 Ventil 1 schließen
1070 shutter aktivieren
1075 Ventil 2 öffnen
1080 focus und shutter deaktivieren
1130 Ventil 2 schließen
1150 Ventil 3 öffnen
1200 Ventil 3 schließen
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 08, 2013, 09:19 am
ich würde auf dem Steckbrett das Ganze aufbauen, mit LED + 1k als Last an den Pins, dann kannst du am einfachsten prüfen, ob dein Sketch funktioniert.

Ok, ein "vereinfachter Aufbau" mit LEDs sollte möglich sein  :smiley-red:
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 08, 2013, 09:25 am
Ach ja:

statt

     // Steuerungszeit Kamera

     unsigned long focus_on = 1060;
     unsigned long shutter_on = 1070;
     unsigned long focus_of = 1080;
     unsigned long shutter_of = 1080;

könnte ich doch auch

     // Steuerungszeit Kamera

     unsigned long shutter_on = 1070;
     unsigned long focus_on = shutter_on - 10;
     unsigned long focus_of = shutter_on + 10;
     unsigned long shutter_of = shutter_on + 10;

verwenden - oder?
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on May 08, 2013, 09:39 am
Erwartest du ernsthaft eine Antwort, ob du eine Addition bzw. Subtraktion auf dem Mikrocontroller ausführen kannst? :D
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: michael_x on May 08, 2013, 09:52 am
Interessanter wäre die Frage, ob du die Dinger nicht als const deklarieren kannst.
Da könnte der Compiler zeigen, wie gut er optimieren kann.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: sth77 on May 08, 2013, 09:57 am

Interessanter wäre die Frage, ob du die Dinger nicht als const deklarieren kannst.
Da könnte der Compiler zeigen, wie gut er optimieren kann.

Das Endziel sollte ja mal sein, die Zeitvorgaben über die serielle Schnittstelle zu schicken. Wenn dieses Vorhaben (noch) nicht gestorben ist, kann man das natürlich mit den Variablen so belassen.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: michael_x on May 08, 2013, 10:05 am
Quote
Das Endziel sollte ja mal sein, die Zeitvorgaben über die serielle Schnittstelle zu schicken.

Richtig. Da hab ich bei bald 200 Einträgen das Ganze aus den Augen verloren. Danke.
( Der Thread-Titel ist auch etwas irreführend, inzwischen )
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 08, 2013, 10:14 am
( Der Thread-Titel ist auch etwas irreführend, inzwischen )

Habe den Titel gerade abgeändert, wobei die Einzelthemen weiterhin die alte Überschrift haben.

Aus Hilfe bei Schaltplan zum Anschluß von Ventilen ist nun Steuerung von Ventilen und Kamera für TaT-Aufnahmen geworden.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 08, 2013, 10:16 am
Das Endziel sollte ja mal sein, die Zeitvorgaben über die serielle Schnittstelle zu schicken. Wenn dieses Vorhaben (noch) nicht gestorben ist, kann man das natürlich mit den Variablen so belassen.

Ja, diese Möglichkeit möchte ich mir natürlich noch offen halten.
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: obiwan on May 08, 2013, 11:54 am

Erwartest du ernsthaft eine Antwort, ob du eine Addition bzw. Subtraktion auf dem Mikrocontroller ausführen kannst? :D
:smiley-red:
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: guntherb on May 08, 2013, 01:18 pm
natürlich.

Aber da du ja später diese Variablen vom PC aus setzen willst, ist das eigentlich egal.

Gunther
Title: Re: Hilfe bei Schaltplan zum Anschluß von Ventilen
Post by: bastelfix on Aug 04, 2013, 08:59 pm

Ich nehme in der Regel Blende 8 bis 11 bei ISO 100. Da reicht es wenn es so dunkel ist, dass man gerade noch etwas sehen kann. Das Bild bleibt ohne Blitz trotz mehrerer Sekunden Belichtungszeit schwarz. Selbst eine schwache diffuse Lichtquelle im Hintergrund stört nicht, wenn das Licht nicht direkt aufs Motiv fällt.
Bei mir ist der Ablauf so:
- Auslöser an der Schaltung wird betätigt
- Schaltung aktiviert Lichtschranke (Laser)
- Schaltung öffnet Kameraverschluss (Bulb)
- Tropfen kommt
- Tropfen trifft Lichtschranke
- Schaltung schaltet Lichtschranke aus
- Nach verstreichen der eingestellten Wartezeit werden die Blitze ausgelöst
- Schaltung schließt Kameraverschluss

In der Regel ist der Kameraverschluss dann max. zwei Sekunden offen, keinerlei Probleme mit Fremdlicht.[/quote]

Hallo zusammen, auch ich interessiere mich für die Tröpfchenfotografie und trage seit einiger Zeit alles Wissenswerte zusammen, um damit zu beginnen. Hier, auf dieser Seite bin ich allerdings ganz zufällig gelandet. Ein ganz großes Kompliment für die Ruhe und Ausdauer mit der ihr alles erklärt! Die Schaltung für die Magnetventile und auch Software (Trickler, Droplet) sind nicht mein Problem. Mafu hatte sehr verständlich etwas  zum  Auslösen der Blitze geschrieben. Da es genau in die Richtung geht, wo ich die Technik dieser Art Fotografie gerade nicht verstehe, frage ich einfach mal, auch wenn es etwas abweicht.
Steuerung der externen Blitze?
Bei mir sind drei Blitze, drei Funkempfänger und der Sender vorhanden.
Wie wird jetzt richtig angeschlossen?
Der Sender kommt zum Auslösen der Blitze per Funk nicht in den Blitzschuh der Kamera, .
Die Kamera hängt per Kabel zum Auslösen an einem Ausgang und wird von Droplet separat gesteuert.
Der Funksender wird mit einem der Blitzausgänge verkabelt und löst die drei Blitze gleichzeitig aus.
Die Synchronzeit der Kamera ist dabei unerheblich.
Soweit korrekt? Oder ist eine andere Methode angesagt.
Danke vorab für die Hilfe, Grüße bastelfix
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Feb 09, 2016, 01:12 pm
Hallo Leute, bin ganz neuling was arduino und Wassertropfen betrifft :=):=):=)und ich weiss dass der Trend für euch sehr alt ist.  Ich möchte gerne ein Steuergerät für Wassertropfen basteln, und ich möchte euch gerne  fragen ob Arduino nano 3 für so ein Gerät Nachteile hätte. Gibts grosse unterschiede zwischen  Arduino (Uno) und nano 3? was Würdet  ihr Empfehlen? ich habe ein Arduino nano 3 Bekommen dadurch Stelle ich diese frage.
danke im voraus
Luis
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: HotSystems on Feb 09, 2016, 01:35 pm
Da deine Frage erstmal nichts mit diesem Thread zu tun hat, wäre ein neuer passender.
Aber dennoch, du hast auf dem Nano auch den Atmega328 drauf, somit sind die Unterschiede fast nur von der Größe des Boards auszumachen.
Und er hat 2 Analoge Ports mehr, als der Uno.
Ein größerer Unterschied ist der USB-Anschluss, hier benötigst du einen anderen Treiber.
Ich denke, weitere gravierende Unterschiede gibt es nicht.
Zumindest ist er voll softwarekompatibel.
Empfehlen würde ich aber den UNO,  da dieser besser mit einem Steckbrett zu verkabeln ist und zusätzlich zu den vielen Shields  kompatibel ist.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Feb 09, 2016, 04:42 pm
Hi....Danke für die Antwort. Was ich nicht erwähnt habe ist, dass ich mit dem Gerät drei Ventile steuern möchte. Und als ich der Name Thread gelesen habe dachte ich, das ist es was ich möchte. Danke und lg Luis
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: agmue on Feb 09, 2016, 07:47 pm
Es gibt auch arduino nano screw shields (http://www.ebay.de/itm/Arduino-Nano-Expansion-Board-IO-Shield-/262280768952?hash=item3d1126edb8:g:~usAAOSwp5JWX1G-) zur besseren Verkabelung.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Feb 10, 2016, 09:25 am
agmue, danke für deinen Hinweis..
--------
Frage: Kann man der Korregierte Schaltplan-Ventil ohne Probleme benutzen? So wie ich verstanden habe ist er schon fertig, da ich meine Nikon D 810 anschliessen werde und ich möchte keine bösen Überraschungen haben.

Lg
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: HotSystems on Feb 10, 2016, 10:07 am
Frage: Kann man der Korregierte Schaltplan-Ventil ohne Probleme benutzen? So wie ich verstanden habe ist er schon fertig, da ich meine Nikon D 810 anschliessen werde und ich möchte keine bösen Überraschungen haben.
Das Schaltbild ist bis auf einen Pullup am Taster und den Freilaufdioden an den Ventilen ok.
Ob du es verwenden kannst, ist von deinen Kenntnissen abhängig.

Ich fürchte, das wird nicht einfach, da du das Schaltbild schon nicht lesen kannst.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Feb 10, 2016, 12:43 pm
Hi, HotSystem deine Befürchtungen sind richtig:=):=):=) da ich vor +- 4 Wochen das entdeckt habe :=)

ich habe auf dem Schaltplan etwas weggelassen, weil ich die Kamera direkt auflösen möchte ( von Geräte meine ich). Frage was ist die Haupt Funktion von den Freilaufdioden  in diesem fall?
Kann ich mich nach dem Schaltplan für den Einkauf der Teile orientieren?


Ich habe die Skizze von "guntherb".Wäre es leicht nach diesem Schema?

Danke für eure Hilfe

lG
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: HotSystems on Feb 10, 2016, 01:43 pm
Hi, HotSystem deine Befürchtungen sind richtig:=):=):=) da ich vor +- 4 Wochen das entdeckt habe :=)

ich habe auf dem Schaltplan etwas weggelassen, weil ich die Kamera direkt auflösen möchte ( von Geräte meine ich).

Wie das mit der Kamera funktionieren soll, weiß ich nicht. Möchtest du die durch den Arduino auslösen?


Quote
Frage was ist die Haupt Funktion von den Freilaufdioden  in diesem fall?
Die Dioden schützen die Elektronik, da beim abschalten in der Spule eine sehr hohe Spannung erzeugt wird, die Transistoren und Controller zerschießen können. Die Diode muss antiparallel angeschlossen werden.


Quote
Kann ich mich nach dem Schaltplan für den Einkauf der Teile orientieren?

Ich habe die Skizze von "guntherb".Wäre es leicht nach diesem Schema?
Welchen Schaltplan meinst du?

Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Feb 10, 2016, 02:01 pm
Ich meine Schaltplankopie YPG.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: HotSystems on Feb 10, 2016, 02:17 pm
Und warum nicht die von guntherb, da sparst du auch den Optokoppler.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Feb 10, 2016, 04:14 pm
Hallo.. Hotsystem..
Ja ich möchte dass arduino die ventile, Dslr, Flash, steuer....

Wenn die von guntherb einfach ist, ich wuerde diese nehmen..
lg
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Feb 12, 2016, 09:15 am
Hallo Leute! Ich bräuchte eure Hilfe.....ich komme nicht weiter, könntet ihr mir mit dem IRLZ 44N Verbindungen helfen? Schaut bitte der Anhang.
Ich habe so gezeichnet nur als Muster dass ihr seht was ist tue, bitte Fehler korrigieren
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: HotSystems on Feb 12, 2016, 11:44 am
Möglicherweise so:
(http://forum.arduino.cc/index.php?action=dlattach;topic=162278.0;attach=154686)

Eventuell noch die Schutzdiode (Ventil = Induktivität) ergänzen.

Sehe gerade, hier  (http://forum.arduino.cc/index.php?topic=378357.msg2610735#msg2610735)ist es hübscher gezeichnet.
Hoffentlich bringst du den TO mit den neuen Zeichnungen nicht durcheinander.

Noch eine kleine Anmerkung zu deiner "Handskizze". Warum hast du nicht gleich die "Freilaufdiode oder Schutzdiode" eingezeichnet? Dann weis er wie die einzubauen ist.  ;)

Edit:

@lorete
Grundsätzlich kannst du dich anhand der Schaltungen schon danach orientieren, was du einkaufen musst. Wir können da allerdings keine Garantie übernehmen. Du solltest dich unbedingt mit den elektronischen Grundlagen befassen. Denn auch der Zusammenbau will gelernt sein.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: mgcss on Feb 12, 2016, 12:05 pm
Wie das mit der Kamera funktionieren soll, weiß ich nicht. Möchtest du die durch den Arduino auslösen?

Die Dioden schützen die Elektronik, da beim abschalten in der Spule eine sehr hohe Spannung erzeugt wird, die Transistoren und Controller zerschießen können. Die Diode muss antiparallel angeschlossen werden.
*KorintenKackModusAn*
Das ist so nicht ganz korrekt. Es wird eine Spannung induziert, die (theoretisch) genauso hoch ist, wie die zuletzt angelegte - nur eben mit umgekehrter Polarität. Viel wichtiger ist aber der induzierte Strom. Der ist nämlich ebenfalls genauso groß wie der zuletzt fließende Strom ... und genau auf diesen Betrag muss eine Freilauf-Diode ausgerichtet sein. Zudem sollte sie möglichst schnell sein.
*KorentienKackModusAus*

Aber als stark vereinfachte Aussage kann man das auch stehen lassen ;-)

Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: agmue on Feb 12, 2016, 12:14 pm
*KorintenKackModusAn* *KorentienKackModusAus*
Ich finde diese Präzisierung für die Dimensionierung der Diode schon wichtig. Die Beiträge eines Forums sollen sich ja ergänzen.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: HotSystems on Feb 12, 2016, 12:34 pm
@mgcss

Ich hoffe nur, das dieses Forum weiterhin so bleibt wie es ist und nicht dahin ausartet, wie ein anderes "bekanntes" Forum.

Wie agmue schreibt, "Präzisierungen" sind wichtig, aber...

Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Feb 12, 2016, 12:37 pm
Würde gerne wissen was du mit dem begriff "TO" meinst..
danke.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: mgcss on Feb 12, 2016, 12:55 pm
EDIT: Meine Handskizze habe ich gelöscht zu Gunsten dieser Zeichnung mit Schutzdiode:
(http://forum.arduino.cc/index.php?action=dlattach;topic=378357.0;attach=154664)

Auch auf die Gefahr hin, dass ich jetzt gleich wieder als Besserwisser dargestellt werden: die Schaltung zeigt keine Freilaufdiode sondern die sog. Body-Diode des IRLZ (diese befindet sich innerhalb des MOSFET). Diese ersetzt NICHT eine Freilaufdiode / ein Löschglied. Auch über die Bauteilauswahl kann man nochmal kritisch drüber gucken. Ein IRLZ44 schaltet bis zu 51A. Das erscheint mir etwas überdimensioniert. Ebenso ist der Gate-Widerstand etwas zu hoch. Dieser hat die Aufgabe, zum einen EMV Störungen beim Schalten zu verhindern andererseits soll er den Pin des Controllers vor einem Überstrom schützen, da ein MOSFET durch die sog. Gate-Kapazität für einen kurzen Moment als Kurzschluss wirkt. Ein AVR-Pin kann in der Regel 20 mA aushalten. Ein Widerstand zur Strombegrenzung auf diesen Wert sollte deshalb nach ohmschen Gesetz 100 Ohm groß sein. Ein deutlich größerer Wert erhöht die Zeit, in der der MOSFET im sog. Linear-Betrieb ist (das ist der Bereich, in der das Gate nicht voll durchsteuert und entsprechend viel Verlustleistung entsteht).

Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: Serenifly on Feb 12, 2016, 01:10 pm
Das Problem ist dass es kaum kleine N-FETs gibt die nicht SMD sind. So landet man meistens sofort bei TO-220 oder TO-251 Gehäusen. In letzterem ist der IRLU024 (17A) ist ein klein wenig kompakter als der IRLZ44

Der IRLD024 ist DIP4 und macht ca. 2A
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: mgcss on Feb 12, 2016, 01:22 pm
korrekt ... aber im TO-220 gibt es zum Beispiel auch den "kleinen Bruder" IRLZ34 ... und der ist mir 39 Cent auch noch deutlich günstiger als ein IRLZ44 ;) ok ... macht jetzt bei einem Stück nicht sooo den Unterschied, allerdings ist das eines der Bauteile, die ich gleich immer in größeren Mengen besorge.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: guntherb on Feb 12, 2016, 01:43 pm
Jetzt muss ich mich hier auch mal einmischen, da ja da gerade mein Schaltungsvorschlag diskutiert wird, der für einen anderen Anwendungsfall gedacht war.

a) ja, die "Schutzdiode" ist keine. Das ist tatsächlich die Body-Diode des FET, die im Symbol von Fritzing mit dargestellt wird.

b) Im gezeigten Fall wäre eine Freilaufdiode kontraproduktiv, da sie die Laufzeit des Motors nach Abschalten verlängern würde. Eine "Freilaufdiode" wird eigentlich nur für PWM benötigt, wird aber oft auch zum Schutz vor Abschaltspitzen bei Zeitunkritischen Anwendungen verwendet.

c) Freilaufdiode, Schutzglied o.ä. braucht es bei Mosfets üblicherweise nicht. In den Anfangszeiten der MOSFETs konnten die durch den Durchbruch bei Überspannung noch zerstört werden. Seit den 80ern ist der Avalange Effekt unter Kontrolle und die MOSFETs können im Durchbruch hohe Energien schlucken. Wenn nur gelegentlich ein Motor geschalten wird, ist das unkritisch, solange die gespeicherte Energie nicht die im Datenblatt genannte Single Pulse Avalanche Energy übersteigt.

d) der Gatevorwiderstand könnte noch kleiner werden. Damit würde sich die Schaltzeit (off=>on) von 120ns auf 60ns verringern. Das wäre relevant, wenn man mit dem FET schnelle PWM fahren würde. Wenn der FET nur gelegentlich mal Schaltet, ist das irrelevant.

e) Die Spannung, die beim Abschalten einer Induktivität induziert wird, hat nichts mit der vorher anliegenden Spannung zu tun. Was passiert beim Abschalten: Weil es eine Induktivität ist, fließt der Strom erstmal weiter. Damit der Strom weiter fliessen kann, erhöht sich die Spannung solange, bis über parasitäte Widerstände und Kapazitäten, Leckströme etc. der Strom weiterfließt und dabei die Energie in der Spule abgebaut werden kann. Dass können auch mal kV sein. (Bei Motoren ist das anders).
Hier kommt der FET ins Spiel: der bricht durch, begrenzt die Spannung, und die Energie der Spule wird im FET in Wärme umgewandelt.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: agmue on Feb 12, 2016, 01:56 pm
.. die Schaltung zeigt keine Freilaufdiode sondern die sog. Body-Diode des IRLZ (diese befindet sich innerhalb des MOSFET). Diese ersetzt NICHT eine Freilaufdiode / ein Löschglied.
Danke, stimmt! Ich habe meinen Beitrag gelöscht  :smiley-confuse:

Würde gerne wissen was du mit dem begriff "TO" meinst..
danke.
TO = Thread Opener = Themensteller -> hier Du

Sorry, wenn ich zu Deiner Verwirrung beigetragen haben sollte, wollte helfen.
Ich backe jetzt ... das kann ich auch nicht.  :)
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: mgcss on Feb 12, 2016, 01:59 pm
wenn Du uns ein Produkt-Sample zur Verfügung stellst, beurteilen wir auch das sehr gerne :-)
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: HotSystems on Feb 12, 2016, 05:01 pm
Auch auf die Gefahr hin, dass ich jetzt gleich wieder als Besserwisser dargestellt werden...
Von uns hat dies keiner behauptet. Das war die eigener Beitrag.

Aber wir freuen uns immer auf Berichtigungen, denn "Nobody is perfect".

Und wir lernen alle gern dazu. Ich für mein Teil, ganz besonders.  ;)
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: guntherb on Feb 13, 2016, 12:15 pm
Die 25 R habe ich aus dem Datenblatt des IRLZ34N.
Das mag ein optimaler Wert für den FET sein, für den Arduino ist es etwas viel Strom.

Die Gate-Source Kapazität wirkt im Einschaltmoment wie ein Kurzschluss, der Arduino-Ausgang ist mit 40mA spezifiziert. Mit einem Lastwiderstand von 25R ist der Ausgang überlastet.
Nun mögen die Praktiker einwenden: "Es funktioniert aber."  Ja, tut es.
Aber der Ausgang des Arduino wird überlastet, gestresst, und irgendwann geht er dann kaputt. Früher, als unter normalen Betriebsbedingungen.

Und was bringt ein kleinerer Gatewiderstand?
Der Fet schaltet schneller.  Aber wir reden hier von Nanosekunden!
Mit einem 120 Ohm Gatewiderstand ist ein Leistungsmosfet ca. 100 ns im linearen Bereich.
Das ist bei der üblichen Arduino-PWM Frequenzen völlig egal!
Erst bei PWMs Frequenzen im zwei- oder dreistelligen kHz-Bereich wirkt sich das auf die Verlustleistung aus.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Feb 13, 2016, 03:51 pm
Hallo, Sorry dass ich nicht ganz klar gesagt habe, dass ich der Schaltplan von guntherb nehmen werde,
die teile dass im Schaltplan sind habe ich  gekauft .

Frage an guntherb, für meine Sicherheit :=):=)  ist dein Schaltplan immer noch Aktuell?

Danke
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: guntherb on Feb 13, 2016, 06:24 pm
(http://forum.arduino.cc/index.php?action=dlattach;topic=162278.0;attach=154838)
Frage an guntherb, für meine Sicherheit :=):=)  ist dein Schaltplan immer noch Aktuell?
Oh, da hast du tief in der Vergangenheit gegraben!
ja, der passt.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Feb 14, 2016, 08:25 am
Danke dir fuer deine positive Antwort, jetzt kann ich tief atmen:=):=):=), ja dass habe ich getan:=):=)(Vergangenheit gegraben) der Thread ist ein bisschen alt aber was soll das.......irgendwie möchte ich das gerne basteln... obwohl manches mal zum heulen aus lauter Verzweiflung ist:=):=)
Lg
Luis
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: mgcss on Feb 14, 2016, 11:03 am
wenn Du Dir unsicher bist, gibt es alternativ dafür auch fertige Module mit 4 Kanälen für rund 13 Euro (dann sogar galvanisch getrennt mit Optokopplern, optischer Anzeige und bis zu 10 A Dauerstrom pro Kanal). Z. B. bei Amazon (http://www.amazon.de/4fach-MOSFET-Platine-Volt-Ampere/dp/B01AWEQQ42/ref=sr_1_4?ie=UTF8&qid=1455444112&sr=8-4&keywords=irlz34)
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Feb 14, 2016, 07:19 pm
mgcss, vielen dank für deine Tipps, es ist so, die teile dass ich bestellt habe sind schon bei mir Gelandet, nur die 3 Mostfet Schalter haben mir mehr als 2/3 was der modul mit 4 Kanälen kostet :=):=):=) ich weiss, dass es nicht so viel geld ist... schade wäre wenn ich die wegschmeißen müßte, dann muss ich die lieber gebrauchen.

Frage, nach Schaltplan muss ich:

1.- Pin 11 mit G am IRLz44N (Erste von Links nach Rechts) mit 220Ω dazwischen
2.- GND Ventil mit D am LZIR44N (Mittlere)
3.- GND 12v mit S am LZIR44N (Dritte links nach rechts)
Die R 10kΩ Zwischen verbindung 1 und??????

das ist meine Interpretation als Autodidakt:=):=):=)
Danke  für Eure Hilfe bis jetzt.
Lg
Luis
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: guntherb on Feb 15, 2016, 10:24 am
Frage, nach Schaltplan muss ich:

1.- Pin 11 mit G am IRLz44N (Erste von Links nach Rechts) mit 220Ω dazwischen
2.- GND Ventil mit D am LZIR44N (Mittlere)
3.- GND 12v mit S am LZIR44N (Dritte links nach rechts)
4. Die R 10kΩ zwischen verbindung IRLZ044 linker Pin und rechter Pin.
5. Arduino GND mit GND 12V
Das könnte dann so etwa aussehen:
(http://forum.arduino.cc/index.php?action=dlattach;topic=162278.0;attach=155024)

Aber: je nach dem Strom, den die Ventile ziehen ist eine Verdrahtung über Steckbrett eher nicht gut. Steckbretter sind für Ströme über 1A nicht so geeignet. Zum Ausprobieren ok, dann aber lieber löten.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Feb 15, 2016, 07:23 pm
guntherb Vielen Dank für deine Hilfe, Ja Steckbrett es ist nur zum probieren, ich werde suchen was für das Endprodukt richtig ist.
lg

Edit: zum probieren ob die Verbindungen richtig sind, kann ich statt Ventil ein Led nehmen? wenn ja soll ich ein widerstand benutzen?
danke

Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: Serenifly on Feb 15, 2016, 10:47 pm
wenn ja soll ich ein widerstand benutzen?
Bei LEDs die mit einer konstanten Spannung versorgt werden immer!
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Feb 19, 2016, 08:42 pm
Gibt es eine möglichkeit dass ich nicht so viel Löten muss? Oder ist dieser weg nicht zum sparen?
Lg
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: guntherb on Feb 19, 2016, 09:00 pm
Klar.
die oben schon beschriebenen Moulde:
wenn Du Dir unsicher bist, gibt es alternativ dafür auch fertige Module mit 4 Kanälen für rund 13 Euro (dann sogar galvanisch getrennt mit Optokopplern, optischer Anzeige und bis zu 10 A Dauerstrom pro Kanal). Z. B. bei Amazon (http://www.amazon.de/4fach-MOSFET-Platine-Volt-Ampere/dp/B01AWEQQ42/ref=sr_1_4?ie=UTF8&qid=1455444112&sr=8-4&keywords=irlz34)
Oder einfach mal bei ebay  (http://www.ebay.de/sch/i.html?_odkw=avr+mosfet+modul&_sop=15&_osacat=0&_from=R40&_trksid=p2045573.m570.l1313.TR0.TRC0.H0.Xarduino+mosfet+modul.TRS0&_nkw=arduino+mosfet+modul&_sacat=0)schauen
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Feb 21, 2016, 03:27 pm
Danke Liebe Gemeinde für alle eure Hilfe:=):=):=)
Es ist noch ein grosse frage aufgetaucht.... ich werde ganz sicher wenn alles fertig ist, der ganze Ablauf mit den Wassertropfen im Keller durchführen. wenn ich mich nicht teusche braucht man für die ganze Ausführung ein PC (Rechner)..... da ich ein Imac 27" habe und ich möchte sicher nicht Hinauf und Hinunter mit dem Kasten (Imac) gehen, und ein Laptop momentan zu kaufen liegt nicht im Plan. Ich habe gelesen das Arduino mit ein LCD On Board Steuern kann. Kann man  "guntherb"Schaltplan als Start Punkt für so was nehmen?

Danke
Lg


Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: guntherb on Feb 22, 2016, 10:20 am
Ja, schon, aber mein Schaltplan hat nichts mit LCD Display zu tun.

Du musst verschiedene Aufgaben lösen:
-  Ventile Ansteuern.
-  Kamera steuern oder auslesen.
-  div. Werte auf Display anzeigen.
-  Über Taster o.ä. Werte einstellen können.
- ...

Alle diese Aufgaben kannst du einzeln bearbeiten. Und das würde ich auch so machen:
Eines nach dem anderen angehen, dran arbeiten bis es funktioniert, dann erst das Nächste.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: agmue on Feb 22, 2016, 12:11 pm
Ich habe gelesen das Arduino mit ein LCD On Board Steuern kann.
Möglicherweise wäre ein 16x2 Character Display mit I2C-Schnittstelle (https://www.adafruit.com/products/714) eine gute Wahl für Dich, da sind Tasten und LCD mittels zwei Leitungen (I2C-Bus) anzusprechen. Unter "Learn" findest Du eine Anleitung.

Wenn Du genug I/Os frei hast, ginge auch ein LCD 20x4 (https://www.adafruit.com/products/198).

Nimm bitte auf jeden Fall etwas mit guter Dokumentattion! Deshalb habe ich Dir Produkte von Adafruit als Beispiel verlinkt, natürlich gibt es auch andere Anbieter. Kaufen tue ich sowas dann in D beim autorisierten Händler. Das kostet dann mehr, ich nenne das Lehrgeld, aber ich komme innerhalb einer vernünftigen Zeit zum Ziel. Du willst ja vorrangig Fotos machen, nehme ich an.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: agmue on Feb 22, 2016, 12:39 pm
Bin auf Arduino Uno umgestiegen da er Übersichtlicher ist....

agmue, danke für die Link`s
Bitte gerne! Ein 2.8" TFT LCD with Touchscreen (https://www.adafruit.com/products/1770) habe ich vor kurzer Zeit verbaut, das gibt es auch als 2.8" TFT Touch Shield for Arduino (https://www.adafruit.com/products/1651) UNO. Langfristig ist das eventuell eine Option, man bekommt da viel mehr Infos unter.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Feb 22, 2016, 12:59 pm
Danke...... Ja das denke ich auch..... eines nach dem anderen. ich wollte nur Wissen ob so etwas möglich wäre.
LCD ist etwas für die Zukunft:=):=):=) ich muss zuerst die ventile zum laufen:=):=):=) bringen....
Ich habe 3 Ventile als Geschenk bekommen. nur ein einziges aber, dass die dinge  mit einem art als Schalter Ausgestatten sind. ich würde die Dinge weglassen , da ich im arduino  MostFet Schalter einbauen werde,,,, liege ich falsch?

Bin auf Arduino Uno umgestiegen da er Übersichtlicher ist....

agmue, danke für die Link`s

Lg


 Edit: Grafik Vergessen.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Feb 26, 2016, 01:56 pm
Endlich wieder zeit für meine Bastelei,,,, die Ventile funktionieren, habe die getestet soweit alles ok, jetzt möchte ich mich auf die Kamera Verbindung voran machen, ich werde für die Kamera Verbindung der Schaltplan von owiban, zuerst mit meiner treuen Nikon D 90 anfangen,,,,, die D 810 möchte ich schonen :=):=) bis alles 100% funktionfähig ist.

ich möchte am Anfang dass der Sketch  die Kamera und ein Ventil ansteuert, könnte jemand mich mit so etwas helfen?

Danke
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Mar 05, 2016, 01:48 pm
Hallo, ich Hätte noch eine frage, ich möchte die Verbindung für mein Nikon SB 900 machen, dass habe ich total Vergessen,
ein optokoppler (SFH610 A) und ein R100 Ω würden reichen?
danke
lg
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: uxomm on Mar 05, 2016, 06:50 pm
Ja, 100-200 Ω auf der Input-Seite des Optokopplers sollten passen.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Mar 05, 2016, 07:34 pm
Vielen Dank für die Antwort und

Lg

aus Steyr -  Österreich
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: uxomm on Mar 05, 2016, 07:42 pm
Lg

aus Steyr -  Österreich
Liebe Grüße aus Wien  :)
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Mar 05, 2016, 09:04 pm
Hi... gut zu wissen dass du von Wien bist...:=):=):=)
lg
Luis
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Mar 06, 2016, 01:39 pm
Hallo, ist ein LCD 20x4 mit i2c eine gute Lösung um Pins  zu sparen?
Lg
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: uxomm on Mar 06, 2016, 02:18 pm
Ja, damit brauchst du nur 2 Datenpins.
Ich verwende auch gerne serielle LCD-Displays - brauchen auch nur (1 bis) 2 Pins und lassen sich ganz einfach mit Serial.print etc. ansprechen.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Mar 06, 2016, 10:08 pm
Danke,,,,,, ich werde eine bestellen, auf was muss ich aufpassen? :=):=):=)
lg
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: uxomm on Mar 07, 2016, 12:56 am
Ich denke, gerade wenn du noch nicht so viel Erfahrung hast, ist es wichtig, dass du Produkte besorgst für die es eine Dokumentation gibt (zumindest eine Anschlussbelegung) in einer Sprache, die du verstehst und am besten auch Beispielcode (für Arduino). Manchmal sind diese Dinge vielleicht ein wenig teurer als ähnliche aus Fernost, aber gerade wenn du noch am Anfang stehst, ersparst du dir dadurch oft Ärger und "Herumgewurschtel".

Oft ist es auch günstig wenn die Versorgungsspannung der Peripherie mit deiner generellen Versorgungsspannung übereinstimmt - das macht es ein wenig einfacher. Also zum Beispiel, wenn dein Arduino mit 5 Volt läuft, hat es Vorteile, wenn das, was du anschließen möchtest, auch mit 5 Volt läuft. Es ist natürlich auch möglich Peripherie mit 3,3 Volt zu verwenden, aber eben oft ein wenig komplizierter...

Mit diesen Displays habe ich schon gearbeitet und es hat gut funktioniert (das ist jetzt nicht unbedingt eine Kaufempfehlung; sind halt Händlier in Österreich, mit "Versandkostenvorteil" bei Lieferung innerhalb Ö):
Display i2c, 2 Zeilen (http://electronics.semaf.at/LCD-16x2-i2c-Modul)
Display i2c, 4 Zeilen (http://electronics.semaf.at/LCD-20x4-i2c-Modul)
Display seriell (2 Zeilen) (http://physicalcomputing.at/epages/f46ab952-295a-4f65-8ffa-38a4b8eec267.sf/de_AT/?ObjectPath=/Shops/f46ab952-295a-4f65-8ffa-38a4b8eec267/Products/A-10121)

Übrigens: Meist komme ich mit 16 Zeichen und 2 Zeilen gut aus.

Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Mar 07, 2016, 11:33 am
Danke für deine ausführliche Antwort. Die Links sind sehr hilfreich für mich. :)  :)  :) Ein paar Euros mehr ist nicht so schlimm. In Steyr gibt es nur ein Elektronikgeschäft und dadurch zahle ich sowieso mehr als in einem großen Geschäft.
lg
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Mar 09, 2016, 12:05 pm
Hallo, heute konnte ich der Optokoppler SFH610A nicht kaufen (Nicht Lagernd) welcher optokoppler könnte ich als Ersatz nehmen? könnte jemand mir etwas empfehlen?
Danke
Lg
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: mgcss on Mar 09, 2016, 01:45 pm
ist die Platine schon fertig? Ansonsten sind die Unterschiede bei Optokopplern nicht so gravierend. Ein Standard-Typ ist zum Beispiel der 4N25. Den gibt's für rund 25 Cent. Er hat aber ein 6poliges Gehäuse. Du brauchst davon aber nur 4.

PS: wo hast Du denn wegen dem SFH610A gekuckt? Bei Reichelt z. B. gibt es ihn.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: michael_x on Mar 09, 2016, 03:01 pm
http://www.mouser.de hat ein gutes Suchverfahren. Da kannst du z.B. gezielt nach DIP-4 Gehäuse und npn Output suchen ( bleiben 133 ;) )

nach Preis aufsteigend sortiert
--> LTV817 :  reichelt ab Lager 19 ct  oder  conrad auf Lager 20 ct
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Mar 09, 2016, 10:16 pm
Ja...Platiine ist fertig....ich war beim Conrad nicht Lagernd,, online beim Reichelt und Conrad, wuerde ich am Kommenden Di. bekommen.
Lg
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Mar 10, 2016, 09:40 am
michael_x, danke für deine Antwort, leider der LTV817 hat Conrad (Linz-Österreich) nicht lagernd :=):=):=) Muss leider warten
lg
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: Serenifly on Mar 10, 2016, 03:21 pm
Wie gesagt ist der genaue Typ hier kaum wichtig. Conrad sollte genügend Alternativen haben. Es sollte fast alles außer MOC... gehen (das sind Opto-Triacs)
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Mar 10, 2016, 03:42 pm
Danke.... ich habe wieder angerufen, antwort keine alternative..
lg
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: michael_x on Mar 10, 2016, 04:33 pm
Laut Internet sind in Linz 18 Stück vorhanden:
https://www.conrad.at/de/optokoppler-mit-transistor-ausgang-sharp-pc817x2nsz0f-dip-4-ausfuehrung-1-kanaldouble-transfer-mold-package-187038.html

?
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Mar 11, 2016, 07:53 pm
Hallo ..
wenn ich meine D90 an Arduino anschließe und ein Bild mache kann man das Bild an der Kamera display nicht sehen. Hat jemand eine Idee an was das liegen kann?
lg

Edit:
Heute habe ich meine ersten Bilder gemacht , der Blitz über Funk ausgelöst hat gut funktioniert.

Ich habe gelesen, dass ich das Kabel AF und Auslöser trennen muss und getrennte Verbindung im Arduino durchführen soll, ist es richtig?



Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Mar 13, 2016, 09:36 pm
Hallo ..
wenn ich meine D90 an Arduino anschließe und ein Bild mache kann man das Bild an der Kamera display nicht sehen. Hat jemand eine Idee an was das liegen kann?
lg

Edit:
Heute habe ich meine ersten Bilder gemacht , der Blitz über Funk ausgelöst hat gut funktioniert.

Ich habe gelesen, dass ich das Kabel AF und Auslöser trennen muss und getrennte Verbindung im Arduino durchführen soll, ist es richtig?




Problem gelöst.
Lg
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: FrankHausg on Mar 29, 2016, 06:09 pm
Hallo liebe Gemeinde,

erstmal schönen Dank für eure Anregungen.

Ich habe auch ein Projekt gestartet um Tropfen zu fotografieren.

Arduino Uno SMD Version
http://www.exp-tech.de/arduino-uno-smd-r3

20x4 Display
http://www.exp-tech.de/standard-lcd-20x4-extras?___SID=U

Relaisplatine mit 4 Relais
http://www.amazon.de/Kanal-Relais-Module-Arduino-TTL-Logik/dp/B00ALNJN72/ref=sr_1_sc_2?ie=UTF8&qid=1459266893&sr=8-2-spell&keywords=realisplatine

2 b.z.w. 3 Magnetventile
http://www.amazon.de/Inlineventil-11531060-12V-AC-Ventilstecker/dp/B00B5X4FGG/ref=sr_1_14?ie=UTF8&qid=1459267158&sr=8-14&keywords=magnetventil+12v

Tastatur 3x3 Eigenbau Widerstandsmatrix am Analogeingang
http://www.avr-asm-tutorial.net/avr_de/keypad/keyboard.html


Bei interesse würde ich euch ein paar Fotos und den Sketsh einstellen.

LG Frank  :o
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Apr 08, 2016, 12:09 pm
Hallo..... die Zeit ist gekommen wo ich vom Wohnzimmer in den Keller mit meinem Gestell und Flüssigkeit gehen muss :=):=)
für das habe ich auf mein Gerät ein LCD 20x4 i2c angeschlossen, (lcd ist angeschlossen und probiert OK). ich habe im Internet
gesucht und habe ich so ein Schaltplan entworfen.

1x Start Taste
1x Cursor Taste
1x Reset Taste
2x Potentiometer 10k (für die variablen Steuerungen)

oder wäre besser nur mit tasten ohne Poti?
ich bin dankbar für jede Hilfe

Lg
Lui
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: Klaus_ww on Apr 08, 2016, 12:28 pm
Passt doch mit den beiden Potis. Brauchst aber die 220R Widerstände am Schleifer nicht.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Apr 09, 2016, 12:55 pm
Vielen Dank für deine Antwort
Lg
Luis
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Apr 13, 2016, 09:07 pm
 Hallo.. Kann ich die Potis an die 12V ohne Wiederstand, oder muss ich die an die 5V (Arduino)anschliessen? Danke

lg

Luis
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: uxomm on Apr 13, 2016, 09:30 pm
Hallo.. Kann ich die Potis an die 12V ohne Wiederstand, oder muss ich die an die 5V (Arduino)anschliessen?
Die Potis gehören an die 5 Volt (vom Arduino), so wie in deinem Bild (die 220 Ohm Widerstände brauchst du aber nicht).
Die Eingänge deines Uno vertragen max. 5 Volt (um genau zu sein: ein klein Wenig mehr) aber keine 12 Volt.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: lorete on Apr 13, 2016, 09:45 pm
Das Bedeutet dass ich 1x LCD + 2x Potis problemlos auf die Arduino 5V anschliessen kann, ist das Richtig?
Danke
Lg
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: agmue on Apr 13, 2016, 09:50 pm
Ein Poti kann man vernachlässigen: 5V / 10000 Ohm = 0,0005 A

Den Stromverbrauch vom LCD kenne ich nicht, hauptsächlich dürfte da die Beleuchtung ins Gewicht fallen.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: photojo on Feb 05, 2017, 11:01 am
Hi,

ich habe die Schaltung genau wie in https://forum.arduino.cc/index.php?action=dlattach;topic=162278.0;attach=42183 (https://forum.arduino.cc/index.php?action=dlattach;topic=162278.0;attach=42183) nachgebaut.
Am OK habe ich noch nichts dranhängen, da ich erst überprüfen will, ob dieser überhaupt auf "Druchgang" schaltet. Leider nicht. Woran könnte das liegen?

Gruß
Jo
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: HotSystems on Feb 05, 2017, 12:06 pm
Hi,

ich habe die Schaltung genau wie in https://forum.arduino.cc/index.php?action=dlattach;topic=162278.0;attach=42183 (https://forum.arduino.cc/index.php?action=dlattach;topic=162278.0;attach=42183) nachgebaut.
Am OK habe ich noch nichts dranhängen, da ich erst überprüfen will, ob dieser überhaupt auf "Druchgang" schaltet. Leider nicht. Woran könnte das liegen?

Gruß
Jo
Ich weiß nicht wie du an diese Schaltung gekommen bist.
Kann funktionieren ist aber unüblich aufgebaut.

Was genau willst du machen ?
Welche Teile willst du verwenden ?
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: mgcss on Feb 05, 2017, 12:08 pm
spontan würde ich sagen, das liegt daran, dass die Schaltung falsch ist. Einen guter Beitrag für die OK-Grundschaltungen findest Du hier: https://www.mikrocontroller.net/articles/Optokoppler (https://www.mikrocontroller.net/articles/Optokoppler)

Wenn Du Dir unsicher bist: es gibt auch fertige Module mit Optokopplern und MOSFET's ... einfach anschließen und wohlfühlen (wenn es schon unbedingt OK sein müssen, wobei ich hier nicht wirklich einen Grund dafür sehe).

PS: und tue Dir selbst und uns einen Gefallen, falls Du selbst einen zeichnen willst: nimm nicht Fritzing oder so einen Foto-Müll sondern zeichne einen richtigen Schaltplan ;-)
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: photojo on Feb 05, 2017, 12:31 pm
Danke für die Rückmeldungen. Ich möchte ein 12V-Magnetventil schalten. Ich bin kein Elektroniker. Soweit ich das verstanden habe, funktioniert ein OK ähnlich einem Relais, nur das der OK nicht so "träge" ist, oder?
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: HotSystems on Feb 05, 2017, 12:39 pm
Danke für die Rückmeldungen. Ich möchte ein 12V-Magnetventil schalten. Ich bin kein Elektroniker. Soweit ich das verstanden habe, funktioniert ein OK ähnlich einem Relais, nur das der OK nicht so "träge" ist, oder?
Das kann man so sagen.

Du musst nur wissen, welchen Strom das Magnetventil benötigt. Evtl. reicht da schon ein Optokoppler aus.
Bei höherem Strom ist ein zusätzlicher Transistor nötig. Und noch eine Freilauf-Diode parallel zum Magnetventil.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: mgcss on Feb 05, 2017, 12:40 pm
nein. Ein OK ist mit einem Relais nur bedingt vergleichbar. Das einzige, was sie gemeinsam haben ist, dass sie zu einer Potential-Trennung genutzt werden können.

Das schalten von Magnet-Spulen geht auch mit normalen, sog. Bipolar-Transistoren bis zu einer gewissen Leistungsklasse / Stromstärke. Darüber nimmt man dann sog. Metal-Oxid-Feld-Effekt-Transistoren ... abegkürzt MOSFET. Ein Mosfet braucht zur sicheren Beschaltung eigentlich nur 2 zusätzlich Widerstände und fertig ist die Laube. Hier findest Du ein fertiges Modul mit einem Standard-Mosfet IRLZ34: http://www.ebay.de/itm/152421288376 (http://www.ebay.de/itm/152421288376) auf dem zweiten Artikelbild ist auch der Schaltplan, falls Du es selber nachbauen willst.

Vom gleichen Anbieter gibt es auch ein 4kanaliges Modul mit Optokopplern .. falls Du unbedignt welche verwenden willst: http://www.ebay.de/itm/152387104854 (http://www.ebay.de/itm/152387104854)
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: photojo on Feb 05, 2017, 12:59 pm
Ok, ich versuchs nochmal anders: Das Magnetventil ist erstmal zweitrangig. Mein "oberstes" Ziele ist erstmal, dass ich den OK auf Durchgang schalten will, wenn am Pin X des Arduinos die 5V anstehen. Und für mich ist im Moment nicht nachvollziehbar, warum ich am OK dann immer noch einen Wiederstand habe?
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: photojo on Feb 05, 2017, 01:04 pm
Anbei "mein" Schaltplan. Sorry, ich habe keine andere Software drauf.

Der OK ist übrigens ein SFH610A-1
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: HotSystems on Feb 05, 2017, 01:04 pm
Ok, ich versuchs nochmal anders: Das Magnetventil ist erstmal zweitrangig. Mein "oberstes" Ziele ist erstmal, dass ich den OK auf Durchgang schalten will, wenn am Pin X des Arduinos die 5V anstehen. Und für mich ist im Moment nicht nachvollziehbar, warum ich am OK dann immer noch einen Wiederstand habe?
das musst du einfach besser erkären.
Welcher Widerstand ?
zeige deine Schaltung.

OK, hat sich überschnitten.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: DrDiettrich on Feb 05, 2017, 01:13 pm
Ein Optokoppler verhält sich wie ein Transistor, nur mit einem aufgeteilten Emitter. Es muß ein Basisstrom (LED) fließen, damit ein Kollektorstrom fließen kann. Beide Ströme werden mit je einem Widerstand auf ungefährliche Werte begrenzt.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: agmue on Feb 05, 2017, 01:29 pm
Wichtig ist systematisches Vorgehen:

Das Ergebnis notierst Du beispielsweise "HIGH 5V, LOW 0V" für alle Meßergebnisse.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: mgcss on Feb 05, 2017, 01:33 pm
R1 dürfte mit 22 Ohm zu klein sein. Wenn Du Pech hast, hast Du damit die Sende-Diode des OK gekillt (oder den PIN des Arduino).

Lies zudem bitte den von mir oben genannten Beitrag im microcontroller Forum zum Thema OK. Das, was Du da postest, ist immer noch keine der beschriebenen Standard-Beschaltungen!

PS: ich hab gerade mal einen Blick ins Datenblatt des OK geworfen. Der max. Strom durch die Sende-Diode ist dort mit 60 mA angegeben. Wenn man von einer Durchlass-Spannung von 1,5 Volt ausgeht, müsste der Widerstand mindestens 68 Ohm groß sein. Da der Pin des Arduino aber nicht so viel Strom zur Verfügung stellen kann, sollte man besser > 220 Ohm verwenden, um auch den Spezifikationen des Arduino gerecht zu werden. Ich persönlich nutze immer 330 Ohm als Vorwiderstand für einen OK (wenn er mit 5V angesteuert werden soll). 22 Ohm sind aber auf jeden Fall zu wenig und machen es wahrscheinlich, dass entweder der Controller oder der OK kaputt gehen.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: agmue on Feb 05, 2017, 01:59 pm
@mgcss: Guter Hinweis, hatte die 22Ω als 220 gelesen, brauche wohl doch eine Brille :o

SFH610A-1 sollte einen Vorwärtsstrom von 10 mA benötigen, da sind Deine 330 Ohm genau richtig :)
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: mgcss on Feb 05, 2017, 02:01 pm
@agmue: ich habe eine Brille und übersehe trotzdem genug :-)
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: agmue on Feb 05, 2017, 02:35 pm
@agmue: ich habe eine Brille und übersehe trotzdem genug :-)
Wo Du es sagst, ich habe sogar mehrere, eine zum Lesen, eine zum Löten ... dann hatte ich wohl die falsche auf, oder bin einfach zu blöd, oder der leckere Duft des Mittagessens hat mich abgelenkt. Es gibt so viele Fehlerquellen :)

Danke für die moralische Unterstützung :)
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: mgcss on Feb 05, 2017, 02:42 pm
hehe ... ich hab mir neulich erst ne Leucht-Lupe zum Löten besorgt ... die geb ich nie mehr her :D Und für die Kontrolle von kleinen Lötungen sogar noch ein USB-Mikroskop

Hans Clarin hat mal gesagt während er nach seiner Brille suchte: "Wenn der Geist nachläßt, muss die Optik her!"
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: photojo on Feb 05, 2017, 03:03 pm
Vielen lieben Dank!

Das ist der Stand der Dinge:

- die 22 Ohm waren definitiv falsch: der Zeichner des Planes und der Stückliste hat sich offensichtlich verschrieben
- mit den 220 Ohm geht es
- offensichtlich habe ich mir aber einen OK geschrottet
- das Arduino liefert immer noch die 4,96 V auf diesem PIN (denke nicht, dass es kaputt ist, oder?!)

Könnte ihr bitte noch sagen, ob der 1kOhm Widerstand auf der Seite des Magnetventils passt, um weitere "Zerstörungen" zu vermeiden?! DANKE!
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: mgcss on Feb 05, 2017, 03:17 pm
Liest Du eigentlich die Antworten hier? Ich glaube nicht, dass Du schon einen Blick in den mikrcocontroller Beitrag geworfen hast. Denn dann wüßtest Du, dass die Schaltung rechts vom OK immer noch Murx ist.

a) LIES DEN BEITRAG
b) entscheide Dich für eine der 3 Grundschaltungen, die dort beschrieben sind
c) baue sie ohne Ventil mit den im Beitrag verwendeten Widerständen nach
d) informiere Dich über MOSFET's und Freilaufdioden
e) schalte Dein Ventil mit einem MOFET, der vom OK gemäß der von Dir aus dem Beitrag ausgewählten Grundschaltung angesteuert wird.

Da wir keine Ahnung haben, welche Ventil Du verwendest (und insbesondere wie viel Strom die darin verbaute Spule zieht), kann es statt mit dem MOSFET auch mit einem "normalen" Bipolar-Transistor gehen. Mit dem MOSFET bist Du aber auf der sicheren Seite.

Und auch das nochmal: ein OK ist für Dein Projekt eigentlich nicht erforderlich und ich sehe darin in Deinem Fall keinen echten Mehrwert. Einfacher wird das ganze, wenn Du einen MOSFET wie den IRLZ34 nimmst und ihn direkt ansteuerst ... aber auch das habe ich schon gesagt. Oder erklär uns doch mal, warum Du es unbedingt mit einem OK machen willst!
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: HotSystems on Feb 05, 2017, 03:42 pm
Oder erklär uns doch mal, warum Du es unbedingt mit einem OK machen willst!
Vermutlich weil der TO es mit einer nicht funktionierenden Schaltung aufbauen wollte und diese wegen fehlender Erfahrung nicht selbst anpassen kann.

Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: photojo on Feb 05, 2017, 07:15 pm
Hallo,

ich habe das Forum genau gelesen, auch das mit dem MOFSET. Da ich diesen aber am Sonntag nicht auftreiben kann und eben nur den von mir gepostet Schaltplan inkl. der entsprechenden Bauteile zuhause habe, wollte ich eben "meinen Plan" weiterverfolgen.
Selbstverständlich baue ich alles erstmal ohne Ventil, es geht übrigens um diese http://www.eventile.de/Magnetventile/6mm-Anschluss/12V-DC--o--STECKER--SCHW--180.html

Gruß
Jo
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: photojo on Feb 05, 2017, 08:37 pm
Ich besorge mir morgen, Mo, den mosfet-infineon-technologies-irfz34npbf-1-n-kanal-68-w-to-220, den hat mein Händler vorrätig. Ich hoffe, das harmoniert dann mit meinem Ventil, s.o.
Passt das dann so?

Wärst du unter Umständen so nett und sagst/zeichnest mir Laien, wie ich die Schaltung nun korrekt fertig stelle?

Vielen Dank!
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: mgcss on Feb 05, 2017, 08:40 pm
ich gehe mal davon aus, dass es um diese Spule geht:http://www.eventile.de/Magnetventil-Ersatzteile/Spulen-fuer-Magnetventile/SERIE--O18--O50--O60--O92-4.html (http://www.eventile.de/Magnetventil-Ersatzteile/Spulen-fuer-Magnetventile/SERIE--O18--O50--O60--O92-4.html) Die "verbraucht" bei 12 V 10 Watt. Damit fließt ein Strom von 0,83 Ampere. Das ist für einen "normalen" Transistor schon recht viel. Ein "Wald und Wiesen" Transistor wie der BC547 schafft lt. Datenblatt nur max.  0,1 Ampere. Von den Max.Werten des Datenblattes sollte man aber immer nur 50% ausnutzen. Mit einem einfach Bipolar-Transistor wird das schwer - mir würde zumindest keiner einfallen. Es wird wohl auf alle Fälle ein Darlington-Typ werden müssen wie zum Beispiel ein TIP120.

Mach Dir also selbst das Leben leichter und verabschiede Dich als aller erstes von dem Gedanken, dass Dir ein OK in irgendeiner Weise hilft. Dann nimm einen Logic-Level MOSFET wie den IRLZ34 und zwei Widerstände (100 Ohm zwischen Arduino und Gate des MOSFET sowie 10k zwischen Gate des MOSFET und GND). Alles andere wird nix. Ein Schaltplan-Beispiel ist in einem der beiden ebay Links, die ich weiter oben schon gepostet hatte im zweiten Artikel-Bild (auch genau mit den von mir genannten Widerstandswerten). Zusätzlich ist in dem Bild nur noch eine LED + 1k Vorwiderstand. Die beiden Bauteile kannst Du einfach weg lassen.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: DrDiettrich on Feb 05, 2017, 08:44 pm
Ein Darlington dürfte da ordentlich warm werden :-(
Ein separator Treiber-Transistor wäre da besser, oder eben ein FET.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: photojo on Feb 05, 2017, 08:51 pm
@ mgcss
Danke für deine Erläuterungen. Mein Posting hat sich wohl mit deinem überschnitten.
Den eBay-Link schaue ich mir nochmal an.
Ein OK behalte ich aber trotzdem zum Auskösen der Kamera, da reicht mir der Durchgang.

Danke nochmals!

EDIT

Dein erster eBay-Link ist leider tot. Dort war doch auch eine Verwendung der Widerstände erklärt. Könnest du mir nochmal den funktionierenden Link posten?
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: mgcss on Feb 05, 2017, 09:05 pm
Hier mal auf die Schnelle zusammengezimmert: (http://server1.cboden.net/files/Spule.PNG)
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: photojo on Feb 05, 2017, 09:16 pm
Wow! Du bist der Hammer!

Jetzt doch noch eine Kleinigkeit, sorry. Muss ich beim Kauf der Freilaufdiode auf was achten? Gibts da eine Typenbezeichnung? Was wäre ohne diese Diode los?
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: mgcss on Feb 05, 2017, 11:55 pm
vereinfacht: eine stromdurchflossene Spule erzeugt ein Magnetfeld. Schaltet man den Strom ab, bricht das Magnetfeld zusammen. Dabei induziert das Feld einen Strom mit umgekehrter Polarität zurück in die Spule. Die Freilaufdiode leitet diesen Strom zurück zur Spannungsquelle.

Wie gesagt: die Polarität ist gegenläufig zur normalen Spannung. Der Strom "entsteht" also "unterhalb" der Spule. Deshalb ist die Diode auch so eingebaut, dass sie im normalen Betrieb sperrt und nur den beim Abschalten induzierten Strom von "unten" nach "oben" durchlässt.

Bevor jetzt gleich wieder jemand meckert: das ist wie gesagt stark vereinfacht erklärt.

Ohne Freilaufdiode kann es zu einer Beschädigung des Mosfet kommen. Der IRLZ ist da zwar recht widerstandsfähig, allerdings ist es besser, ihn durch die Freilaufdiode zu schützen.

Wie sucht an die richtige Diode aus?
a) sie soll schnell sein. Deshalb eignen sich besonders sog. Schottky-Typen
b) der induzierte Strom ist zunächst so hoch wie der zuletzt fließende. In Deinem Fall also 0,8 A. Diesen Strom muss sie verkraften. Zumindest für einen kurzen Augenblick. Deshalb gilt hier der Wert für die sog. Impulsfestigkeit aus dem Datenblatt der Diode.
c) die Spannungsfestigkeit in Sperr-Richtung muss der Betriebsspannung entsprechen.
d) gilt jetzt nicht in Deinem Fall und soll nur der Vollständigkeit halber erwähnt sein: wird die Spule per PWM angesteuert, sollte es ein sog. Fast-Recovery-Typ sein.

Welcher Typ genau ist nicht so wichtig, solange sie die Kriterien a) bis c) einhält. Einfach mal Deinen Händler fragen, was er da hat. Wenn Du ihn nach einer Freilaufdiode für 12V / 0,8A frägst, wird er Dir schon etwas passendes geben.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: photojo on Feb 06, 2017, 12:52 pm
So, erneut Dankeschön. Hört ich sich immer "abgedroschen" an, aber was bleibt mir anderes übrig?! ;-)

Ich habe mir heute die oben erwähnten Bauteile besorgt. Wenn ich Zeit finde, alles umzusetzen, berichte ich über meine Erfolge - hoffentlich.

Gruß
Jo
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: photojo on Feb 11, 2017, 07:08 pm
Ich frage, mit größtem Respekt, ist der Schaltplan wirklich korrekt, sollte das also so 100%ig funktionieren?

http://forum.arduino.cc/index.php?topic=162278.msg3117658#msg3117658 (http://forum.arduino.cc/index.php?topic=162278.msg3117658#msg3117658)

Danke im Voraus!
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: HotSystems on Feb 11, 2017, 07:11 pm
Ich frage, mit größtem Respekt, ist der Schaltplan wirklich korrekt, sollte das also so 100%ig funktionieren?

http://forum.arduino.cc/index.php?topic=162278.msg3117658#msg3117658 (http://forum.arduino.cc/index.php?topic=162278.msg3117658#msg3117658)

Danke im Voraus!
Was verstehst du an dem Schaltbild nicht ?
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: mgcss on Feb 11, 2017, 07:28 pm
ja, das wird so 100%ig funktionieren, so fern Du die Masse aus dem Schaltplan auch mit der Masse Deines Arduino verbindest.

Was lässt Dich zweifeln? ;-)
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: photojo on Feb 11, 2017, 07:36 pm
Ich habe das mit dem Minus der 12V-Versorgung verwechselt. Der bleibt ja dann quasi unbenutzt, oder?!

Ach ja: Danke!
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: photojo on Feb 11, 2017, 07:44 pm
Oh, Hotsystems hat auch geschrieben. Sorry, wenn ich hier als DAU dastehe und für deine Verhältnisse triviale Fragen stelle, aber für mich ist das absolutes Neuland. Ich brauche letztendlich das fertige Produkt.
Wenn Neulinge wie ich dich hier im Forum nerven, musst ja nicht antworten.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: mgcss on Feb 11, 2017, 07:46 pm
Erstmal müssen wir klären, was für ein Netzteil Du hast.

Es gibt zwei Möglichkeiten:

a) Dein Netzteil hat mindestens 3 Anschlüsse: +12V, Masse und - 12V. Solche Netzteile gibt es, die sind aber nicht die Regel

b) Dein Netzteil hat nur 2 Anschlüsse: +12V und Masse (das kann in ungünstigen Fällen als Minus beschriftet sein).

Ich vermute mal, Du hast b) Masse = GND und falls Masse bei Deinem Netzteil mit Minus beschriftet ist, dann gilt auch Minus = GND. Das muss dann mit GND aus dem Schaltplan und mit GND Deines Arduino verbunden werden. Falls Du ein Netzteil vom Typ a) hast, sieht das natürlich wieder anders aus. Da würde dann -12V tatsächlich unverbunden bleiben.
Title: Re: Steuerung von Ventilen und Kamera für TaT-Aufnahmen
Post by: photojo on Feb 12, 2017, 08:08 am
Perfekt! Daran lags. Der Fall b). Jetzt klappts! Bin total happy. Du hast mir sehr geholfen. DANKE!!!