Wiele wyjść PWM i sprzężeń zwrotnych

Rozmowy na temat układów elektronicznych sterowania obrabiarek CNC
Awatar użytkownika

Autor tematu
Zienek
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 3
Posty: 3730
Rejestracja: 13 gru 2008, 19:32
Lokalizacja: Szczecin
Kontakt:

Wiele wyjść PWM i sprzężeń zwrotnych

#1

Post napisał: Zienek » 07 kwie 2014, 12:40

Witam,

Taki dziwny projekt.
Parę tuzinów silniczków DC na 1.5V.
Każdy ma koło z enkoderem np. 16 ppr. (to jest luźne założenie).

Chcę sterować w miarę dokładnie ich ruchem. Dla paru sztuk mógłbym wykorzystać byle procek z PWM.
W związku z tym, że silniczki mają się kręcić w obie strony - dość łatwo byłoby to kluczować zestawem PWM + mosfet na napięcie dodatnie, i PWM + mosfet na napięcie ujemne.

Prościej - ustawić poziom 0 w połowie zakresu pracy napięcia zasilania i wiedzieć, że 50% wypełnienia PWM to postój, 0% pełna na przód, 100% cała wstecz.

Na mikroklocku napisać PIDa na pętelkę sprzężenia zwrotnego i wszystko działa.

Sprawa komplikuje się przy tuzinie i wielokrotności tuzina takich zestawów.

Ktoś kiedyś sterował równolegle tak dużą ilością wyjść analogowych ze sprężeniem zwrotnym?

Pozostaje FPGA, czy dam radę bez takich wymysłów?

Pozdrawiam,
Zienek



Tagi:


upanie
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 1
Posty: 1965
Rejestracja: 15 sty 2011, 09:26
Lokalizacja: Wyszków

#2

Post napisał: upanie » 07 kwie 2014, 13:28

Jakie są wymogi na synchronizację silników ze sobą?

[ Dodano: 2014-04-07, 13:29 ]
No i jak często musisz regulować?
czilałt...


mc2kwacz
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 2920
Rejestracja: 27 maja 2013, 22:18
Lokalizacja: gdzieś

#3

Post napisał: mc2kwacz » 07 kwie 2014, 13:31

Do każdego silnika procesor z PEŁNYM mostkiem. Wspólne tylko zasilanie wszystkich modułów. Moduły połączone cyfrową linią transmisyjną i sterowane z jednostki centralnej. Od szczegółów zależy czy linia cyfrowa w strukturze szeregowej czy gwiaździstej.

Awatar użytkownika

Autor tematu
Zienek
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 3
Posty: 3730
Rejestracja: 13 gru 2008, 19:32
Lokalizacja: Szczecin
Kontakt:

#4

Post napisał: Zienek » 07 kwie 2014, 14:31

Dla utrzymania wspólnej nomenklatury będę nazywał jeden zestaw sterowanie + driver + silnik + karetka = TOR.

Synchronizacja - Pi razy oko. Jak się w każdym ustawi PIDa na te same parametry, to się nie pogubi. Raz na pewien czas (1 na godzinę?) silniczki będą swoimi "karetkami" zjeżdżać do bazy, żeby się wypozycjonować.

Potem znów zaczną swoje podróże.

Włączam urządzenie. Wszystkie "karetki" jadą na bazę/transoptor. Jak wszystkie są na miejscu i jest sygnał "zsynchronizowano", to wtedy zgodnie ze swoimi poszczególnymi programami konkretne karetki podróżują na konkretne miejsca.

Mc2 Kwacz - masz jakiś konkretny uC na myśli?

Wolałbym wydać 50-100 zł za sterownik dla 10 torów zamiast 15-20zł za jeden tor.

Raz na jakiś czas serwis by polegał na zmianie programów sterujących dla każdego z torów. Robienie tego dla każdego poszczególnego toru osobno byłoby bardzo upierdliwe. Wolałbym do pamięci jednego uC wrzucać program do sterowania np. 12 torów.

Rozwiązanie 1
Atmel ma takie taniości w rodzinie XMEGA
http://allegro.pl/rtv-i-agd?sg=0&string=xmega

I nawet jest w Polsce chłopak, który stara się to rozpropagować.
http://www.leon-instruments.pl/2013/04/ ... xmega.html

Ma 12 wyjść z PWM. - Jest za 100zł. Później cenę można mocno zredukować po zrobieniu własnej płytki na wiele sztuk.

Rozwiązanie 2.
FPGA
http://www.kamami.pl/index.php?ukey=pro ... ctID=29367
200zł

Tutaj stopień skomplikowania rośnie, ale można wszystko. Ok 60 wejść I/O. czyli istnieje szansa, że jakieś 20 torów dałoby radę upchnąć.

Rozwiązanie 3.
Maksymalnie tani układ z pamięcią na jakieś 50-100 linii programu do ruchu karetki.
+ jeden procesor matka do programowania poszczególnych mikroklocków w przypadku zmiany programu. Rozwiązanie prostsze programistycznie, ale fizycznie chyba nieco droższe niż dwa powyższe. W sumie nie powinna to być taka niesamowita różnica, więc nie odrzucam takiej opcji, ale chętnie posłucham sugestii.


mc2kwacz
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 2920
Rejestracja: 27 maja 2013, 22:18
Lokalizacja: gdzieś

#5

Post napisał: mc2kwacz » 07 kwie 2014, 20:23

Zienek, gdybym miał się zastanawiać nad 10zł na jednym takim sterowniku to jedno jest pewne - wcale bym się za to nie zabierał. Ile tego masz zrobić? Tysiąc, kilka tysięcy?

A kabel to za darmo rozdają, że chcesz wszystkie sygnały ciągać flakami tam i nazad? A naprawianie, jak to się masowo zacznie sypać, łamać, też za darmo?

Nie mam żadnego konkretnego procesora na myśli. Ja używam PIC-ów. Biorę taki jaki najbardziej pasuje i jednocześnie najmniej kosztuje.
Wiele procesorów umożliwia samoprogramowanie.

Co do "rozjeżdżania", to nic się nie ma prawa rozjechać, jeśli urządzenie jest poprawnie zaprojektowane a program napisany z głową. Czyli prosty, skuteczny i bezbłędny.
System zerowania pozycji oczywiście trzeba rozwiązać w każdym przypadku.

Awatar użytkownika

Autor tematu
Zienek
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 3
Posty: 3730
Rejestracja: 13 gru 2008, 19:32
Lokalizacja: Szczecin
Kontakt:

#6

Post napisał: Zienek » 07 kwie 2014, 21:41

SIlniczki będą miały tory równoległe w odległościach rzędu 5 cm jeden od drugiego. Dlatego można by robić takie bloki np po 8 torów na raz. I całość budować poprzez składanie segmentów.


Hrumque
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 1
Posty: 291
Rejestracja: 25 mar 2013, 19:15
Lokalizacja: Opole

#7

Post napisał: Hrumque » 19 maja 2014, 12:44

Strona wykonawcza przy silniczkach na 1.5v jest banalna, ale pełny mostek ma sens (ile więcej cię kosztują 2 tranzystory?)
Wg mnie najprostsze i najtańsze wykonanie to zrobienie prostego sterownika dla każdego silnika na jakimś np. attiny - kosztuje poniżej 1$, może mieć nawet 8 nózek, możesz na nim nawet softwarowo zrobić pwm i PID i bazowanie na jakiejś foto-barierze, i ustalanie pozycji (np symboliczna liczba kroków od pozycji bazowej), i tylko z zewnątrz jakąś magistralą (choćby 1-drutową, wspólną linię dla wszystkich, tylko RX z rs232 po stronie attiny, a po stronie hosta TX z rs232 albo przejściówki USB>RS232 w standardzie TTL) zadawać pozycję lub komendę "zbazuj się".

Płytkę zrobisz/zaprojektujesz jedną, soft napiszesz jeden, wszystko będzie identyczne - więc koszt i czas niewielki, a potem tylko powielić na ile tam chcesz silniczków. Tą metodą powstaje ci np 12, 24 czy ileśtam identycznych płytek drukowanych do wykonania - i już się opłaca puścić to profesjonalnie przez płytkarnię, a nie strugać na kolanie jakiś termotransfer.
No i oszczędzasz dużo na okablowaniu oraz jego zarabianiu - jak masz 12 kartek, każda ma kilka kabelków od enkodera, od silnika, od czujnika bazowania itd to się robi nagle kilkaset drucików do zarobienia... a potem do serwisowania...

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Elektronika CNC”