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


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
    Autor Wiadomość
    PostNapisane: 28 lis 2012, o 10:54 
    Offline
    Użytkownik

    Dołączył(a): 26 lut 2012
    Posty: 82
    Pomógł: 0

    Zrobiłem sobie urządzenie do sterowania silnikami krokowymi za pomocą atmega32 + ATB-ETH ale w ramach "wymyślania sobie problemów" spostrzegłem, że silniki które mają pracować w zakresie 0-360 stopni w przypadku braku zasilania przekroczą ten zakres (układ wyłączył się gdy silnik był na pozycji np steps_state = 300, przy ponownym uruchomieniu układu znów będzie mógł się obrócić o 360 stopni a powinien tylko o pozostałe z poprzedniej "sesji" 60 stopni).
    Myślałem o zapisywaniu zmiennej steps_state do EEPROM w przypadku spadku zasilania i pobraniu jej do steps_state po ponownym włączeniu. Drugie rozwiązanie to zastosowanie krańcówki, wtedy po przywróceniu zasilania silnik będzie się cofał aż do jej dotknięcia co spowoduje zapis steps_state = 0; będzie to oznaczało, że wrócił on do pozycji wyjściowej.
    Które rozwiązanie jest według Panów lepsze, może posiadacie inne ciekawsze pomysły?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 lis 2012, o 08:10 

    Pomógł: 0

    GwynBleidD napisał(a):
    I dodatkowo ma zliczoną ilość kroków na całej długości ;) więc nie trzeba tego na sztywno w program wpisywać (czasem mi w j.polskim brakuje niektórych słówek, w angielskim jest takie ładne słówko "hardcoded"...)


    Sam połączył bym obydwie metody, krańcówki (hallotrona, albo czujnika przerwy z koderem jak w starych myszach).
    Dzięki temu masz liczenie kroków i zawsze wiesz w jakiej pozycji jest silnik, po drugie nawet jak silnik zgubi krok, czy dwa to po pół, albo całym obrocie (zależy jak rozmieścisz czujniki) masz znowu synchronizację.

    Wszystko zależy od wymaganej precyzji.

    PS. Kolego Antystatyczny miałeś na myśli express do kawy??, bo mój przy każdym włączeniu robi faktycznie pusty przebieg bez włączania młynka.



    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 lis 2012, o 18:12 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 paź 2011
    Posty: 780
    Pomógł: 20

    W otwartej pętli można zliczać impulsy i zapisać do eepromu ale to nie jest dobre bo po zaniku zasilania silnik niema momentu trzymającego więc pod wpływem mechaniki może zmienić pozycję

    Jeśli ja miałem taki przypadek to w urządzeniu zastosowałem bazowanie przycisk gdzie na początku pracy lub na końcu wracał silnik do pozycji zero wszystko ograniczone opto krańcówkami razem z obrotami silnika aby wiedzieć że silnik faktycznie wykonał pełny obrót

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 lis 2012, o 20:56 

    Pomógł: 0

    stachu napisał(a):
    W otwartej pętli można zliczać impulsy i zapisać do eepromu ale to nie jest dobre bo po zaniku zasilania silnik niema momentu trzymającego więc pod wpływem mechaniki może zmienić pozycję

    Jeśli ja miałem taki przypadek to w urządzeniu zastosowałem bazowanie przycisk gdzie na początku pracy lub na końcu wracał silnik do pozycji zero wszystko ograniczone opto krańcówkami razem z obrotami silnika aby wiedzieć że silnik faktycznie wykonał pełny obrót



    O ile silnik nie obraca się raz na dobę albo nawet rzadziej, to bardzo szybko zajedziesz tego eeproma ;). Bez czujnika synchronizującego żadne zliczanie impulsów na dłuższą metę się nie sprawdzi.
    Podobne rozwiązanie jest w drukarkach etykiet, nawet jeżeli przytrzymamy silnik (a kroki są liczone) następuje synchronizacja wysuwu przy następnej etykiecie za pomocą czujnika przerwy etykiet bo inaczej nastąpiło by przesunięcie wydruku względem etykiet.
    Dlatego wspomniałem jaka precyzja ci jest potrzebna. Nie licz na to, że sterując silnik nawet większym prądem silnik nie zgubi ci kroku, bo wystarczy, że coś przyblokuje silnik, nastąpi zanik zasilania, przesunięcie mechanizmu jak wspomniał kolega wyżej i mechanizm ci się rozjedzie.
    Krańcówki to też dobry pomysł, o ile "kasowanie" będzie następowało co cykl, albo co kilka cykli.



    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 lis 2012, o 05:57 
    Offline
    Użytkownik

    Dołączył(a): 28 wrz 2012
    Posty: 30
    Pomógł: 1

    Można by (w zależnosci od wymaganej dokladności) dolozyc też potencjometr i połączyć jego oś z silnikiem. Jeden obrót silnika = jeden obrót potencjometru. Odczytując jego wartość znał byś polożenie w jakim znajduje się silnik (coś jak serwo)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 lis 2012, o 09:14 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 paź 2011
    Posty: 780
    Pomógł: 20

    To nie jest dobry pomysł i może komplikować mechanikę, no chyba że oś jest przelotowo.

    Jeśli by już tak robić to o wiele lepszy jest enkoder kwadraturowy niż potencjometr

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 lis 2012, o 11:43 

    Pomógł: 0

    Po za tym potencjometr węglowy to bardzo zawodny element, musiał by być specjalny jak w porządnych serwach, cermentowy (ceramiczny). Enkoder to jedyne proste i niezawodne rozwiązanie.



    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 lis 2012, o 17:32 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 paź 2011
    Posty: 780
    Pomógł: 20

    W porządnych serwach są prądniczki tachometryczne no chyba, że "porządne" nieco inaczej postrzega kolega lub mówimy o innej półce cenowej :)

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 lis 2012, o 17:48 
    Offline
    Użytkownik

    Dołączył(a): 26 lut 2012
    Posty: 82
    Pomógł: 0

    Zdaję sobie sprawę, że silnik gubi kroki, jakaś super dokładność nie jest potrzebna więc chyba najlepszym rozwiązaniem będzie montaż krańcówek i "pusty przebieg" podczas uruchomienia urządzenia.
    Dziękuję za podpowiedzi:)



    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 1 gość


    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