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

R4CGG Дмитрий, rx3dcz и 2 Гостей просматривают эту тему.

Оффлайн UR6HV

  • Новичок
  • *
  • Сообщений: 6
  • Репутация: +1/-1
  • Подпись находится в стадии разработки
  • QRA: KN79GO
Re: Ардуино контроллер поворотки
« Ответ #1065 : 20 Октябрь 2017, 13:18:29 »
Большое спасибо, Андрей за помощь, все получилось выравнял нелинейность калибровочной таблицей.
У меня для Yaesu G-800SA получилось так:
Цитировать
#define AZIMUTH_CALIBRATION_FROM_ARRAY {0,90,180,240,270,360,450}            /* these are in "raw" degrees, i.e. when going east past 360 degrees, add 360 degrees*/
#define AZIMUTH_CALIBRATION_TO_ARRAY {0,71,149,206,237,333,450}

Оффлайн UR6HV

  • Новичок
  • *
  • Сообщений: 6
  • Репутация: +1/-1
  • Подпись находится в стадии разработки
  • QRA: KN79GO
Re: Ардуино контроллер поворотки
« Ответ #1066 : 24 Октябрь 2017, 22:51:10 »
Рано обрадовался, не проверил весь диапазон, оказалось не везде удалось выровнять показания, на сколько я понял в таблице возможно использовать только несколько определенных точек для корректировки (вроде 0-90-180-270-360-450), т.к. добавляя например точку между 180 и 270 она почему-то ничего не меняет.
Попробывал другой метод калибровки командой \a но и тут засада, сохраняется только последний введенный параметр азимута, а предыдущий стирается, подсказали что нужно каждый параметр отдельно сохранять в память командой \q но у меня в ответ на это "Error"
Подскажите как правильно сделать подробную калибровку контроллера ?

Оффлайн UA3RAW Андрей

  • Ветеран
  • *****
  • Сообщений: 1534
  • Репутация: +279/-36
  • <-- CU -->
  • QRA: LO02rr
Re: Ардуино контроллер поворотки
« Ответ #1067 : 25 Октябрь 2017, 09:17:41 »
У меня тоже  с первого раза не получилось это настроить. Первоначально я ввел очень много точек и появились глюки на дисплее, пропадали некоторые знаки. Ощущение, что в скетче есть косяк, связанный с распределением памяти.  Но потом уменьшил размер массива и всё стало нормально.
В wiki написано, что значения, находящиеся между точками массива FROM_ARRAY  экстраполируются и нет необходимости вводить много точек, только конечные точки и разумное количество точек в промежутке в зависимости от нелинейности и желаемой точности. И еще, обязательно количество точек в FROM_ARRAY и TO_ARRAY должно быть одинаково.
Так что пробуйте разные варианты, стараясь минимизировать количество точек.
« Последнее редактирование: 25 Октябрь 2017, 09:23:47 от UA3RAW Андрей »
73!
Андрей, UA3RAW.

Оффлайн us5ivz

  • Постоялец
  • ***
  • Сообщений: 107
  • Репутация: +9/-2
Re: Ардуино контроллер поворотки
« Ответ #1068 : 25 Октябрь 2017, 09:55:48 »
ur6hg-пробуйте последние скетчи от K3NG. У Вас скетч 2015 года и в нем присутсутвуют непофиксенные на тот момент "баги" , связанные с коррекцией азимута и угла места.
И команду \Q он,еще не понимает!
« Последнее редактирование: 25 Октябрь 2017, 10:08:39 от us5ivz »

Оффлайн UR6HV

  • Новичок
  • *
  • Сообщений: 6
  • Репутация: +1/-1
  • Подпись находится в стадии разработки
  • QRA: KN79GO
Re: Ардуино контроллер поворотки
« Ответ #1069 : 25 Октябрь 2017, 21:31:35 »
Заметил что на новом скетче у меня антенна стала перекручиваться на 5 градусов больше чем задано, можно это откорректировать где-то ?

Оффлайн UR6HV

  • Новичок
  • *
  • Сообщений: 6
  • Репутация: +1/-1
  • Подпись находится в стадии разработки
  • QRA: KN79GO
Re: Ардуино контроллер поворотки
« Ответ #1070 : 26 Октябрь 2017, 08:24:27 »
Заметил что на новом скетче у меня антенна стала перекручиваться на 5 градусов больше чем задано, можно это откорректировать где-то ?
с подсказки us5ivz поправил в rotator_settings.h в строке: #define AZIMUTH_TOLERANCE 3.0 на 6.0  и все стало нормально.

Оффлайн RW4WP Виктор

  • Ветеран
  • *****
  • Сообщений: 954
  • Репутация: +231/-1
  • QRA: LO66CX
Re: Ардуино контроллер поворотки
« Ответ #1071 : 15 Ноябрь 2017, 18:41:34 »
Есть в наличии:
1.Плата Arduino MEGA 2560
2.Дисплей  LCD 2004A
3.I2C
4.Часы DS3231M,DS1302,DS1307
5.Блок реле 4шт 5в.и 12вольт
6.Резисторы 10 кОм многооборотные СП-44-1 на азимут и элевацию
7.Кнопки  на азимут и элевацию.
Ну и соответственно поворотка и актюатор.
Кто поможет,подскажет-как это все обьединить.
В програмировании Ардуино -почти ноль.Но библиотеки устанавливать почти научился,
потому что сумел на экране добиться надписей во всех 4-х строках .Мой скайп-rw4wpvik или личка.Заранее спасибо.
Все на УКВ

Оффлайн ua1ccu

  • Ветеран
  • *****
  • Сообщений: 1312
  • Репутация: +146/-20
Re: Ардуино контроллер поворотки
« Ответ #1072 : 15 Ноябрь 2017, 19:34:50 »
Здравствуйте.
Если у вас соединен ардуино и дисплей и цифры есть на дисплее ....  вам надо скачать
программу k3ng rotator kontroller.
Скомпилировать и загрузить ...
Когда у вас появится надпись K3NG .... все половина дела в шляпе...
Константин
Правильно заданный вопрос половина ответа!

Оффлайн ua1ccu

  • Ветеран
  • *****
  • Сообщений: 1312
  • Репутация: +146/-20
Re: Ардуино контроллер поворотки
« Ответ #1073 : 15 Ноябрь 2017, 21:34:17 »
У меня как то так...
Как перевернуть не знаю...
Правильно заданный вопрос половина ответа!

Оффлайн us5ivz

  • Постоялец
  • ***
  • Сообщений: 107
  • Репутация: +9/-2
Re: Ардуино контроллер поворотки
« Ответ #1074 : 15 Ноябрь 2017, 23:35:32 »
Кто поможет,подскажет-как это все обьединить
Виктор,для начала Вам необходимо определить адрес адаптера дисплея.Удобна для этого прога scan_I2C.Подключаем устройсво I2C к Ардуине компилируем ,загружаем сканер. В IDE в Инструментах включаем "Монитор порта" и считываем адрес.
 Затем скачайте мой скетч с приложенной библиотекой. В rotator_k3ngdisplay. cpp в  строке   57 LiquidCrystal_I2C lcd(0x3f, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); необходимо прописать свой адрес адаптера дисплея.
Разархивируйте файлы скетча в папку: Мои документы-Arduino ,а файлы библиотек в папку:Мои документы-Arduino-libraries ((если там уже существуют какие либо файлы ,то предварительно удалите их от туда).
Зайдите в папку: Programs Failes -Arduino-libraries (это где устанолвлена сама IDE) и проверьте ,чтобы там  не было файла с именем LiquidCrystal_I2C ,а если есть-удалите.
Компилируйте и грузите в Мегу, предварительно отредактированный Вами скет,-должно все работать.
Это -основное .Кнопки,блоки реле и резисторы  подключить -это потом.
« Последнее редактирование: 15 Ноябрь 2017, 23:42:56 от us5ivz »

Оффлайн RW4WP Виктор

  • Ветеран
  • *****
  • Сообщений: 954
  • Репутация: +231/-1
  • QRA: LO66CX
Re: Ардуино контроллер поворотки
« Ответ #1075 : 03 Декабрь 2017, 21:56:11 »
Вроде-бы все получается.Arduino mega 2560 часы DS1307 LCD 20x4 модуль 4 реле
.На экране 1 строка азимут,2 строка элевация,3 строка MOON с аз и эл,; 4 строка время и локатор.Подцепил пока потенциометры азимута и элевации,редуктор,актюатор.Кнопки вверх,вниз,право,лево.все работает.автосопровождение тоже работает.Хотелось бы разобраться с вводом текстовых знакков на экран.Надо SUN ввести на экран и заставку поменять при включении.Будем разбираться.Вот такие успехи у меня на этом фронте.
Все на УКВ

Оффлайн us5ivz

  • Постоялец
  • ***
  • Сообщений: 107
  • Репутация: +9/-2
Re: Ардуино контроллер поворотки
« Ответ #1076 : 07 Декабрь 2017, 00:00:50 »
Если,необходимо добавить строку SUN.сделав в одной строке AZ и EL т.е сообщение на дисплее в виде
             AZ XXXX  EL XXXX
             MOON XXXX XXXX
             SUN XXXX XXXX
             HH:MM:SS  Locator
то необходимо проделать следующее :
 1. в rotator_features.h  - раскоментировать строку #define FEATURE_SUN_TRACKING
    закоментировать строки // #define OPTION_DISPLAY_HEADING_AZ_ONLY
  // #define OPTION_DISPLAY_HEADING_EL_ONLY
     раскоментировать  #define OPTION_DISPLAY_SUN_TRACKING_CONTINUOUSLY
2. в rotator_settings.h внести изменения  в строку #define LCD_HEADING_ROW 1 //номер строки,на которую будет выводиться сообщение вида AZ xxx EL xxx ,одной строкой
 изменить строку #define LCD_MOON_TRACKING_ROW 2  //номер строки ,на которой отображаетсятекущее положение луны
  ну и #define LCD_SUN_TRACKING_ROW 3 // номер строки ,где отображается  положение солнца

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

  • Ветеран
  • *****
  • Сообщений: 2811
  • Репутация: +231/-67
  • QRA: LO13HL
Re: Ардуино контроллер поворотки
« Ответ #1077 : 18 Декабрь 2017, 15:40:12 »
для луны приобрёл, MEGA 2560  4 х строчный дисплей ,
4 реле с развязкой, кнопки, часы , HMC5883L,  ADXL345,WI-FI
 многооборотный резистор, провода ,
даже сделал аналоговые датчики положения на энкодере  от 0---5в
короче всё что надо.
Буду признателен за  скетч, с настройками ,, схему под него,
на   ua4fkd@yandex.ru

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

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

Оффлайн us5ivz

  • Постоялец
  • ***
  • Сообщений: 107
  • Репутация: +9/-2
Re: Ардуино контроллер поворотки
« Ответ #1078 : 19 Декабрь 2017, 12:12:12 »
короче всё что надо.
Для "полного щастя" нужен еще адаптер дисплея под шину I2C. Ну и клавиатура, матричная  3Х4 ,не совсем в тему.Из нее сможете задействовать максимум 4 кнопки,это без глубокого копания в скетче.
 Ну ,а сам скетч для Вашей Меги, блока из четырех реле,часов ,энкодера предустановки по АЗ.,  пяти кнопок и  многооборотного резистора -двумя постами выше ( #1074).
Прим.- пины под кнопки и реле  элевации, в упомянутом скетче, не назначены.
 распиновка там следующая:
А0-средн.вывод многооборотн.резистора Азимут
А1- тоже для угла места(элевация)
А2-кнопка CW (второй вывод кн. -земля)
А3-кн. CCW(второй вывод кн. -земля)
(D)6- вход блока реле ардуино CW
(D)7-вход  реле CCW
(D)8-энкодер предустановки по Азимут
(D)9-энкодер предустановки по Азимут
(d)10-кнопка Парковка (второй вывод кн. -земля)
Ну и адаптер дисплея ,а также часы подключаются к одноименным выводам ( SDA ,SQL) на плате Мега2560 .Так ,что ни каких "особых" схем подключения и не надо.
« Последнее редактирование: 19 Декабрь 2017, 13:09:20 от us5ivz »

Оффлайн us5ivz

  • Постоялец
  • ***
  • Сообщений: 107
  • Репутация: +9/-2
Re: Ардуино контроллер поворотки
« Ответ #1079 : 19 Декабрь 2017, 13:23:45 »
Чтобы определить адрес адаптера дисплея для шины I2C,достаточно определить тип мелкосхемы , установленной на нем.
PCF 8574A- adr (0X27)
PCF 8574AT -(0X3F)
« Последнее редактирование: 19 Декабрь 2017, 13:26:34 от us5ivz »