Controlo Suspensão Pneumática


caros, bom dia!

sou um newbie nestas eletronicas, apesar de ter lidado já - há muitos anos - com plcs siemens em projetos na faculdade.

estive conhecer melhor o que é o arduino e parece-me o sistema ideal para um projeto que já ando magicar há algum tempo - o controlo nivelamento de uma suspensão parcialmente pneumática. ideia é complementar suspensão normal de um veículo com os chamados "foles pneumáticos", muito comuns nos camiões.

o sistema seria composto por:

 - 4 foles pneumáticos
 - 3 válvulas 12v (2 para frente / tras e 1 para descarga)
 - 2 sensores de nível (0-5v)
 - 1 keypad / teclado para indicar ao arduino qual altura desejada (baixo, médio ou alto)


o código - conceptualmente - não será complicado:

ao pressionar o "botão1", accionar
         "valvula1" até que "sensorfrente" indique x volts
         "valvula2" até que "sensortras" indique y volts

ao pressionar "botão2", accionar
         "valvula3" durante tempo suficiente para os foles se esvaziarem.


a questão aqui é que não tenho os conhecimentos todos quanto à utilização de instruções com "for" ou "while"... e para que este sistema funciona 100%, é importante ter um código bem elaborado. isto foi o que já escrevi...


code: [select]
pins:

int sensorfrtpin (analog)
int sensortrapin (analog)
int valvfrtpin (digital)
int valvtrapin (digital)
int valvdescpin (digital)
int botao1pin (digital)
int botao2pin (digital)



variables:

int sensfrtmax = 1023
int sensfrtmin = 0
int sensfrtval = 0

int senstramax = 1023
int senstramin = 0
int senstraval = 0

setup:

sensorfrtval = analogread (sensorfrtpin)
sensortraval = analogread (sensortrapin)
pinmode (valvfrt, output)
pinmode (valvtra, output)
pinmode (valvdesc, output)
pinmode (botao1, input)
pinmode (botao2, input)



logical:

if botao1 = high && sensorfrt < *predefined upper limit* && sensortra < *predefined upper limit*
then
while (sensorfrtval < *predefined upper limit*) {
digitalwrite (valvfrt, high)
delay (100)
}

while (sensortraval < *predefined upper limit*) {
digitalwrite (valvtra, high)
delay (100)
}


agradeço desde já qualquer input / ajuda!

abraços,
mr

bem-vindo ao fórum miguel.

que tipo de sensores de nível vai usar? interessa saber isto para perceber forma como o programa deverá funcionar.
para além da programação terá que ter alguns conhecimentos de electrónica (como diz que o contacto mais próximo disto foram os plc's, imagino que não tenha esses conhecimentos).

outra chamada de atenção tem ver com o "código". placas arduino são normalmente programadas numa linguagem de programação com características próprias e bem definidas (linguagem c/c++). podem ser programadas noutro tipo de linguagens, mas para isso, terá que ter outro tipo de ferramentas diferentes das que são distribuídas gratuitamente. o que tornará o desenvolvimento mais difícil. o seu "código" é uma mistura entre c/c++ e basic (pelo menos pela utilização da keyword then, que em c/c++ não existe). sendo assim, em primeiro lugar deve ter algum contacto com linguagem. tem bastantes recursos on-line e no ide também tem alguns exemplo que deve tentar perceber.


Arduino Forum > International > Portugues > Controlo Suspensão Pneumática


arduino

Comments

Popular posts from this blog

DHT11 Time out error using v0.4.1library

Sketch upload fails with Java error (___REMOVE___/bin/avrdude)!

Arduino Uno + KTY81/210 temperature sensor