Контроллер для Двигателя БПСТ-32

Нет ответов
Drake
Offline
Зарегистрирован: 30.03.2014
Нужно сделать контроль двигателя ПБСТ-32
Двигатель на постоянке 220 вольт но он не запускается если на него сразу подать вольтаж, должен быть разгон и торможение!
Начал писать на базе ардуино вот что есть на даный момент:
int sensorPin = A3; //регулятор
int sensorValue = 0;
int motorPin = 9;
int switchPin = 5;
boolean lastButton = LOW;
boolean currentButton = LOW;

void setup()
{
  pinMode(motorPin, OUTPUT);
  pinMode(switchPin, INPUT);
}

boolean debounce(boolean last)
{
  boolean current = digitalRead(switchPin);
  if (last != current)
  {
    delay(5);
    current = digitalRead(switchPin);
  }
  return current;
}

void loop ()
{
  sensorValue = analogRead(sensorPin);
  sensorValue = map(sensorValue,0,1023,0,255);
  
  currentButton = debounce(lastButton);
  if(lastButton == LOW && currentButton == HIGH)
  {
    for (int i=0; i<=sensorValue; i++)
    {
      analogWrite(motorPin, i);
      delay(10);
    }
  }
  lastButton = currentButton;
  
    
}

При нажатии кнопки Происходит акселерация до значения i 

Подскажите как сделать чтобы при повторном нажатии этой кнопки происходило деаксерерация до полного торможения двигателя

for(int i=sensorValue; i>=0; i--)
  {
    analogWrite(motorPin, i);
    delay(10);
  }

И еще:

Потенциометр считывается только при запуске, как сделать периодическое считывание для возможности регулировки во время работы?