» »

Izdelava dvojiške ure

Izdelava dvojiške ure

zigi ::

Lep pozdrav,

bratu bi rad za rojstni dan (januarja) podaril stensko uro, ki prikazuje čas v dvojiških številih.
Primer: 23:50:00 bi se izpisalo kot 10111:1010000:000000. Cifre bi bile predstavljene z diodami, recimo ena cifra višine 5 in širine 3, torej skupaj 19 cifer * 15 = 285 diod.

No, idejo imam, zatakne se pa (le) pri izvedbi :) O čipovju, spajkanju itd. nimam blage veze. Drugače študiram na FRI-ju v Ljubljani, kjer nam je Kodek poskušal tovrstno znanje čimbolj približati (pri meni bolj ali manj neuspešno :))
Zanima me kako naj se te stvari lotim, torej: sama shema, katere čipe/upore/kondenzatorje... potrebujem, kako se to sprogramira v assemblerju (predvidevam), kako vse to povezat na baterijo, itd, itd,...

Zgolj informativno pa me zanima koliko bi kdo od vas, ki to obvlada, zaračunal za delo (brez materiala).

Hvala

singular ::

Zakaj ne daš diod v vrsto?
Če sveti je 1, če ne sveti je 0.. Bi porabil veliko manj diod:)

Storm ::

Pa sekunde pusti pri miru, ker drugače boš mel en sam lightshow, sicer pa zanimiva ideja.
Markec The Great

Brane2 ::

Zakaj tudi sekund ne bi prikazoval binarno ?

Mislim, ko je*e minute, ure, dneve (nedelje so itak podkupnina hudiča, zato da lahko vpelje ponedeljek >:D ), mesece itd ?

Kaži enostavno binarno cifro sekund od 1.1.1970 (= Unix way) ali še raje od big-banga (=Hard Core Unix Way :D )

Aja, pa cifra naj bo 64-bitna, da se vidi, da si mislil tudi na prihodnost...
On the journey of life, I chose the psycho path.

Zgodovina sprememb…

  • spremenil: Brane2 ()

16F84 ::

Izvedba s pomočjo mikrokontrolerja ne bi smela predstavljati večjega problema.
Na razpolago imaš "simpatičen" čipek (philipsov PCF8583, ki skrbi za uro . Dela na vodilu i2c tako, da ti odnese le dva pina na mikrokontrolerju.
Sam displej bi izvedel mogoče v multiplex načinu. Za samo multipleksiranje bi uporabil kak števec - recimo 4017. Zraven še kak transistorski niz.
==
2 pina PCF8583
3-4 pini za pogon displeja
2-3 pina za nastavitev

Torej vsega na mikrokontrolerju potrebuješ 7-9 pinov. Ker gre za programsko nezahtevno aplikacijo, ki ne zahteva kake posebno vgrajene periferije bo to zmogel praktično vsak mikrokontroler, tako da tudi izbira mirkokontrolerja ne predstavlja nikakeršnega problema.

lp
Silvo

Brane2 ::

Jaz bimogoče raje vzel kak CPLD, ker ima lahko brdo izhodov za LEDice in je relativno poceni. Ne rabiš ravno mikrokrmilnika za simpl števec.

Kak Xilinx recimo, ker imajo softver za porgramiranje zastonj.

Alpa Lattice, ker imam ravno čipe še v predalu... :D
On the journey of life, I chose the psycho path.

zigi ::

ena dioda na cifro ... seveda, hvala

vidim da obvladate zadevo, prosil bi pa za podrobnejša navodila. Naslednja vprašanja vam bodo mogoče smešna, samo ne me popljuvati... :)

1. vse skupaj mora biti na neki plošči, podobno kot je pri računalniku matična plošča? Ja? Kak se temu reče?
2. torej bi kupil čip philips PCF8583 pa še mikrokontroler, mi lahko poveste primer mikrokontrolerja ki ga potrebujem?
3. kupit bo treba tudi diode - kak pa se to poveže z (predvideva) mikrokontrolerjem? Z žičkami? Kako je z izolacijo?
4. Je treba še kaj kupit?

16F84 - kaj pa je to multiplex način displeja?

V igri pa je še vedno vprašanje za koliko bi mi to uro bil pripravljen izdelati kdo od vas, lahko tud na ZS. Al pa vsaj kako uro razlage (čez teden sem v Ljubljani)

Lp

Brane2 ::

Glede na vprašanja, ki jih postavljaš,, se bojim da kaka ura razlage ne bo zadosti.

Rabiš prej kak teden ali celo mesec razlage. Nisem ravno ziher, da boš ti to speljal...
On the journey of life, I chose the psycho path.

Matek ::

klik

klok

A česa takega ne bi mel?
Bolje ispasti glup nego iz aviona.

zcetrt ::

Omenjal si baterije. Bi znalo biti problem. Ledice niso tako nedolžne. Štirje sedem segmentni displayi in mikrokontroler delajo s štirimi AA baterijami cca dva dni. Kar je brž-ko-ne premalo. Razmišljal bi o napajalniku.

Ploščo zrisati tudi ne bi bil mačji kašelj. Blizu tristo povezav speljat na doma izdelanem vezju? Ni nemogoče, ampak se ne bi spravil. Laže bi bilo (in bolj "binarno"), tako kot je že bilo predlagano, samo s 17 diodicami oz 18 da bi bilo simetrično, in če gori 1, sicer 0. Za tak način bi potreboval le mikrokontroler in timer (sam kristal ni dovolj natančen). Tudi plošča bi bila izvedljiva brez težav.
4.

16F84 ::

Zal zigi se stinjam z Branetom - preko foruma ti bomo bolj težko pomagali.

Nabava mikrokontrolerja sicer ni problem - a le ta ni dovolj. Potrebno je napisati program-za kar je potrebno nekaj znanja, ter imeti ustrezno razvojno orodje - na koncu potrebuješ še programator, da program "spraviš" v njega.

Multiplexiranje led dispeja zaporedno prižiganje posameznih displejev, ki se vrši s tako brzino, da človeško oko zazna kot da gorijo vsi displeji, če prav istočasno gori le eden. Dobra lastnost te vezeve je, bistveno manjša poraba energije. Z načinom multipleksiranja lahko tudi reguliraš samo jakost osvetlitve. Rabiš bistveno manj priključkov (pinov). Seveda so tudi slabosti. Displej sicer vseeno rahlo utripa. Kar je opazno, če se v njega gleda dlje časa od blizu. Posebno opazno pa zna biti, če je po možnosti v rabi v okolju kjer je osvetlitev s flurescento žarnico (stroboskopski pojav) :(

lp
Silvo

Zgodovina sprememb…

  • spremenil: 16F84 ()

Azrael ::

Mogoče bluzim, ampak tudi izvedba s 7 segmentnimi displayi ni nujno preveč zamotana (za hip zanemarimo obsežnost).

Ker bodo prikazovali samo 0 in 1 se lahko naredi tako, da ves čas svetij 1 (samo upor za obe segmenta, ki predstavljata 1 + direktno napajanje), ostali segmenti ki bi tvorili ostanek 0 pa bi preko nekega tranzistorja vklapljal mikrokontroler.

Tak prikazovalnik, bi se dalo realizirati tudi na protoboardu, za povezavo s predlaganim vezjem z ledikami, pa bi rabil vsega skupaj 19 žic (napajanje + - in 17 podatkovnih), ampak vse to je naslednji korak, ko bo osnovno vezje že delalo, tako kot je treba.

Jasno pa v tem primeru napajanje iz baterije pride v poštev le kot napajanje mikrokontrolerja ob izpadu elektrike iz omrežja toliko, da ure ni potrebno po vskem elektro mrku znova nastavljati.
Nekoč je bil Slo-tech.

Tutankhamun ::

Js bi raj naredu s čipi, k znajo stet, ni treba nč programirat :D. Sam mal več spajkanja je, ker bi jih več rabu, pa še bol fajn zgleda, tko več čipov :D.
Js sm si naredu tko, sam men ni prikazval binarn, ker sm dl zravn še dekoderčke ;).

Ja urca je pa delala sam na 220V, kjer sm meru frekvenco, pa vn iz tega dobu sekunde ;).
AMD Phenom QUAD 9950 Black Edition, 8GB

zcetrt ::

Meril frekvenco? Kako točno je pa to bilo?

Ker bi imel eno vprašanje: Namenski časovni čipi za "štetje" uporabljajo kristal, ki daje frekvenco. Torej, če si prav razlagam, je timer le nekakšen števec. Torej bi lahko ustrezno sprogramiral mikrokontroler, da bi postal timer?

Ko pa sem v assemblerju programiral uro na 20 MHz kristal ob mikrokontrolerju (definitivno pravo število ciklov), je po 10 minutah bila razlika že blizu pol sekunde.

Zakaj torej nek kristal zadostuje, kot zagotavljajo, +-2 minuti letno, ti pa ne. Je kakšna razlika o točnosti? Kako to razbereš? Na mojih piše 20.000 MHz.
4.

Tutankhamun ::

Ups neki se nismo dobr zastopl. Js sm meru frekvenco omrežja 50 Hz.
Nekak je clo delal :D.

Sej urce nimam več, ker mi je neki crknlo, pa nism mel čipov na podnožju, tiste čipe se mi pa ni dal odspajkvt, pa menat :'(.

Drgač mikrokontrolerji majo že števc not. Sam vedt morš do kam more števc pridt, da bo 1s.
Tist kristal je kr dost točn, to si mel vrjetn neki narobe napisan program.
AMD Phenom QUAD 9950 Black Edition, 8GB

neoto ::

Eh, moraš zcetrt-a razumet. Je čist v digitalnem svetu že ... :D
V omrežju je frekvenca 50Hz precej natančna in pač narediš vezje, ki povečuje števec npr. ob vsakem prehodu iz neg. na poz. napetost. In to število deliš s 50 in imaš točno vrednost za števec sekund.
Lahko delaš tudi z mikroprocesorjem (zero-crossing detection), kar je uporabljeno pri bolj sofisticiranih zatemnjevalcih luči.

zcetrt ::

Ne ne Tutankhamun, jaz sem tebe prav razumel.

Z neotom sva to ze predebatirala in lahko, vsaj upam, garantira, da je število ciklov in posledično sekundni interval v mojem programu bil točen. To potrdi tudi simulacija mikrokontrolerja na PC-ju in orodje za debug Stopwatch. Program je brezhiben. Grem srat v koprive, če ni.

Netočen je bil lahko le kristal (oz vsi, ki sem jih poskušal). Dallasovi namenski časovni čipi pa tudi uporabljajo poleg sebe kristal (naveden je Epsonov 32.768kHz). Ergo: ali so 32.768 kristali tako bolj točni od 20.000 MHz? Neoto ima z njimi zelo dobre izkušnje, kajne? Jaz sem še v prcesu nabavljanja.

Me pa preseneča, da je tistih 50 Hz tako točnih, da jih lahko uporabiš za uro in me je zato zanimalo, koliko mimo je šla tvoja ura. Na dan recimo.


Se opravičujem za govoričenje v tujem imenu.
4.

neoto ::

Odgovor na eno izmed vprašanj pri Elektro Ljubljana:

Frekvenca kot hrbtenica slovenskega EE sistema (ki je preko interkonekcijskih povezav tudi del Evropskega sistema), je stabilna z nazivno vrednostjo 50Hz, v okviru zahtevane točnosti regulacije (+- 1% v 99% leta). Omenjena stabilnost je zagotovljena tako v omenjenih servisnih prostorih kot v prostorih odejmalca. Vzroka za nepravilnega delovanja odejmalčeve digitalne ure torej tu ne moremo iskati.

Tisto z digitalno uro je sicer malce zgrešeno, pomemben je podatek +/- 1%.

Azrael ::

Samo za info:

To je največje možno odstopanje frekvence omrežja, ker zaščite, ki izklopijo omrežje zaradi napačne frekvence so nastavljene na odstopanje +-0 .5Hz (1%).

Drži, da je ta 1% odstopanja pri uri pomeni ogromnih 14min 24s na dan, vendar na srečo so v praksi odstopanja mnogo manjša in tudi uporaba omrežne frekvence kot clock signala za uro ne prinaša prehudih napak. Jasno ni pa taka ura za tiste, ki rabijo točnost na sekundo ali še bolj natančno.

Iz lastnih izkušenj lahko povem, da ura, ki jo je poganjal sinhronski motorček (in je zato njena točnost direkno odvisna od frekvence omrežja) v pol leta naredila napako manjšo od minute.
Nekoč je bil Slo-tech.

zigi ::

uh, kam smo prišli ... bom bratu rajši plato pira kupo :)

|CyGNUS-x ::

Bolj pametno:)) Bo vsaj imel kaj od tega :P
Ni in ne more biti nobenega drugega načina za preizkušanje
resnične moči kapitalistične države kot je vojna.

16F84 ::

Azrael je napisal:
....Iz lastnih izkušenj lahko povem, da ura, ki jo je poganjal sinhronski motorček (in je zato njena točnost direkno odvisna od frekvence omrežja) v pol leta naredila napako manjšo od minute....


Drži, frekvenca omrežja je zelo točna. Večina radio budilk jemlje clock z omrežja. Imam pa zanimivo izkušnjo, ravno s tega področja.
Kakih deset let nazaj, mi je kolega prinesel na popravilo radio budilko - sicer ni bil ravno low cost model, ampak philipsova za katero je tisti čas kar drago plačal. Ura je namreč občasno začela očividno prehitevat.
Ko je pri meni doma delala kak teden čisto OK, sem začel sumiti omrežje.
Vzel sem osciloskop, ter šel merit k njemu. ... da ne dolgovezim ... res v trenutku ko je začela ura prehitevat je bila sinusoida zelo čudne oblike (nekako nazobčana) Poklical sem kolega na elektro ter ga vprašal kaj naj bi to pomenilo... S težavo so bili seznanjeni-poznali so tudi vzrok. Motnje je pri zagonu povzročala indukcijska talilna peč v bližnji tovarni. 8-O

Glede točnosti kristalov:
Sam imam na "testiranju" v delavnici dve uri narejeni s PCF8593 - eno na tiskanini eno pa na testni plošči. Oba PCF-ja imam baterijsko napajana, da takrat ko izklopim napajanje ura teče normalno. Na testu sta že kake tri mesece. V tem času je ena prehiteva za ca 2 druga pa za 3min. Uporabljena kristala sta "urna" mini 32.768 kHz. Tole majhno odstopanje bi lahko popravil s spremenivim kondezatorjem (namesto njega namreč imam kar fiksnega 10p) Skratka kristali, ki so namenjeni za pogon ure so vsaj po mojih izkušnjah zelo točni, tako, da bi v primeru, če bi uro naredil le z mikrokontrolerjem uporabil za pogon le tega ta kristal.

Brane2 ::

Kar se kvarca tiče, ti ni treba ravno hardverske kompenzacije, lahko se greš tudi softversko. Pač vsake toliko sekund dodaš ali odvzameš kako milisekundo.

Ta metoda seveda ni uporabna za vsak namen, za tega je pa povsem O.K.

Če stvar dela na štrom, lahko tudi držiš kvarc stalno na neki temperaturi ( ga recimo greješ) in tako dosežeš zelo veliko stabilnost.
On the journey of life, I chose the psycho path.

neoto ::

Ja, tole kar je Brane2 omenil. Kvarci so baje precej 'občutljivi' na temperaturo okolice. Sam imam tudi enega tega urnega vezanega na DS2417, pa moram počasi preveriti, koliko kaj prehiteva/zaostaja.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Evropske ure zopet točne

Oddelek: Novice / Znanost in tehnologija
3511148 (7849) Duhec
»

Zaostajanje ur vezanih na el.omrežje (50Hz) (strani: 1 2 )

Oddelek: Znanost in tehnologija
6516995 (12461) MadMax
»

Digitalna regulacija tokovnega vira

Oddelek: Elektrotehnika in elektronika
142656 (2230) Red_Mamba
»

DS18B20, meritve v mraziščih (strani: 1 2 )

Oddelek: Elektrotehnika in elektronika
828398 (6913) TESKAn
»

programiranje procesorja (strani: 1 2 3 48 9 10 11 )

Oddelek: Elektrotehnika in elektronika
50534956 (24357) icek

Več podobnih tem