Go Down

Topic: Ajuda  (Read 3315 times) previous topic - next topic

mekank


O fornecimento de energia (12v) alimenta o atuador e o Arduino e. Pwm-sinal é aplicado através de um resistor de 1k para a base do TIP120, este é o "sinal de controle" para o transistor. O sinal PWM no atuador é encaminhado para o Coletor do TIP120. Quando Arduino aplica tensão na Base do TIP120, a corrente fluirá através do TIP120 do Coletor para o Emissor. Como o lado emissor está ligado ao GND, a linha PWM será negativo. Esta seqüência, feita em ciclos corretamente cronometrados, produzirá o sinal de controle necessário para que o atuador funcione.
Como ponho a funcionar com potenciómetro?
Ou seja, o sinal do potenciómetro controla a posição do atuador. :o

int valor=0;
int motor=10;
int sensorValue = analogRead(A0);

void setup() {
  pinMode(motor, OUTPUT);
  Serial.begin(9600);
 

}

void loop() {
   int sensorValue = analogRead(A0);
  Serial.println(sensorValue);
  delay(100);
  valor=analogRead(A0);
  analogWrite(motor,valor);

  for(int sweep =sensorValue; sweep <=sensorValue*3; sweep +=4)
  {
    digitalWrite(motor,sensorValue);
    delayMicroseconds(sweep);
    digitalWrite(motor,LOW);
    delayMicroseconds(3333 - sweep);}

    }

bubulindo

Não percebi se tens alguma dúvida... podes elucidar-nos melhor o que pretendes?
This... is a hobby.

mekank

O que eu queria fazer era, por o atuador a funcionar com o valor do potenciómetro.
Ou seja, com a função sweep ele anda para trás e para a frente sozinho.
E eu queria era posiciona-lo com o valor do potenciómetro, tipo como um servo motor.

bubulindo

Tu queres que um motor DC funcione como um Servo Motor? Porque não usar um servo motor?
This... is a hobby.

mekank

Eu queria fazer algo diferente com peças que já tenho.

bubulindo

Já pensaste que o motivo pelo qual certos componentes existem é porque não existem outros que façam o mesmo?
This... is a hobby.

pksato

#6
Nov 29, 2019, 08:28 pm Last Edit: Nov 30, 2019, 04:03 am by pksato
Minha dúvida nesta postagem e sobre o atuador.
Que tipo de atuador e esse?
Um servo motor e um atuador rotativo.
Existem atuadores lineares, que podem ter as mais diversas formas de posicionamento e de controle.
Pela descrição parece ser um atuador controlado por largura de pulso. Mas o código mistura analogwrite() e digitalwrite().

Pelo entendi do código acima, o mekank quer algo assim:
Code: [Select]

int motor=10;
int potValue = analogRead(A0);

void setup() {
 pinMode(motor, OUTPUT);
 Serial.begin(9600);
}

void loop() {
 PotValue = analogRead(A0);
 // PotValue = analogRead(A0)*3; // Talvez tenha que multiplicar por 3.
 Serial.println(PotValue);
 digitalWrite(motor,HIGH);
 delayMicroseconds(PotValue);
 digitalWrite(motor,LOW);
 delayMicroseconds(3333 - PotValue);
}

mekank

O atuador em causa é:
 HELLA 6NW009228
É um atuador de um turbo,que seria para transformar em motor de acelerador aplicado diretamente na bomba injetora.

pksato

O atuador em causa é:
 HELLA 6NW009228
É um atuador de um turbo,que seria para transformar em motor de acelerador aplicado diretamente na bomba injetora.
Isso e um servo motor de uso automotivo.
Não achei muita informação, o trem de pulso tem duração (de repetição) de 140Hz ou 300Hz (nesse seu caso parece ser de 300Hz).
Em teria, a biblioteca servo.h poderia ser usando, mas necessitaria mudar a frequência de 50Hz para 300Hz.
Veja nos exemplos do arduino ide o servo/knob.

mekank

Os exemplos SERVO e KNOB não funcionam no atuador.
Como altero a frequência?
Onde arranjar a libraria para tal.

Go Up