Автор Тема: Ардуино контроллер поворотки  (Прочитано 364860 раз)

0 Пользователей и 7 Гостей просматривают эту тему.

Оффлайн RX3DR Александр

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 4983
  • Репутация: +500/-91
  • команда UF3D
  • QRA: KO85XM
Re: Ардуино контроллер поворотки
« Ответ #60 : 20 Июль 2014, 22:58:44 »
to R8MM Евгений; Ну мне пока это не надо. Мне нужно только азимут и элевация для полевых антенн.
А для луны у меня есть контролер VK5DJ который работает без компьютера и имеет такие же часы .
to RM5P: Спасибо ,завтра попробую включить как вы написали. Да один вопрос программа пока еще в режиме демо,если она работает в таком режиме ,то потом готов купить ключ к ней.? И как вычитал она поддерживает только СОМ1-СОМ16 ,а у меня ардуино определяется как СОМ42,видимо надо изменить порт ардуины ,может еще в этом причина.
« Последнее редактирование: 20 Июль 2014, 23:11:04 от RX3DR Александр »
ex RX3DUR-UV3DUR

Оффлайн R8MM Евгений

  • Ветеран
  • *****
  • Сообщений: 1027
  • Репутация: +125/-70
  • УКВ комитет Омского РО СРР.
  • QRA: mo75gb
Re: Ардуино контроллер поворотки
« Ответ #61 : 21 Июль 2014, 05:17:39 »
Кстати, интересный проект подсмотрел на том же code by K3NG:
http://remoteqth.com/remote-multi-rotator-control.php
http://dh6ymc.de/arduino-rotor-steuerung/
Для азимута видимо вполне хватает мелкого Arduino nano


« Последнее редактирование: 21 Июль 2014, 05:29:59 от R8MM Евгений »
73! Евгений  team RT9M

Оффлайн RX3DR Александр

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 4983
  • Репутация: +500/-91
  • команда UF3D
  • QRA: KO85XM
Re: Ардуино контроллер поворотки
« Ответ #62 : 21 Июль 2014, 10:04:24 »
Сегодня поправил в файлах строки и все заработало. Вот в архиве скетч с дополнительными файлами.
Нужно разархивировать его и папку положить в каталог ардуино--- libraries. Вот от туда и запускать скетч для программирования . Для программы PSTrotator пришлось порт ардуины заменить на СОМ2 тогда программа увидела этот порт. Выставил все как на скринах и управление с программы тоже пошло. Да у меня ардуино мега и я для LCD назначил свои входа,вам придется скорее всего поменять их на свои в файле rotator_pins.h это где описан 4-бит LCD.
Не разобрался пока с входом для импульсного датчика,который стоит в актуаторе. Пока не считает данные с него . Назначил для него pin 2 (смотри скрин) Может еще ,что не разрешил или не тот вход назначил,вроде не все входа могут работать с импульсами.
« Последнее редактирование: 21 Июль 2014, 10:07:24 от RX3DR Александр »
ex RX3DUR-UV3DUR

Оффлайн RM5P

  • Очный чемпионат
  • Ветеран
  • *****
  • Сообщений: 638
  • Репутация: +193/-4
  • QRA: KO84VH
Re: Ардуино контроллер поворотки
« Ответ #63 : 21 Июль 2014, 10:10:14 »
Не разобрался пока с входом для импульсного датчика,который стоит в актуаторе.
Вечером дома попробую посмотреть.
Best regards and 73!
Gleb RM5P

Оффлайн RX3DR Александр

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 4983
  • Репутация: +500/-91
  • команда UF3D
  • QRA: KO85XM
Re: Ардуино контроллер поворотки
« Ответ #64 : 21 Июль 2014, 10:27:20 »
В основном меняется все только в двух файлах rotator_pins.h и rotator_features.h
Может еще где упустил или в самом скетче ,что еще поменять надо?
ex RX3DUR-UV3DUR

Оффлайн UD2F

  • Модератор форума
  • Ветеран
  • *****
  • Сообщений: 4350
  • Репутация: +820/-31
  • UA2 Contest Club
  • QRA: KO04HR
Re: Ардуино контроллер поворотки
« Ответ #65 : 21 Июль 2014, 10:40:43 »
К стати, вчера в почтовой рассылке по "изделиям K3NG" была интересная инфо о сбоях в работе контролера при  нехватке памяти.После закоментирования строк
#define OPTION_SERIAL_HELP_TEXT
#define OPTION_DISPLAY_DIRECTION_STATUS
освободилось еще некоторое кол-во места и схема заработала так как надо...
Кому интересно, могу переслать полную переписку по этому вопросу.
73! Валентин   ex: RU2FM

Оффлайн RM5P

  • Очный чемпионат
  • Ветеран
  • *****
  • Сообщений: 638
  • Репутация: +193/-4
  • QRA: KO84VH
Re: Ардуино контроллер поворотки
« Ответ #66 : 21 Июль 2014, 11:47:49 »
В основном меняется все только в двух файлах rotator_pins.h и rotator_features.h

Скорее всего в скетче ничего менять не надо.

Но нельзя использовать любой PIN под вход с датчика, как было верно подмечено. Можно только тот который поддерживает прерывания.

#ifdef FEATURE_EL_POSITION_PULSE_INPUT
#define el_position_pulse_pin 1                       // must be an interrupt capable pin!
#define EL_POSITION_PULSE_PIN_INTERRUPT 1             // Uno: pin 2 = interrupt 0, pin 3 = interrupt 1 ; Mega: pin 2 = interrupt 0, pin 3 = interrupt 1, pin 21 = interrupt 2, pin 20 = interrupt 3, pin 19 = interrupt 4, pin 18 = interrupt 5
#endif                                                // read http://arduino.cc/en/Reference/AttachInterrupt for details on hardware and interrupts

В первом define указываем порт, во втором define номер прерывания. Посмотреть соответствие можно по ссылке.

И что-то мне подсказывает, что считать импульсы система будет только при нажатой кнопке движения вверх или вниз. Так как самостоятельно определить направление движения система не может.
« Последнее редактирование: 21 Июль 2014, 11:50:16 от RM5P »
Best regards and 73!
Gleb RM5P

Оффлайн RX3DR Александр

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 4983
  • Репутация: +500/-91
  • команда UF3D
  • QRA: KO85XM
Re: Ардуино контроллер поворотки
« Ответ #67 : 21 Июль 2014, 12:10:16 »
И что-то мне подсказывает, что считать импульсы система будет только при нажатой кнопке движения вверх или вниз. Так как самостоятельно определить направление движения система не может.
Вот это может быть ! Хотя до сих пор не понимаю как он будет знать местоположение по элевации с актуатора который импульсы выдает.Первоначального места ведь не будет.Если конечно он не потребует довести до максимума или минимума по элевации и потом от этого считывать.

Вот уже успел это проверить. Дал на вход подпорку +5в через резистор 1к и начал давать вручную землю,счета не было. Нажал кнопку вверх и стал опять давать землю на вход показания градусов начали увеличиваться ,когда кнопку отпустил и продолжал импульсами подавать землю то градусы так и продолжали увеличитваться. Когда нажал кнопку вниз и продолжал давать импульсно землю на вход ,то градусы пошли вниз. И так же отпустив кнопку если продолжать землю подавать импульсами то градусы продолжали уменьшаться. Теперь немного понятно,надо еще найти строки по коррекции  сколько импульсов на градус.
« Последнее редактирование: 21 Июль 2014, 12:23:07 от RX3DR Александр »
ex RX3DUR-UV3DUR

Оффлайн RM5P

  • Очный чемпионат
  • Ветеран
  • *****
  • Сообщений: 638
  • Репутация: +193/-4
  • QRA: KO84VH
Re: Ардуино контроллер поворотки
« Ответ #68 : 21 Июль 2014, 12:41:37 »
Мануал на 23 странице говорит:
Last, set the amount of azimuth or elevation heading change in degrees:
#define AZ_POSITION_PULSE_DEG_PER_PULSE 0.5
#define EL_POSITION_PULSE_DEG_PER_PULSE 0.5

Там дальше есть еще о задании границ.
Best regards and 73!
Gleb RM5P

Оффлайн ua4fkd Сергей

  • Ветеран
  • *****
  • Сообщений: 2811
  • Репутация: +231/-67
  • QRA: LO13HL
Re: Ардуино контроллер поворотки
« Ответ #69 : 21 Июль 2014, 18:55:00 »
RX3DR Александр , спасибо за архивчик .
всё сделал как Вы описали , и вгрузилось без ошибок , на Arduino UNO.
https://disk.yandex.ru/d/tStqJhi7p4ubVg   досье на меня

https://www.instagram.com/ua4fkd  ЗАБЛОКИРОВАН НЕЗАКОННЫМИ ДЕЙСТВИЯМИ  США

Оффлайн RX3DR Александр

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 4983
  • Репутация: +500/-91
  • команда UF3D
  • QRA: KO85XM
Re: Ардуино контроллер поворотки
« Ответ #70 : 21 Июль 2014, 18:58:25 »
ua4fkd Сергей:  Там правда управление сейчас выставлено для потенциометров.
RM5P:  В мануале написано это я знаю. Нашел эти строки в файле rotator_settings.h Там они раскрыты,я так понимаю сейчас одному импульсу соответствует 0.5 градуса. Надо еще понять такую вещь как после выключения ардуино поймет где сейчас антенна стоит по элевации .Если ее положение после выключения не изменилось ,то проблем нет ,там в памяти все осталось и при включении высветилось на индикаторе. Но если вдруг положение после выключения было изменено ,как тогда задать точку отсчета? Все это если я снимал антенны и потом через время ставил снова в поле,я же не могу точно выдержать те старые градусы по элевации.
« Последнее редактирование: 21 Июль 2014, 19:07:47 от RX3DR Александр »
ex RX3DUR-UV3DUR

Оффлайн RM5P

  • Очный чемпионат
  • Ветеран
  • *****
  • Сообщений: 638
  • Репутация: +193/-4
  • QRA: KO84VH
Re: Ардуино контроллер поворотки
« Ответ #71 : 21 Июль 2014, 20:47:56 »
Надо еще понять такую вещь как после выключения ардуино поймет где сейчас антенна стоит по элевации .Если ее положение после выключения не изменилось ,то проблем нет ,там в памяти все осталось и при включении высветилось на индикаторе. Но если вдруг положение после выключения было изменено ,как тогда задать точку отсчета?

На 45 странице мануала есть параграф "Manual Heading Calibration".
Через команды \А и \В. Но PST не имеет терминала (во всяком случае не нашел) а без опроса положения, контроллер забывал введенные данные, так как при открытии USB порта инициируется перезапуск программы контроллера. Во всяком случае у меня.
По этому пришлось идти кривым путем.
На 1 ногу Ардуино (RESET) подал через резистор 150 ом +5 вольт. Это заблокировало реинициализацию софта контроллера при открытии порта.
Потом командами /A100 и /B15 через терминал задал значения, закрыл терминал и запустил PST.
В итоге PST показала заданные начальные значения. После этого резистор можно убрать.

на 44 странице рассказано как калибровать через yaesu протокол. Но у меня нет возможности с имитировать действия описанные там.
Best regards and 73!
Gleb RM5P

Оффлайн RX3DR Александр

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 4983
  • Репутация: +500/-91
  • команда UF3D
  • QRA: KO85XM
Re: Ардуино контроллер поворотки
« Ответ #72 : 22 Июль 2014, 08:09:22 »
to UA4FKD: Сергей если ты используешь индикатор 16х2 ,то советую в файле rotator_settings.h поменять в строках про LCD как на скрине,тогда надписи будут по середине.
ex RX3DUR-UV3DUR

Оффлайн RX3DR Александр

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 4983
  • Репутация: +500/-91
  • команда UF3D
  • QRA: KO85XM
Re: Ардуино контроллер поворотки
« Ответ #73 : 22 Июль 2014, 08:22:55 »
Глеб , с PST все получилось. А как вот при такой калибровке ведет себя ардуино? Что оно делает- устанавливает положение антенны в эти градусы предустановленные или что?

Да подключил потенциометр на азимут,когда даю из PST повернуться скажем на 300 град ,то вкл команда,я поворачиваю резистор до совпадения градусов,после этого автоматический поворот из программы останавливается ,но если потом даю повернуться на скажем 80 градусов,то вращая резистор ставлю 80гр ,а автоматическое управление поворотом на эти градусы не отключается . Не понял в чем подвох?
« Последнее редактирование: 22 Июль 2014, 09:08:22 от RX3DR Александр »
ex RX3DUR-UV3DUR

Оффлайн ua4fkd Сергей

  • Ветеран
  • *****
  • Сообщений: 2811
  • Репутация: +231/-67
  • QRA: LO13HL
Re: Ардуино контроллер поворотки
« Ответ #74 : 22 Июль 2014, 09:02:47 »
to UA4FKD: Сергей если ты используешь индикатор 16х2 ,то советую в файле rotator_settings.h поменять в строках про LCD как на скрине,тогда надписи будут по середине.
  спасибо,да такой 
 1602 16 x 2 HD44780  ЖК-дисплей модуль LCM.

https://disk.yandex.ru/d/tStqJhi7p4ubVg   досье на меня

https://www.instagram.com/ua4fkd  ЗАБЛОКИРОВАН НЕЗАКОННЫМИ ДЕЙСТВИЯМИ  США