trojeto de plataforma de movimento
+5
luisxv
Leber
Edenio Rodrigues
Ecosta
Claudemir Correa
9 participantes
Página 1 de 1
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 : 50
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 : 57
Nacionalidade :
Re: trojeto de plataforma de movimento
Olá Claudemir, seja bem vindo
Você já viu o tópico:
https://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:
https://www.voovirtual.com/t17642p135-plataforma-de-movimento-para-homecockpit-com-fsx-ou-xp10?highlight=plataforma
Lá tem bastante informações úteis , abraços
_________________
Voar, triunfo da evolução
Stargate (82) 9 8172 9765 (mensagem de texto)
Edenio Rodrigues- Tenente-Brigadeiro
-
Inscrito em : 07/12/2010
Mensagens : 4614
Reputação : 483
Idade : 81
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 : 50
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 : 50
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:
https://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 : 50
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:
https://www.voovirtual.com/t17642p135-plataforma-de-movimento-para-homecockpit-com-fsx-ou-xp10?highlight=plataforma
Lá tem bastante informações úteis , abraços
https://www.voovirtual.com/t31927-imagens-finais-do-projeto-hc2
Ele aproveitou a ideia do macaco elétrico , abraços
_________________
Voar, triunfo da evolução
Stargate (82) 9 8172 9765 (mensagem de texto)
Edenio Rodrigues- Tenente-Brigadeiro
-
Inscrito em : 07/12/2010
Mensagens : 4614
Reputação : 483
Idade : 81
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 : 50
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 : 3642
Reputação : 370
Idade : 40
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/channel/UCWIc4GKYrujHiVfEE-66YTg?view_as=subscriber
Osasco/SP
_________________
Setup:
- Desktop:
Placa Mãe........: HUANANZHI X99 F8
Processador.....: Intel XEON E5-2696 v3 2300 MHz
Memória RAM..: 64GB DDR4 3200MHz
Placa de Vídeo.: ASUS GeForce RTX 2800Ti 11GB
Fonte................: XPG Core Reactor 850 Gold
S.O.: Windows 10 Pro 64 22H2
- Monitores:
LG 22" Wide - LG 24" IPS LED Wide - HP 19" LA1905wg
- Controles de Voo:
Saitek: Flight YOKE System + Throttle Quadrant + Flight Rudder Pedals
- Simuladores:
FSX-SE, MSFS2020, Prepar3D v5 e X-Plane 11 & 12
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 : 63
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 : 50
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 : 48
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 : 43
Reputação : 1
Idade : 36
Simulador preferido : X-Plane 11 e P3
Emprego/lazer : Instrutor de voo avião /Mecânico automotivo
Nacionalidade :
Tópicos semelhantes
» Plataforma de movimento para homecockpit com FSX ou XP10
» Plataforma P36
» plataforma de petrolio
» Processadores da plataforma AMD
» Xplane x na plataforma MAc
» Plataforma P36
» plataforma de petrolio
» Processadores da plataforma AMD
» Xplane x na plataforma MAc
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos