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

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

Оффлайн ua9olb Дима

  • Ветеран
  • *****
  • Сообщений: 1281
  • Репутация: +220/-37
  • Подпись находится в стадии разработки
  • QRA: NO15KI
Re: Ардуино контроллер поворотки
« Ответ #795 : 11 Октябрь 2016, 22:43:31 »
Вопрос! А 5 вольт на поворотку кто с какого стабилизатора подаёт? Что-то дёргается у меня при включении релюшек до градуса однако...

Коммутирую внизу и на поворотку идёт 24в.
если у Вас 220 в моторы то проблем будет больше))))) придётся делать как у Глеба. Он выше писал.
ex: ua9-145-1000

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

  • Ветеран
  • *****
  • Сообщений: 2811
  • Репутация: +231/-67
  • QRA: LO13HL
Re: Ардуино контроллер поворотки
« Ответ #796 : 12 Октябрь 2016, 19:46:58 »
По времени ещё надо сравняться
  и для  большей точности ввести 10 ти значный локатор, как тут , прям на мою крышу: http://c2n.me/3DdFhBF

вот http://c2n.me/3DdGmro
 ресурс  тут   http://no.nonsense.ee/qth/map.html
« Последнее редактирование: 12 Октябрь 2016, 19:55:05 от ua4fkd Сергей »
https://disk.yandex.ru/d/tStqJhi7p4ubVg   досье на меня

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

Оффлайн R9GB

  • Старожил
  • ****
  • Сообщений: 322
  • Репутация: +73/-6
  • QRA: LO87dv
Re: Ардуино контроллер поворотки
« Ответ #797 : 19 Октябрь 2016, 11:00:42 »
Доброго дня ! Хочу применить с мега2560 дисплей DMC16230 . Какие соображения у уважаемого сообщества. Прошу не пинать. с этой техникой сталкиваюсь впервые.
IC-9100 .  16 el Yagi .   my 73! Alex.

Оффлайн ua9olb Дима

  • Ветеран
  • *****
  • Сообщений: 1281
  • Репутация: +220/-37
  • Подпись находится в стадии разработки
  • QRA: NO15KI
Re: Ардуино контроллер поворотки
« Ответ #798 : 19 Октябрь 2016, 11:11:21 »
Хочу применить с мега2560 дисплей DMC16230

Вроде контролер на дисплее HD44780 так что должен работать.
Но все же если покупать будете то лучше сразу купить 4-х строчный LCD.Все равно захочется в дальнейшем вывести часы,луну,солнце,локатор и Т.Д .
На двух строках не разбежишься. 
ex: ua9-145-1000

Оффлайн R9GB

  • Старожил
  • ****
  • Сообщений: 322
  • Репутация: +73/-6
  • QRA: LO87dv
Re: Ардуино контроллер поворотки
« Ответ #799 : 19 Октябрь 2016, 13:28:56 »
Дмитрий благодарю что откликнулись. Да контроллер этот но не хотит работать .с 1602 без проблем да дисплей мелковат вот и решил поменять . В итоге высветилась полностью нижняя строка и частично верхняя, но не знаки а квадратики . Регулировка контрастностью ни к чему не привела. Примерно такая-же ситуация и у Володи (RA9FMT). Вот такой казус, все не так просто как кажется. А по поводу 4-х строчника  так уже все прикуплено, надо с этим разобраться.
IC-9100 .  16 el Yagi .   my 73! Alex.

Оффлайн ua9olb Дима

  • Ветеран
  • *****
  • Сообщений: 1281
  • Репутация: +220/-37
  • Подпись находится в стадии разработки
  • QRA: NO15KI
Re: Ардуино контроллер поворотки
« Ответ #800 : 19 Октябрь 2016, 14:11:37 »
контроллер этот но не хотит работать

Попробуйте такой скечик

#include <LiquidCrystal.h>  // Добавляем необходимую библиотеку
LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7)    Цифирки поставить как подключено

void setup(){
  lcd.begin(16, 2);                  // Задаем размерность экрана

  lcd.setCursor(0, 0);              // Устанавливаем курсор в начало 1 строки
  lcd.print("Hello, world!");       // Выводим текст
  lcd.setCursor(0, 1);              // Устанавливаем курсор в начало 2 строки
  lcd.print("r9gb");         // Выводим текст
}

void loop(){
}


ex: ua9-145-1000

Оффлайн yl3ct

  • Пользователь
  • **
  • Сообщений: 18
  • Репутация: +1/-0
Re: Ардуино контроллер поворотки
« Ответ #801 : 19 Октябрь 2016, 17:00:46 »
У индикатора надо DB0-DB3 заземлить.

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

  • Ветеран
  • *****
  • Сообщений: 935
  • Репутация: +178/-186
  • QRA: LN14AE
Re: Ардуино контроллер поворотки
« Ответ #802 : 20 Октябрь 2016, 17:05:16 »
У индикатора надо DB0-DB3 заземлить.

Вот, а даташит молчит по этому поводу, в нём - не присоединено, если в 4 битном режиме )))
(...и как тут не быть дураком...)

Интересует другое, а контроллер IIC к этому девайсу присоединить можно??? По ногам так враз, а что на деле?

PS
А мне хочется восьмистрочный, температура в шеке, температура за бортом, данные GPS )))
Ведь и на 4-х строчном места не густо
Никогда свобода слова не бывает столь драгоценной, как при случайном
ударе молотком по пальцу...

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

  • Ветеран
  • *****
  • Сообщений: 2811
  • Репутация: +231/-67
  • QRA: LO13HL
Re: Ардуино контроллер поворотки
« Ответ #803 : 21 Октябрь 2016, 14:41:00 »
В итоге высветилась полностью нижняя строка и частично верхняя, но не знаки а квадратики .
кубики убрал  раскомментировал    features.h     #define FEATURE_4_BIT_LCD_DISPLAY //Uncomment for classic 4 bit LCD display (most common)
https://disk.yandex.ru/d/tStqJhi7p4ubVg   досье на меня

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

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

  • Ветеран
  • *****
  • Сообщений: 935
  • Репутация: +178/-186
  • QRA: LN14AE
Re: Ардуино контроллер поворотки
« Ответ #804 : 22 Октябрь 2016, 22:31:56 »
Моя распиновка mega2560 на текущий момент реализации такова:

/* azimuth pins --------------------- (use just the azimuth pins for an azimuth-only rotator) */

#define rotate_cw 6              // goes high to activate rotator R (CW) rotation - pin 1 on Yaesu connector
#define rotate_ccw 7             // goes high to activate rotator L (CCW) rotation - pin 2 on Yaesu connector
#define rotate_cw_ccw  0         // goes high for both CW and CCW rotation
#define rotate_cw_pwm 0          // optional - PWM CW output - set to 0 to disable (must be PWM capable pin)
#define rotate_ccw_pwm 0         // optional - PWM CCW output - set to 0 to disable (must be PWM capable pin)
#define rotate_cw_ccw_pwm 0      // optional - PWM on CW and CCW output - set to 0 to disable (must be PWM capable pin)
#define rotate_cw_freq 0         // optional - CW variable frequency output
#define rotate_ccw_freq 0        // optional - CCW variable frequency output
#define button_cw A2 //0              // normally open button to ground for manual CW rotation (schematic pin: A1)
#define button_ccw A3//0             // normally open button to ground for manual CCW rotation (schematic pin: A2)
#define serial_led 0             // LED blinks when command is received on serial port (set to 0 to disable)
#define rotator_analog_az A0     // reads analog azimuth voltage from rotator - pin 4 on Yaesu connector
#define azimuth_speed_voltage 0  // optional - PWM output for speed control voltage feed into rotator (on continually unlike rotate_cw_pwm and rotate_ccw_pwm)
#define overlap_led 0            // line goes high when azimuth rotator is in overlap (> 360 rotators)
#define brake_az 5 /0               // goes high to disengage azimuth brake (set to 0 to disable)
#define az_speed_pot 0           // connect to wiper of 1K to 10K potentiometer for speed control (set to 0 to disable)
#define az_preset_pot 0          // connect to wiper of 1K to 10K potentiometer for preset control (set to 0 to disable)
#define preset_start_button 0    // connect to momentary switch (ground on button press) for preset start (set to 0 to disable or for preset automatic start)
#define button_stop A4 //0            // connect to momentary switch (ground on button press) for preset stop (set to 0 to disable or for preset automatic start)
#define rotation_indication_pin 0
#define blink_led 0
#define az_stepper_motor_pulse 44 //0



/*----------- elevation pins --------------*/
#ifdef FEATURE_ELEVATION_CONTROL
  #define rotate_up 8               // goes high to activate rotator elevation up
  #define rotate_down 9             // goes high to activate rotator elevation down
  #define rotate_up_or_down 0       // goes high when elevation up or down is activated
  #define rotate_up_pwm 0           // optional - PWM UP output - set to 0 to disable (must be PWM capable pin)
  #define rotate_down_pwm 0         // optional - PWM DOWN output - set to 0 to disable (must be PWM capable pin)
  #define rotate_up_down_pwm 0      // optional - PWM on both UP and DOWN (must be PWM capable pin)
  #define rotate_up_freq 0          // optional - UP variable frequency output
  #define rotate_down_freq 0        // optional - UP variable frequency output
  #define rotator_analog_el A1      // reads analog elevation voltage from rotator
  #define button_up A5 //0               // normally open button to ground for manual up elevation
  #define button_down A6 //0             // normally open button to ground for manual down rotation
  #define brake_el 0                // goes high to disengage elevation brake (set to 0 to disable)
  #define elevation_speed_voltage  0 // optional - PWM output for speed control voltage feed into rotator (on continually unlike rotate_up_pwm and rotate_down_pwm)
  #define el_stepper_motor_pulse 0
#endif //FEATURE_ELEVATION_CONTROL

// rotary encoder pins and options
#ifdef FEATURE_AZ_PRESET_ENCODER
  #define az_rotary_preset_pin1 0                     // CW Encoder Pin
  #define az_rotary_preset_pin2 0                     // CCW Encoder Pin
#endif //FEATURE_AZ_PRESET_ENCODER

#ifdef FEATURE_EL_PRESET_ENCODER
  #define el_rotary_preset_pin1 0                     // UP Encoder Pin
  #define el_rotary_preset_pin2 0                     // DOWN Encoder Pin
#endif //FEATURE_EL_PRESET_ENCODER

#if defined(FEATURE_AZ_POSITION_ROTARY_ENCODER) || defined(FEATURE_AZ_POSITION_ROTARY_ENCODER_USE_PJRC_LIBRA RY)
  #define az_rotary_position_pin1 0                     // CW Encoder Pin
  #define az_rotary_position_pin2 0                     // CCW Encoder Pin
#endif //FEATURE_AZ_POSITION_ROTARY_ENCODER

#if defined(FEATURE_EL_POSITION_ROTARY_ENCODER) || defined(FEATURE_EL_POSITION_ROTARY_ENCODER_USE_PJRC_LIBRA RY)
  #define el_rotary_position_pin1 0                     // CW Encoder Pin
  #define el_rotary_position_pin2 0                     // CCW Encoder Pin
#endif //FEATURE_EL_POSITION_ROTARY_ENCODER

#ifdef FEATURE_AZ_POSITION_PULSE_INPUT
  #define az_position_pulse_pin 0                       // must be an interrupt capable pin!
  #define AZ_POSITION_PULSE_PIN_INTERRUPT 0             // 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

#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

#ifdef FEATURE_PARK
  #define button_park 0
#endif

//classic 4 bit LCD pins
#define lcd_4_bit_rs_pin 12
#define lcd_4_bit_enable_pin 11
#define lcd_4_bit_d4_pin 5
#define lcd_4_bit_d5_pin 4
#define lcd_4_bit_d6_pin 3
#define lcd_4_bit_d7_pin 2


#ifdef FEATURE_JOYSTICK_CONTROL
  #define pin_joystick_x A0
  #define pin_joystick_y A1
#endif //FEATURE_JOYSTICK_CONTROL

#ifdef FEATURE_AZ_POSITION_HH12_AS5045_SSI
  #define az_hh12_clock_pin 11
  #define az_hh12_cs_pin 12
  #define az_hh12_data_pin 13
#endif //FEATURE_AZ_POSITION_HH_12

#ifdef FEATURE_EL_POSITION_HH12_AS5045_SSI
  #define el_hh12_clock_pin 53 //11
  #define el_hh12_cs_pin 52 //12
  #define el_hh12_data_pin 51 //13
#endif //FEATURE_EL_POSITION_HH_12

#ifdef FEATURE_PARK
  #define park_in_progress_pin 0  // goes high when a park has been initiated and rotation is in progress
  #define parked_pin 0            // goes high when in a parked position
#endif //FEATURE_PARK

#define heading_reading_inhibit_pin 0 // input - a high will cause the controller to suspend taking azimuth (and elevation) readings; use when RF interferes with sensors

#ifdef FEATURE_LIMIT_SENSE
  #define az_limit_sense_pin 0  // input - low stops azimuthal rotation
  #define el_limit_sense_pin 0  // input - low stops elevation rotation
#endif //FEATURE_LIMIT_SENSE

#ifdef FEATURE_AZ_POSITION_INCREMENTAL_ENCODER
  #define az_incremental_encoder_pin_phase_a 18 //3 must be an interrupt capable pin
  #define az_incremental_encoder_pin_phase_b 19 //3 // must be an interrupt capable pin
  #define az_incremental_encoder_pin_phase_z 22 //4
  #define AZ_POSITION_INCREMENTAL_ENCODER_A_PIN_INTERRUPT 5 //0             // 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
  #define AZ_POSITION_INCREMENTAL_ENCODER_B_PIN_INTERRUPT 4 //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
                                                                              // read http://arduino.cc/en/Reference/AttachInterrupt for details on hardware and interrupts
#endif //FEATURE_AZ_POSITION_INCREMENTAL_ENCODER

#ifdef FEATURE_EL_POSITION_INCREMENTAL_ENCODER
  #define el_incremental_encoder_pin_phase_a 2 //18 //2 // must be an interrupt capable pin
  #define el_incremental_encoder_pin_phase_b 3 //19 //3 // must be an interrupt capable pin
  #define el_incremental_encoder_pin_phase_z 5 //22 //4
  #define EL_POSITION_INCREMENTAL_ENCODER_A_PIN_INTERRUPT 0 //5 //0             // 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
  #define EL_POSITION_INCREMENTAL_ENCODER_B_PIN_INTERRUPT 1 //4 //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
                                                                              // read http://arduino.cc/en/Reference/AttachInterrupt for details on hardware and interrupts
#endif //FEATURE_EL_POSITION_INCREMENTAL_ENCODER

#ifdef FEATURE_YOURDUINO_I2C_LCD
  #define En_pin  2
  #define Rw_pin  1
  #define Rs_pin  0
  #define D4_pin  4
  #define D5_pin  5
  #define D6_pin  6
  #define D7_pin  7
#endif //FEATURE_YOURDUINO_I2C_LCD

#ifdef FEATURE_MOON_TRACKING
  #define moon_tracking_active_pin 0    // goes high when moon tracking is active
  #define moon_tracking_activate_line 0 // ground this pin to activate moon tracking (not for use with a button)
  #define moon_tracking_button 10    //0    // use with a normally open momentary switch to ground (10 вывод вктивация на луну)
#endif //FEATURE_MOON_TRACKING

#ifdef FEATURE_SUN_TRACKING
  #define sun_tracking_active_pin 0    // goes high when sun tracking is active
  #define sun_tracking_activate_line 0 // ground this pin to activate sun tracking (not for use with a button)
  #define sun_tracking_button 11 //0      // use with a normally open momentary switch to ground (11 вывод активация на солнце)
#endif //FEATURE_SUN_TRACKING

#ifdef FEATURE_GPS
  #define gps_sync 0
#endif //FEATURE_GPS

#ifdef FEATURE_POWER_SWITCH
  #define power_switch 0             // use with FEATURE_POWER_SWITCH
#endif //FEATURE_POWER_SWITCH

#ifdef FEATURE_EL_POSITION_MEMSIC_2125
  #define pin_memsic_2125_x 0
  #define pin_memsic_2125_y 0
#endif //FEATURE_EL_POSITION_MEMSIC_2125

#ifdef FEATURE_ANALOG_OUTPUT_PINS
  #define pin_analog_az_out 0
  #define pin_analog_el_out 0
#endif //FEATURE_ANALOG_OUTPUT_PINS

#ifdef FEATURE_SUN_PUSHBUTTON_AZ_EL_CALIBRATION
  #define pin_sun_pushbutton_calibration 0             // normally HIGH, have button pull LOW
#endif //FEATURE_SUN_PUSHBUTTON_AZ_EL_CALIBRATION

#ifdef FEATURE_MOON_PUSHBUTTON_AZ_EL_CALIBRATION
  #define pin_moon_pushbutton_calibration 0            // normally HIGH, have button pull LOW
#endif //FEATURE_MOON_PUSHBUTTON_AZ_EL_CALIBRATION

//#define reset_pin 22 // if defined, goes HIGH to reset unit

#if defined(FEATURE_AZ_POSITION_A2_ABSOLUTE_ENCODER) || defined(FEATURE_EL_POSITION_A2_ABSOLUTE_ENCODER)
  #define pin_sei_bus_busy 24
  #define pin_sei_bus_send_receive 22 
#endif

#ifdef FEATURE_YWROBOT_I2C_DISPLAY
  #define ywrobot_address 0x3F
  #define ywrobot_pin_en 2
  #define ywrobot_pin_rw 1
  #define ywrobot_pin_rs 0
  #define ywrobot_pin_d4 4
  #define ywrobot_pin_d5 5
  #define ywrobot_pin_d6 6
  #define ywrobot_pin_d7 7
  #define ywrobot_pin_bl 3
  #define ywrobot_blpol POSITIVE             
#endif //FEATURE_YWROBOT_I2C_DISPLAY
Никогда свобода слова не бывает столь драгоценной, как при случайном
ударе молотком по пальцу...

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

  • Ветеран
  • *****
  • Сообщений: 2811
  • Репутация: +231/-67
  • QRA: LO13HL
Re: Ардуино контроллер поворотки
« Ответ #805 : 23 Октябрь 2016, 10:52:34 »
ещё один проект на Arduino
http://100nf.blogspot.ru/2016/06/arduino-mega2560-based-antenna-rotator.html
https://disk.yandex.ru/d/tStqJhi7p4ubVg   досье на меня

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

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

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 4997
  • Репутация: +504/-91
  • команда UF3D
  • QRA: KO85XM
Re: Ардуино контроллер поворотки
« Ответ #806 : 23 Октябрь 2016, 13:21:45 »
Красиво выглядит.
ex RX3DUR-UV3DUR

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

  • Ветеран
  • *****
  • Сообщений: 935
  • Репутация: +178/-186
  • QRA: LN14AE
Re: Ардуино контроллер поворотки
« Ответ #807 : 23 Октябрь 2016, 13:51:25 »
А вот как к этому контроллеру аналоговый указатель приладить? Поворотки есу нету, самодельная планируется.
Что для этого требуется?
Никогда свобода слова не бывает столь драгоценной, как при случайном
ударе молотком по пальцу...

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

  • Ветеран
  • *****
  • Сообщений: 2811
  • Репутация: +231/-67
  • QRA: LO13HL
Re: Ардуино контроллер поворотки
« Ответ #808 : 23 Октябрь 2016, 14:14:50 »
Поворотки есу нету, самодельная планируется.
тут не есу, а  самодельная,  с цифровым HMC5883 компасом
https://disk.yandex.ru/d/tStqJhi7p4ubVg   досье на меня

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

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

  • Ветеран
  • *****
  • Сообщений: 935
  • Репутация: +178/-186
  • QRA: LN14AE
Re: Ардуино контроллер поворотки
« Ответ #809 : 23 Октябрь 2016, 14:38:48 »
Красиво выглядит.

Но не компилируется )))
(под 1.6.5) (да и под 1.6.2 как автор рекомендует)

Для меня это будет вторая конструкция, как первую до ума доведу, уже и комплектующие заказал )))
« Последнее редактирование: 23 Октябрь 2016, 15:43:47 от UA6EM Виктор »
Никогда свобода слова не бывает столь драгоценной, как при случайном
ударе молотком по пальцу...