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 3 kwi 2025, o 18:45


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
    Autor Wiadomość
    PostNapisane: 10 sty 2019, o 18:07 
    Offline
    Nowy

    Dołączył(a): 26 paź 2018
    Posty: 23
    Pomógł: 0

    Tworze sobie kontroler sterujący pracą siłownika elektrycznego, wykorzystuje tam kilka kanałów Adc do których podłączone są potencjometry, jeden jako czujnik położenia dwa jako skrajne punkty pracy siłownika czyli minimalna wysokośc i maksymalna - wszystko ma byc płynnie regulowane. Potencjometr położenia nie będzie pracował w pełnym swoim zakresie bo to nierealne, doszedłem do wniosku, że trzeba wszystko w jakis sposób ze sobą skalibrować. W eepromie zapisuje więc skrajne wartości pracy czujnika położenia i pozostałych potencjometrów.
    Tylko teraz w jaki sposób to ze sobą zgrać by potencjometry ustawiania położenia mieściły sie w zakresie pracy potencjometru położenia?

    Obrazek

    Połowicznie rozwiązałem to w taki sposób:
    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Generalnie to działa, ale tylko w jednym skrajnym położeniu potencjometru od biedy wystarczy, bo zostaną określone wysokości gdzie ma się siłownik zatrzymać, czy ktoś ma pomysł jak przeskalować całą wartość U2 i U3 by zakresy pracy potencjometrów mieściły sie w zakresie pracy U1? Samo odejmowanie róznicy od wartości nie wystarczy bo jedna strona owszem się zgra, ale druga się rozejdzie...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 sty 2019, o 21:32 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27366
    Lokalizacja: Szczecin
    Pomógł: 1043

    zubik napisał(a):
    A nie da się "analogowo" tego rozwiązać? Tj w układzie ze wzmacniaczami operacyjnymi?

    O matko jerychejska .... no po jasny gwint ? ;) to wzmacniaczami zrobić skoro można programowo ;) po prostu zgroza ;) .... nie po to bierzemy procka w łapki, żeby jeszcze doklejać na PCB 100 innych WO ;)

    W którymś poradniku wideo pokazuję funkcję map() ;)

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 sty 2019, o 21:50 
    Offline
    Nowy

    Dołączył(a): 26 paź 2018
    Posty: 23
    Pomógł: 0

    Oj ten siłownik to duuże uproszczenie bo cały projekt jest bardziej wyrafinowany ;).



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 sty 2019, o 02:59 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27366
    Lokalizacja: Szczecin
    Pomógł: 1043

    zubik napisał(a):
    jak przy okazji stracisz połowę rozdzielczości adc to też tak zrobisz?


    No tak, oczywiście że masz rację gdyby miało dojść do aż takiej straty - tzn też aż tak dużej różnicy w przeskalowaniu no i jeszcze do tego miałoby to aż takie duże znaczenie w działaniu programu. Moim zdaniem jednak w zdecydowanej większości wypadków i potrzeb - programowo spokojnie wystarczy a bywają wręcz sytuacje gdzie wręcz ta utrata rozdzielczości nie ma żadnego znaczenia bo chodzi o zgrubne reakcje w dużo mniejszej ilości punktów a wręcz o ich przy okazji mocne uśrednienie ....

    W każdym razie - rzeczywiście twoja uwaga jest cenna - bo to że często można programowo - to warto wiedzieć, że analogowo na zewnątrz można to zrobić prawie bezstratnie

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 sty 2019, o 06:24 
    Offline
    Nowy

    Dołączył(a): 26 paź 2018
    Posty: 23
    Pomógł: 0

    O w razie czego zawsze mogę wbić kołek ograniczający ruch potencjometru i też będzie dobrze :mrgreen:.

    Pan Mirek nie pamięta gdzie ów cenne porady mogą się znajdować?

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



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 sty 2019, o 11:05 
    Offline
    Nowy

    Dołączył(a): 26 paź 2018
    Posty: 23
    Pomógł: 0

    Spróbowałem z tą funkcją, ale mam pewien problem z wynikiem, górny zakres się zgadza, ale dolny się rozjeżdża.

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


    Gdzie tkwi błąd?

    Edit:
    Funkcja napisana jest prawidłowo i juz działa dobrze, błąd był w zmiennych pobieranych z eepromu, a raczej tych co do niego trafiały... W sumie to jeszcze można to uprościć, wystarczy oba rożne przedziały liczbowe przedstawić w procentach i dopiero potem je ze sobą porównywać i tak wartości miałem wyświetlać w %.



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

    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