Potrzebuję pomysłu wykonania prostego urządzenia.


Tak jak w temacie, urządzenie wydaje się proste, nie wiem jak to będzie się miało do życia.
Mianowicie, nie wiem jak to opisać... potrzebuję urządzonko, może inaczej. Sytuacja z życia:
Płytka z układem układ ma służyć zapalaniu kolejnych diód (diody zapalają się tylko przy naciśnięciu przycisku) Czyli tak, naciskam przycisk zaświeca się 1 dioda po chwili puszczam, dioda gaśnie, naciskam przycisk ten sam ale teraz zaświeca się już druga dioda, zwalniam przycisk dioda gaśnie, naciskam znów przycisk teraz znów zapala się kolejna dioda trzecia... i tak dalej z możliwie największą ilością diód. Po przejściu x możliwych diód układ idzie on nowa.
Układzik nie wiem czy się da zrobić na jakiejś atmedze czy innym mikroprocesorze?
Bardzo bym prosił, mój zamysł jest może trochę dziwny ale myślę nad czymś takim.
Bardzo proszę o pomysły propozycje, czy się da coś takiego zrobić, na jakim układzie, mój niecodzienny zamysł wydaje się prostym urządzonkiem, mam nadzieje że nie tylko się wydaje.




Portret użytkownika Mateusz77892

diody 1N4007 to nie problem w

diody 1N4007 to nie problem w necie można kupić 100szt. za niecałe 3 złote, drivery ULN2803 też niecałe 2 zł za sztukę, więc jednak bym prosił o pomoc w tym projekcie z żaróweczkami.
1.Czyli potrzebowalibyśmy dwóch driverów ULN2803, jeśli utworzymy "siatkę" to otrzymamy 8x8=64 diód tak?
2.I czy diody nie możny by podpiąć na każde wyjście drivera? tylko trzeba do 1 drucika w każdej żarówce? (tzn razem 32 diody?)
3.I to znaczy że układ wyglądał by tak mniej więcej: M16 zaprogramowany, wyjścia M16 podłączone do wejść driverów, a wyjścia driverów podłączone do 1N4007 i żaróweczek?
Jak ten driver działa? Opiszcie po krótce ja się domyślam ale chce się upewnić i poznać prawidłowe działanie.

Portret użytkownika onepiotr

Driver

Driver jest jak przekaźnik: żeby włączyć wystarczy bardzo mały prąd, a on przełącza kilka: dziesiąt, set czy tysięcy razy większe prądy.

Proponował bym koledze zrobić tą zabawkę na tych LED-ach. Nie upieraj się. Nabierz doświadczenia na czyś prostym i pewnym. Sorki, ale jeśli Twój zasób wiedzy jest na takim poziomie jaki prezentujesz, to wykonanie tego o co się upierasz pozostaw jako pierwszą samodzielną pracę. Satysfakcja najwyższych lotów gwarantowana. Zdobądź wiedzę na układach prostych ( łatwiej zrozumieć ), i czerp z takich projektów jak ta strona (można się wiele nauczyć). Słuchając rady kolegów, pierwszy projekt miał byś już na stole. Jak na razie stoimy w miejscu.

Przedwczoraj proponowałem coś prostego bez procków. Postaram się może jeszcze dziś nocką coś przedstawić, ale na TTL-ach (C-moski nie dojechały).

Portret użytkownika onepiotr

Na TTL-ach

Układzik złożyłem na 2x7493 + 2x7442. Daje to sterowanie 10x10=100szt diodek. Schematu nie mogę umieścić bo jeszcze sobie chyba nie zasłużyłem na miejsce na serwerku;)
Liczniki dziesiętne (7493 liczące do dziesięciu) sterują dekoderami 7442 ( 1 z 10 ). Wyjścia pierwszego dekodera połączone do rezystorów ograniczających prąd na katodach LED-ów ( ja na szybko wstawiłem k16 ). Tak więc każde wyjście to wiersz 10-u LED-ów. Drugi dekoder podaje + na anody 10-u kolumn przez tranzystory PNP. Do każdego wyjścia podłączona baza tranzystora przez rezystor k540 ( dodatkowo każdy tranzystor ma wstawiony rezystor 1kom między bazę i emiter - dogaszanie). Emitery tranzystorów do zasilania, a kolektory odpowiednio do anod 10-u kolumn LED-ów. Taktowanie na WEjście A pierwszego licznika. Licznik nr 2 jest taktowany zboczem opadającym z wyjścia "D" pierwszego licznika.
... Może jednak poczekajmy na schemat ( o ile będzie taka potrzeba).
Na 40... było by trochę prościej bo odpadają dwa scalaczki.

Portret użytkownika Mateusz77892

onepiotr czy twój

onepiotr czy twój przedstawiony pomysł trzeba programować?
A co do żaróweczek to ja nie widzę dużego problemu, jeśli dobrze myśle chcieliście mi pomóc przy układzie na samej M16 z niej zrobić "siatkę" a moduł ULN2803 wystarczyło by wpiąć przed "siatką" i z wyjść ULN2803 dopiero robić siatkę. Jeśli dobrze myśle to nie ma dużo roboty. Program sterujący M16 byłby chyba taki sam jak na normalnych ledach bezpośrednio na wyjściach M16? bo jak onepiotrnapisał

Quote:
Driver jest jak przekaźnik: żeby włączyć wystarczy bardzo mały prąd
czyli chyba by wystarczył. Więc wstawić ULN2803 to nie jest żaden kłopot, nic nie zmieniamy z oryginalnego pomysłu na ledy, jedynie wpinamy ULN2803.
Tak myśle, niewiem czy dobrze wyobraziłem sobie budowe i działanie?
http://zapodaj.net/b60736a39417.jpg.html
Narysowałem jak to sobie mniej więcej wyobrażam. Nie wiem czy dobrze?

Portret użytkownika mirley

Re: Schemat

Nie możesz tego podłączyć tak jak na schemacie, który narysowałeś. Dolna część narysowana kolorem niebieskim jest ok bo zwiera do masy a układ ULN właśnie tak działa, zwiera wyjścia do masy albo pozostawia niepodłączone. Popatrz na schemat na stronie 4 w karcie http://www.datasheetcatalog.org/datasheets/90/366828_DS.pdf ULN2803 ma 8 takich fragmentów jak na schemacie na samym dole z lewej. To nie działa do końca jak przekaźnik i takie twierdzenie jest grubym przybliżeniem

powtarzam jeszcze raz bo już pisałem wcześniej, że nie możesz podłączyć w taki sposób ULN2803 aby wystawiał napięcie na wyjściach (kolor czerwony na twoim schemacie). Do GND ma być podłaczone zawsze GND czyli 0V a nie zasilanie. nóżka zasilania UCC układu ULN podłącza tylko diody przeciw przepięciowe, chroniące tranzystory wewnątrz

Może nie trzeba żadnych buforów, jeśli żarówka działa przy 4,4V i dobrze świeci to kluczowym zagadnieniem jest tu pomiar prądu jaki żarówka pobiera przy tych 4,4V zasilania i bez tego nie ruszymy dalej. Musisz gdzieś zdobyć na chwilę miernik żeby to dokładnie zmierzyć, bo jeśli jest pobór w granicach 10-15mA to nie trzeba żadnych buforów i podłączamy bezpośrednio do procesora poprzez diody 1N4007 w ustawieniu omawianym wcześniej 8x8

Re: jeśli chodzi o upload plików to każdy użytkownik ma miejsce ale na razie system plików na serwerze jest tylko do odczytu więc nic nie załadujesz, problemy mam nadzieje szybko zostaną pokonane. Status serwera jest dostępny http://rootnodestatus.net/

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika onepiotr

na TTL-ach

Układ nie wymaga programowania. Składasz i działa ( zrobiony na wariata, wejście wymaga dorobienia filtra przeciw zakłóceniom z włącznika ).
http://zapodaj.net/eafd2ab0998d.jpg.html
Sorki, ale ja sprawdzałem działanie a Picasso rysował schemat na prędce ( to była prawie czecia w nocy ):)

Ten przekaźnik był dla lepszego zobrazowania ogólnej zasady działania.

Co do żarówek. Jej problem polega na tym, że nie może pracować na skrajnych wartościach elementu który nią steruje. Jeśli wyjście układu może być obciążone max 15mA, a żarówka pobiera 14mA, to jest niby OK. Pamiętajmy jednak o pewnej niespodziance, o której się głośno nie mówi: zmierz oporność żarówki miernikiem i korzystając z prawa Oma oblicz jaki pobierze prąd. Niespodzianka dla niewtajemniczonych. ( cdn jeśli ktoś ciekaw bo nie chcę się rozpisywać niepotrzebnie )
Układ który zaproponowałeś zadziała po wymianie jednego z 2803 na tranzystory, coś w podobie do tego co ja wymodziłem w dolnej części załączonego obrazka ( z odpowiednim do napięcia doborem rezystorów ).

Portret użytkownika Mateusz77892

No tak Mirley masz rację z

No tak Mirley masz rację z tym że tylko 1 ULN2803 się sprawdzi, a czy można tak jak onepiotr napisał

Quote:
Układ który zaproponowałeś zadziała po wymianie jednego z 2803 na tranzystory

Można tu zamienić 1 układzik ULN na jakieś tranzystory zrobić siatkę tranzystorów z ULN2803 i będzie działało z żaróweczkami? Jakie wtedy ograniczenie z poborem prądu by było przy takim układzie?

Portret użytkownika mirley

Re: Projekt

jeśli dasz ULN od strony masy i tranzystory PNP od strony zasilania to taki układ jak narysowałeś wcześniej zadziała a ograniczenie prądu będzie wynikało z zastosowanych tranzystorów ale nie przekroczy 500mA na kanał bo z tego co pamiętam to ULN ma taki max prąd. Dla tranzystorów PNP Bc557 będzie max 100mA na kanał

Układ z TTL'ami bez procesora też pewnie będzie działał bez zarzutu ale jak już kiedyś powiedziałem, wolę programowane układy

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Mateusz77892

Projekt

A nie ma jakichś mocniejszych tranzystorów PNP (żeby ograniczenie było większe, coś do 200mA?)
Bo tak patrzyłem na całe zestawy na choinke światełek choinkowych i tam pisze, żarówka 2,5V 0,121A albo też znalazłem (0,17A)
Cholera nie mam czasu podejść miernik kupić i zmierzyć te moje żarówki tylko tak musimy gdybać.
To są jakieś mocniejsze PNP? Jeśli tak to idziemy dalej...

Portret użytkownika rafliczek22

Jeśli bipolary to ja

Jeśli bipolary to ja poleciłbym 2N5401 prąd 0,6A, ale ja zastosowałbym albo mosfety albo darlingtony ja do wszystkiego staram się używać bc517 bo daje rezystory 10k i mam wpełni otwarty (wg. noty wzmocnienie wynosi 30 000) ew. npn-y jako wtórniki emiterowe tylko nigdy na procesorze tego nie próbowałem więc niech się mirek wypowie i wtedy stosowałbym bc517.

Portret użytkownika onepiotr

PNP

Jest taki staruszek np BC313 (do 1,0A).

Mirley - nie upieram się przy TTLach, ale gość który nie ma miernika ... jeszcze kwestia zasilacza, wykonania płytki, kwestia zaprogramowania ( dla Ciebie błahostka ), inne niespodzianki przy uruchomieniu. Zejdzie się do Bożego Narodzenia. Udzielmy pomocy przy pierwszym prostym układzie. Może go wciągnie i kiedyś kupi oscyloskop:)

Mateusz77892 - dzięki Twojemu uporowi ( żaróweczki ), powstanie fajne urządzenie dla początkujących, ale i nie tylko. Zainspirowany tym pomysłem postanowiłem wykorzystać go w zegarze. W okół wyświetlacza godziny, będzie wędrować, wskazująca sekundy, LED z ogonem ( ogon to kilka diodek świecących co kolejna to słabiej, jak ogon komety). Zegar Nixie Mirleya mnie zachęcił.

Portret użytkownika rafliczek22

Quote:Jest taki staruszek np

Quote:
Jest taki staruszek np BC313 (do 1,0A)

Brawo!!!

Zakładam że ma kolega maszynę czasu która przenosi 20 lat wstecz.

Ale tak swoją drogą to szkoda że wycofali te tranzystory były metalowe i można było założyć specjalny radiatorek.

Portret użytkownika mirley

Re: Tranzystory

Ja często stosuje BC327 lub BC328 ale takich tranzystorów jest mnóstwo. Popatrz w ofercie sklepu i zastosuj to co jest dostępne. To że na wtyczce masz napisane że lampki pobierają jakiś tam prąd to nie znaczy że taki prąd płynie przez jedną żarówkę. Często takie lampki zawierają kilka niezależnych obwodów z żaróweczkami połączonymi w szereg. Wtedy pobór prądu musisz podzielić przez ilość obwodów. Z ilości żarówek w jednym obwodzie można obliczyć na jakie napięcie jest pojedyńcza żarówka

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Mateusz77892

Quote:Gość który nie ma


Quote:
Gość który nie ma miernika
bo tak niefortunnie go spaliłem, miałem jakieś trafo, podłączyłem do 12V i spaliłem miernik. Napięcie prawdopodobnie było Kilkadziesiąt tysięcy, małe natężenie ale samo napięcie wystarczyło. Nie mam jak go nawet kupić bo chodze po lekcjach na wykłady z prawka i od 7 do 19 nie mam nawet możliwości tego kupić. I dlatego tak wygląda sytuacja. Chcieć a nie móc.

Quote:
Kwestia zasilacza...
Zasilać myśle układem stabilizującym 7805 i akumulatorkiem żelowym 12V bo akuratnie mi taki zbywa nadaje się idealnie a układ 7805 sobie powinien ustabilizować do 5V, i do tego zasilanie żaróweczek też z tego akumulatorka, rezystory na każdą linie siatki, i powinno chyba hulać?
Quote:

Wykonania płytki
Jak już powiedziałem płytkę wykonam samodzielnie, następnie tylko wrzuce do wglądu czy sie podoba :)

No i co do zaprogramowania, to aż taki dobry nie jestem, więc tu liczę na pomoc.

A co do

Quote:
Mateusz77892 - dzięki Twojemu uporowi ( żaróweczki )...
to się bardzo cieszę że też zaczerpniesz coś dla siebie.
Aha i jeszcze dlatego chcę programowany układ, bo z niego spełnie myśl z żaróweczkami, co na TTLach by się nie udało jedynie diody które kilkanaście mA pobierają.

Dobra To czyli kupuje

  • atmege 16 (bo na mniejszym atmelu nie zrobię prawda? bo musi mieć co najmniej 16 wyjść aby sterować siatką)
  • ULN2803
  • 8 tranzystorów PNP z minimum 200mA
  • do tego jakieś rezystory na żarówki i układ stabilizujący.
Tyle? czy o czymś zapomniałem? Jak nie to kupuje i idziemy dalej.

Portret użytkownika mirley

Re: Projekt

Diody prostownicze które będą w szeregu z żarówkami.... Żaden znajomy nie ma miernika? bo może nie jest potrzebny ten ULN i tranzystory. Cała idea w tym żeby to było proste a bez pomiaru prądu nie da się tego ocenić. Cały czas nie rozwiązaliśmy tego problemu... a mianowicie ile pobiera ta żaróweczka przy 4,4V zasilania?

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika onepiotr

Re: Projekt

Mateusz, daj sąsiadce 2zł na lizaka i wyślij ją do marketu po miernik. Masz telefon? Dogadacie się.

Jeśli chodzi o Atmega czy TTL. W przypadku, jeśli będziesz musiał zastosować drivery ( ULN i tranzystory ), nie ma znaczenia co wybierzesz. Jedno i drugie stanowi jednostkę sterującą.

Ja mimo wszystko proponuje wstawić te buforki. W razie zwarcia czy przepalenia poleci to co mniej istotne. Dlatego też wcześniej się tak zaczynałem rozpisywać o tych żarówkach. Jest to odbiornik który ma ohydną charakterystykę prądową. Żarówka wyłączona ma niską oporność, która rośnie po podłączeniu zasilania. Rozżarzone włókno zużywa mniej prądu. Jeśli zmierzona żarówka pobierze np 18mA, a wyjście ma wydajność 20mA, to trzeba chyba sprawdzić jak z odpornością na udar prądowy wyjścia. Wydaje mi się, że taka lampka przy podaniu 100% U zasilającego mogła by poderwać I do 150-200%. Ale może nie mam racji. Zależy to też od budowy jej włókna. Żarówy takie do żyrandola ( 75-100W ), czasami w chwili włączenia zasilania przepalają się ( czasem nawet to nieźle słychać ). To właśnie wygrzane w jakimś stopniu włókno zostało podłączone do sieci w chwili szczytowego napięcia fazy. Skok prądowy sięga czasem 10-cio krotnej wartości nominalnego.

Bezapelacyjnie buforki.

Portret użytkownika Mateusz77892

TTL

Onepiotr ale czy na TTLach da sie zrobić z moimi żaróweczkami?? TTL służyłby jedynie zamiast atmegi do sterowania a do tego ULN i tranzystory trzeba by było i tak? dobrze rozumiem??
Miernik się postaram zdobyć jak najszybciej jak sie wyrobie to nawet dzisiaj.

Portret użytkownika onepiotr

TTL

Tak jak napisałem kolego - albo 1 procesor, albo 4 TTL-e. Jedno i drugie będzie się zajmowało przełączaniem kolejnych żarówek. ULN i tranzystory mile widziane w obu przypadkach.
Proponowałem TTL-ki żeby oszczędzić Ci zachodu z procesem programowania ( choć pod okiem Mirleya ... ). Jak jeszcze chwile zaczekasz, zapodam jeszcze prostszy układ na 2 CMOS-ach ( czekam już 8 dni na dostawę części).
Jeżeli masz zamiar częściej coś "posklejać", to wybór procka byłby mądrzejszy. Trening czyni mistrza - ot co.

Portret użytkownika matrix

co wybrać ?

a ja jednakoż niezależnie czy będziesz sterował diodami czy żarówkami i czy będziesz stosował ULN czy inne klucze, to proponuję zastosować procesor. jest bardziej uniwersalny. można zrobić co się chce. wsadzić jaki się chce soft, a jak się nie spodoba to go zmienić.

Portret użytkownika Mateusz77892

Co racja to racja, wiadomo że

Kupiłem miernik, żaróweczka pobiera przy zasilaniu 4,1V około 100-120mA, nie mam jak sprawdzić przy 4,4V ale myśle że napewno nie będzie więcej jak 200mA, ale już wiemy że podłączanie bezpośrednio do pinów M16 nie będzie możliwe tylko i wyłącznie przez tranzystory.
Co racja to racja, wiadomo że M16 jak kolega wyżej mówi jest uniwersalny jak mi sie znudzi gra, wyjme m16 i zrobie co chce innego, ale tu jest kwestia tego że ja nie zaprogramuje tego M16, jeśli pomożecie i mi napiszecie program to w Bascomie go wrzuce na M16, ale program musi być napisany cały. Bo ja nie potrafie pisać programów. A tak jeśli nikt mi tego nie napisze to po prostu zrobimy na TTLach obejdzie się bez programowania itd.
To jak, są ochotnicy??? :)

Portret użytkownika matrix

program.

zrobimy tak że napiszemy Ci ten soft, a przynajmniej ja się deklaruję. ale nie mówię od razu. mam rodzinę i pracę, więc chwilę się może zejść.

Portret użytkownika Mateusz77892

No to ok kolego matrix0606

No to ok kolego matrix0606 może mirley też pomoże :)
Ja wykonam płytkę, tylko musisz też powiedzieć które z pinów M16 będziesz programował na siatkę, bo adekwatnie do tego które piny wybierzesz muszę zrobić płytkę.
To w wolnej chwili proszę o napisanie tego programu. I dziękuję za podjęcie się zadania. :)

Portret użytkownika matrix

program.

Mateusz77892 wrote:
tylko musisz też powiedzieć które z pinów M16 będziesz programował na siatkę, bo adekwatnie do tego które piny wybierzesz muszę zrobić płytkę.

procesory są programowalne, więc zaprojektuj sobie płytkę jak Ci pasuje, a ja (my) napiszemy soft pod Ciebie. jedna sugestia. nie projektuj nic pod wyjście RST. ma zostać niepodłączone.

Portret użytkownika Mateusz77892

Okej, postaram się zrobić

Okej, postaram się zrobić płytkę niedługo i zamieszczę schemat żebyście wiedzieli które piny do czego przystosowałem.
Jedno pytanie, ten przycisk którym będę włączał kolejne żaróweczki to który pin mam wybrać? Również dowolny pin? (oprócz RST) i będziemy go zwierać do masy zasilania M16 tak? (przyciśnięcie= masa+pin x)
I na marginesie Pin RST to reset, czyszczenie M16 z całego programu czy np. rozpoczynanie gry od nowa (w np. przy 34/64 żaróweczce po naciśnięciu idzie od początku)

Portret użytkownika mirley

Re: Gra

raczej zrób sobie dwa przyciski, jeden będzie przesuwał do przodu a drugi do tyłu bo jak CI się kliknie przez przypadek 2 razy to zawsze się wrócisz o jeden do tyłu. Coprawda wybór pinów jest dowolny ale jak podłaczysz to całkowicie byle jak to program będzie mało zrozumiały. Operuj na całych portach, to znaczy żeby np wszystkie kolumny były na porcie PA a wszystkie wiersze na PC lub PD czy jakoś podobnie. W każdym bądź razie nie podłaczaj np 3 pinów z portu A, 2 pinów z C i potem jescze 3 z portu B bo przy programie kogoś trafi potem żeby to łatwo przypisać ze zmiennej na port.

piny które możesz uzyć w M16 to te oznaczone PA0..7, PB0..7, PD.0..7 i PC0..7 z tym że na porcie B5..7 jest programator więc jak nie trzeba to nie podłaczaj tam nic specjalnego

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika matrix

Re: Gra

ja ma, jeszcze jedna sugestię. nie możemy tego zrobić na atmega8? mam taka atmegę i mógł bym robić testy.

Portret użytkownika Mateusz77892

Nie mam jak sprawdzić noty

Nie mam jak sprawdzić noty katalogowej M8 bo mi sie myszka zepsuła i ją naprawiam, więc ciężko jest mi cokolwiek znaleźć klawiaturą, ale jeśli się da zrobić na M8 (ma wystarczającą ilość wyjść, 16 na siatkę i na przyciski) to może być, mi to różnicy nie robi, jedynie że tańsza będzie ;]

Portret użytkownika matrix

Re: Gra

tak wygląda atmega8

Portret użytkownika Mateusz77892

no to można by zrobić siatkę

no to można by zrobić siatkę przykładowo na pinach (23 24 25 26 27 28 16 15 , 2 3 4 5 6 11 12 13)[SIATKA] np. pin 9 przycisk w przód żarówka pin 10 przycisk w tył żarówka zwierane do pin 14.
Może tak być? Chyba powinno styknąć na M8.

Portret użytkownika matrix

Re: Gra

Mateusz77892 wrote:
zwierane do pin 14

przyciski zwiera się do masy. poczekajmy na Mirka. może on też coś podpowie. co 3 głowy to nie dwie.
ja osobiście dał bym 28.27.26.25.24.23.19.18 vs 17.16.15.14.13.12.11.10

procek może być taktowany wewnętrznym zegarem, więc można wykorzystać bez problemu wejścia XTAL.

Portret użytkownika mirley

Re: M8

Użycie tutaj M8 jest jak najbardziej dobrym pomysłem, wcześniej mówiliśmy o M16 tylko ze względu na maksymalne możliwości jakie by dało się z tego uzyskać. Na początek polecam zrobić sam układ wykonawczy w postaci tego ULN i tranzystorów od góry i zobaczyć jak to działa zwierane kawałkiem kabla.

Co do pinów na M8 to tak trzeba zrobić żeby płytka była prosta bo w programie i tak trzeba będzie przypisywac bit po bicie ze zmiennej na port

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika matrix

Re: Gra - propozycja pinów

może inaczej. zaproponuję następujące piny, żeby było łatwiej ustawiać stany na portach.

2,3,4,5,6,11,12,13 vs 9,10,14,15,16,17,18,19

w ten sposób można ustawiać stany wpisując dane do całego portu na raz.
bo gdyby przyjąć taki rozstaw pinów to mam gotowy soft. tylko to jest bezpośrednie sterowanie driverami PNP i NPN.

$PROG &HFF , &HA4 , &HD9 , &H00    ' generated. Take care that the chip supports all fuse bytes.
 
 
$regfile = "m8def.dat"
$crystal = 8000000
$eepleave
$hwstack = 40
$swstack = 16
$framesize = 40
 
 
config portb = output
config portd = output
config pinc.5 = input
config pinc.4 = input
config portc.3 = output
 
dim punkt as byte
punkt = 0
 
p1 alias pinc.5                    'przycisk 1
p2 alias pinc.4                    'przycisk 2
 
set p1
set p2
portb = 255
portd = 255
 
 
'=============================
'=== pętla główna programu ===
'=============================
 
do
if p1 = 0 then
   incr punkt
   gosub wybor
end if
 
if p2 = 0 then
   decr punkt
   gosub wybor
end if
 
if punkt >= 65 then
   punkt = 0
end if
 
loop
end
 
 
wybor:
select case punkt
case 1 :
 portd = &b10000000
 portb = &b01111111
case 2 :
 portd = &b10000000
 portb = &b10111111
case 3 :
 portd = &b10000000
 portb = &b11011111
case 4 :
 portd = &b10000000
 portb = &b11101111
case 5 :
 portd = &b10000000
 portb = &b11110111
case 6 :
 portd = &b10000000
 portb = &b11111011
case 7 :
 portd = &b10000000
 portb = &b11111101
case 8 :
 portd = &b10000000
 portb = &b11111110
 
case 9 :
 portd = &b01000000
 portb = &b01111111
case 10:
 portd = &b01000000
 portb = &b10111111
case 11 :
 portd = &b01000000
 portb = &b11011111
case 12:
 portd = &b01000000
 portb = &b11101111
case 13:
 portd = &b01000000
 portb = &b11110111
case 14:
 portd = &b01000000
 portb = &b11111011
case 15:
 portd = &b01000000
 portb = &b11111101
case 16:
 portd = &b01000000
 portb = &b11111110
 
case 17 :
 portd = &b00100000
 portb = &b01111111
case 18 :
 portd = &b00100000
 portb = &b10111111
case 19 :
 portd = &b00100000
 portb = &b11011111
case 20:
 portd = &b00100000
 portb = &b11101111
case 21 :
 portd = &b00100000
 portb = &b11110111
case 22:
 portd = &b00100000
 portb = &b11111011
case 23:
 portd = &b00100000
 portb = &b11111101
case 24:
 portd = &b00100000
 portb = &b11111110
 
case 25:
 portd = &b00010000
 portb = &b01111111
case 26 :
 portd = &b00010000
 portb = &b10111111
case 27 :
 portd = &b00010000
 portb = &b11011111
case 28 :
 portd = &b00010000
 portb = &b11101111
case 29 :
 portd = &b00010000
 portb = &b11110111
case 30:
 portd = &b00010000
 portb = &b11111011
case 31 :
 portd = &b00010000
 portb = &b11111101
case 32:
 portd = &b00010000
 portb = &b11111110
 
case 33:
 portd = &b00001000
 portb = &b01111111
case 34:
 portd = &b00001000
 portb = &b10111111
case 35:
 portd = &b00001000
 portb = &b11011111
case 36:
 portd = &b00001000
 portb = &b11101111
case 37 :
 portd = &b00001000
 portb = &b11110111
case 38 :
 portd = &b00001000
 portb = &b11111011
case 39 :
 portd = &b00001000
 portb = &b11111101
case 40:
 portd = &b00001000
 portb = &b11111110
 
case 41:
 portd = &b00000100
 portb = &b01111111
case 42:
 portd = &b00000100
 portb = &b10111111
case 43:
 portd = &b00000100
 portb = &b11011111
case 44:
 portd = &b00000100
 portb = &b11101111
case 45:
 portd = &b00000100
 portb = &b11110111
case 46:
 portd = &b00000100
 portb = &b11111011
case 47 :
 portd = &b00000100
 portb = &b11111101
case 48 :
 portd = &b00000100
 portb = &b11111110
 
case 49 :
 portd = &b00000010
 portb = &b01111111
case 50:
 portd = &b00000010
 portb = &b10111111
case 51 :
 portd = &b00000010
 portb = &b11011111
case 52:
 portd = &b00000010
 portb = &b11101111
case 53:
 portd = &b00000010
 portb = &b11110111
case 54:
 portd = &b00000010
 portb = &b11111011
case 55:
 portd = &b00000010
 portb = &b11111101
case 56:
 portd = &b00000010
 portb = &b11111110
 
case 57 :
 portd = &b00000001
 portb = &b01111111
case 58 :
 portd = &b00000001
 portb = &b10111111
case 59 :
 portd = &b00000001
 portb = &b11011111
case 60:
 portd = &b00000001
 portb = &b11101111
case 61 :
 portd = &b00000001
 portb = &b11110111
case 62:
 portd = &b00000001
 portb = &b11111011
case 63:
 portd = &b00000001
 portb = &b11111101
case 64:
 portd = &b00000001
 portb = &b11111110
end select
 
bitwait p1 , set
bitwait p2 , set
portb = 255
waitms 250
return

Portret użytkownika mirley

Re: Program

Nie rozumiem czemu napisałeś to w taki sposób, czy nie prościej było by podzielić zmienną przez 8 i drugi raz modulo 8 uzyskując adresy wiersza i kolumny. Potem za pomocą dekodera lookup table zrobić to na kod 1 z 8 i zajmie to kilka linijek. Potem stan dwóch zmiennych wiersz i kolumna przypisze się do dowolnych pinów i po sprawie

W poleceniu niżej brakuje &B przed liczną binarna bo chyba nie ma to byc dziesiętnie zapisane

portd = 11111101

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika matrix

Re: Program

to było tak na szybko Mirku. nie miałem co robić, a żeby było zrozumiałe to napisałem tak. oczywiście można znacznie prościej. ale przyznam że sam nie do końca rozumiem LOOKUP i między innymi dlatego tak jest a nie inaczej.

mirley wrote:
W poleceniu niżej brakuje &B przed liczną binarna bo chyba nie ma to byc dziesiętnie zapisane

fakt, sorki.
jest jeszcze jeden plus zapisu po mojemu. dokładnie widzimy który pin aktualnie powinien być aktywny.

Portret użytkownika mirley

Re: Lookup table

polecenie lookup w bascomie realizuje typ logiki jaki w elektronice jest nazywany poprzez Lookup Table (LUT). Działa to bardzo prosto, bo jest to po prostu pamięć w której zapisane są wartości pod konkretnym adresem.

W bascomie robisz sobie poprostu tabele danych w pamięci na końcu programu:

Tabela:
    Data 0, 1, 2, 4, 8, 16, 32, 64, 128

Po czym odwołujesz się do konkretnego numeru wartości:

W = Lookup(A , Tabela)

Jeśli A = 0 to do W zostanie wpisana zerowa pozycja tabeli czyli też 0, jeśli A = 6 to W =32, dzieki temu robi się dekoder 1 z 8, na wejście wchodzi wartość binarna A (0-8)a wychodzi W w postaci 1 z 8

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika matrix

Re: Lookup table - zakumałem

mirley wrote:
W bascomie robisz sobie poprostu tabele danych w pamięci na końcu programu:

Tabela:
Data 0, 1, 2, 4, 8, 16, 32, 64, 128
Po czym odwołujesz się do konkretnego numeru wartości:

W = Lookup(A , Tabela)
Jeśli A = 0 to do W zostanie wpisana zerowa pozycja tabeli czyli też 0, jeśli A = 6 to W =32, dzieki temu robi się dekoder 1 z 8, na wejście wchodzi wartość binarna A (0-8)a wychodzi W w postaci 1 z 8


teoretycznie zakumałem. cyknąłem szybko programik na atmegę i zaczaiłem, tylko że wiesz Mireczku, to są liczby dziesiętne i na przykład ja w głowie nie ogarniam zamiany dziesiętnych na binrne, więc na przykład liczba powiedzmy 56 nie mówi mi kompletnie nic, który pin procka jest aktywny? ale ok, wystarczy napisać i wsadzić do proca, a resztą się nie przejmować.

Portret użytkownika mirley

Re: Tabela liczb

W tym przypadku masz tabele napisaną 0,1,2,4.... to sa poprawne wartości jakie mają być dla dekodera 1 z 8. nie musisz się zastanawiac co tam wstawić bo masz gotowe. Poza tym w tabeli danych możesz sobie binarnie wstawić a nie dziesiętnie i tez będzie dobrze

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika matrix

Re: Tabela liczb

mirley wrote:
Poza tym w tabeli danych możesz sobie binarnie wstawić a nie dziesiętnie i tez będzie dobrze

tego nie wiedziałem.

Portret użytkownika Mateusz77892

Widzę duże postępy w

Widzę duże postępy w projekcie, matrix0606 testowałeś może działanie zaprogramowanego M8 tym softem co napisałeś?
I siatkę mam zrobić na pinach 2,3,4,5,6,11,12,13 vs 9,10,14,15,16,17,18,19 (pin 5 i 4 to przyciski? dobrze wyczytałem?)
Z tego np. 2,3,4,5,6,11,12,13 do ULN2803 i 9,10,14,15,16,17,18,19 do tranzystorów tak? I powinno działać?

A tu moje postępy w projektowaniu, rzućcie okiem na schemat czy prawidłowo robie, PCB jeszcze nie porządkuje bo jeszcze muszę pododawać kilka rzeczy typu przyciski (na jakich pinach zwierane będą do masy??)
http://zapodaj.net/2606abb39c41.jpg.html
http://zapodaj.net/8608f60284e6.jpg.html

Portret użytkownika mirley

Re: Matryca diod

na bazy tranzystorów daj szeregowe rezystory po 1k lub 3,3k ale to potem się zobaczy. Jesli chcesz możesz dodać też rezystor 10k od bazy każdego tranzystora do +5V żeby był wyłączony zawsze jak ni nie jest podłaczone, ale nie jest to wymagane

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Mateusz77892

Płytka nabiera kształtów,

Płytka nabiera kształtów, jutro jeszcze zamieszczę screeny z projektowania, rezystory dodam jeśli mówisz.
Jeszcze powiedzcie mi parę rzeczy,
1. Zasilanie (Czy mogę zasilać z akumulatora 12V jeśli w płytkę zaprojektuje jeszcze stabilizator 7805 z dwoma kondensatorami tak jak w projekcie mini lampki rgb)
2. GND masa musi być połączona na dwóch pinach M8 i ULN razem + masa źródła dodatkowej baterii bądź ustabilizowane zasilanie płytki?
3.Siatkę żaróweczek czyli "zasilanie" ULN i PNP mogę bezpośrednio podłączyć do ustabilizowanego zasilania przez 7805 czy podłączać osobne źródło np. akumulator?
4. Przyciski "żarówka w przód" "żarówka w tył" które to są piny w M8???
5. Ten program matrixa0606 jest już gotowy do mojej wersji tak? tylko wgrywać i działać powinno?
Odpowiedzcie po kolei na punkty 1-5.

Portret użytkownika mirley

Re; Sterownik

1. Jeśli dasz stabilizator 7805 to możesz zasilać z 12V. Dla stabilizatora daj radiatorek bo napewno będzie się grzał.
2. Wszystki masy GND musisz zewrzeć do siebie, pomyśl trochę nad tym...
3. Tranzystory PNP i pin VCC ULN2803 muszą być podłączone do 5V względem masy, czy będzie to 5V z innego źródła to już nie ważne ale masa musi być wspólna.
4. Podłącz gdzie chcesz do dwóch sąsiednich pinów to się oprogramuje.
5. Nie analizowałem dokłądnie całego programu ale myślę że matrixa0606 wrzuci finalną wersję jak już skończysz te schematy i płytki

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika matrix

Re; Sterownik

mam małą sugestię. jeśli chcesz zastosować ULN2803 i do tego tranzystory PNP to po spięciu wszystkich emiterów razem, daj jeszcze jeden tranzystor jako włącznik główny, bo będzie łatwiej napisać soft. podłącz jak na poniższym obrazku, a bazę przez rezystor do pinu PC.3


Portret użytkownika mirley

Re: Diody

Nie wydaje mi się żeby ten tranzystor był do czegokolwiek potrzebny, jak dla mnie to nie zmieni nic w skomplikowaniu softu. Aha... tranzystory nie moga być podłaczone do 12V bo nie będzie możliwości ich sterowania z procesora... to tak na marginesie

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika matrix

Re: Diody

więc tak:
ten kolejny tranzystor jest po to by wyłączyć wszystko jak kolega puści przycisk, ale przemyślałem sprawę i nie będzie to potrzebne, więc możesz Mirku usunąć ten post, a co do zasilania to pomyłka tam nastąpiła. kliknąłem nie to zasilanie co trzeba w KICADZIE.

Portret użytkownika Mateusz77892

Re: Tranzystory

Quote:
tranzystory nie moga być podłaczone do 12V bo nie będzie możliwości ich sterowania z procesora

PYT1.To jakie Max "zasilanie" tranzystorów może być? ( równa max zasilaniu układu? czyli 5V?)
To jeśli nie trzeba to nie będę dodawał tego tranzystora.
Jak wrócę z wykładów to postaram się już wypuścić gotową płytkę w celu dojrzenia ewentualnie jakiegoś błędu i dla waszej informacji przy programowaniu. Najpóźniej jutro rano zamieszczę, ale napewno dziś będę dalej nad nią pracował.
PS: jak w EAGLE zrobić zworki? Bo jak robie to zostawiam tylko otworki na zworki na płytce PCB, a na schemacie rysuje "hidden" czy coś takiego. Dobrze robie czy do tego jest jakaś funkcja?

Portret użytkownika mirley

Re: Tranzystory

tranzystory PNP musisz zasilać 5V żeby sterowanie z uC było mozliwe. Jakbyś dał 12V na emiter PNP to procesor nie będzie wstanie zatkać tranzystora bo poziom logiczny jest max 5V a do zatkania potrzeba by było około 12V. Dodatkowo bezsensem było by dawać wyższe napięcie skoro i tak żarówki są na niskie napięcie

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Mateusz77892

Płytka dokończona mniej

Płytka dokończona mniej więcej, znaczy schemat troszke pomieszałem, mogłem o czymś gdzieś zapomnieć, płytke już starałem się robić dokładnie, myśle że wszystko uwzględniłem, spójrzcie czy jest w porządku. Na płytce jest dużo połączeń stąd wyszło dość dużo zworek. Zaznaczyłem na szybko zworki na czerwono.
http://zapodaj.net/5f3127c35d4e.jpg.html
http://zapodaj.net/eee03e7549ac.jpg.html
http://zapodaj.net/bad48c6f2667.jpg.html

Zobaczcie czy się zgadza?
Jeszcze bonus: http://zapodaj.net/110c157467ef.jpg.html

Portret użytkownika matrix

Re: Płytka dokończona

na schemacie widzę rezystory 10k, daj mniejsze około 1k5 - 2k2. ja sterowałem tranzystory PNP z rezystora 1k5 i było ok.
ja na wejściu i wyjściu stabilizatora dał bym jeszcze kondensatory 100n.
soft kilka postów wyżej na pewno działa. sprawdzałem u siebie na płytce testowej EVBavr04. stany portów zmieniają się i diody zapalają się tylko przy trzymaniu przycisku. po puszczeniu gasną.

jak napisał wyżej Mirek, trochę to taka partyzantka, ale działa bez kłopotu, a mega8 ma tyle pamięci że nie ma się co martwić kodem. nie wiem tylko jak to będzie działać na takiej matrycy 8x8 bo ja mam diody podpięte pod porty w szeregu i sprawdzałem tylko czy stany portów się zmieniają.

na płytce pozbył byś się niektórych zworek dając ścieżki od najwyższego tranzystora do najbliższego słupka diod.

a w ogóle to czemu zastosowałeś takie dziwne sterownie tranzystorów PNP?
po co podpinałeś rezystory do plusa? wystarczyło dać po rezystorze od pinu procesora do bazy tranzystora i nic w tym obwodzie nie podłączać do plusa. wyeliminował byś kolejne zworki i uprościł układ.

przeprojektuj jak zaznaczyłem w żółtym kwadracie. a ścieżkę do zasilania Emiterów puść pod rezystorami.


Portret użytkownika Mateusz77892

No faktycznie ścieżke można

a po co rezystory do plusa: tak jak mirley radził

Quote:
Jesli chcesz możesz dodać też rezystor 10k od bazy każdego tranzystora do +5V żeby był wyłączony zawsze jak ni nie jest podłaczone, ale nie jest to wymagane

A poza tym wszystko jest w porządku? Połączenia itp?
Quote:
ja na wejściu i wyjściu stabilizatora dał bym jeszcze kondensatory 100n.

Kondensatory na wejściu i wyjściu układu stabilizującego już są, jeszcze kolejne mam dać?
Na bazy tranzystora dawać szeregowo rezystory?? Bo coś mirley mówiłeś wcześniej, jakiej wartości?
Przeprojektowałem tak, niewiem co jeszcze mogę zrobić.
http://zapodaj.net/5c182b9743d1.jpg.html