Pages: [1] 2 3 ... 5   Go Down
Author Topic: Sensor de corrente(programação)  (Read 5865 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 97
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Boas pessoal estou a desenvolver um projeto onde vou utilizar estes 3 sensores (Links em baixo) de medição de corrente gostaria de saber se eventualmente já alguem trabalhou com eles ou parecidos e se sabem como se programam no nosso amigo arduino.

http://pt.mouser.com/ProductDetail/Honeywell/CSLA2DH/?qs=%2fha2pyFaduiuRkBEznpsXGHvKzNwCO9a0MDKcPProZsprrnYA2Rc5Q%3d%3d
http://pt.mouser.com/ProductDetail/Honeywell/CSLA1CF/?qs=%2fha2pyFaduiuRkBEznpsXMihzBv1C9LKTjpVYCRpdxR5zm6%2f4FKF5Q%3d%3d
http://pt.mouser.com/ProductDetail/Honeywell/CSLH3A45/?qs=%2fha2pyFadui3h1hLwbvtoi2i2TSxMeMHx0K4MyfwyxPXcrih3EjNMw%3d%3d

Cumprimentos
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 34
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

vendo o datasheet, vi que a saida é voltagem..
então, tenta usar umas 3 correntes conhecidas para fazer uma tabelinha de conversão..
ai depois é só mapear no arduino..
mas deve ter formas mais faceis..  smiley-grin smiley-grin
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 97
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sim realmente tens razão vou aumentando a corrente na fonte de tensão gradualmente e logo chegarei a uma conclusão o meu problema é como vou fazer isso em relação à programação
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 34
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ai é só usar como o potenciometro..
quando medir as correntes, é so mapea
val = analogRead(sensor);

ai de acordo com as correntes que vc medir vai anotando..
ex:
corrente (mAh)        val
0mAh          =      0
100 mAh        =    100
200 mAh        =     200
.
.
.
1000mAh                 =   1000

ai é so jogar no map...
Code:
val = (val  inicial_pwm, final_pwm, inicial_mAh, final_mAh);
Serial.println(val);
delay(1000);

mais ou menos isso..
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 97
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Fiz este bocado de código para o sensor de 100A:

int S100A = A0;


void setup(){
pinMode (S100A,INPUT);
}

void loop()
{
analogRead(S100A);
delay(1000);
}

Não me está a aparecer valor absolutamente nenhum o que está a faltar pessoal??
Logged

Offline Offline
God Member
*****
Karma: 12
Posts: 508
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

veja no final da última mensagem do zurgbr, para simplificar removi o map:
Code:
int S100A = A0;

void setup(){
pinMode (S100A,INPUT);
}

void loop()
{
val = analogRead(S100A);
Serial.println(val);
delay(1000);
}

Assim verás o resultado no serial monitor smiley-wink
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 97
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Muito obrigado mas não tenho de pôr por exemplo um println(val) ou um float(val) para conseguir ver os dados??
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 97
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

int S100A = A0;
float val = analogRead(S100A);
void setup(){
pinMode (S100A,INPUT);
}

void loop()
{
val = analogRead(S100A);
Serial.println(val);
delay(1000);
float(val);
}

Fiz o código assim e compilou
O sensor lê até 100A e eu coloquei-o no fio positivo com uma lampada ligada será que a corrente consumida pela lampada e muito pequena e o sensor não lê ou continua a ser um erro no código??
 
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 34
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

não vai aparecer nada porque você mandou o arduino apenas Ler os dados..
No setup
Serial.begin(9600);

e antes do delay no loop
Serial.println(val);

ai é so abrir o monitor serial e ser feliz..  smiley-grin smiley-grin
Logged

Offline Offline
God Member
*****
Karma: 12
Posts: 508
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wilson, é preferível colocar os códigos dentro das tags Code (botão #), para que ele apareça como abaixo smiley

Comentei o código para identificarmos o que se passa
Code:
int S100A = A0; //declara a variável S100A como zero (que identificará a porta analógica zero) OK
//float val = analogRead(S100A); não tem sentido usar analogRead neste momento
//e analogRead(pino) retorna um valor entre 0 e 1023, veja em http://arduino.cc/en/Reference/analogRead
//então é melhor usar integer
int val = 0;

void setup(){
//perdoe-me, faltou iniciar a serial com o abaixo
Serial.begin(9600); //deverá ser definido no serial monitor a mesma velocidade

pinMode (S100A,INPUT); //Defione o pino S100A como imput OK
}

void loop()
{
val = analogRead(S100A); //lê o conteúdo da porta e guarda em val OK
Serial.println(val); //imprime o valor val na porta serial OK
delay(1000); //pausa o loop para não choverem dados na porta serial OK
float(val); //não vejo sentido aqui ;)
}

Testa o código com essas alterações, e me desculpe por esquecer de colocar o "Serial.begin(9600);"
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 34
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

int S100A = A0;
float val = analogRead(S100A);
void setup(){
pinMode (S100A,INPUT);
}

void loop()
{
val = analogRead(S100A);
Serial.println(val);
delay(1000);
float(val);
}

Fiz o código assim e compilou
O sensor lê até 100A e eu coloquei-o no fio positivo com uma lampada ligada será que a corrente consumida pela lampada e muito pequena e o sensor não lê ou continua a ser um erro no código??
 

qual o sensor vc está usando?
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 97
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Agradeço imenso pela ajuda o sensor que estou a usar é este:
http://pt.mouser.com/ProductDetail/Honeywell/CSLA1CF/?qs=%2fha2pyFaduiuRkBEznpsXMihzBv1C9LKTjpVYCRpdxR5zm6%2f4FKF5Q%3d%3d
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 97
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Já está a bombar pessoal, está a dar valores tipo 519 segundo a segundo, agora vou po-lo na fonte de tensão  e vou aumentando a corrente gradualmente para tentar perceber a que valores correspondem e construir uma tabela só assim consigo penso eu.

 Muito obrigado pela ajuda
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 34
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

você alimentou o sensor com quantos vouts?
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 97
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Com os 5 do arduino
Não está correto??
Logged

Pages: [1] 2 3 ... 5   Go Up
Jump to: