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 13 lip 2025, o 15:03


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
    Autor Wiadomość
    PostNapisane: 11 kwi 2014, o 17:40 
    Offline
    Użytkownik

    Dołączył(a): 19 mar 2014
    Posty: 64
    Pomógł: 0

    Witam, mam problem z konfiguracją timera 1 do trybu CTC. Mam kod, którego zadaniem jest po prostu sterowanie silnikiem krokowym, tak by się po prostu kręcił.
    Kod bazowany na programie z niebieskiej książki, tylko że tu mam Atmega8 i muszę zastosować niestety do tego celu Timer1.

    Megę podpiąłem oczywiście przez ULN2003 z silnikiem i efekt mizerny bo pewnie skopałem ustawienia timera. Oczywiście korzystałem z noty katalogowej (widać niezbyt dokładnie ;) ).

    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.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 kwi 2014, o 17:51 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 mar 2013
    Posty: 333
    Pomógł: 10

    Efekt mizerny tzn co sie dzieje? Timer wydaje się dobrze ustawiony.

    Próbowałeś użyć Timera2 ?

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


    No i procedurę przerwania zmieniasz na:

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



    Ostatnio edytowano 11 kwi 2014, o 17:58 przez Atmegowiec, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 kwi 2014, o 17:57 
    Offline
    Użytkownik

    Dołączył(a): 19 mar 2014
    Posty: 64
    Pomógł: 0

    Tzn silnik ani drgnie. Próbowałem dopisać przy inicjalizacji Timera taką część :

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


    I podpiąłem diodę do PB1. Niestety nie mignęła nawet. Coś musiałem pokopać z tym Timerem :lol:



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 kwi 2014, o 18:01 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 mar 2013
    Posty: 333
    Pomógł: 10

    dioda nie drgnie, bo jeśli podłączasz anodą to brakuje jeszcze wstawienia na PB1 "1" .

    Wstaw włączanie diody do przerwania i zobacz czy świeci.
    Mirek fajnie to w ostatnim poradniku pokazywał.

    I właśnie wogole jak masz tą deklaracje PORT_INI to masz same ustawianie kierunku na wyjscia. Sterujesz "0" ze nie ustawiasz portu na 1 ?

    Zerknij do książki bo widzę ze jednak czegoś Ci w kodzie brakuje w porównaniu do tego co w BB.



    Ostatnio edytowano 11 kwi 2014, o 18:08 przez Atmegowiec, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 kwi 2014, o 18:07 
    Offline
    Użytkownik

    Dołączył(a): 19 mar 2014
    Posty: 64
    Pomógł: 0

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


    Świeci się cały czas (ale to chyba dobrze bo taki PWM się jakby robi ?). Więc nie wiem gdzie leży problem ?



    Ostatnio edytowano 11 kwi 2014, o 18:08 przez lubieplacki, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 kwi 2014, o 18:10 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 mar 2013
    Posty: 333
    Pomógł: 10

    Dioda miga, tylko tak szybko ze jest złudzenie świecenia cały czas. To znaczy ze timer jest ustawiony.
    Jak już wywołujesz zadeklarowaną wcześniej funkcje to po co dodajesz słówko "void" motor()? wywal to

    O Mistral już mnie wyprzedził.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 kwi 2014, o 18:17 
    Offline
    Użytkownik

    Dołączył(a): 19 mar 2014
    Posty: 64
    Pomógł: 0

    Działa jak normalnie napisałem :
    DDRD |= 0xff;
    Nie wiem czemu to:
    # define PORT_INI DDRD |= T1 | T2 | T3 | T4

    mi nie działało ?

    Dzięki ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 kwi 2014, o 18:22 
    Offline
    Użytkownik

    Dołączył(a): 19 mar 2014
    Posty: 64
    Pomógł: 0

    A to nie działa tak, że jak preprocesor napotka na moje PORT_INI to wstwia w jego miejsce DDRD |= (T1 | T2 | T3 | T4) ??



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

    Dołączył(a): 19 mar 2014
    Posty: 64
    Pomógł: 0

    Dzięki za rady i pomoc. Działa też z tym moim cudem PORT_INI. Po prostu błąd tkwił w tym void motor(void) chyba, bo tylko to zmieniłem a i jeszcze volatile bez typu swoje dołożyło. Tylko dziwię się, czemu kompilator na to volatile nie zareagował ?
    Jeszcze raz dzięki. Temat uważam za zamknięty.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 kwi 2014, o 09:25 
    Offline
    Użytkownik

    Dołączył(a): 19 mar 2014
    Posty: 64
    Pomógł: 0

    Mistral napisał(a):
    Masz ustawione w kompilatorze, że wywala każdy byle błąd? (opcja -Wall)

    Nie mogłem znaleźć tej opcji (używam jeszcze Programmers Notepad), ale w takim razie pewnie nie mam jej ustawionej (jeśli takowa w tym programie się znajduje). ;)



    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:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO