тут тоже упростить, просто сдвигать на бит
Согласен. Я в твои посты с советами не встреваю.
Но кто я такой. Мне проще слиться с этой темы.
Без разницы - ассемблерная команда будет та же, но так понятнее.
А где я встрял?
Отвечаю сразу всем!
Код от BOOMa - при свободной ручке газа пищит ардуинка. Только начинаю вращение - писк (короткие сигналы) прекращается совсем, но начало вращения колеса происходит после порядка 15-17 градусов оборота газа. сам процесс ускорения чуть медленнее чем обычно - на глаз! Спасибо, но сигнал в свободном состоянии не прекращается (частые короткие)
Далее по прошивке от ua6em.
Замена на 2000 и 1000 результатов не дала. колесо вращается даже чуть быстрее при холостом ходу (на тронутой ручке газа).
эти параметры менял и для BOOMa прошивки - там колесо стоит мирно
Сейчас поставлю старую свою - может я где-то сам не правильно указал какой либо пин и вас всех ввожу в заблуждение!
У вас аналоговый считыватель, который зачастую далеко не идеален. Нужно первые 10 -20-30 значений таблицы заменить нулями. Подберите практически когда и не пищит и начинает трогаться. У меня же нет вашего оборудования.
Ёлки-иголки. Я конечно понимаю, что пятница. Но писал то я не про тебя. Перечитай)
ЗЫ: Вроде бы по памяти никогда ты не вмешивался…
Воооот )))
Ребята, дайте разобраться пожалуйста!
Потом уже о личном…
Пятница. У нас тут по пятницам всегда так. ))
Завтра модераторы по трут лишнее.)
Вот ЭТА прошивка у меня работает:
#include <Servo.h>
Servo motor;
//Пин подключения мотора
int mot_pin = 9;
//Максимальное значение ШИМ 2.3 мс
int max_pwm = 1940;
//Минимальное значени ШИМ 0.8 мс
int min_pwm = 980;
int Speed;
void setup(){
// запуск последовательного порта
Serial.begin(9600);
// инициализация мотора
motor.attach(mot_pin);
// калибровка
delay(1000);
motor.writeMicroseconds(max_pwm);
delay(2000);
motor.writeMicroseconds(min_pwm);
delay(4000);
}
void loop() {
Speed = analogRead(A1);
Speed = map(Speed,0,1023,0,180);
motor.write(Speed);
}
когда включаешь питание мотор делает два писка, первый и через несколько секунд второй. типа таратадам?
Да! делает!
ua6em, у вас получилось очень достойное ускорение (прям кайфует), но оно начинается не с нуля а при уже слегка работающем колесе.
BOOM! Я пытаюсь обнулить первые цифры, но ручка схватывает мотор уже после 30% оборота газа
Нашёёёёёёл!!!
Минимальное значени ШИМ 0.8 мс
int min_pwm = 1200 ;
При смене этого параметра до 1200 (взял от балды) колесо перестало вращаться на ХХ!
Нужно будет поиграться с этим параметром и найти самый оптимальный.
Это относится к прошивке от ua6em!
Стоит ли потом менять что либо из других - ниже перечисленных параметров для плавности хода???
ua6em,
для моей системы этот показатель составил 1070!
Тут же сразу проявился недостаток - после сброса ручки газа двигатель продолжает вращаться порядка 2 секунд - на очень малых оборотах.
Хотелось бы устранить и этот недостаток - может где-то какую то задержку подправить?
по моим данным запас в 30 единиц за глаза, то-есть ставь 1030
С тебя описание механики велосипеда, я допилю скетч и выложим в проекты!
Я чего-то недо понимаю?!
Этот запас влияет на остановку двигателя после сброса ручки газа???
колесо при 1070 и так стоит на месте. И чтобы ему начать движение необходимо порядка 10% нажатия акселератора!