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 6 cze 2025, o 13:08


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ] 
    Autor Wiadomość
    PostNapisane: 16 lip 2014, o 20:02 
    Offline
    Użytkownik

    Dołączył(a): 26 lip 2013
    Posty: 29
    Pomógł: 3

    Mam problem serwami TowerPro MG995. Mianowicie przy sprawdzaniu kątu obrotu wału w zależności od wypełnienia sygnału natrafiłem na dziwne zjawisko: zmieniając wartości przy górnej granicy (przeskok o parę lub paręnaście stopni) serwo nie potrafi dojść do zadanego położenia bez oscylacji np. pokręci się chwilę wokół starego położenia i przejdzie do nowego albo zacznie się poruszać w stronę celu i wykona kilka oscylacji zanim się zatrzyma. Jest to o tyle dziwne, że przy ruchu od minimalnego do maksymalnego wychylenia takie zjawisko występuje bardzo rzadko, a przy małym wypełnieniu się nie zdarza. Proszę o pomoc w rozwiązaniu problemu :D
    Korzystam z timera2 atmegi32 generując przerwanie co 0,02ms:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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


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


    Wartość pwm ustalam z konsoli.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 lip 2014, o 22:09 
    Offline
    Użytkownik
    Avatar użytkownika

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

    Witam
    Może coś pomoże gdy "podłubiesz" przy OCR2 ? +/- 3 - miałem takie serwo co nie chciało mnie słuchać gdy podawałem mu wyliczone wartości.

    Pozdr.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 lip 2014, o 07:36 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 02 sty 2014
    Posty: 116
    Pomógł: 9

    Ogólnie wygląda to tak, że serwo nie porusza się (nominalnie) od ogranicznika do ogranicznika. W środku serwa znajduje się potencjometr który informuje o położeniu wału i to on determinuje nam kąt. Często bywa tak, że w skrajnych położeniach serwo drga i to właśnie za sprawą odczytu położenia a nie kwestii programowej. Ja zawsze stosuje serwa które mają max kąt wychyłu trochę większy niż mi potrzeba. I problem naturalnie znika. Czasem jak potrzeba zwiększyć kąt wychyłu można rozebrać takie serwo i dolutować do potencjometru jeszcze rezystor szeregowo i ew. spiłować ogranicznik . Niestety spada nam wtedy efektywna rozdzielczość, ale coś za coś.

    _________________
    "Actum ne agas!"



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 lip 2014, o 09:26 
    Offline
    Użytkownik

    Dołączył(a): 26 lip 2013
    Posty: 29
    Pomógł: 3

    mokrowski napisał(a):
    Już kilkukrotnie o to pytano na forum. Za każdym razem odpowiedź była podobna.
    Dobierz wypełnienie dla swojego serva w sposób doświadczalny. W przypadku niektórych
    tanich producentów, parametry mogą się różnić pomiędzy partiami produkcyjnymi.

    kicajek napisał(a):
    Witam
    Może coś pomoże gdy "podłubiesz" przy OCR2 ? +/- 3 - miałem takie serwo co nie chciało mnie słuchać gdy podawałem mu wyliczone wartości.
    Pozdr.

    Wartość OCR2 wpisuję w konsoli i przesyłam przez rs232, więc dowolnie i dokładnie zmieniam wypełnienie, ale ciągle jest to samo. Spróbuję jeszcze zmienić okres sygnału, może to coś pomoże :)
    pietszyk napisał(a):
    Ogólnie wygląda to tak, że serwo nie porusza się (nominalnie) od ogranicznika do ogranicznika. W środku serwa znajduje się potencjometr który informuje o położeniu wału i to on determinuje nam kąt. Często bywa tak, że w skrajnych położeniach serwo drga i to właśnie za sprawą odczytu położenia a nie kwestii programowej. Ja zawsze stosuje serwa które mają max kąt wychyłu trochę większy niż mi potrzeba. I problem naturalnie znika. Czasem jak potrzeba zwiększyć kąt wychyłu można rozebrać takie serwo i dolutować do potencjometru jeszcze rezystor szeregowo i ew. spiłować ogranicznik . Niestety spada nam wtedy efektywna rozdzielczość, ale coś za coś.

    To wszystko wiem, ale gdyby to był ten problem to przy małych kątach byłoby chyba to samo prawda?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 lip 2014, o 09:46 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 02 sty 2014
    Posty: 116
    Pomógł: 9

    Co to znaczy "małe" kąty?

    _________________
    "Actum ne agas!"



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 lip 2014, o 09:49 
    Offline
    Użytkownik

    Dołączył(a): 26 lip 2013
    Posty: 29
    Pomógł: 3

    źle się wyraziłem - przy małym współczynniku wypełnienia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 lip 2014, o 09:52 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 02 sty 2014
    Posty: 116
    Pomógł: 9

    Rozpisując to na kąty to opisany przeze mnie przypadek wygląda tak. Zakładamy że mamy serwo +/-90st. Od 0st do -85st działa ok oraz od 0st do +85st działa ok a w tych skrajnych 5 stopniach na obie strony (a czasem na jedną) drży. Czyli gdy jestem blisko wypełnienia długości 1ms i długości 2ms

    _________________
    "Actum ne agas!"



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 lip 2014, o 09:59 
    Offline
    Użytkownik

    Dołączył(a): 26 lip 2013
    Posty: 29
    Pomógł: 3

    Jak tylko wrócę do domu to sprawdzę zakres przedziału, gdzie nie działa jak trzeba. Wtedy się okaże czy to rzeczywiście wina serwa czy coś w programie



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 lip 2014, o 10:16 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 02 sty 2014
    Posty: 116
    Pomógł: 9

    Napisz mi jeszcze o swoich czasach abym Cie zrozumiał bo odkryłem w pierwszym poście , że przerwanie wykonujesz co 0,02ms czegoś chyba nie kumam do końca. Zakładam, że wiesz ale też napiszę. Serwo powinno dostawać taki przebieg: w każdych 20ms podajesz impuls zależny od oczekiwanego kąta czyli od 1ms do 2ms.

    __|"""""|_____|"""|______|"""|______

    -> ___ 20ms __ <--- ----->1-2ms<---

    _________________
    "Actum ne agas!"



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

    Dołączył(a): 26 lip 2013
    Posty: 29
    Pomógł: 3

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


    Przerwanie co 0,02ms * 1000 = 20ms. Z czasami wiąże się inna ciekawe rzecz, ponieważ "najmniejszy kąt" jest dla wartości pwm = 65, a największy dla ok. 240.



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

    Dołączył(a): 02 sty 2014
    Posty: 116
    Pomógł: 9

    Ok wygląda to dobrze bynajmniej w teorii najlepiej sprawdzić to na oscyloskopie wtedy jest pewność, że sygnał jest ok.

    _________________
    "Actum ne agas!"



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 lip 2014, o 12:16 
    Offline
    Użytkownik

    Dołączył(a): 26 lip 2013
    Posty: 29
    Pomógł: 3

    no tak, ale nie mam oscyloskopu, a dostęp do niego mógłbym mieć pewnie dopiero we wrześniu



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 lip 2014, o 14:35 
    Offline
    Użytkownik
    Avatar użytkownika

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

    Witam
    Pisząc
    filip napisał(a):
    Wartość OCR2 wpisuję w konsoli i przesyłam przez rs232
    chyba się "przejęzyczyłeś" ( :?: ) - OCR2 odpowiada za długość przebiegu ( okres ) nie wypełnienie.

    Pozdr.



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

    Dołączył(a): 26 lip 2013
    Posty: 29
    Pomógł: 3

    przejęzyczenie :) zmieniam wartość pwm, a nie OCR2.
    Niestabilne dochodzenie do pozycji zaczyna się od wartości pwm = 180 do 240 -> prawie 30% całego zakresu ruchu, więc to raczej nie wina serwa



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 lip 2014, o 18:04 
    Offline
    Użytkownik
    Avatar użytkownika

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

    filip napisał(a):
    zmieniam wartość pwm, a nie OCR2

    ...więc ponawiam: zmień troszkę OCR2
    A jak z zasilaniem - wydala? ( troszkę brzydko :) ).

    Pozdr.


    Autor postu otrzymał pochwałę


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

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    P.S ... a co ten temat ma wspólnego z DIY ??

    do lochu ...

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



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

    Dołączył(a): 26 lip 2013
    Posty: 29
    Pomógł: 3

    dołożyłem kondensator przed serwo, zmniejszyłem OCR o 1 i błędy takie jak wcześniej są sporadyczne. dziękuję za pomoc :)



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

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