Millisekundklocka (binärräknare och vippa)

Planering och tankar kring eventuella framtida projekt.
DragonsDen
Inlägg: 80
Blev medlem: 24 december 2007, 22:23:44
Ort: Stockholm

Millisekundklocka (binärräknare och vippa)

Inlägg av DragonsDen »

Jag vill göra en "klocka" som med millisekundprecision visar hur lång tid som gått mellan att två fotografier har tagits. Väldigt simpelt litet projekt, men 'ändå något av en utmaning för mina begränsade elektronikkunskaper.

Jag tänker mig en rad lysdioder som räknas upp binärt. Den LED som växlar snabbast växlar varje millisekund medan den mest signifikanta växlar tillräckligt långsamt för att jag ska kunna räkna växlingarna manuellt, t.ex. varje sekund eller så.

Nu kommer förstås exponeringstiden att göra att snabba lysdioder kanske hinner växla flera gånger på samma bild, men bättre precision än exponeringstiden behöver jag ändå inte.

Hur konstruerar jag då detta?

Jag föreställer mig att en http://www.elfa.se/pdf/73/735/07355084.pdf 4040 Binary Ripple Counter skulle vara lämplig, en 12-ställig räknare som alltså ger en skillnad på 4096 gånger mellan snabbaste och långsammaste växlingarna.

En http://www.elfa.se/pdf/73/730/07304117.pdf 555 behövs förstås också för att mata 4040:an med regelbundna pulser. Det är väl "astable operation" som beskrivet på sidan 10 i produktbladet som är användbar för mig.

När det gäller att bestämma pulslängderna, så förstår jag det som så av produktbladet, att om jag vill att de ska vara lika långa, så ska resistor Ra vara noll. Och om kondensatorn är på 1 uF och Rb på 1 kOhm, så kommer 555:an att ge en pulslängd på 0.693 ms.

Eftersom både motstånd och kapacitans bara är ungefärligt angivna på komponenterna, så måste jag manuellt tajma t.ex. 50 stycken av räknarens långsammaste LED-växlingarna (t.ex. på ca 4 sekunder var), för att få reda på den exakta pulslängden. Det kanske är praktiskt att använda en linjär potentiometer som Rb.


Så, finns det enklare sätt? Har jag missuppfattat vad dessa IC gör? Kommer det att funka? Vad säger ni?
Användarvisningsbild
Icecap
Inlägg: 26637
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Det är fel att använda en 555 som tidsreferens! Den driver för mycket med temperatur och driftspänning.

Enklast i antal kretsar är en mikroprocessor.

Utläsningen är fel också, du kan de-facto inte avläsa tiden på det vis! Exempel: Tiden står på
00000111111
Kortet tas och under öppningstiden stegas det upp till
00001000000

Detta vill på bilden se ut som
00001111111 vilket är ett fel på
00000111111

För att avläsa på detta vis måste man ha dubbla dioder för varje bit, detta betyder att man kan se vilka bit som har växlat under öppningstiden och därmed få korrekt avläsning.

Edit: för att få en något så när rätt tidreferens måste du ha ett kristall inblandat för att få stabil frekvens, denna frekvens kan sedan delas ner till lämplig frekvens och visas. Tar du t.ex. ett 1,024MHz kristall och delar ner med 1024 (10 bit räknare) får du 1000Hz med bra precision som du sedan kan skicka in i räknarekretsen för visning.

Enklare rent mekanisk kan det vara att ha en mikroprocessor med kristall, i den kan man programmera in en räknare och dela ner kristallfrekvensen på nära nog valfritt sätt till att få exakt den frekvens man vill ha, detta betyder att du kan montera en krets, 1 st kristall, 2 st 18pF kondensatorer, 1 st 100nF kondensator samt ett antal LED + deras strömbegränsarmotstånd, sedan är du "i hamn".
DragonsDen
Inlägg: 80
Blev medlem: 24 december 2007, 22:23:44
Ort: Stockholm

Inlägg av DragonsDen »

Okej, det är ju bra att få ideen sågad innan jag börjat!

Men skulle verkligen inte 555:an gå att använda med millisekundprecision med spänningsregulator i normal rumstemperatur? Några feltoleranser i databladet anges till 150 ppm/Celsius och 0.3 %/V. "Initial error of timing intervall" förstår jag inte vad det avser, och det är på 2.25% vilket ju är en hel del om det om det anger variation i tidslängden från puls till puls.

En mikroprocessor känns lite krångligt. Man behöver väl ett interface till PC:n för att programmera den, med maskinkod? Känns som lite av en tröskel att behöva gå dit. Men det kanske är bättre att ta det steget förr än senare. Någon mikroprocessor som kan rekommenderas för detta ändamål?

Åsså till den riktigt dumma frågan: :roll:
Klockkristall, okej, låter ju enklare och mer ändamålsenligt än 555 alla gånger. Men konkret hur använder man dem? Hur kopplar man in den? Vilken spänning ska den ha? Vad är det som "svänger" i den? Att den omväxlande leder och inte alls leder?
Användarvisningsbild
ElectricMan
Inlägg: 4874
Blev medlem: 21 februari 2007, 20:22:48
Skype: ElectricManSwe
Ort: Luleå
Kontakt:

Inlägg av ElectricMan »

Du kan bygga en sånhär och till "klockingången" kan du stoppa en "klocka". Jag vet inte hur man löser det med millisekunder, men det borde gå tycker jag. Den går även att bygga ut med mer displayer och tecken.
Användarvisningsbild
Icecap
Inlägg: 26637
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

DragonsDen: jajamen, det är det vi är här för! ;-)

OK, 555'an har de toleranser... vad har de övriga komponenter i tidloopen? Har du ens räknat med dom?

Jo, om du inte har kört med mikroprocessor (µC) förut kan den biten vara lite krångligare men jag skriver ju också "enklast i forma av få kretsar". Och ja, en programmeringsenhet behövs oftast.

Lämpliga kretsar kan vara PIC-serien från Microchip, det finns även med skaplig exakt intern oscillator vilket alltså tar bort behovet för kristall.

sodjan säljer WISP648 som fungerar riktigt bra till att få in programmet i PIC'en och man kan hämta MPLAB gratis från Microchip, där kan man skriva ASM, simulera osv.
Norberg
Inlägg: 130
Blev medlem: 13 januari 2006, 19:03:39
Kontakt:

Inlägg av Norberg »

Om du vill skippa µC och istället köra med en 4040 så kan du använda ex. DS1306 (http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2687) och en klockkristall så kan du få en fin 32KHz puls som du sedan kan utgå ifrån, kretsen kan gå att sampla hos maxim alternativt kan jag ha en liggande hemma.
Matte
Inlägg: 218
Blev medlem: 4 april 2007, 19:54:17
Ort: Stockholm

Inlägg av Matte »

Icecap lugna ner dig lite med microkontrollerna, JA allt går med en micro men det är inte alltid lika lätt för alla andra som för dig.

Att börja lära sig koda och dessutom på en ny mcu kommer troligen ta mycket längre tid än att bara göra en digital lösning.

Sen är det ett väldigt bra alternativ om man kan det.


DragonsDen, Jag förstår inte riktigt vad det skall vara bra för men om du behöver en så kör på.

Om jag skulle gjort en och det inte var några krav på storlek eller batteritid så skulle jag kört på en logik lösning.

oscillatorkristall (typ Elfa 74-557-77)
+ logik för att dela ner den till 1kHz
+ Binär räknare
+ LED drivkrets.
Användarvisningsbild
Icecap
Inlägg: 26637
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

NEJ! Allt går INTE med en mikroprocessor! Och jag har aldrig påstådd att det är (totalt sett) enklast med en µC, jag har bara påstådd att det är det minste antal kretsar.

Att det sedan finns personer som gillar en massa kretsar för att lösa enkla saker accepterar jag, alla är ju olika.

Men vad som inte är specificerat är hur exakt tiden ska visas, hur lång tid som ska kunde räknas max. osv. och det är ju nog det viktigaste att få fastställd.

Dessutom bör utläsningen som jag skrev tidigare bestå av 2 rader LED fast bäst vore ju om man kunde "frysa" utläsningen t.ex. via blixten eller liknande.
DragonsDen
Inlägg: 80
Blev medlem: 24 december 2007, 22:23:44
Ort: Stockholm

Inlägg av DragonsDen »

Först vill jag bara ha klarlagt konkret hur man använder en klockkristall. Fungerar den som en kondensator som ömsom leder och ömsom inte leder, så att man bara stoppar in den i serie mellan VCC och puls-in på t.ex. en binärräknare? Fungerar alla kristaller för alla spänningar, för den enda parameter jag ser i datablad är effekten?

En kompis har en java-programmerbar stamp-processor som jag kan få låna. men frågan är om den ger strikt realtidskontroll eller då och då avbryter allt för lite garbage collection och whatnot. En PC är ju totalt oanvändbar just av den anledningen att dess OS gör lite vad den vill.


Angående att lysdioderna kan hinna växla under fotots exponerinstid, så hoppas jag att det inte är ett så stort problem. Lysdioder som växlat kommer att se svagare ut än de som lyst hela tiden. Och ju mer signifikant en lysdiod är, desto mer sällsynt är det att den hinner växla under exponeringstiden. Annars är väl det här ett ypperligt tillfälle att tillämpa Gray-kod! Men det kräver ju en mikroprocessor, om det inte finns nån IC som omvandlar till gray-kod, eller rent av en Gray-binär räknare...

Men annars har jag funderat litegrann på förslaget att använda dubbla lydioder, men jag fattar inte hur det skulle hjälpa.


Syftet med projektet är att få en klocka som kan mäta tiden mellan två tagna fotografier noggrannare än vad normala stoppur klarar av. Millisekundprecision duger därför att exponeringstiden nog måste ligga i den storleksordningen åtminstone.
Användarvisningsbild
Icecap
Inlägg: 26637
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Ett kristall fungerar vid att det vid en viss frekvens uppträda som en resonanskrets. För att svänga behövs ett förstärkande element som i sin tur skickar ut frekvensen.

Det finns färdiga oscillatorer med kristall och förstärkare i.

Utläsningen vill jag inte kommentera närmre, jag har redan förklarat mitt ståndpunkt, dock bara en sista kommentar: med exponeringstid på 1ms (ung.) KOMMER LED'na att växla under exponeringen med 99% säkerhet.
DragonsDen
Inlägg: 80
Blev medlem: 24 december 2007, 22:23:44
Ort: Stockholm

Inlägg av DragonsDen »

Tack för feedbacken, Icecap och andra!

Okej, så det är oscillatorer jag ska titta efter, snarare än rena klockkristaller!

Det jag inte lyckats klura ut, är hur dubbla lysdioder skulle kunna förbättra avläsningen. Om det finns en smart lösning, så tar jag tacksamt mot en kort beskrivning!

Den LED som växlar med ett tidsintervall som är lika långt som exponeringstiden, kommer att växla på varje foto. Den nästa mer signifikanta LED:en på hälften av fotona, nästa på en fjärdedel o.s.v. Därför kommer tiden att kunna utläsas med hyfsad precision på merparten av fotona. Dessutom så borde lysdioder som växlar se svagare ut än de som lyst under hela exponeringstiden, varför man manuellt borde kunna avgöra vilka avläsningar som är tvetydiga.
Användarvisningsbild
Icecap
Inlägg: 26637
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Som jag skrev i mitt inlägg är det för att du inte kan räkna ljusstyrkan som en indikator för hur lång tid en LED har varit på.

Grejen är att du kan få en utläsning (vi håller oss till 8 bit bara för att ha en gräns) som ser ut som:
00001111

Sedan tar du ett kort, under tiden växlar den upp till
00010000

På kortet ser det ut till att vara
00011111

Hade du dubbla LED hade det sett ut som följer: (överst visas '0', underst '1')
11111111 ('1' betyder att LED visar att det fanns '0')
00011111 ('1' betyder att LED visar att det fanns '1')

Detta kan bara tolkas på ett sätt:

De 3 första bit var enbart 0, alltså:
000xxxxx

Därnäst har de resterande bits ALLA bytt läge, det enda sätt det kan hända på under 1 clockcykel är att de går:
xxx01111 -> xxx10000

Alltså kan tiden sättas till övergången mellan 00001111 -> 00010000.
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

Men varför inte bara Graykoda dioderna???? Så har jag gjort i nästan precis samma applikation (fast mäta latency på visionkamoror i det fallet, men samma sak ändå)


Bild

Då får du okså bara en bit i maxfel, Smidigt och bra ;)

Och jo... Mcu är enklare ;)
DragonsDen
Inlägg: 80
Blev medlem: 24 december 2007, 22:23:44
Ort: Stockholm

Inlägg av DragonsDen »

Jag nämnde också Gray-kod för ett par inlägg sedan...

Om någon bara kunde komma med en praktisk lösning för hur en serie pulser kunde illustreras "Gray" på mina foton, så kanske jag skulle bli glad på riktigt...

:P
Användarvisningsbild
Icecap
Inlägg: 26637
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

En snabb googling gav DENNA, kolla på sida 9.
Skriv svar