HomeMade

Pełna wersja: Sterownik rotora antenowego - Projekt i wykonany egzemplarz
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Stron: 1 2 3
Witam
Dziękuję za zamieszczenie pełnej dokumentacji sterownika.
Mam pytanie odnośnie ustawiania impulsów/stopień bo podany przykład
jest czysto teoretyczny.
CYTAT:
1. Ustawiamy Ilość impulsów na stopień, przy czym przykładowo wartość 9000 oznacza 90,00imp/stopień. Zatwierdzamy OK.

90 imp/st.*360=32400 imp/360 stopni - takich silników krokowych nie widziałem.
Proszę, podaj obliczenia dla typowego silnika 200 imp/360 stopni czyli
1,8 st./1 imp.
Są też silniki 400imp/360 stopni, bardziej nadające się do roli enkodera w tym
zastosowaniu, bo 1 imp. silnika = 0,9 stopnia
Pozdrawiam
Andrzej
Jest mała nieścisłość w zrozumieniu zasadności zastosowania silnika jako enkodera.
Enkoder nie dostarcza nam pozycji anteny bo od tego jest wejście impulsatora na transoptor OK2. Enkoder na silniku krokowym służy tylko i wyłącznie do zadawania pozycji z palca, czyli kręcimy enkoder i antena się obraca na zadaną pozycję.
Ilość kroków silnika krokowego także nie jest powiązana wprost z zadawaną pozycją rotora. W sumie, na początku, faktycznie myślałem o tym, aby dzielić skalę np. 0-359stopni do np. 200kroków silnika, ale sobie odpuściłem, gdyż zdarzają się sytuacje, gdy krok zostanie zgubiony i skala by się nam rozjechała. Pozostało więc, że enkoder zostaje wykonany na silniku krokowym z trzech powodów. Pierwszy to mechanika, jest po prostu "nie do zajechania" a zarazem łatwy do zainstalwoania w obudowie urządzenia, drugi powód to że daje pod palcem miły, wyczualny delikatnie skok, i trzeci powód, gdyż typowe dostępne enkodery nie dają tak gęstej ilości kroków na pełny obrót jak silnik krokowy. W skrócie chodzi o to, aby obrócić rotor o 180 stopni nie kręcąc jakimś tam enkoderkiem mnóstwo razy.

W sumie, gdyby komuś zależało, to mógłbym dopisać do programu trochę kodu, aby można było wykorzystać jedno z wolnych wejść przetworników AD w procesorze, jako wejście pomiarowe z dzielnika wykonanego na precyzyjnym potencjometrze wieloobrotowym w którym fizycznie wykorzystany by był tylko jeden pełny obrót. Wystarczyło by jednorazowo podczas ustawiania urządzenia skalibrować nąpiecia z dzielnika tak aby pokrywały się z pozycją 0-359stopni rotora. Jest to możliwe do wykonania i w sumie banalnie proste. Ważne by było także, aby potencjometr prócz liniowej charakterystyki był wykonany z drobnego drutu oporowego. Im grubszy drut tym większe przeskoki ustawianej na nim rezystancji więc i napięcia a co za tym idzie stopni rotora. Ewentualnie wykorzystać większą ilość obrotów potencjometru poprzez zastosowanie przekładni.

Marek
Dostałem informację od kolegi SQ5TF że jest błąd na płytce, że się nie pokrywa ze schematem. Faktycznie... jest. Moja wina, przez nieuwagę wstawiłem nie tą co trzeba.
To już drugi raz jak pomyliłem płytkę i wychodzi na to że ta za pierwszym razem to była jednak ta właściwa Huh

Wstawiam poprawioną płyteczkę i przepraszam.
[attachment=6772]
[attachment=6773]
Nastał czas na zmiany.

Zmodyfikowany nieco schemat.
[attachment=9452]

1. Zwrócić uwagę na zmianę wartości elementów kilku elementów. najważniejsze jest aby dobrać napięcie na katodzie diody D13. Od tego zależy prawidłowa kontrola zaniku napięcia a więc zapis do pamięci EEPROM w odpowiedniej chwili.
Jeżeli zdarzy się komuś że podczas pracy procesor zawiesza się, to znaczy że napięcie spada poniżej progu komparatora w procesorze, w efekcie procesor wpada w przerwanie i tam następuje zapis do EEPROM i stop programu. W druga stronę, jeśli to napięcie będzie za wysoko to procesor nie zdąży zapisać pozycji do pamięci EEPROM przy zaniku lub wyłączeniu zasilania.

2.Dodałem konwerter RS232-TTL z zasilaniem z portu USB. Na głównej płytce nie ma miejsca na ten konwerter, trzeba go wykonać osobno i wpiąć do gniazda.

3. Ale to nie wszystko. Zamiast konwertera RS232 u siebie podłączyłem moduł bluetooth HC-06 zakupiony na znanym portalu aukcyjnym i mam transmisję bezprzewodową.
Moduł ten jest na 3.3V więc należy pamiętać by nie podłączać go wprost do wejścia ATMEGA 32, lecz za pomocą dowolnego układu konwersji poziomów napięć 5V/3,3V.
Po jednorazowym przestawieniu modułu na odpowiednią prędkość, wystarczy raz sparować moduł z komputerem i każde ponowne uruchomienie komputera a następnie w kolejności 1-rotor 2-program na PC, odnawiane jest automatycznie połączenie sterownika z komputerem i program na PC "widz go od razu".
Muszę jeszcze kupić HC-05 i na nim sprawdzić czy też wszystko pójdzie jak należy. Wydaje mi się że HC-05 będzie nawet lepszy, gdyż można będzie przeprogramowywać go na odpowiednią prędkość z poziomu sterownika, czyli bez konieczności podłączania pod RS232 komputera, tylko będę musiał dopisać odpowiednią procedurę do kodu programu.
Obecnie po zakupie tego modułu zanim podłączymy go do sterownika, należy zrobić to ręcznie. Moduł świeżo po zakupie lub z nieznanymi parametrami należy podłączyć wpierw do komputera przez RS232 i wydać mu polecenie zmiany prędkości z dowolnego terminala. Ja prócz tego zmieniłem mu nazwę tak aby urządzenia bluetooth widziały go jako "Rotor"
[attachment=9453]

Przykładowa poniższa seria poleceń zaczynających się od AT przestawia moduł nastepująco: Budrate 4800,8,n,1 oraz identyfikator w otoczeniu Bluetooth "Rotor"

AT+BAUD3
AT+NAMERotor

Ważne jest, aby te polecenia nie pisać z klawiatury gdyż moduł nie przyjmuje pojedynczego "klepania" znaków z klawiatury. Należy skopiować całe polecenie do schowka i wkleić ze schowka w oknie terminala.


Teraz zmiany dokonane w zakresie działania sterownika:

1. Dodana pełna obsługa z klawiszy. Można całkowicie zrezygnować z silnika krokowego do zadawania
pozycji oraz w konfiguracji rotora. Można też używać oba naraz.

2. Zadawanie nowej pozycji przyciskami >Left< >Right<. Po wybraniu nowej pozycji należy potwierdzić
przyciskiem >OK<. Jezeli antena jest akurat w ruchu, naciśnięcie przycisku >OK< wpierw
spowoduje zatrzymanie anteny. Po zatrzymaniu nastapi ponowne rozpędzanie i obrót na nową pozycję.
Takie działanie podyktowane zostało koniecznością odczekania aż silnik zatrzyma się całkowicie
by nie zgubić impulsów z obrotnicy a także by przekaźnik ewentualnie miał czas na przełączenie.

3. Wprowadziłem osobne parametry rozpędzania i hamowania. Acceleration Start 1-255 oraz
Acceleration Stop 1-255.

4. Dodana funkcja STOP pod przyciskiem >ESC<. Wymuszenie zatrzymanie rotora.

5. Zmiana sposobu zadawania pozycji z enkodera (silnik krokowy). Dotychczas dowolne obrócenie
encodera powodowało natychmiastową pracę silnika. Teraz należy potwierdzić nową pozycję przyciskiem
>OK< (identycznie jak za pomocą przyciwków >Left< >Right<)


6. Nieco zmieniona kolejność konfiguracji rotora.
a) Wprowadzenie prędkości portu szeregowego.
b) Wprowadzenie wartości Accelertation Start. Ten punkt Menu można pominąć wciskając >ESC<
c) Wprowadzenie wartości Accelertation Stop. Ten punkt Menu można pominąć wciskając >ESC<
d) Wprowadzenie wartości maksymalnego obciążenia silnika. Ten punkt Menu można pominąć wciskając >ESC<
e) Ustawienie anteny na pozycję zero (lub inną lewą skrajną pozycję startową) za pomocą encodera
(silnika krokowego) lub przycisków >Left< >Right<. Po ustawieniu należy koniecznie wyzerować
licznik przyciskiem >ESC< następnie potwierdzić pozycję przyciskiem >OK<
Ta pozycja Menu pozwala też stwierdzić ilości impulsów generowanych przez obrotnicę przy
pełnym obrocie.
f) Wprowadzenie ilości impulsów na stopień i zatwierdzenie przyciskiem >OK<
g) Wprowadzenie wartości azymutu dla pozycji ustawionej w punkcie d Menu. Zazwyczaj jest to 0 stopni.

I na koniec krótki film z działania sterownika z moim obrotem w fazie jeszcze doświadczalnej. Opisałem go w innym wątku.
https://www.youtube.com/watch?v=GPrqegtnmXY
Na filmie sterownik jeszcze ze starym wsadem. Nagram chyba nowy film z aktualną wersją i umieszczę link :-)

Nowy wsad do procka oraz fusebity
[attachment=9457]
[attachment=9456]

Koniecznie zalecam zastąpić poprzednią wersję z uwagi na kilka błędów.
Przy obecnym rozwiązaniu pomiaru prądu bez sensu jest stosowanie izolacji optycznej na bramce tranzystora sterującego.
Lepszym rozwiązaniem było by użycie czujnika hala np ACS712 co pozwoliło by na galwaniczna izolację.
(07-02-2015 23:05)PAWEL_L napisał(a): [ -> ]Przy obecnym rozwiązaniu pomiaru prądu bez sensu jest stosowanie izolacji optycznej na bramce tranzystora sterującego.
Lepszym rozwiązaniem było by użycie czujnika hala np ACS712 co pozwoliło by na galwaniczna izolację.

Ja to zrobiłem aby odseperować wejścia i wyjścia atmegi. Bez optoizolacji zdarzało się że procek się wykrzaczał, przepięcia powodowały fałszywe przerwania itp. Raz nawet uwaliło mi wejście procka. Silnik na końcu kilkudziesięciu nieraz metrów przewodu. Impulsator też.
Witam ie odbierz tego jako złej krytyki w cale nie to miałem na myśli. Jak sam na pewno widzisz masa zasilania silnika i masa układu są połączone razem przez rezystor R1 na którym robisz pomiar prądu.
Wszelkie zakłócenia dostają się do układu przez Pin PA0 i rezystor R1.
Po zastosowaniu czujnika hala będziesz mógł w bezpieczny sposób mierzyć prąd.
(08-02-2015 11:08)PAWEL_L napisał(a): [ -> ]Witam ie odbierz tego jako złej krytyki w cale nie to miałem na myśli. Jak sam na pewno widzisz masa zasilania silnika i masa układu są połączone razem przez rezystor R1 na którym robisz pomiar prądu.
Wszelkie zakłócenia dostają się do układu przez Pin PA0 i rezystor R1.
Po zastosowaniu czujnika hala będziesz mógł w bezpieczny sposób mierzyć prąd.

Tak, ale ten rezystor to 0,1ohm 5W. Kawał druta :-) Ten pin PA0 jest praktycznie uziemiony.
Póki co, układ działa w takiej konfiguracji poprawnie. Od tej strony nic złego nie zauważyłem.
Cześć Marku SP9MTV.
Podoba mnie się Twój projekt, byłbym też zainteresowany jego zastosowaniem.
Proszę o publikację płytki.
Czy może, ktoś z kolegów ma do odsprzedania (ew. uruchomioną) płytkę? Rolleyes
Proszę o kontakt.
73
Gracjan SP6IDF
tel. 691 774 762
Witam kolegów.
Wykonałem 2 sterowniki rotora antenowego - działają super. Problem z jakim się spotkałem podczas uruchamiania to resetowanie się nastaw (położenie anteny).Co kilkadziesiąt razy przy starcie sterownik nie startował właściwie. Przy kolejnym załączeniu po nieudanym starcie okazywało się, że pozycja anteny jest wyzerowana i trzeba było kalibrować sterownik.
Proponuję podciągnąć nóżki procesorka 33-36 rezystorami 4,7k do +5V, oraz zmianę rezystora R4 z 10k na 2k przy nodze 9 (reset) procesora oraz C3 na 4,7mikro . Dodałem także diodę 1N4148 równolegle do opornika R4 Katodą do +5 dla szybszego rozładowania kondensatorka C3 . Te poprawki sprawiły, że układ startuje poprawnie.
[attachment=10671]
73!
Pozdrawiam Darek SP8SIB
Stron: 1 2 3
Przekierowanie