Управление двумя потенциометрами двух серв, не получается

aleut
Offline
Зарегистрирован: 20.10.2015

Здравствуйте!

Не могу понять как сделать(если такое возможно) независимое управление от двух потенциометров двух сервомашинок. плата - Ардуино нано. Пробовал разные варианты, но всё равно получается, что с одного ПОТа две сервы крутяться, а как прописать чтоб потенциометр подключенный к А0 управлял только сервой на D9,  а с A6 только на D5. ткните носом пенсионера куда копать....

последний скетч 

#include <Servo.h>

Servo myservo;  
Servo myservo2;

int pinpot = A0;
int pinpot2 = A6;
int val;   
int val2; 


void setup()
{
  myservo.attach(9);
  myservo2.attach(5);
    }

void loop() 
{ 
  val = analogRead(pinpot);            
  val = map(val, 0, 1023, 0, 180);      
  myservo.write(val);                  
  val2 = analogRead(pinpot2);            
  val2 = map(val2, 0, 1023, 0, 180);     
  myservo2.write(val2);                 
  delay(15);
} 



 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а попробуй так. по сути тоже самое

#include <Servo.h>

Servo myservo;  
Servo myservo2;

#define pinpot  A0
#define pinpot2 A6


void setup(){
  myservo.attach(9);
  myservo2.attach(5);
}

void loop(){ 
  myservo.write(map(analogRead(pinpot), 0, 1023, 0, 180));  
  myservo2.write(map(analogRead(pinpot2), 0, 1023, 0, 180));   
  delay(15);
} 

 

aleut
Offline
Зарегистрирован: 20.10.2015

Всё то же самое, с одного канала сразу две сервы работают, может в плате косяк? надо порты прозвонить наверно....

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

прозвони. но сначала посмотри как подключил. может ты на одну ножку посадил сервы или на бребоарде не учел что строки замкнуты

высока вероятность что проблема в контактах и невнимательности

aleut
Offline
Зарегистрирован: 20.10.2015

Заработало!!!   с одого потенциометра не поступал сигнал на вход. Заменил и сразу заработало. Получается, что если один потенциометр отключить, то сигнал будет идти от оставшегося потенциометра одновременно на два прописанных выхода. Это фича или баг, или...?

зы. спсибо за помощь. 

vvadim
Offline
Зарегистрирован: 23.05.2012

это твои ошибки в схемотехнике

 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Скорее всего в связи с тем что АЦП один и работает через коммутатор
на его вход попадало  напряжение через утечку ключа или через утечку по плате с соседнего пина

aleut
Offline
Зарегистрирован: 20.10.2015

Черт его знает из-за чего.  утечки нет,  проверил (да и входы разнесены а0 и а6) Ошибки схемотехники?  да там трудно ошибиться, питание отдельно, только минус общий. Проверил разные вариаты скетча - все работают, но стоит один ПОТ оключить, сразу две сервы работают одновременно. Чудеса. Будет время проверю на другой ардуинке.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Входная ёмкость АЦП накапливает заряд от предыдущего измерения 
и похоже она намного больше входной ёмкости коммутатора

aleut
Offline
Зарегистрирован: 20.10.2015

trembo пишет:

Входная ёмкость АЦП накапливает заряд от предыдущего измерения 
и похоже она намного больше входной ёмкости коммутатора

Это лечиться? или плюнуть. меня пока устраивает.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

можешь притянуть высокоомным резистором вход к земле. но лучше лечи контакты))

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Вообще-то это странное поведение.

analogRead() переустанавливает АЦП каждый раз "на всякий случай" .. и соответственно, второе чтение с А6 не должно было бы подхватить предыдущее преобразование с А0, даже с одного коммутатора. Но, я тоже обнаруживал у себя, когда забывал выставить пин на "выход" (а по умолчанию они на вход - все по включению) слабый "пробой" ШИМ с таймера на выход ноги. Когда нога таймера настроена на работу и на неё идет ШИМ, а пин на выход поставить забыл... вот светодидоды с шилдов тоже ловят слабый сигнал и светятся согласно ШИМ, но очень блекло.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Ничео странного....

Ёмкость входа висящего  в воздухе (С3) зарядится  от входной ёмкости АЦП (С2) достаточно быстро
при условии что их соотношение  10- 100  раз (а это вполне возможно)
и сопротивление входа достаточно велико ( а это очевидно)

После переключения напряжение на С2 немного просядет зарядив С3, но мы ведь часто переключаемся и своего добьёмся.....