Fórum témák

» Több friss téma
Fórum » Órakészítés PIC-kel
Lapozás: OK   4 / 12
(#) Báddzsó válasza sooty hozzászólására (») Szept 3, 2011 /
 
Ok, tételezzük fel, hogy nem jó ez a technikám, hogy pollingolja a flag bitet. Nézzük mit csinálna egy megszakításkezelő rutin, amit ez a flag bit indít el.
Először is elindul, nézzünk egy összetettebb példát:
Megszakítás indul: megnézzük honnan jött a megszakítás, nem gombnyomás volt tehát nem külső megszakítás, nem usart?nem, timer1? az! Akkor most lenullázzuk a intcon.2-őt ami a timer1 overflow bitje, mert le kell nullázni szoftveresen, ott az adatlapban. És akkor most növeljük a 100ad sec változót. Namármost, akkor szerinted itt is befolyásolja az timer1-et a intcon.2 nullázásának időpontja? Mert akkor semmit nem ér semmi.
Valaki még valamit? Ötlet?
(#) sooty válasza Gery78 hozzászólására (») Szept 3, 2011 /
 
MrBrown épített numitronnal karórát, az majdnem ugyan az mint a ledes, nem tudom mi lett vele, elkészült-e. Én zm1120-al szeretnék, karórát építeni.
(#) sooty válasza Báddzsó hozzászólására (») Szept 3, 2011 /
 
Nem hiszem. Elmegyek és átgondolom az életem... (Most nincs ötletem, az tény, hogy kvarc időalaphoz képest sokat késik és 100Hz az nem egy magas frekvencia, ahhoz képest, hogy egy 16f628-as piccel akár videojelet is lehet generálni, ahol azért magasabb freki és pontos frekvenciatartás kell. )
(#) potyo válasza Báddzsó hozzászólására (») Szept 3, 2011 /
 
Semmi gond a nem megszakításból kezeléssel, attól nem késhet vagy siethet az óra. Nekem ez egyre inkább úgy tűnik, hogy a kvarcjaid nem elég pontosak. Én próbára keresnék valami másmilyen kvarcot, pl. 4MHz-es szokott lenni régi alaplapokon, és gondolom a másik picedben van Timer2 modul is, akkor annál a PR2-be ha 250-et írsz, beállítasz neki 1:4 prescalert és 1:10 postscalert, akkor az 10ms periódussal fog túlcsordulni. Ha nemis marad ez a kvarc véglegesre (bár szerintem ez a sebesség is elég a feladatodra), akkor is meglátod, hogy mi okozza a pontatlanságot.
(#) Báddzsó válasza potyo hozzászólására (») Szept 4, 2011 /
 
Nahát, most nézem az adatlapot, hogy van ilyen, hogy 1:10 postscaler. Azta... Eddig észre sem vettem, azt hittem minden ilyen scaler 2 hatványa.
(#) Csupasz hozzászólása Okt 10, 2011 /
 
Sziasztok!
A mellékelt órát szeretném megcsinálni, megvan hozzá mindenem, csak a kijelzőm közös anódos.
Tudna valaki abban segíteni, hogy érdemes-e egyáltalán foglalkozni vele, és ha igen,akkor mit kellene csinálnom
Köszönöm a segítséget
Üdv:
Csupasz
(#) nedudgi válasza Csupasz hozzászólására (») Okt 10, 2011 /
 
Ha módodban áll, töltsd fel mégegyszer azt a képet...
(#) Csupasz válasza nedudgi hozzászólására (») Okt 10, 2011 /
 
Bocsánat

LED óra.JPG
    
(#) janikukac hozzászólása Aug 15, 2012 /
 
Sziasztok!
Keresek egy elég jó órának a kapcsolási, nyák, valamint program tervét. Már több fajta órát építettem, de mindegyik kicsit pontatlan volt. Olyan óra kellene , amibe vagy 4525-s PIC, vagy 16F628 megy. Az kapcsolások között lévők nem igazán tetszenek, kíváncsi vagyok, ki mit tud még mutatni.
(#) vicsys válasza janikukac hozzászólására (») Aug 15, 2012 /
 
Mutatok egyet... (Sajnos, sohasem lesz befejezve...)
(#) janikukac válasza vicsys hozzászólására (») Aug 15, 2012 /
 
Miért, mi hiányzik még? (hisz működik nem?) Gondolom nem adod ki a terveket...
(#) vicsys válasza janikukac hozzászólására (») Aug 15, 2012 /
 
Még az ébresztés beállításához tartozó menü hiányzik belőle. (Azért nem lesz befejezve, mert már nincs rá igény.) Ha kell kiadom a terveket, de mivel félkész, sokra nem mész vele.
Azt viszont nem írtad meg, hogy a fent levőkkel mi a bajod? Egyáltalán milyet szeretnél? Ledes vs. LCD vs. nixie, RTC vs. DCF, ébresztős vagy hőmérős, etc...?
(#) Hp41C válasza janikukac hozzászólására (») Aug 15, 2012 /
 
Szia!
Ha a pic órajele nem elég pontos, a quartz melleti kondenzátorokkalé lehet hangolni. DCF77 vevő modul és soha sem lesz pontatlan...
- Most készül a propeller óra DCF77 szinkronos változata, bővebben a Propeller óra topikban. Van ott minden féle... A 16F628A helyett inkább 16F1827 vagy 16F1847 -tel. Beállítások PC -n futó programból.
- Mule-2 Nixie óra DCF77 szinkronnal, ld. cikk.
- Wand óra DCF77 szinkronnal - de 16F886 van benne, ld cikk. Beállítások PC -n futó programból.
- VFD óra IV-6 csővel és DCF77 szinkronnal - működik, cikk készülőben.
- 2 *16 -os LCD -s óra DCF77 szinkronnal - ebben is 16F886 van, de átírható 16F628A -ra is. Beállítások PC -n futó programból.

Miért 16F628A? A 16F1847 ocsóbb, jobb, nagyobb, szebb...
(#) janikukac válasza vicsys hozzászólására (») Aug 15, 2012 /
 
Kár.
LED-eset szeretnék. LCD-m nincs, mert drága, bontani meg nem tudok. LED kijelzőt meg tudok most bontani. DCF-el a gondom, hogy a vevő 10 euro, arra nincs keretem. Hőmérő nem kell, mert ahhoz sincs modulom. Úgy szeretnék építkezni, hogy ami van, azt használjam fel. Nem akarok költeni rá nagyon. 16F628 van itthon, 18F24J10 is, 18F4525 is.
Várom a további kapcsolásokat, stb.
(#) vicsys válasza janikukac hozzászólására (») Aug 15, 2012 /
 
(#) janikukac válasza vicsys hozzászólására (») Aug 15, 2012 /
 
Ezért mondtam , hogy az itt találhatóakat ismerem, nem tetszenek. Mondjuk egy 4525-re írt ébresztős óra tetszene...
(#) GPeti1977 hozzászólása Aug 15, 2012 /
 
Én is készítettem hasonló led-es órát de nem 4MHz kristállyal hanem 4.194304MHz, így a timer modulnak nem kell kezdőértéket adni, kereken 2Hz megszakítást ad:
t1con = %00110001
timer1 on 1:8 (:4)internal

Ezáltal az óra nagyon pontos lett.
(#) janikukac válasza GPeti1977 hozzászólására (») Aug 15, 2012 /
 
Küldesz rajzokat, programot?
(#) GPeti1977 válasza janikukac hozzászólására (») Aug 15, 2012 /
 
Persze van kettő is ami szóba jöhet, csak soha nem szoktam kapcs. rajzot készíteni mert a forráskódból egyből látom mi hol van de lerajzolom ha kell.
Van egy attiny2313 atmel procihoz nem kell hozzá semmi szinte a kijelzőt multiplexelve hajtja meg, a másik pic16f877 re írtam (16f876 is jó elég lába van) ebben van ds1621 ic-vel hőmérő is.

Legjobban ajánlanám a bascom-ban írt órát az attiny-hez, igy te is tudsz rajta módosítani (a bascom ekkora kódig ingyenes basic fordító). Volt olyan órám is ahol tükrözve írtam ki a számokat majd egy lencsével kivetítettem a plafonra.

Ha nagyon pontos óra kell nem vacakolok a dcf77-tel, sokkal egyszerűbb egy olcsó gps modulból kiolvasni a pontos időt, de írtam már programot RDS dekóder ic-re is, ha rá állsz egy tunerrel a Kossuth rádióra az szintén pontos időt ad mert a Magyar rádió óráit is egy Mo-on levő atomóra szinkronizálja.

Akkor összeszedjem a dokumentációt valamelyiknek?
(#) janikukac válasza GPeti1977 hozzászólására (») Aug 15, 2012 /
 
A PIC-est szivesen megnézném, de csak ha le tudod más vezérlőre is fordítani, mert nincs 16F876-om. Ami szóba jöhet az a 18F4525, 18F24J10, valamint a 16F673. Üdv!
(#) GPeti1977 válasza janikukac hozzászólására (») Aug 15, 2012 /
 
Kell bele a ds1621 hez a hőmérő kijelzés?
(#) Hp41C válasza GPeti1977 hozzászólására (») Aug 15, 2012 /
 
Nem kell ilyen frekvencia, azokkal a PIC -ekkel, amiben van timer2 (timer4, timer6 stb), könnyen lehet csinálni kerek frekvenciából is pontos órát (4.0000MHz, 8.0000MHz, 20.0000MHz, ill. 48.0000MHz az USB kompatibilitás miatt).

Egy 6 lábú 10F322 kontrollerre épülő DCF77 -es hétszegmenses LED -es órám is van...
(#) Hp41C válasza vicsys hozzászólására (») Aug 15, 2012 /
 
Szia!

Ha az UART Tx és RX lába még szabadon van, a menürendszer kiváltható egy PC -s programmal.
(#) janikukac válasza GPeti1977 hozzászólására (») Aug 15, 2012 /
 
Nem, köszi !
(#) GPeti1977 válasza janikukac hozzászólására (») Aug 15, 2012 /
 
Közös katódos kijelzőhöz van.
A program proton+ basic fordítóval készült.

  1. Device 16F873
  2. XTAL = 4
  3. '4.194304MHz
  4. Config xt_osc, pwrte_on, wdt_off, lvp_off
  5. ALL_DIGITAL = true
  6.  
  7. T1CON = %00110101
  8. INTCON = %11000000
  9. PIE1.0 = 1
  10.  
  11. On Interrupt GoTo tickint
  12. Input PORTA.0
  13. Input PORTA.1
  14. Output PORTB
  15. Output PORTc
  16.  
  17. Dim b1, b2, b3, b4, b5
  18. Dim P
  19. dim s
  20. Dim hour, hourT, hourU
  21. Dim minute, minuteT, minuteU
  22. Dim secund, tick
  23. dim T
  24.  
  25. P = 0
  26. tick = 0
  27. secund = 0
  28. minute = 0
  29. hour = 12
  30. DelayMS 10
  31.  
  32. loop:
  33.  
  34. gosub gomb
  35.  
  36. GoSub Disp
  37.  
  38. GoTo loop
  39.  
  40. gomb:
  41. If PORTA.0 = 0 Then DelayMS 1
  42. If PORTA.0 = 0 Then
  43. Inc s
  44. If s > 10 Then s = 0
  45. If s = 0 Then
  46. minute = minute + 1
  47. secund = 0
  48. If minute > 59 Then
  49. minute = 0
  50. hour = hour + 1
  51. EndIf
  52. If hour > 23 Then hour = 0
  53. EndIf
  54. EndIf
  55. return
  56.  
  57. Disp:
  58. hourT = hour / 10
  59. hourU = hour // 10
  60. minuteT = minute / 10
  61. minuteU = minute // 10
  62. portc = 1
  63.  b1 = LookUp hourT ,  [63, 6, 91, 79, 102, 109 ,125 ,7 ,127 ,111]
  64.  PORTB = b1
  65.  DelayMS 1
  66.  PORTB = 0
  67.  PORTc = 0
  68.  DelayUS 100
  69.  PORTc = 2
  70.  b2 = LookUp hourU , [63, 6, 91, 79, 102, 109 ,125 ,7 ,127 ,111]
  71.  PORTB = b2
  72.  DelayMS 1
  73.  PORTB = 0
  74.  PORTc = 0
  75.  DelayUS 100
  76.  PORTc = 4
  77.  PORTB = P
  78.  DelayMS 1
  79.  PORTB = 0
  80.  PORTc = 0
  81.  DelayUS 100
  82.  PORTc = 8
  83.  b4 = LookUp minuteT , [63, 6, 91, 79, 102, 109 ,125 ,7 ,127 ,111]
  84.  PORTB = b4
  85.  DelayMS 1
  86.  PORTB = 0
  87.  PORTc = 0
  88.  DelayUS 100
  89.  PORTc = 16
  90.  b5 = LookUp minuteU , [63, 6, 91, 79, 102, 109 ,125 ,7 ,127 ,111]
  91.  PORTB = b5
  92.  DelayMS 1
  93.  PORTc = 0
  94.  PORTB = 0
  95.  return
  96.  
  97.  Disable
  98.  
  99.  tickint: PIR1.0 = 0
  100.  If tick = 0 Then P = 0
  101.  If tick = 1 Then P = 64
  102.  tick = tick + 1
  103.  
  104.  If tick > = 2 Then tick = 0
  105.  If tick <> 0 Then GoTo tickexit
  106.   secund = secund + 1
  107.   If secund > 59 Then
  108.   secund = 0
  109.   minute = minute + 1
  110.   EndIf
  111.  
  112.   If minute > 59 Then
  113.   minute = 0
  114.   hour = hour + 1
  115.   EndIf
  116.  
  117.   If hour > 23 Then hour = 0
  118.  
  119.  tickexit:
  120.  Resume
  121.  Enable
  122.  
  123. End
(#) janikukac válasza GPeti1977 hozzászólására (») Aug 15, 2012 /
 
Köszi, este tervezek egy nyákot neki. De úgy látom, ez lehet , hogy a 16F628-ba is belefért volna.
Azt a csoda kvarcot hol tudom beszerezni?? Nekem olyan nincs.
(#) GPeti1977 válasza janikukac hozzászólására (») Aug 15, 2012 /
 
A ret-nél is van de nézz szét mert már láttam régebbi készülékekben is, nem olyan ritka ez.
(#) janikukac válasza GPeti1977 hozzászólására (») Aug 15, 2012 /
 
Valóban kapható, köszi mindent !
üdv!
(#) Hp41C válasza janikukac hozzászólására (») Aug 15, 2012 /
 
Szia!

Fentebb írtam, hogy nem létszükséglet. Azért használ ilyet, mert a timer1 csak 2 hatványával tud osztani...
Használd a timer2 -t és mondjuk 4.0000MHz quartz -ot, akkor a timer2 előosztójával állíts be 4 -gyel, a PR2 -vel 250 -nel való osztást, az utóosztójával 10 -es osztást. Ekkor a timer2 megszakítás 10ms -enként jön. Minden 100 -dik megszakítás mövelje a másodpercet...
(#) zenetom válasza GPeti1977 hozzászólására (») Aug 15, 2012 /
 
Szia!
Említetted, hogy RDS dekóder IC-vel csináltál órát, mekkora antenna kell neki minimum, hogy legyen akkora vétel, ami elég az idő kiolvasásához?
A GPS-es módszerrel én is akartam csinálni órát, aztán kicsit továbfejlesztettem, és inkább GPS lett belőle mint óra
Következő: »»   4 / 12
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem