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.