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



Teraz jest 10 mar 2025, o 19:37


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 27 cze 2016, o 20:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 maja 2016
Posty: 42
Pomógł: 0

Witam. Chcę zrobić regulator pwm do silnika prądu stałego. Założenie jest takie że silnik ma wykonać określoną liczbę obrotów i zatrzymać się a następnie wrócić do miejsca z którego ruszył. Prędkość będzie sterowana pwm. Muszę też dać czujnik położenia, a do regulacji wartości pwm chcę wykorzystać enkoder obrotowy. Napewno kilka z tych elementów wymaga korzystania z przewań, nie wiem nawet jak zabrać się za pisanie kodu który zadziała tak aby licznik nie gubił obrotów silnika i zatrzymywał się zawsze w tych samych miejscach. (Dodam jeszcze wyświetlacz, wprowadzanie punktów zatrzymania na końcach ale to wiem jak zrobić, nie wiem tylko jak zrobić z tym licznikiem, bo przecież enkoder też używa przerwań podobnie jak wyświetlacz led z multipleksowaniem). proszę choć o jakąś drobną podpowiedź która mnie naprowadzi.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 cze 2016, o 20:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2016
Posty: 258
Lokalizacja: Norwegia
Pomógł: 16

Witaj. W BB masz taki fajny rozdział 7,4 Wstęp do systemów czasu rzeczywistego. Myślę że tak jak ja, znajdziesz tam wiele odpowiedzi.. a nawiasem mówiąc chyba łatwiej by Ci było zrealizować to zadanie przy pomocy silnika krokowego.. Powodzenia :)

_________________
SP2LUB - LA1BUA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 cze 2016, o 22:07 
Offline
Użytkownik
Avatar użytkownika

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

Witam
Zacznę od moralizatorstwa: gdybyś w ogólnym zarysie napisał co zamierzasz stworzyć to na pewno odzew byłby szybki i konkretny - kiedyś szukałem rozwiązania do "inteligentnej krańcówki"; od razu napisałem do czego ma to służyć, jakie są uwarunkowania, co może być a co nie (http://forum.atnel.pl/topic9045.html) i już w tym samym dniu miałem odpowiednie namiary na to co chciałem.
Mgliste określenia: mam silnik DC, chcę mierzyć obroty, ma toto wracać nie wiele mówi a co dopiero doradzać jak to ogarnąć.
Jeśli obroty małe ( no właśnie - co znaczy małe?) to na pewno krokowy; na zwykłym silniczku - przecież tam obroty są rzędu kilku tysięcy a PWM'em nie wysterujesz tak całkiem płynnie od zera do MAX.
Jeśli na prawdę chcesz coś konkretnego zrobić a nie wiesz jak się do tego zabrać to opisz to - ani nikt nie wyśmieje ani nie będzie rozliczał z ew. niepowodzenia.

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lip 2016, o 20:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 maja 2016
Posty: 42
Pomógł: 0

Przepraszam ze tak długo nie pisałem, cierpię na notoryczny brak czasu chodzi o proste sterowanie maszyny w jednej osi, a konkretnie chodzi o to aby poruszała się między dwoma określonymi punktami które będzie można zaprogramować. Do tego regulacja prędkości pwm. Silników krokowych nie zastosuje bo wiem ze przy większym obciążeniu potrafią gubić kroki a chodzi o precyzję tych 2 punktów dlatego silnik dc i odczyt położenia. Wiadomości zawarte w BB są jak najbardziej przydatne tylko ze nie jestem jeszcze zaawansowany i nie wiem co zastosować żeby wszystko działało tak jak powinno. Czy impulsy z tarczy kodowej powinny być zliczane w przerwaniach a reszta na timerach programowych....



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lip 2016, o 07:40 
Offline
Użytkownik

Dołączył(a): 04 cze 2013
Posty: 517
Pomógł: 26

Kolego jak wszyscy wyżej wspominają i ja również wspomnę. Dobrym precyzyjnym rozwiązaniem będzie dla ciebie silnik krokowy. Uważasz że nie to powiedz dlaczego maszyny CNC, drukarki są na nich wykonane?. Nie wiem jak to urządzenie ma wyglądać ale domyślam się że to ma być ruch liniowy. Więc do wykorzystania jest rozwiązanie prowadnica liniowa i silnik krokowy napędzający śrubę trapezową. No ale załóżmy że bierzesz silnik DC bo akurat taki masz. Czy jest z przekładnią czy bez? Jeśli bez przekładni jakie rozwiązanie zastosujesz do zatrzymania rozpędzonego obiektu w miejscu ,hamulec elektromagnetyczny? Może pomińmy te pytania a przejdźmy do kwestii programowej. Pytasz o enkoder oglądnij sobie poradniki Mirka o enkoderze jakie wykorzystuje tam przerwania ,na prawdę jest świetnie wytłumaczone (pobierz sobie AVPLAYER są spisy tresci do tego poradnika). Kolego i małe sprostowanie. To że nazywamy przerwania "przerwaniami" to nie oznacza że wszystkie to to samo. Jak wiesz lub nie to mamy przerwania zewnętrzne ( które są wywoływane od impulsów zewnętrznych), wewnętrzne( np od timerów). Jeśli mówimy o badaniu jakiegoś impulsu zewnętrznego to chyba dobrze było by wykorzystać przerwanie zewnętrzne, prawda? Zastanawiasz jak się zabrać za pisanie kodu. Ja to bym najpierw podzieli projekt na zadania, obsługa enkodera, wyświetlanie informacji, wprowadzanie danych, PWM, Obsługa klawiszy. Gdy już bym wiedział jakie dane mam do każdego zadania wprowadzić i jakie otrzymam , to następnie połączył w jeden program i operował miedzy zadaniami tymi danymi :)

_________________
Przewodnik|Sterownik akwariowy



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lip 2016, o 09:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 maja 2016
Posty: 42
Pomógł: 0

Zacznę od tego że bardzo dziękuję za wszystkie odpowiedzi widzę że wychodzą mi moje braki bo oczywiście nie opanowałem całej wiedzy z BB choć wykorzystuję na to każdą chwilę. Uciekła mi gdzieś informacja o flagach przerwań i tego nie wiedziałem wczoraj przypadkiem trafiłem na tą informację na forum i teraz już rozumiem że przerwania i tak się wykonają tylko jedno po drugim. A co do tego mojego projektu no to widzę że realizacja jeszcze potrwa. Co do zatrzymywania w miejscu rozpędzonego silnika to faktycznie nad tym też się zastanawiałem. Kiedyś miałem doczynienia z dużą maszyną cnc w pewnym zakładzie podobno na serwomotorach właśnie. Ale czy tam był hamulec to nie mam pojęcia. Widzę ze teraz pora na mnie jeszcze się poduczyć i zacząć działać. Oczywiście pozdrowienia dla wszystkich którzy poświęcili mi swój czas aby odpisać. :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lip 2016, o 10:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

Coś mi się wydaje, że ktoś tu jakiś slider robi ;-) Oczywiście silnik krokowy byłby ty najłatwiejszy, ale nie koniecznie najlepszy. Nie będę się rozpisywał i gdybał, bo autor nie powiedział co to za urządzenie.
Nie wiadomo jakiej rozdzielczości enkoder, jakie obroty, czy obroty zmienne w czasie. Sama stabilizacja obrotów nie jest jakaś skomplikowana, a jeszcze prostsze jest odmierzanie odległości jednak warunkeim prawidłowego celowania w miejsca zaprogramowane jest dodanie tzw. rampy czyli rozpędzania/spowalniania silnika przy punktach krańcowych i to może stanowić jedynie problem.
I teraz dalej, jeśli obroty nie są jakieś kosmiczne typu 15tys./min i enkoder nie ma rozdzielczości 1000imp/obrót tylko np. 5,10 może 20imp (co w dużej większości przypadków jest aż nadtto) to do kontroli nie ma co sobie zawracać głowy przerwaniami zewnętrznymi, bo można to w locie policzyć i obsłużyć na dowolnym pinie. Aha, enkoder nie musi być kierunkowy - wystarczy, żeby tylko impulsował.

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lip 2016, o 11:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 maja 2016
Posty: 42
Pomógł: 0

Hmmm nie slider (nawet nie wiem co to jest za urządzenie) tylko napęd do takiej amatorskiej szlifierki. No i potrzeba trochę mocy. Czytałem i bluebooka i trochę po internecie i o enkoderach obrotowych i w sumie kolego SylwekK masz sporo racji. A ogólnie to ja jeszcze jestem dość początkujący chociaż jak tylko mam wolną chwilę siadam do kompa i staram się coś nowego uczyć. Dziękuję za odpowiedź.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 paź 2016, o 21:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 maja 2016
Posty: 42
Pomógł: 0

Witam ponownie po dłuższym niestety czasie ze wzgledu na brak czasu wcześniej teraz powróciłem do tego starego projektu. Znalazłem sposób jak sobie poradzić. Impulsów na obrót będzie w granicach 20 to max. Bibliotekę do enkodera wykorzystuję tą z poradnika o callbackach- tam jest odczyt w pulingu. A problemy z gubieniem impulsów powodował wyświetlacz bo w jego bibliotece są "obrzydliwe delaye". Na czas pracy silnika nie wykonuje żadnych operacji na wyświetlaczu i wszystko działa jak powinno. W sumie to pytanie zadałem dość dawno ale piszę to bo może komuś się przyda. Aha i zmieniłem częstotliwość odczytu, zamiast co 1 ms wszystko odbywa się kilkadziesiąt razy szybciej a procek taktowany kwarcem 20 mhz:). Bardzo Wam dziękuję za poświęcony czas.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 paź 2016, o 22:54 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2595
Pomógł: 128

Fotki jakies wrzuć - chętnie pooglądamy :)



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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