Kolejny zegar IW-18...

Miejsce dobre do dyskusji nad własnymi projektami - pochwal się wszystkim co samodzielnie stworzyłeś.
Awatar użytkownika
haterkmp
Użytkownik
Posty: 652
Rejestracja: 08 sie 2008, 11:47
Lokalizacja: Wałbrzych

Post autor: haterkmp » 11 mar 2009, 13:50

nie no to ma być zegar ewentualnie z datą w najgorszym wypadku z RTC. pewna firma produkuje reklamy świetlne na 2313 z matrycami 1024x64 właśnie na rejestrach przesuwających ale nie chcą pomóc... a co do MAX6921 to maxim mi je wyśle ale w obudowie TSSOP28... nawet nie myślę jak ja je wlutuje 100W transformatorówką

[ Dodano: 2009-03-12, 12:21 ]
powracam do pierwotnej koncepcji...
- kontroler attiny2313;
- PortB do sterowania segmentami;
- CD4028 do sterowania siatkami;
będzie prosto i łatwo a i tak zostają mi 4 wolne porty do ustawień i innych rzeczy (wolny ponad 1kB pamięci FLASH). tak więc Panie Kulpina mogę wcisnąć termometr :)
jeszcze zamiast sterować segmentami bezpośrednio, mogę wrzucić CD4055 i sterować wszystkim jednym portem :)

[ Dodano: 2009-03-12, 12:52 ]
P.S.
Dzięki za pomoc w programowaniu...

[ Dodano: 2009-03-12, 13:20 ]
na podstawie "pewnej" książki napisałem takie coś:

Kod: Zaznacz cały

Dim sekjed as byte , sekdzies as byte
Dim minjed as byte , mindzies as byte
Dim godjed as byte , goddzies as byte
Dim mplex as byte , ep1 as byte : ep2 as byte
const kreska = 11

A3 alias PortD.6
A2 alias PortD.5
A1 alias PortD.4
A0 alias PortD.3

Config PortB = &B11111111 : PortB = &B11111111
Config PortD = &B1111000 : PortD = &B1111111

Config Timer0 = timer , prescale = 64
Config Timer1 = timer , prescale = 64

Enable Interrupts : Enable Timer0 : Enable Timer1
Stop Ac

On timer0 fourms : On timer1 secs

sekjed = 0 : sekdzies = 0 : minjed = 0 : mindzies = 0 : godjed = 0 : goddzies = 0


Do : Loop : End

fourms:

Decr ep1
If Pind.1 = 0 and Pind.0 = 1 then
   If ep1 = 0 then
      ep1 = ep2 : incr minjed : sekjed = 0 : sekdzies = 0
      ep2 = ep2 - 8
      If ep2 < 8 then ep2 = 8
end if : end if
If Pind,0 and Pind.1 = 1 then
   If ep1 = 0 then
      ep1 = ep2 : incr godjed
      ep2 = ep2 - 8 
      If ep2 < 12 then ep2 = 12
end if : else
   If ep1 = 0 then
      ep1 = 4 : ep2 = 100
end if : end if

Incr mplex
If mplex = 8 then mplex = 0 : PortD = &B1111111

Select case mplex

Case 0:
PortB = Lookup (sekjed , Tablica) 
A3 = 0 : A2 = 1 : A1 = 1 : A0 = 1

Case 1:
PortB = Lookup (sekdzies , Tablica)
A3 = 0 : A2 = 1 : A1 = 1 : A0 = 0 

Case 2:
PortB = Lookup (kreska , Tablica)
A3 = 0 : A2 = 1 : A1 = 0 : A0 = 1

Case3:
PortB = Lookup (minjed , Tablica)
A3 = 0 : A2 = 1 : A1 = 0 : A0 = 0

Case 4:
PortB = Lookup (mindzies , Tablica)
A3 = 0 : A2 = 0 : A1 = 1 : A0 = 1

Case 5:
PortB = Lookup (kreska , Tablica)
A3 = 0 : A2 = 0 : A1 = 1 : A0 = 0

Case 6:
PortB = Lookup (godjed , Tablica)
A3 = 0 : A2 = 0 : A1 = 0 : A0 = 1

Case 7:
PortB = Lookup (goddzies , Tablica)
A3 = 0 : A2 = 0 : A1 = 0 : A0 = 0
End select : retur

secs:
Timer1 = 3036
Incr sekjed

	If sekjed = 10 then 
	sekjed = 0
	incr sekdzies

           if sekdzies = 6 then
	   sekdzies = 0
	   incr minjed

	      if minjed = 10 then
	      minjed = 0
	      incr mindzies

	         if mindzies = 6 then
		 mindzies = 0
		 incr godjed

		    if godjed = 10 then
		    godjed = 0
	            incr goddzies

end if : end if : end if : end if : end if 

If goddzies = 2 and godjed = 4 then
   goddzies = 0 : godjed = 0

end if : return

Tablica:
Data 192 , 249 , 164 , 176 , 153, 146 , 130 , 248 , 128 , 144 , 191	


czy "to" będzie działać?

Awatar użytkownika
Ertew
Użytkownik
Posty: 1414
Rejestracja: 03 lip 2005, 10:36
Lokalizacja: Leszno
Kontakt:

Post autor: Ertew » 14 mar 2009, 23:46

haterkmp pisze:czy "to" będzie działać?
Niektórych rzeczy nie można przewidzieć.
Oprogramowanie trzeba sprawdzać i ulepszać.
Od siebie mogę dodać posty pomysł na efektywniejsze wykorzystanie pinów i oszczędność pamięci.

Korzystam z wyświetlacza LED i CD4017, sprawdzone na 4x 7 segmentów

Kod: Zaznacz cały

A3 alias PortD.6
A2 alias PortD.5
A1 alias PortD.4
A0 alias PortD.3
należy zmienić na

Kod: Zaznacz cały

Dim wartosc as byte
Aclk alias PortD.6
Arst alias PortD.5
i odpowiednio do nich podpiąć linie 4017, a z jego wyjść sterować siatki.

Kod: Zaznacz cały

PortD = &B1111111                 'najpierw wygas
Aclk = 1 : Incr mplex : Aclk = 0  'impuls zegara dla 4017
                                  'pomiedzy sygnalami dla 4017 
                                  'przyda sie chwile odczekac
If mplex = 8 then                 'w odpowiednim momencie 
Arst = 1 : mplex = 0 : Arst = 0   'impuls reset dla 4017
end if 

Select case mplex  'co wyswietlic

Case 0:               'moze bedzie trzeba zamienic przypisania, 
wartosc = sekjed      'aby efektywniej poprowadzić sciezki
Case 1:               'od 4017 przez wzmacniacze do VFD
wartosc = sekdzies
Case 2:
wartosc = kreska
Case 3:
wartosc = minjed
Case 4:
wartosc = mindzies 
Case 5:
wartosc = kreska
Case 6:
wartosc = godjed
Case 7:
wartosc = goddzies 

End select 

PortB = Lookup (wartosc , Tablica)  'przelicz i wyswietl
return 


[ Dodano: 2009-03-15, 00:35 ]
haterkmp pisze:a co do MAX6921 to maxim mi je wyśle ale w obudowie TSSOP28... nawet nie myślę jak ja je wlutuje 100W transformatorówką
Lutowałem atMega169 w obudowach TQFP64 przy pomocy lutownicy transformatorowej o mocy 65W i jeszcze działa.

Posiadam ładny wyświetlacz VFD ze szczątków wideo. Już czas zamówić MAX6922 i mieć nadzieję, że wyślą.

Awatar użytkownika
haterkmp
Użytkownik
Posty: 652
Rejestracja: 08 sie 2008, 11:47
Lokalizacja: Wałbrzych

Post autor: haterkmp » 26 maja 2009, 5:27

witam
powtórzę się po raz kolejny - cyfrówka jest dla mnie czymś nowym...
mianowicie powstał problem z zegarem. jak był posklecany na płytce stykowej to wszystko było ok.
ale jak zacząłem składać go do kupy już w docelowym miejscu (taka mała diorama) to tylko mrygają cyferki na vfd...
dość przypadkowo się pojawiają różne śmieci na wyświetlaczu. czy może to być wina dość długich przewodów?
bo jest mniej więcej tak: płytka z Attiny2313 (uniwersalka) od portów attiny idą sobie kabelki (skrętka telefoniczna) o dł. ok 15cm do małej płytki z 74HC42 i od niej do driverów 2804 oraz druga plątanina kabli telefonicznych od procesora do driverów o dł. ok 20cm. stosuję oczywiście lokalne kondensatory przy scalakach i oczywiście napięcie stabilizowane +5V oraz dość blisko +30V i 4VAC do lampy. dodatkowo jesli dotknę "masy" to na wyświetlaczu już nic nie ma. same płytki są sprawdzone pod kątem montażu, zimnych lutów i tam na pewno nie ma błędów "konstrukcyjnych".
bardzo proszę o jakieś wskazówki i porady

Awatar użytkownika
timo66
Moderator
Posty: 1807
Rejestracja: 20 maja 2006, 19:15
Lokalizacja: 66'15" M.a.R.s.
Kontakt:

Post autor: timo66 » 26 maja 2009, 19:10

Witam
mi to wygląda na stany nie ustalone , lub brak masy. Co innego raczej mało prawdopodobne.

Awatar użytkownika
haterkmp
Użytkownik
Posty: 652
Rejestracja: 08 sie 2008, 11:47
Lokalizacja: Wałbrzych

Post autor: haterkmp » 27 maja 2009, 5:10

timo
a czy stany nieustalone mogą się... że tak powiem indukować w kablach? tzn czy może to być przyczyną? bo czytam sobie kniżkę Góreckiego o ukł. cyfrowych i pisze tam że krótkie kable, małe kondensatory przy scalakach, że zwarty montaż itd
projektuję płytkę taką żeby wszystko było na niej (oprócz całej sekcji zasilacza)

czy kabelki już od driverów do lampy mogą być dłuższe?

Awatar użytkownika
timo66
Moderator
Posty: 1807
Rejestracja: 20 maja 2006, 19:15
Lokalizacja: 66'15" M.a.R.s.
Kontakt:

Post autor: timo66 » 27 maja 2009, 8:51

Teoretycznie mogą być dłuższe , ale wtedy lepiej podciągnąć je do plusa , tak by był stały potencjał. w moich układach często tak się właśnie robiło gdy gdzieś brakowało masy - tak "siało" że głowa bolała.

Sprawdź jeszcze co tam masz na 15 nodze .

Awatar użytkownika
haterkmp
Użytkownik
Posty: 652
Rejestracja: 08 sie 2008, 11:47
Lokalizacja: Wałbrzych

Post autor: haterkmp » 27 maja 2009, 9:34

ale ja mam tylko 2... :mrgreen:
a tak poważnie to na "czyjej" tej 15 nodze timo?

[ Dodano: 2009-05-27, 10:37 ]
w sumie to już mam płytkę nową...
nie wiem czy dobrze

[ Dodano: 2009-05-27, 10:38 ]
AAAAAAAAA wszelkie sugestie przyjmę :mrgreen:
Załączniki
vfd.zip
spakowane pdf`y
(61.95 KiB) Pobrany 716 razy

Awatar użytkownika
timo66
Moderator
Posty: 1807
Rejestracja: 20 maja 2006, 19:15
Lokalizacja: 66'15" M.a.R.s.
Kontakt:

Post autor: timo66 » 27 maja 2009, 12:46

haterkmp pisze:a tak poważnie to na "czyjej" tej 15 nodze timo?
myślałem że ten schemat z 4094 [na początku] jest aktualny .

Tak się trochę przyglądam płytce i nie widzę masy przy 2804 [noga 9], a i "ładnie" zapętliłeś masę :mrgreen: taka antenka - ale tu to nie powinno zbytnio wpływać na układ- chodź koto wie .

Awatar użytkownika
haterkmp
Użytkownik
Posty: 652
Rejestracja: 08 sie 2008, 11:47
Lokalizacja: Wałbrzych

Post autor: haterkmp » 27 maja 2009, 13:05

no z tą masą to... wykorzystam tą drugą płytkę - bez tej wielkiej masy
ale miałem kawałek krótszych taśm od HDD i trochę "lepsze" śmieci są na vfd tzn. bardziej przypominają to co ma się tam wyswietlać. zrobię tą płytkę i zobaczymy. teraz wszystko będzie na jednym małym laminacie

[ Dodano: 2009-05-27, 14:07 ]
jest masa na 9

[ Dodano: 2009-05-27, 14:08 ]
a na tym z duzą masą nie ma fakt... :roll:

[ Dodano: 2009-05-27, 14:09 ]
a już wiem czemu - zły plik... z wczoraj

[ Dodano: 2009-06-01, 07:59 ]
no i nie działa ani trochę...
o ile wiem że segmenty się... powiedzmy mogą się wyświetlać to siatki się nie przełączają w ogóle. nie wiem czy to przez 74HC42 czy co...
chyba pójdę na łatwiznę i wezmę większy kontroler i bezpośrednio do portów to podłącze...

Awatar użytkownika
gwozdex
Użytkownik
Posty: 879
Rejestracja: 24 lut 2006, 10:04
Lokalizacja: Czechowice-Dziedzice
Kontakt:

Post autor: gwozdex » 08 cze 2009, 22:39

Witam!
Przeglądałem notę katalogową układu 4094 i wynika mi z tego ze syngał strobe działa synchronicznie z opadającym zboczem sygnału CLK. Czy aby na pewno tak jest??
Za odpowiedź dziękuję.

Awatar użytkownika
haterkmp
Użytkownik
Posty: 652
Rejestracja: 08 sie 2008, 11:47
Lokalizacja: Wałbrzych

Post autor: haterkmp » 09 cze 2009, 5:59

ja tam nie wiem bo zrezygnowałem z 4049 na rzecz bardziej nie-działajacego 74HC42... myślałem że Tasza trochę pomoże ale Ona chyba już od nas odeszła...

Awatar użytkownika
gwozdex
Użytkownik
Posty: 879
Rejestracja: 24 lut 2006, 10:04
Lokalizacja: Czechowice-Dziedzice
Kontakt:

Post autor: gwozdex » 09 cze 2009, 14:18

Juz sobie sam odpowiedziałem- nie jest tak. Wejscie STROBE jest wejściem asynchronicznym

Awatar użytkownika
haterkmp
Użytkownik
Posty: 652
Rejestracja: 08 sie 2008, 11:47
Lokalizacja: Wałbrzych

Post autor: haterkmp » 10 cze 2009, 11:16

a ja nie mam już pomysłu... zwaty montaż, dobre układy, dobre stany na wyjściach procka... kombinacje alpejskie i nic... już nawet ekrany na kable zasilania dałem... cisza. chyba podepne do atmega8 i rozwiąże to w ten sposób...

ODPOWIEDZ