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 w 2025? 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 2 maja 2025, o 17:37


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 13 ] 
    Autor Wiadomość
    PostNapisane: 18 lut 2013, o 00:08 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 gru 2012
    Posty: 729
    Lokalizacja: Białystok
    Pomógł: 12

    Witam,

    Probowalem dzis sterowac silnikiem za pomoca pwm. Napisalem program. Niestety nic nie wychodzilo.
    Podlaczylem wiec mostek kabelkami na stykowce do napiecia lub masy. Nie podlaczajac pinow do sterowania silnikami zobaczylem ze na pinach sterujacych silnikami jest ciagle stan wysoki. Czy to jest normalne?
    Druga sprawa jest pwm. Podlaczylem kabelkami jeden pin do masy a drugi do napiecia z innego zrodla (innego napiecia) . Niestety silnik krecil sie tak samo mimo dania innego napiecia na pin pwm'a.
    Pierwszy raz spotykam sie z takimi cudami.

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 lut 2013, o 00:14 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 05 maja 2012
    Posty: 256
    Pomógł: 3

    Jaki silnik, skąd zasilanie, schemacik. Detale, detale :)
    L293D musi pracować wg tabelki z datasheeta, no innej opcji nie ma.
    Popodłączaj scalaka na sztywno do sygnałów, a nie do mikrokontrolera i zobacz czy poprawnie reaguje.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 lut 2013, o 00:27 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 gru 2012
    Posty: 729
    Lokalizacja: Białystok
    Pomógł: 12

    Ja nie do uc podlaczalem tylko do baterii 6V. Sory ze nie mam schematu ale pisze z twlefonu. Na zmiane napiecia na pin pwm poprzez zminiejszenie napiecia dawanego wlasnie na pin pwm'a wogole nie reaguje. Dioda swieci bez zmian (zmienilem silnik na diode). Na VCC1 i VCC2 idze 6V a na pin pwm'a 3V.

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 lut 2013, o 00:47 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 05 maja 2012
    Posty: 256
    Pomógł: 3

    No, ale na pin EN nie dajesz PWMa, więc tam nie ma co się zmieniać.

    Otwórz sobie proszę datasheeta i tam na górze strony trzeciej masz tabelkę. Co się dzieje dla poszczególnych stanów na wejściach A i EN. Zobacz, że tam wszystko zerojedynkowe jest.
    Następnie przenieś się na stronę piątą tego pdfu i na górze masz tabelkę "recommended operating conditions". Spójrz proszę na wiersze Vih i Vil.
    Vin to jest voltage input high, po naszemu napięcie stanu wysokiego dla wejścia.
    Vil to jest voltage input low, po naszemu napięcie stanu niskiego dla wejścia.
    Zobaczmy teraz co jest w Twoim przypadku:
    VCC=6V;
    Vih=2,3-6V;
    Vil=-0,3-1,5V.
    I teraz co mamy u Ciebie na pinie EN. Otóż mamy 3V co daje stan wysoki cały czas :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 lut 2013, o 01:04 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 gru 2012
    Posty: 729
    Lokalizacja: Białystok
    Pomógł: 12

    A ja na tylko na pin EN dalem 3V. Nic wiecej nie podlaczalem oprocz zasilania mostka. Nawet gdy dalem 3V na 1A to to samo bylo. Dioda swieci pod napieciem 4,5 (spadki na mostku). Chyba nie potrefie teraz racjonalnie myslec.

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 lut 2013, o 01:33 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 05 maja 2012
    Posty: 256
    Pomógł: 3

    A wcześniej 1A wisiał w powietrzu? Jak go dasz do masy to na wyjściu 1Y będziesz miał stan niski. Układ jest prosty jak drut. Jeżeli jednocześnie będzie stan wysoki na pinach EN oraz 1A to na wyjściu 1Y będzie VCC2 (dioda się pali, mam nadzieję, że dajesz ją przez rezystor?). Jak na EN masz wysoki, na 1A niski to na 1Y będzie 0V (dioda zgaśnie). Gdy będzie EN w stanie niskim to nie będzie ważne, co będzie na pinie 1A, gdyż na wyjściu 1Y będzie stan wysokiej impedancji (Twoja dioda zgaśnie).



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 lut 2013, o 21:41 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 gru 2012
    Posty: 729
    Lokalizacja: Białystok
    Pomógł: 12

    Najwidoczniej mam problem z kodem. W najbliższym czasie podeślę kod.

    -- wczoraj, o 21:41 --

    No to wrzucam program

    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.

    Jest on na Atmege16 jednak nie działa timer
    Około 3 mies temu bawiłem się mostkiem jednak o wszystkim zapomniałem :oops:

    Kod wklejamy przy pomocy [syntax=c] - Zielony J.

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lut 2013, o 16:02 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 05 maja 2012
    Posty: 256
    Pomógł: 3

    No nie działa timer i w takiej postaci działać nie będzie. Niepotrzebnie od razu rzuciłeś się na 16-bitowy timer1.
    No to lecimy:
    -powiedz mi jaki rodzaj PWMa stosujesz ustawiając bity WGM11 i WGM10;
    -w jakim rejestrze znajduje się bit CS10.
    Jak zwykle datasheet się kłania. Masz tam timer1 i na samym końcu rejestry. Przeleć wszystkie po kolei, zobacz co potrzebujesz i to wypełniaj :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lut 2013, o 20:11 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 gru 2012
    Posty: 729
    Lokalizacja: Białystok
    Pomógł: 12

    Rzuciłem się na 16 - bitowy bo nim będę sterował w projekcie.

    Według strony 109 i tabeli 45 to aby mieć ustawiony ostatni rejestr w trybie Fast Pwm trzeba ustawić COM1A1 i COM1A0 na stan wysoki.
    Według strony 111 i tabeli 47 to aby ustawić Fast Pwm trzeba w stan wysoki wprowadzić WGM11 i WGM10
    Według strony 112 i tabeli 49 to aby ustawić prescaler na 1 trzeba w stan wysoki wprowadzić CS10.

    W taki razie kod powinien wyglądać tak :

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

    Czy teraz powinno działać? Niestety nie mam układu obok siebie.

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lut 2013, o 20:17 
    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

    CS10 nie jest w rejestrze TCCR1A

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lut 2013, o 20:33 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 gru 2012
    Posty: 729
    Lokalizacja: Białystok
    Pomógł: 12

    Ups, kompletnie nie zobaczyłem że jest w rejestrze B. Dzięki za uwagę

    Jednak rejestr A idzie od strony 109 do 111 i nigdzie nie mam wzmianki o preskalerze.

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lut 2013, o 20:56 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 05 maja 2012
    Posty: 256
    Pomógł: 3

    Dlatego też mówiłem, byś na spokojnie przeleciał rejestry. I błędów, które powiedziałem w moim wcześniejszym poscie nadal nie poprawiłeś. Obu ;)
    Dając 1 na WGM11 i WGM10 otrzymasz "PWM, Phase Correct, 10-bit".

    Widzę, że rozumiesz, iż timer1 ma dwa kanały. Dobrze, jednak wydaje mi się, że nie dotykasz rejestru TCCR1B sądząc, iż tyczy się on kanału B. Dobrze myślę? Otóż tak nie jest i te rejestry konfiguracyjne (TCCR1A i TCCR1B) tyczą się obu kanałów :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lut 2013, o 23:32 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 gru 2012
    Posty: 729
    Lokalizacja: Białystok
    Pomógł: 12

    Juz chyba rozumiem o co chodzi. Jutro wrzuce kod.

    -- wczoraj, o 23:32 --

    A więc tak:

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


    Czy o to chodziło?

    _________________
    sig off ;(



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

    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