Arduino - общие обсуждения

Вопросы и ответы связанные с цифровым управлением, аналоговой автоматикой и их элементами
Сообщение
Автор
shalex
Сообщения: 286
Зарегистрирован: Сб июн 06, 2015 3:26 pm
Благодарил (а): 26 раз
Поблагодарили: 10 раз

Re: Arduino - общие обсуждения

#31 Непрочитанное сообщение shalex »

Федюнь писал(а):Прошил пример sweep для Servo. Серва крутится согласно программе.)))
Василий.Вместо 118 записать 0? и включить?
Серва крутится - это хороший знак ))
Если есть подозрения на eeprom, то можно просто закоментировать эти куски с eeprom.write, а eeprom.read заменить на константы

Код: Выделить всё

  a_1=EEPROM.read(1)*118;
  a_2=EEPROM.read(2)*118;

  // также записываем  значение из ячейки №3 ОЗУ, в переменную speed_PWM отвечающую за скорость поворота servo
  speed_PWM=EEPROM.read(3);
p.s. если поможет, то сначала вернуть write, если снова будет работать, то проблема была в мусоре eeprom, как верно заметил Василий. если после возвращения read работать перестанет, то что то с памятью eeprom, видимо (((
Последний раз редактировалось shalex Сб янв 30, 2016 9:16 pm, всего редактировалось 3 раза.

Аватара пользователя
Василий
Модератор
Сообщения: 9436
Зарегистрирован: Чт мар 06, 2008 9:03 am
Имя: Василий Васильчиков
Откуда: Северо-западное Болото
Благодарил (а): 342 раза
Поблагодарили: 455 раз
Контактная информация:

Re: Arduino - общие обсуждения

#32 Непрочитанное сообщение Василий »

Федюнь писал(а):Прошил пример sweep для Servo. Серва крутится согласно программе.)))
Василий.Вместо 118 записать 0? и включить?
Не особенно вглядывался в пример. Имел ввиду что нужно сначала одним скриптом записать в ячейки 0. А потом уже заливать ваш и пробовать. Если там, в eeprom уже есть какое-то значение, например 255, то при умножении на 118 оно вылезет за границы 30 тыщ которые использует автор. Где там может накосячиться дальше честно говоря не смотрел. Просто цепануло несоответствие размерностей используемых переменных. Что странно, если учесть, что автор иcпользует map в коде.
shalex писал(а): Если есть подозрения на eeprom, то можно просто закоментировать эти куски с eeprom.write, а eeprom.read заменить на константы

Код: Выделить всё

  a_1=EEPROM.read(1)*118;
  a_2=EEPROM.read(2)*118;

  // также записываем  значение из ячейки №3 ОЗУ, в переменную speed_PWM отвечающую за скорость поворота servo
  speed_PWM=EEPROM.read(3);
Во-во, закомментировать или сделать вывод записываемых и считываемых значений. Ну и посмотреть какие они.
In der Grosse Familie nicht der клювом клац-клац!
--------------------------------------------------------------------------
Не натягивайте сову на глобус!

Аватара пользователя
LABA
Сообщения: 1616
Зарегистрирован: Пт мар 20, 2009 9:25 pm
Откуда: Питер
Благодарил (а): 32 раза
Поблагодарили: 7 раз
Контактная информация:

Re: Arduino - общие обсуждения

#33 Непрочитанное сообщение LABA »

Василий писал(а): или сделать вывод записываемых и считываемых значений. Ну и посмотреть какие они.
+100

Федюнь
Сообщения: 1430
Зарегистрирован: Вс фев 19, 2012 7:18 am
Имя: Фарид
Откуда: Узбекистан Ташкент
Поблагодарили: 1 раз
Контактная информация:

Re: Arduino - общие обсуждения

#34 Непрочитанное сообщение Федюнь »

Блин проблема ещё в том что я не программер. Просьба особо так то не напрягайте.

Федюнь
Сообщения: 1430
Зарегистрирован: Вс фев 19, 2012 7:18 am
Имя: Фарид
Откуда: Узбекистан Ташкент
Поблагодарили: 1 раз
Контактная информация:

Re: Arduino - общие обсуждения

#35 Непрочитанное сообщение Федюнь »

shalex писал(а):
Федюнь писал(а):Прошил пример sweep для Servo. Серва крутится согласно программе.)))
Василий.Вместо 118 записать 0? и включить?
Серва крутится - это хороший знак ))
Если есть подозрения на eeprom, то можно просто закоментировать эти куски с eeprom.write, а eeprom.read заменить на константы

Код: Выделить всё

  a_1=EEPROM.read(1)*118;
  a_2=EEPROM.read(2)*118;

  // также записываем  значение из ячейки №3 ОЗУ, в переменную speed_PWM отвечающую за скорость поворота servo
  speed_PWM=EEPROM.read(3);
p.s. если поможет, то сначала вернуть write, если снова будет работать, то проблема была в мусоре eeprom, как верно заметил Василий. если после возвращения read работать перестанет, то что то с памятью eeprom, видимо (((
В каких приделах константы ставятся? от 1 до 254?

Федюнь
Сообщения: 1430
Зарегистрирован: Вс фев 19, 2012 7:18 am
Имя: Фарид
Откуда: Узбекистан Ташкент
Поблагодарили: 1 раз
Контактная информация:

Re: Arduino - общие обсуждения

#36 Непрочитанное сообщение Федюнь »

Кто может измените код.Мне надо, что бы 2е сервы крутились на маленькой скорости, (PWM=3) меня устроит.
Нафиг там какие то записи в EEPROM? Они не нужны.

shalex
Сообщения: 286
Зарегистрирован: Сб июн 06, 2015 3:26 pm
Благодарил (а): 26 раз
Поблагодарили: 10 раз

Re: Arduino - общие обсуждения

#37 Непрочитанное сообщение shalex »

Если после убирания всех вызовов EEPROM серва крутится, то это почти победа. Осталось подобрать крайние углы сервы и скорость.

Код: Выделить всё

  a_1=0; //угол сервы для положения "прямо" (0...30000)
  a_2=30000; //угол сервы для положения "в сторону" (0...30000)
  speed_PWM = 100; //скорость перемещения сервы
Записи в EEPROM можно и не делать, если макетом управляет Рокрейл, например.
Рокрейл при запуске восстановит положение серв на макете.

Федюнь
Сообщения: 1430
Зарегистрирован: Вс фев 19, 2012 7:18 am
Имя: Фарид
Откуда: Узбекистан Ташкент
Поблагодарили: 1 раз
Контактная информация:

Re: Arduino - общие обсуждения

#38 Непрочитанное сообщение Федюнь »

Это устройство не на макете.Можно весь код посмотреть? Уже исправленный.
a_1=0;//EEPROM.read(1)*118;
a_2=30000;//EEPROM.read(2)*118;

// также записываем значение из ячейки №3 ОЗУ, в переменную speed_PWM отвечающую за скорость поворота servo
speed_PWM=5;//EEPROM.read(3);

Серва не реагирует.

shalex
Сообщения: 286
Зарегистрирован: Сб июн 06, 2015 3:26 pm
Благодарил (а): 26 раз
Поблагодарили: 10 раз

Re: Arduino - общие обсуждения

#39 Непрочитанное сообщение shalex »

Федюнь писал(а):Это устройство не на макете.Можно весь код посмотреть? Уже исправленный.
a_1=0;//EEPROM.read(1)*118;
a_2=30000;//EEPROM.read(2)*118;

// также записываем значение из ячейки №3 ОЗУ, в переменную speed_PWM отвечающую за скорость поворота servo
speed_PWM=5;//EEPROM.read(3);

Серва не реагирует.
speed_PWM= 100 пробовали?
на фоне 30000 может потребоваться много циклов, чтобы с дельтой 5 добраться от 0 до 30 000

Федюнь
Сообщения: 1430
Зарегистрирован: Вс фев 19, 2012 7:18 am
Имя: Фарид
Откуда: Узбекистан Ташкент
Поблагодарили: 1 раз
Контактная информация:

Re: Arduino - общие обсуждения

#40 Непрочитанное сообщение Федюнь »

speed_PWM= 100 пробовал
и speed_PWM= 500 пробовал
и speed_PWM= 1000 пробовал
Почему то не включаются и светодиоды направлении.
Вместе со сервами должны включаться светодиоды,серва вперёд,серва назад.

Ответить

Вернуться в «Цифровое управление, Аналоговая автоматика и их элементы»