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 24 lip 2025, o 22:35


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
    Autor Wiadomość
    PostNapisane: 27 lis 2014, o 18:15 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 sty 2014
    Posty: 336
    Lokalizacja: Grodzisk Mazowiecki
    Pomógł: 13

    Witam
    Dostałem jakiegoś zaćmienia i wyłożyłem się na prostej rzeczy.
    Na poniższym obrazku uc za pomocą pwm ma sterować mosfetem.
    Niestety przy OCR0 = 0 czy OCR0 = 255 mosfet jest stale wyzwolony mimo że sprawdzając miernikiem na wyjściu mam napięcie 5V lub 0V
    Jeżeli odpinam zworkę to mosfet przestaje przewodzić. Tylko wtedy.
    masa układu połączona z masą uc.

    Obrazek

    _________________
    "Nie programuj w święta - bug się rodzi"



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 lis 2014, o 18:29 
    Offline
    Użytkownik

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

    Pomógł: 168

    Na pierwszy rzut oka wygląda ok. Ja jednak usunął bym całkowicie rezystor R3. Teraz do bazy npn wpływa prąd (2,5V-0,6V)/10000=190uA.

    Mnożąc to razy wzmocnienie = 100 otrzymujemy 19mA. Żeby nasycić tranzystor NPN w tej konfiguracji prąd kolektora musi wynieśc jakieś 1.17mA więc wygląda ok, ale dla mnie rezystor przeładowywujący mosfeta do plus12V jest za duży. Daj tam 1k. Jeżeli to układ przetwornicy step-down zapomniałeś o diodzie zaporowo do drenu mosfeta.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 lis 2014, o 18:45 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 sty 2014
    Posty: 336
    Lokalizacja: Grodzisk Mazowiecki
    Pomógł: 13

    Tranzystor npn ma wzmocnienie 335. Napięcie Ube=0,71V
    Rezystor R4 był wcześniej 47K i według mojej wiedzy powinien taki wystarczyć.
    Zastanawia mnie dlaczego po odpięciu zworki mosfet przestaje przewodzić.
    Wygląda że układ jest poprawny a wina po stronie uc.
    Tak jakby uc go jednak sterował mimo że woltomierz wskazuje mi na wyjściu PB3 0V
    Po podłączeniu leda pod PB3 mogę go sterować zmieniając wartość OCR0.
    Diody nie ma na razie bo to jest tylko prototyp alfa.


    EDIT:
    Wgrałem prosty program z miganiem na PB3 i wygląda że układ działa.
    Coś chyba mam w programie nie tak skoro w ten sposób działa.
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Przy powyższym kodzie nie działa.

    _________________
    "Nie programuj w święta - bug się rodzi"



    Ostatnio edytowano 27 lis 2014, o 19:30 przez tomson5, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 lis 2014, o 19:29 
    Offline
    Użytkownik

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

    Pomógł: 168

    tomson5 napisał(a):
    Tranzystor npn ma wzmocnienie 335. Napięcie Ube=0,71V


    Zawsze liczy się na "najgorszy przypadek"

    tomson5 napisał(a):
    Rezystor R4 był wcześniej 47K i według mojej wiedzy powinien taki wystarczyć.


    Jak chcesz przeładowywać bramke w ślimaczym tempie to tak. Wystarczy sięgnąć do noty tranzystora, znaleźć pojemność bramki i policzyć stałą czasową RC to się przekonasz.
    tomson5 napisał(a):

    Zastanawia mnie dlaczego po odpięciu zworki mosfet przestaje przewodzić.


    Bo wtedy tranzystor NPN przestaje przewodzić, na jego kolektorze pojawia się napięcie +12V a wtedy napięcie Vs-Vg = 0 a powinno być ujemne. Będzie on przewodził gdy Vs-Vg > Vth czyli napięcia załaczenia które dla P-mosfetów jest ujemne.

    ------------------------ [ Dodano po: 1 minucie ]

    Mówiąc krótko. Jak dasz stan wysoki na NPN to mosfet bedzie przewodził a jak niski to nie będzie.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 lis 2014, o 20:06 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 sty 2014
    Posty: 336
    Lokalizacja: Grodzisk Mazowiecki
    Pomógł: 13

    Ja to wszystko rozumiem doskonale co do mnie mówisz.
    Układ jest prosty i nie pozbawiony wad. Do szybkiego kluczowania się nie nadaje.
    Na jego przykładzie chciałem tylko sprawdzić pewne założenie i przy okazji program generujący pwm.
    Dajmy mu spokój bo widzę że działa ale z programem to już nie bardzo.

    Niech mi ktoś tylko wytłumaczy.

    Z tym kodem układ działa
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    ..a z tym kodem już nie działa. Mimo że pwm jest generowane i przy OCR0 = 0 mam wypełnienie 100% a przy OCR0=255 mam 0% wypełnienia.
    Może to kwestia definicji portu????
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Sprawdzam tylko przy wypełnieniu 100% i 0%

    _________________
    "Nie programuj w święta - bug się rodzi"



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 lis 2014, o 20:53 
    Offline
    Użytkownik

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

    Pomógł: 168

    Ale na pinie generowany jest PWM?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 lis 2014, o 20:58 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 sty 2014
    Posty: 336
    Lokalizacja: Grodzisk Mazowiecki
    Pomógł: 13

    Tak. Jest. Mogę wpisać dowolną wartość do OCR0 i zmianę widać gdy podepnę diodę led do wyjścia.
    Mogę ją rozjaśniać i ściemniać.

    Edit:
    Czy w tym układzie wystarczającym obciążeniem jest led+rezystor 2k2? Z drugiej strony to nie działała by wersja programu z miganiem

    _________________
    "Nie programuj w święta - bug się rodzi"



    Ostatnio edytowano 27 lis 2014, o 21:02 przez tomson5, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 lis 2014, o 21:06 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 sty 2014
    Posty: 336
    Lokalizacja: Grodzisk Mazowiecki
    Pomógł: 13

    Ja rozpatruję tylko skrajne wartości OCR0=0 i OCR0=255 przy tych wartościach chyba powinno być 5V i 0V bez żadnych oscylacji?

    _________________
    "Nie programuj w święta - bug się rodzi"



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 lis 2014, o 21:17 
    Offline
    Użytkownik

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

    Pomógł: 168

    Właśnie, przydała by się chociaż funkcja PWM_init()



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 lis 2014, o 21:23 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 sty 2014
    Posty: 336
    Lokalizacja: Grodzisk Mazowiecki
    Pomógł: 13

    Proszę bardzo.

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



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


    w pliku pwm.c ten wpis DDRB |= (1<<PB3); dodałem w przypływie desperacji bez niego pwm działał również


    EDIT:
    Zrobiłem nowy rozbudowany układ, z którym działa tak jak chciałem.
    Obrazek

    _________________
    "Nie programuj w święta - bug się rodzi"



    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: 10 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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