Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 1 gru 2024, o 04:49


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 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