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 10 lip 2025, o 19:22


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
    Autor Wiadomość
    PostNapisane: 19 wrz 2020, o 21:35 
    Offline
    Nowy

    Dołączył(a): 23 sie 2017
    Posty: 5
    Pomógł: 0

    Panowie, problem mam ;)
    Chciałem sterować wieloma silnikami BLDC poprzez sterowniki prędkości (ESC; steruje się jak serwo) jednakże mam problem z sterowaniem więcej niż dwoma silnikami przez własne ograniczenia wiedzy. czy ktokolwiek mógłby mi podpowiedzieć bądź zaspokoić moją ciekawość gotowym już kodem sterującym wieloma silnikami/serwami?

    Poniżej dołączam jakiś kod który udało mi się napisać do dość prymitywnego sterowania dwoma silnikami dla testów


    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: 19 wrz 2020, o 22:11 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 29 sty 2015
    Posty: 190
    Pomógł: 11

    Zapewne jesteś ograniczony sprzętowo z generowaniem sygnału PWM. Można podejść inaczej do tematu i manualnie określać czas trwania stanu wysokiego/niskiego. Innym rozwiązaniem jest wykorzystanie specjalnego sterownika np. PCA9685, który posiada kilkanaście kanałów PWM.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 wrz 2020, o 10:20 
    Offline
    Nowy

    Dołączył(a): 23 sie 2017
    Posty: 5
    Pomógł: 0

    Draxter32 napisał(a):
    Zapewne jesteś ograniczony sprzętowo z generowaniem sygnału PWM. Można podejść inaczej do tematu i manualnie określać czas trwania stanu wysokiego/niskiego. Innym rozwiązaniem jest wykorzystanie specjalnego sterownika np. PCA9685, który posiada kilkanaście kanałów PWM.


    Nie da się wykorzystać w AVR dwóch timerów? Timer 1 i 2 mają własne wyprowadzenia portów jednakże ja nie jestem w stanie a raczej brakuje mi wiedzy jak w tym samym czasie wykorzystywać wszystkie 4



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 wrz 2020, o 12:10 
    Offline
    Użytkownik

    Dołączył(a): 26 lut 2014
    Posty: 288
    Lokalizacja: Gdańsk
    Pomógł: 13

    W Bluebooku był opisywany sposób generowania sygnału PWM dla 6 kanałów (choć może być ich jeszcze więcej) w sposób programowy.
    Chodziło o wygenerowanie przerwania zmiana stanu pinu w sposób programowy po przekroczeniu określonej wartości licznika.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 wrz 2020, o 20:34 
    Offline
    Nowy

    Dołączył(a): 23 sie 2017
    Posty: 5
    Pomógł: 0

    Zgadza się, w bb jest bardzo ładnie opisany sposób generowania sygnału pwm jednakże nie jestem w stanie znaleźć w nim odpowiedzi na swoje pytanie. Może ujmę to inaczej. W swoim programie używam Timera1 ustawionego do sygnału 50hz w preskalerze 64 aby używać jego portów (PD4 i PD5 podpisanych pod 0CR1A i OCR1B) do kontrolowania sterowników silników BLDC; potrzebuje sterować czterema takimi silnikami do czego próbowałem użyć portów Timera2 (PD6 i PD7) przy tej samej konfiguracji co Timer1 jednakże z moją wiedzą nie jestem w stanie ich uruchomić. Szukając w internecie i w książkach pana Mirka nie znajduje odpowiedzi co skłania mnie do myśli że może to być problem sprzętowy. Używam Atmega 644PA.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 wrz 2020, o 22:33 
    Offline
    Użytkownik

    Dołączył(a): 26 lut 2014
    Posty: 288
    Lokalizacja: Gdańsk
    Pomógł: 13

    Pokaż kod z timerem 2



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 wrz 2020, o 11:37 
    Offline
    Nowy

    Dołączył(a): 23 sie 2017
    Posty: 5
    Pomógł: 0

    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: 22 wrz 2020, o 15:01 
    Offline
    Użytkownik

    Dołączył(a): 26 lut 2014
    Posty: 288
    Lokalizacja: Gdańsk
    Pomógł: 13

    Spójrz na linię 36 i 37 - zaraz na początku jest błąd
    powinno być TCCR2A a jest TCCR1A
    w 37
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    pisane z głowy ;) sprawdź w nocie

    Po prostu nie było inicjacji timera 2



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 wrz 2020, o 18:18 
    Offline
    Nowy

    Dołączył(a): 23 sie 2017
    Posty: 5
    Pomógł: 0

    Tak ale to nie problem :) zwyczajnie kiedy poproszono o kod napisałem tak jak było bez kopiowania. Niestety nie usuwa to mojego błędu, wciąż nie działa.



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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