Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 25 lip 2025, o 23:33


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 18 ] 
    Autor Wiadomość
    PostNapisane: 12 gru 2014, o 14:51 
    Offline
    Nowy

    Dołączył(a): 20 wrz 2014
    Posty: 22
    Pomógł: 0

    Witajcie.
    Robię prototyp zegara widmowego w formie zapalających się diod nad cyframi tarczy. Zrobiłem taki układ taki jak na załączonym zdjęciu.
    Obrazek
    JP1 do JP4 to kolejne wejścia do mikroprocesora atmega328-p. JP2 prowadzi do PC5.
    Puszczam sobie krótki kod do przetestowania diod
    Składnia: [ Pobierz ] [ Ukryj ]
    język cpp
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    a tu nic nie działa. Coś tranzystor nie chce się otworzyć, bo jak podłącze diody bezpośrednio do zasilania to pięknie się świecą.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 gru 2014, o 15:15 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27416
    Lokalizacja: Szczecin
    Pomógł: 1043

    a gdzieś ty umieścił te diody LED w emiterze tranzystora NPN ? i sterujesz bazę z procesora ? gdzie masz rezystory na bazy tranzystorów? nie ma co się dziwić że diody się nie zapalają - testowałeś ich włączanie w takim układzie w ogóle ?

    Jakbyś diody LED wraz z rezystorem ograniczającym dał w kolektorze to miałoby to prawo działać


    Autor postu otrzymał pochwałę

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 gru 2014, o 15:20 
    Offline
    Użytkownik

    Dołączył(a): 22 sty 2014
    Posty: 1806
    Zbananowany użytkownik

    Pomógł: 168

    mirekk36 napisał(a):
    a gdzieś ty umieścił te diody LED w emiterze tranzystora NPN ? i sterujesz bazę z procesora ? gdzie masz rezystory na bazy tranzystorów? nie ma co się dziwić że diody się nie zapalają - testowałeś ich włączanie w takim układzie w ogóle ?

    Jakbyś diody LED wraz z rezystorem ograniczającym dał w kolektorze to miałoby to prawo działać


    Masz racje, działało by to jakby tam była jedna dioda ale nie 3.... i jeszcze rezystor 240R... Przecież to wtórnik emietrowy najzwyklejszy. Napięcie na emiterze jest mniejsze o 0,6V od tego na bazie. Jak dajesz tam 5V to na emieterze masz 4.4V... Tymczasem napięcie przewodzenia jednej diody led wynosi około 2V...


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 gru 2014, o 15:21 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 sty 2013
    Posty: 1760
    Pomógł: 196

    Witam
    Tranzystory podłącz inaczej: kolektory/katody diod, emitery/GND, bazy przez rezystory do uC i wtedy zacznie reagować na sygnał wyjściowy z uC.
    A nawiasem mówiąc troszkę niedbały ten schemat, zamiast słownej legendy wystarczyło/należałoby lepiej narysować ;)

    Pozdr.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 gru 2014, o 16:45 
    Offline
    Nowy

    Dołączył(a): 20 wrz 2014
    Posty: 22
    Pomógł: 0

    Kurczę, nie wiedziałem o tym napięciu na emiterze...
    Dzięki za pomoc, na razie zmienie układ na taki:
    Obrazek
    bo tak najłatwiej przeprowadzić zmiany, ale w następnej wersji będę pamiętał i wrzucę diody w kolektorze.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 gru 2014, o 16:48 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27416
    Lokalizacja: Szczecin
    Pomógł: 1043

    to nadal nie jest najlepszy pomysł ... diody nie będą świecić ci równomiernie połączone równolegle ....

    Na drugi raz - zanim zrobisz PCB testuj sobie projekt - najlepiej na jakimś zestawie uruchomieniowym .... zaoszczędzisz dużo czasu i pieniędzy ;)

    a i ten układ przydałoby się zdecydowanie zmienić - nawet kosztem przecięcia i przekrosowania ścieżek i innego wlutowania tranzystorów

    poza tym wciąż nie ma rezystorów na bazy

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 gru 2014, o 16:54 
    Offline
    Nowy

    Dołączył(a): 20 wrz 2014
    Posty: 22
    Pomógł: 0

    No właśnie testowałem, ale na 1 diodzie.

    Jak mówiłem, to jest prototyp, na razie diody muszą się tylko świecić :) teraz trzeba dopisać program.

    Jak skończę to umieszczę cały projekt na forum.

    Cytuj:
    poza tym wciąż nie ma rezystorów na bazy

    A po to te rezystory?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 gru 2014, o 17:01 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 sty 2013
    Posty: 426
    Pomógł: 36

    Cytuj:
    A po to te rezystory?

    Aby ograniczyć prąd bazy :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 gru 2014, o 17:13 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27416
    Lokalizacja: Szczecin
    Pomógł: 1043

    apollo1412 napisał(a):
    A po to te rezystory?


    Złącze baza-emiter to w uproszczeniu dioda - zgodzisz się ze mną ? ... a skoro tak - to teraz pomyśl dla diod LED z jakichś magicznych względów dajesz rezystor ? a może nie z magicznych - tylko wiesz, że trzeba im ograniczyć prąd .... a to też diody ...

    więc jak myślisz teraz po co rezystor na bazę ?

    ale lepiej też poczytaj gdzieś nawet na elportalu jakieś MEGA podstawowe informacje o tranzystorach bipolarnych i dlaczego sterowane są one prądowo i w jaki sposób

    to sam sobie odpowiesz na to pytanie

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 gru 2014, o 17:47 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 sty 2013
    Posty: 1760
    Pomógł: 196

    apollo1412 napisał(a):
    ...bo tak najłatwiej przeprowadzić zmiany,

    to masz już płytkę?
    Jeśli nie, to co to za zmiany; zwierasz kolektor z emiterem w Twoim "prototypie", katodę ostatniego LED'a do kolektora tranzystora NPN, jego emiter do GND, baza przez rezystor do uC i po robocie.
    Nawet jak jest płytka, to taka robota na pająku i ma być.

    Pozdr.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 gru 2014, o 18:19 
    Offline
    Nowy

    Dołączył(a): 20 wrz 2014
    Posty: 22
    Pomógł: 0

    To tak:
    Obrazek

    czy trzeba jeszcze coś zminiać?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 gru 2014, o 18:22 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 sty 2013
    Posty: 1760
    Pomógł: 196

    Witam
    Rezystory "bazowe" wystarczą 2k2. Do czego będzie służył transoptor?

    Pozdr.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 gru 2014, o 18:30 
    Offline
    Nowy

    Dołączył(a): 20 wrz 2014
    Posty: 22
    Pomógł: 0

    Cytuj:
    Do czego będzie służył transoptor?


    Nad diodami obraca się tarcza z cyframi, transoptor podaje moment przejścia w punkcie "zero" tej tarczy.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 gru 2014, o 13:31 
    Offline
    Nowy

    Dołączył(a): 20 wrz 2014
    Posty: 22
    Pomógł: 0

    Teraz przyszedł czas na kod do programu. Jest zrobiony na atmega8 16MHz.

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język cpp
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Zamysł jest taki że, timer1 sobie odlicza impulsy. Przerwanie w int0 reaguje na opadające zbocze od czujnika odbiciowego. W tym przerwaniu zapisuje sobie stan licznika to zmiennej impuls i zeruje licznik żeby znów liczył od zera.
    Na mojej tarczy jest 12 znaków, punkt zero czyli tam gdzie zadziała przerwanie od czujnika jest pomiędzy znakami. Podzieliłem więc tarczę na 24 pola i tak wyszło mi żeby zapalić cyfrę 2 nad np. pierwszymi 3 diodami to muszę od momentu wyzerowania licznika odczekać 1/24 impulsów z poprzedniego obrotu i zapalić diody, a po 2/24 impulsów zgasić diody, itd.
    No i fakt faktem diody zapalają się i gasną ale wg. coś za rzadko, tarcza obraca się gdzieś 4000obr/min więc powinno się wydawać że diody świecą światłem ciągłym, no ale nie.

    Do zliczania tych impulsów używam CTC ale coś mi się wydaję że to nie poprawny sposób, ale czytam i czytam o trybach pracy i nie mogę do końca zrozumieć który byłby lepszy.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 gru 2014, o 16:18 
    Offline
    Nowy

    Dołączył(a): 20 wrz 2014
    Posty: 22
    Pomógł: 0

    Dalej nie mam pomysłu czemu nie działa



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 gru 2014, o 18:41 
    Offline
    Uzytkownik zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 16 lip 2012
    Posty: 2088
    Lokalizacja: Leżajsk / Kraków
    Pomógł: 411

    Wystarczy tryb normal timera, bo licznik przekręca na maksimum, ale wcześniej zostanie wyzerowany.
    Pomimo, że używasz preskalera 256 niekoniecznie procesor musi się wyrobić. Jakbyś porównywał stałe z wartością TCNT1 to owszem, a tak zajrzyj sobie do pliku lss i zobacz ile zajmuje operacja dzielenia liczby 32-bitowej.
    Najszybciej poprawisz to jak zamiast porównania == użyjesz >=, wtedy warunek będzie spełniony nawet jak timer przeskoczy o jedną pozycję.

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 gru 2014, o 20:40 
    Offline
    Nowy

    Dołączył(a): 20 wrz 2014
    Posty: 22
    Pomógł: 0

    Czy może układowi przeszkadzać to że mam atmege328 i atmege8 na jednej stykówce?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 gru 2014, o 18:58 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 sie 2013
    Posty: 3797
    Lokalizacja: Grudziądz
    Pomógł: 143

    apollo1412 napisał(a):
    Czy może układowi przeszkadzać to że mam atmege328 i atmege8 na jednej stykówce?



    Zależy jak to masz tam podłączone na tej stykówce

    _________________
    Usługi druku przestrzennego - www.drumik.pl



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 18 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO