trojeto de plataforma de movimento
Página 1 de 1 • Compartilhe •
trojeto de plataforma de movimento
boa tarde tudo bem bom venho abrir este tópico pra pedir ajuda mais também compartilhar meu conhecimento estou tentando fazer uma plataforma de movimento para meu cockpit ele é para corridas mais também serve para voo mudando o plugin para isso ! então peço ajuda a todos os interessados . a princípio aqui vai o que eu já tenho para começar e junto as duvidas





























Claudemir Correa- Aspirante
-
Inscrito em : 06/04/2013
Mensagens : 12
Reputação : 0
Idade : 44
Nacionalidade :
Re: trojeto de plataforma de movimento
Olá
Você tem o hardware em mãos, projato da plataforma e vai utilizar uma placa arduino com shield para motor de passo, mas ... e a interface de software? Qual o programa que vai conversar entre o arduino e o seu simulador de corridas e/ ou de vôo?
[]'s
ecosta
Você tem o hardware em mãos, projato da plataforma e vai utilizar uma placa arduino com shield para motor de passo, mas ... e a interface de software? Qual o programa que vai conversar entre o arduino e o seu simulador de corridas e/ ou de vôo?
[]'s
ecosta
Ecosta- Capitão
-
Inscrito em : 03/03/2011
Mensagens : 233
Reputação : 44
Idade : 51
Nacionalidade :
Re: trojeto de plataforma de movimento
Olá Claudemir, seja bem vindo
Você já viu o tópico:
http://www.voovirtual.com/t17642p135-plataforma-de-movimento-para-homecockpit-com-fsx-ou-xp10?highlight=plataforma
Lá tem bastante informações úteis
, abraços

Você já viu o tópico:
http://www.voovirtual.com/t17642p135-plataforma-de-movimento-para-homecockpit-com-fsx-ou-xp10?highlight=plataforma
Lá tem bastante informações úteis

_________________

Voar, triunfo da evolução
Stargate - http://usbi.com.br/
Edenio Rodrigues- Tenente-Brigadeiro
-
Inscrito em : 07/12/2010
Mensagens : 4434
Reputação : 453
Idade : 75
Simulador preferido : P3D
Emprego/lazer : Simulação, energia solar, hidroponia
Nacionalidade :
Re: trojeto de plataforma de movimento
o programa é este( SimTools ) é projetado para ser o mais simples ainda poderoso conjunto de ferramentas para várias plataformas de simulação de movimento.Ecosta escreveu:Olá
Você tem o hardware em mãos, projato da plataforma e vai utilizar uma placa arduino com shield para motor de passo, mas ... e a interface de software? Qual o programa que vai conversar entre o arduino e o seu simulador de corridas e/ ou de vôo?
[]'s
ecosta
Eles trabalham em conjunto para obter movimento simuladores a funcionar o mais fácil possível.
Enquanto ainda dando ao usuário todas as personalizações e flexibilidade que eles podem ser usados também .
SimTools tem suporte para uma variedade de interfaces e suporte para uma grande variedade de jogos.
Com mais jogos sendo adicionados o tempo todo.
Mais de 45 simulações de corrida e vôo apoiado
Intuitiva, interface auto-explicativo, configuração rápida
Configuração simples ou duplo PC
Até 6 graus de liberdade (eixos de movimento)
Funciona com SCN, Arduino, JRK, SimAxe e muito mais.
Apoio painel e calibres
As características avançadas incluem ajustes de perfil de movimento ao vivo, filtro, filtro de suavização de washout, zona morta e limite. Reserve um tempo para ler e entender os manuais para o uso adequado do SimTools. • Manuais / Documentação Avisos:
- Código:
/*
Opensource code for xsimulator by Jean David SEDRUE
Version betatest26 - 24042012
test21 with Tacho
test22 less tache to continue biMotor test
*/
#define BRAKEVCC 0
#define RV 2 //according to cable at 24/11/2011
#define FW 1 //according to cable at 24/11/2011
#define STOP 0
#define BRAKEGND 3
#define CS_THRESHOLD 253 //not use
////////////////////////////////////////////////////////////////////////////////
#define pwmMin 128;
#define pwmMax 250;
#define motLeft 0
#define motRigth 1
#define speedPin 10
#define potL A4
#define potR A5
////////////////////////////////////////////////////////////////////////////////
// DECLARATIONS
////////////////////////////////////////////////////////////////////////////////
/* VNH2SP30 pin definitions*/
int inApin[2] = {
7, 4}; // INA: Clockwise input
int inBpin[2] = {
8, 9}; // INB: Counter-clockwise input
int pwmpin[2] = {
5, 6}; // PWM input
int cspin[2] = {
2, 3}; // CS: Current sense ANALOG input
int enpin[2] = {
0, 1}; // EN: Status of switches output (Analog pin)
int statpin = 13;
/* init position value*/
int DataValueL=125; //middle position
int DataValueR=125; //middle position
////////////////////////////////////////////////////////////////////////////////
// INITIALIZATION
////////////////////////////////////////////////////////////////////////////////
void setup()
{
/* serial initialization */
Serial.begin(115200);
/* motor initialization */
pinMode(statpin, OUTPUT);
for (int i=0; i<2; i++)
{
pinMode(inApin[i], OUTPUT);
pinMode(inBpin[i], OUTPUT);
pinMode(pwmpin[i], OUTPUT);
}
// Initialize braked for motor
for (int i=0; i<2; i++)
{
digitalWrite(inApin[i], LOW);
digitalWrite(inBpin[i], LOW);
}
}
////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// Main Loop ////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
void loop()
{
int sensorL,sensorR;
serialData();
sensorR = analogRead(A4)/4;
sensorL = analogRead(A5)/4; // echelle 0-1000
/* Serial.print(sensorL);
Serial.print(" ; ");
Serial.println(sensorR);
motorGo(motRigth, FW, 255);
delay(100);
motorOff(motRigth);
delay(1000);
*/
motorMotion(motRigth,sensorR,DataValueR);
motorMotion(motLeft,sensorL,DataValueL);
}
////////////////////////////////////////////////////////////////////////////////
// Procedure: wait for complete trame
////////////////////////////////////////////////////////////////////////////////
void serialData()
{
byte Data[3]={
'0','0','0' };
// il faut limmitter le temps pour garder le contrôle des moteurs
if (Serial.available()>2){ //wait a packets of 6
//test if order R or L data type
Data[0]=Serial.read();
if (Data[0]=='R'){ // ordre connue ?, si non je verrais au prochain tour !
Data[1]=Serial.read();
Data[2]=Serial.read();
DataValueR=NormalizeData(Data);
}
if (Data[0]=='L'){ // ordre connue ?, si non je verrais au prochain tour !
Data[1]=Serial.read();
Data[2]=Serial.read();
DataValueL=NormalizeData(Data);
}
}
if (Serial.available()>16) Serial.flush();
}
////////////////////////////////////////////////////////
void motorMotion(int numMot,int actualPos,int targetPos)
////////////////////////////////////////////////////////
{
// int potPinL=A4; //to include in header procedure
// int potPinR=A5; //to include in header procedure
int Tol=4;
int difference;
int pwm;
int securityLow=20;
int securityHigh=200;
int brakeDistance=16;
boolean move=true;
// encadrements des valeurs
if (targetPos<securityLow+brakeDistance) targetPos=(securityLow+brakeDistance); //software limits, but consideration speed brake.
if (targetPos>securityHigh-brakeDistance) targetPos=(securityHigh-brakeDistance); //software limits, but consideration speed brake.
// calculate speed about distance
difference=abs(targetPos-actualPos);
if (difference<=Tol) pwm=0; // to near to mov
if (difference>Tol) pwm=168;
if (difference>50) pwm=200;
if (difference>75) pwm=225;
if (difference>100) pwm=255;
// pay attention for security for Right motor!!
if (actualPos>securityHigh || actualPos<securityLow) move=false; //mechanicals limits
//to near to move
if (difference<= Tol) move=false; //to near to move
// en avant (haut)
if (actualPos<targetPos && move) {
pwm=255; //need power to go up !
motorGo(numMot, FW, pwm);
}
pwm=255; //test !
// en arriere (bas)
if (actualPos>targetPos && move) motorGo(numMot, RV, pwm);
// ne pas bouger !
if (move==false) motorOff(numMot);// STOP
}
////////////////////////////////////////////////////////////////////////////////
void motorOff(int motor){
////////////////////////////////////////////////////////////////////////////////
digitalWrite(inApin[motor], LOW);
digitalWrite(inBpin[motor], LOW);
analogWrite(pwmpin[motor], 0);
}
////////////////////////////////////////////////////////////////////////////////
void motorGo(uint8_t motor, uint8_t direct, uint8_t pwm)
////////////////////////////////////////////////////////////////////////////////
{
if (motor <= 1)
{
if (direct <=4)
{
// Set inA[motor]
if (direct <=1)
digitalWrite(inApin[motor], HIGH);
else
digitalWrite(inApin[motor], LOW);
// Set inB[motor]
if ((direct==0)||(direct==2))
digitalWrite(inBpin[motor], HIGH);
else
digitalWrite(inBpin[motor], LOW);
analogWrite(pwmpin[motor], pwm);
}
}
}
////////////////////////////////////////////////////////////////////////////////
// testPot
////////////////////////////////////////////////////////////////////////////////
void testPot(){
Serial.print(analogRead(A4));
Serial.print(";");
Serial.println(analogRead(A5));
delay(250);
}
////////////////////////////////////////////////////////////////////////////////
void testpulse(){
int pw=120;
while (true){
motorGo(motLeft, FW, pw);
delay(250);
motorOff(motLeft);
delay(250);
motorGo(motLeft, RV, pw);
delay(250);
motorOff(motLeft);
delay(500);
motorGo(motRigth, FW, pw);
delay(250);
motorOff(motRigth);
delay(250);
motorGo(motRigth, RV, pw);
delay(250);
motorOff(motRigth);
Serial.println("testpulse pwm:80");
delay(500);
}
}
////////////////////////////////////////////////////////////////////////////////
// Function: convert Hex to Dec
////////////////////////////////////////////////////////////////////////////////
int NormalizeData(byte x[3])
////////////////////////////////////////////////////////////////////////////////
{
int result;
if (x[2]==13) //only a LSB and Carrier Return
{
x[2]=x[1]; //move MSB to LSB
x[1]='0'; //clear MSB
}
for (int i=1; i<3; i++)
{
if (x[i]>47 && x[i]<58 ){//for xA to xF
x[i]=x[i]-48;
}
if ( x[i]>64 && x[i]<71 ){//for x0 to x9
x[i]=x[i]-55;
}
}
result=(x[1]*16+x[2]);
return result;
}
Claudemir Correa- Aspirante
-
Inscrito em : 06/04/2013
Mensagens : 12
Reputação : 0
Idade : 44
Nacionalidade :
Re: trojeto de plataforma de movimento
link para o Sim tools : http://www.generalfiles.biz/download/gs596cdfa1hfi0/SimTools.de_v1.2.rar.html peço a liberdade de postar um link de outro forum para ajudar nos projetos http://www.xsimulator.net/simtools-complete-documentation/
Claudemir Correa- Aspirante
-
Inscrito em : 06/04/2013
Mensagens : 12
Reputação : 0
Idade : 44
Nacionalidade :
Re: trojeto de plataforma de movimento
eu também participei daquele projeto com algumas dicas mais ai fiquei ausente por motivos particular mais agora a questão !!! o projeto chegou ao fim ? conseguiram fazer a plataforma ?Inventor escreveu:Olá Claudemir, seja bem vindo![]()
Você já viu o tópico:
http://www.voovirtual.com/t17642p135-plataforma-de-movimento-para-homecockpit-com-fsx-ou-xp10?highlight=plataforma
Lá tem bastante informações úteis, abraços
Claudemir Correa- Aspirante
-
Inscrito em : 06/04/2013
Mensagens : 12
Reputação : 0
Idade : 44
Nacionalidade :
Re: trojeto de plataforma de movimento
Sim, o nosso Manoel Carvalho está usando no seu cockpit. Veja:Claudemir Correa escreveu:eu também participei daquele projeto com algumas dicas mais ai fiquei ausente por motivos particular mais agora a questão !!! o projeto chegou ao fim ? conseguiram fazer a plataforma ?Inventor escreveu:Olá Claudemir, seja bem vindo![]()
Você já viu o tópico:
http://www.voovirtual.com/t17642p135-plataforma-de-movimento-para-homecockpit-com-fsx-ou-xp10?highlight=plataforma
Lá tem bastante informações úteis, abraços
http://www.voovirtual.com/t31927-imagens-finais-do-projeto-hc2
Ele aproveitou a ideia do macaco elétrico

_________________

Voar, triunfo da evolução
Stargate - http://usbi.com.br/
Edenio Rodrigues- Tenente-Brigadeiro
-
Inscrito em : 07/12/2010
Mensagens : 4434
Reputação : 453
Idade : 75
Simulador preferido : P3D
Emprego/lazer : Simulação, energia solar, hidroponia
Nacionalidade :
Re: trojeto de plataforma de movimento
ótimo agora conto com a ajuda de vocês para construir o meu



Claudemir Correa- Aspirante
-
Inscrito em : 06/04/2013
Mensagens : 12
Reputação : 0
Idade : 44
Nacionalidade :
Re: trojeto de plataforma de movimento
Claudemir Correa
Seja bem vindo ao Voo Virtual, entretanto peço que tenha atenção as regras do Fórum, em especial a de nº 6:
6. Não é permitido Flood nem Spam. Caso a sua mensagem seja a última do tópico e queira acrescentar ou alterar alguma coisa antes de terem passado 24 horas de ter colocado o post, use o botão "edit" para editar o post em vez de criar um novo. Use também o botão "Multi-citação" caso queira citar várias mensagens, evitando assim o flood.
Caso não conheça estas regras, as mesmas estão disponíveis Aqui
Seja bem vindo ao Voo Virtual, entretanto peço que tenha atenção as regras do Fórum, em especial a de nº 6:
6. Não é permitido Flood nem Spam. Caso a sua mensagem seja a última do tópico e queira acrescentar ou alterar alguma coisa antes de terem passado 24 horas de ter colocado o post, use o botão "edit" para editar o post em vez de criar um novo. Use também o botão "Multi-citação" caso queira citar várias mensagens, evitando assim o flood.
Caso não conheça estas regras, as mesmas estão disponíveis Aqui
_________________
O que me incomoda nas pessoas não são as suas limitações, mas sim a atitude delas em relação a isso !...
Leber- Moderador
-
Inscrito em : 16/01/2012
Mensagens : 3568
Reputação : 347
Idade : 35
Simulador preferido : FSX
Emprego/lazer : Voar, voar e voar !
Nacionalidade :
Re: trojeto de plataforma de movimento
Claudemir, boa tarde.
Ótimo projeto, inspirador mesmo! Parabéns!
ats.,
Ótimo projeto, inspirador mesmo! Parabéns!
ats.,
_________________
Luís Leite - https://www.youtube.com/watch?v=lpKrV09R3V8
Osasco/SP

_________________
Equipamentos:
- Notebook MSI GT-660 Gamer
Intel i7 Q 720 1.60GHz (4 Cores - 8 Threads) - Win 7 Home Premium 64 bits - GeForce GTX 285M 1GB - 8GB DDR3 - HD SATA 750GB
- Desktop (Personalizado)
Intel i7 4820K 4.5GHz - Win 7 Ultimate 64 bits - 2x MSI GeForce GTX 970 Gaming 4G em SLI - 32GB DDR3 - 2x SSD´s de 480GB (em RAID0=960GB)
- Monitores (Compartilhados)
LG 22" Wide - LG 22" - HP LA1905wg 19" Wide
- Controles de Voo (Compartilhados)
Thrustmaster T-Flight Hotas X - Saitek Pro Flight Yoke System - Saitek Pro Flight Rudder Pedals - 737 Throttle Quadrant BRCockpit
- Flight Sims
FS2004, FSX, FSX-SE, Prepar3D v3.3, X-Plane 10
Re: trojeto de plataforma de movimento
Claudemir,
Parabéns, gostei muito da sua iniciativa e já sou o primeiro da fila para negociar,...rsrsrs
Por favor não esqueça de avaliar o peso máximo que suportará seu projeto.
Abraços,
Fábio
Parabéns, gostei muito da sua iniciativa e já sou o primeiro da fila para negociar,...rsrsrs
Por favor não esqueça de avaliar o peso máximo que suportará seu projeto.
Abraços,
Fábio

FabioNSilva- Segundo-Tenente
-
Inscrito em : 30/03/2012
Mensagens : 27
Reputação : 1
Idade : 57
Simulador preferido : FSX
Emprego/lazer : Engenharia de Manutenção
Nacionalidade :
Re: trojeto de plataforma de movimento
Mais algumas fotos !






































Claudemir Correa- Aspirante
-
Inscrito em : 06/04/2013
Mensagens : 12
Reputação : 0
Idade : 44
Nacionalidade :
Re: trojeto de plataforma de movimento
alguém poderia me dizer quais são estes motores que foi usado no projeto grato
Famorim- Recruta
-
Inscrito em : 17/05/2016
Mensagens : 1
Reputação : 0
Idade : 42
Nacionalidade :
Re: trojeto de plataforma de movimento
Olá Famorim! Motor de limpador de para brisa automotivo. No projeto do Claudemir Correa, ele usa 2 motores de limpador de para brisa, 2 bieletas e 1 homocinética (ou junta homocinética) tudo automotivo.
ASPRUEDA- Segundo-Tenente
-
Inscrito em : 27/04/2012
Mensagens : 34
Reputação : 0
Idade : 30
Simulador preferido : X-Plane 11 e P3
Emprego/lazer : Instrutor de voo avião /Mecânico automotivo
Nacionalidade :
Página 1 de 1
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum