Auteur Topic: Sluitertijdentester met Arduino  (gelezen 21424 keer)

Offline sterremuur

  • Analoog liefhebber
  • ****
  • Berichten: 3.869
    • Flickr
Re: Sluitertijdentester met Arduino
« Reactie #30 Gepost op: 9 maart 2016, 17:07:50 »
Ik wilde ook een echt kwartsgestuurde elektronische sluiter testen op 1/2000 van een Canon EOS, maar die kon ik niet foppen zonder film  dus de sluiter gaat niet af.

Offline dynax75

  • Analoog liefhebber
  • ****
  • Berichten: 2.108
  • Fotografeer voornamelijk met Minolta A-mount
    • Flickr
Re: Sluitertijdentester met Arduino
« Reactie #31 Gepost op: 9 maart 2016, 17:46:48 »
Kan wel keer met een Minolta 9xi langs komen. Die gaat tot 1/12000 seconde gaan.

Offline Fay

  • Regelmatige bezoeker
  • **
  • Berichten: 65
Re: Sluitertijdentester met Arduino
« Reactie #32 Gepost op: 10 maart 2016, 00:35:53 »
Wat een leuk project zeg! Ik ben altijd een beetje anti-Arduino geweest... maar nu denk ik, waarom eigenlijk? (omdat ik vroeger een onwijze nerd was die Arduino niet stoer genoeg vond  ::))
Mochten er met korting een groter aantal Arduino's kunnen worden aangeschaft doe ik graag mee!

Offline sterremuur

  • Analoog liefhebber
  • ****
  • Berichten: 3.869
    • Flickr
Re: Sluitertijdentester met Arduino
« Reactie #33 Gepost op: 10 maart 2016, 00:47:17 »
Ik ga het melden als ik me zeker voel dat het een reproduceerbaar project is geworden. ;)

Heb lasertjes gevonden die ik wil aansluiten zodat de Arduino ze aanzet voor de meting. ;) Alleen kan het 4 tot 6 weken duren voor e.e.a. uit China arriveert.

Wie het koopt zal wel zelf voor een voeding (USB of 12 V) moeten zorgen, en een "apparaat" waar je camera, sensor en laser op bevestigt. En een kassie, maar op zich hoeft het niet. Het ding werkt ook los op tafel.

Moet ik zelf ook nog maken. Bestaat uit blokjes hout en ducttape... En dat werkt uitstekend!  :D

Offline sterremuur

  • Analoog liefhebber
  • ****
  • Berichten: 3.869
    • Flickr
Re: Sluitertijdentester met Arduino
« Reactie #34 Gepost op: 12 maart 2016, 23:18:19 »
Stand van zaken:

Code licht gewijzigd.

Sensor verstevigd,  nieuwe fototransistors zijn binnen.

Te doen: sensor aansluiten met interne pullupweerstanden i.p.v. externe pulldownweerstanden. Code hierop aanpassen door HIGH en  LOW om te wisselen.

Wachten op nieuw LCD display om op Arduino Nano aan te sluiten. Wordt 2x zo klein maar samenbouw is lastiger omdat beide delen los van elkaar zijn.

Offline sterremuur

  • Analoog liefhebber
  • ****
  • Berichten: 3.869
    • Flickr
Re: Sluitertijdentester met Arduino
« Reactie #35 Gepost op: 13 maart 2016, 17:45:27 »
Stand van zaken:

---

Te doen: sensor aansluiten met interne pullupweerstanden i.p.v. externe pulldownweerstanden. Code hierop aanpassen door HIGH en  LOW om te wisselen.

---
Dat werkt dus wel, maar niet goed. Veel te traag. Dus het moet met pulldownweerstanden extern. Dat is 1 draad extra naar de sensor.

Offline Fotomaan

  • Analoog liefhebber
  • ****
  • Berichten: 10.985
  • Het zonesysteem van ratio naar emotie :-o)
Re: Sluitertijdentester met Arduino
« Reactie #36 Gepost op: 13 maart 2016, 19:28:09 »
Dat werkt dus wel, maar niet goed. Veel te traag. Dus het moet met pulldownweerstanden extern. Dat is 1 draad extra naar de sensor.
Het vordert gestaag.
Op naar de perfecte 'tijdenmeter'  ^^
Je bent wel wat leuks aan het ontwikkelen zo.

Groetjes van mij,
Charles Waagenaar
Ik hou van fietsen maar ook van fietsen.

Offline Erwin TF

  • Analoog liefhebber
  • ****
  • Berichten: 6.479
  • Zal ik het ooit eens leren.... Vast niet.
    • Flickr
Re: Sluitertijdentester met Arduino
« Reactie #37 Gepost op: 13 maart 2016, 22:51:50 »
Dit is een interessante ontwikkeling.
Ik heb de nodige sluiters die ik zou willen testen. :)
A technically perfect photograph can be the world's most boring picture -Andreas Feininger-


Elke dag dronken is ook een geregeld leven.

Offline sterremuur

  • Analoog liefhebber
  • ****
  • Berichten: 3.869
    • Flickr
Re: Sluitertijdentester met Arduino
« Reactie #38 Gepost op: 15 maart 2016, 12:10:04 »
Ik heb al twee defecte sluiters gevonden.
Een Yashica Electro die twee keer te lange snelle tijden heeft en een Pentax met links rechts verschil va  de gordijnen.

Software nu wel goed.  Ben nog de sensoren aan het fijnregelen.

Offline Hasku

  • Vaste bezoeker
  • ***
  • Berichten: 752
Re: Sluitertijdentester met Arduino
« Reactie #39 Gepost op: 15 maart 2016, 14:07:12 »
Is het misschien een idee om voor het testen van spleetsluiters een rijtje fototransistoren achterelkaar te zetten over een lengte van 36 mm. En dan de tijden van de pulsen vergelijken ??
Waarom ik analoog fotografeer ?
Ach, andere mensen rijden een oldtimer, ik fotografeer er mee :)

Nee, ik heb niet te veel camera's....ik heb te weinig ruimte !!

Offline sterremuur

  • Analoog liefhebber
  • ****
  • Berichten: 3.869
    • Flickr
Re: Sluitertijdentester met Arduino
« Reactie #40 Gepost op: 15 maart 2016, 18:59:45 »
Dat kan. Maar dan moet er tussen de metingen gerekend worden en dat gaat misschien de tijden beïnvloeden.
Drie moet kunnen, 5 zou mooi zijn.

Ik doe het nu door de camera te verschuiven.

Het werkt alleen met oude doeksluiters.
Vertikale metalen sluiters hebben een vertikaal rjjtje nodig.

Offline sterremuur

  • Analoog liefhebber
  • ****
  • Berichten: 3.869
    • Flickr
Re: Sluitertijdentester met Arduino
« Reactie #41 Gepost op: 25 maart 2016, 14:35:30 »
Weer een fase verder.

Ik heb de meter geijkt met een andere Arduino waarmee ik precieze laserflitsjes kom maken.
Het bleek dat die na meting allemaal dezelfde afwijking hadden, nl. 52 microseconden. Dat is waarschijnlijk een soort latency in de software binnen de meetlus. Bij checken middels Audacity kloppen de laserflitsjes ook precies.
Omdat die consequent is kan ik die met een correctievariabele corrigeren.
Daarna blijken alle gegenereerde flitsjes precies te kloppen voor alle sluitertijden.

Ik ben nu zover dat ik aan liefhebbers een prototype kan aanbieden van de eenvoudige versie:

1 een Arduino Nano (kloon)
2 een 1602 display met seriële aansluiting op de Nano
3 een zelfgemaakte sensor (fototransistor plus pulldownweerstand).
4 een lasertje om op de sensor te richten.
5 bekabeling
6 GEEN behuizing of steuntjes of wat dan ook, gewoon los op tafel, werkt prima.  ^^
7 de software is al ingeprogrammeerd, maar zet ik nog apart in dit topic ter download.
8 voeding via mini-USB. Zelf regelen. Aan de USB van de PC kan ook. Vraagt hij waarschijnlijk wel om een driver, maar dat hoeft pas als je echt wilt programmeren.



Kosten: deze versie voor 10 euro. Verzenden 6 euro.
Originele hardware kost rond de 50 euro, dus maar niet... >:D

Handige Harries kunnen zich oriënteren op het fenomeen Arduino op www.arduino.cc
Daar is ook de software en libraries (functiebibliotheken)  te downloaden.

Het staat iedereen uiteraard vrij om zelf de hardware aan te schaffen en mijn software te grbruiken. Open source zal ik maar zeggen.
Overigens is zelfs de Arduino hardware, de developerbordjes en zo, open hardware. Iedereen, ook Chinezen, mogen het naar hartelust nabouwen en klonen.

Een grote Arduino Uno R3, met opsteekdisplay kan ik tzt ook aanbieden voor 15 euro ex. verz.k.
Deze ookt iets steviger, is groter, en ook makkelijker voor eigen projecten te gebruiken. Als je daar interesse voor hebt.
Handig is als je iets van programmeren weet. De compilertaal is afgeleid van C/C++.
« Laatst bewerkt op: 25 maart 2016, 15:04:31 door sterremuur »

Offline sterremuur

  • Analoog liefhebber
  • ****
  • Berichten: 3.869
    • Flickr
Re: Sluitertijdentester met Arduino
« Reactie #42 Gepost op: 25 maart 2016, 15:00:43 »
Broncode.

Kopiëren en plakken in leeg Arduinoproject.

/*************************************************************************************
 
  Eric Ebenau, March 2016
 
  This program will measure the shutterspeed of analog cameras.
  Input is taken from Arduino digital input #2 with a phototransistor as light sensor.
 
  Connection: Plug the LCD Keypad to the Arduino UNO(or other controllers)
 
**************************************************************************************/
 #include <Wire.h>  // Comes with Arduino IDE

#include <LiquidCrystal_I2C.h>

/*-----( Declare Constants )-----*/
/*-----( Declare objects )-----*/
// set the LCD address to 0x27 for a 16 chars 2 line display
// A FEW use address 0x3F
// Set the pins on the I2C chip used for LCD connections:
//                    addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address

//#include <LiquidCrystal.h>
 
//LiquidCrystal lcd(8, 9, 4, 5, 6, 7);           // select the pins used on the LCD panel

// LiquidCrystal(rs, enable, d4, d5, d6, d7)
//
//Parameters
//
//rs: the number of the Arduino pin that is connected to the RS pin on the LCD
//
//rw: the number of the Arduino pin that is connected to the RW pin on the LCD (optional)
//
//enable: the number of the Arduino pin that is connected to the enable pin on the LCD
 
// definities
unsigned long start_time;
unsigned long end_time;
unsigned long microsecs;
int correctie=52; // timing correction
float msecs, secs;
int inPin = 2;
int Val = LOW;
 
 
void setup(){
  Serial.begin(9600);  // Used to type in characters

   lcd.begin(16,2);   // initialize the lcd for 16 chars 2 lines, turn on backlight
   lcd.setCursor(0,0);                                // set the LCD cursor position
   lcd.print("Sluitertester V1");                     // print title on the LCD
   pinMode(inPin, INPUT);                             // sets the digital pin 2 as input
}
 
void loop(){
   lcd.setCursor(0,1);                                // move to the begining of the second line
   
   while ((Val=digitalRead(inPin))==LOW) { }          // wait for sensor gets LOW
   start_time = micros();                             // store start time in microseconds
   while ((Val=digitalRead(inPin))==HIGH) { }         // wait until sensor gets HIGH
   end_time = micros();                               // store end time in microseconds 
   microsecs= end_time - start_time-correctie;
   msecs = (float)(microsecs)/1000;                   // calculate milliseconds
   secs = msecs/1000;                                 // calculate seconds
   
   lcd.print(msecs,2); lcd.print("ms");               // print msecs with 1 decimal and text 'ms'
   //lcd.print(microsecs); lcd.print("us");               // print microsecs and text 'us'
 
   if (msecs < 1000 )                                 // for speeds < 1 sec:
   {
        lcd.print(" 1/");                             // print " 1/"
        lcd.print(1000/msecs,1);                      // print denominator with 1 decimal
   }
   else                                               // for speeds >= 1 sec:
   {
        lcd.print(" ");                               // print space
        lcd.print(secs,2);                            // print seconds with 2 decimals
   }
   lcd.print("s    ");                                // print "s" and some spaces to erase old text
   delay(100);                                        // wait 0.1 s
   
   }                                                  // go to begin for next cycle

Offline Bosch

  • Vaste bezoeker
  • ***
  • Berichten: 292
Re: Sluitertijdentester met Arduino
« Reactie #43 Gepost op: 25 maart 2016, 15:11:42 »
Ik heb wel interesse. Zal je thuis even een PB sturen. Maak ik er zelf een mooie houten behuizing voor :P

Offline sterremuur

  • Analoog liefhebber
  • ****
  • Berichten: 3.869
    • Flickr
Re: Sluitertijdentester met Arduino
« Reactie #44 Gepost op: 25 maart 2016, 19:40:29 »
Prima! ;)