Vario sonoro usando FrSky DHT-U

Li-po, Li-Ion, Nimh, 1s2p, 10c...... quer aprender mais sobre o "combustivel" dos nossos modelos? Este é o local! Aqui também está aqueles esquema de carregador ou aquele ESC que estava procurando.
Avatar do usuário
Rudolf
membro
Mensagens: 362
Registrado em: Ter Jan 18, 2011 1:19 pm
Localização: Sorocaba-SP

Mensagem por Rudolf »

[quote:4d81d33010="MacCross"][quote:4d81d33010="Rudolf"]O MSP tem como enviar 2 saídas complementares...[/quote:4d81d33010]
:o Dá pra fazer isso com o Arduino e Tone?
[/quote:4d81d33010]

Sei não. Nunca mexi com o Arduino...

Pesquise na geração de sinais PWM.

[quote:4d81d33010]
Aquele esquema que eu descobri só não torra o TR se o indutor tiver uma resistencia consideravel (o que deve ser verdade para 39mH). Será que acha isso na Santa Efigenia?
[/quote:4d81d33010]

Acho que sim, provavelmente na Dabi ou na Mult (ambas na Timbiras, entre a Santa Ifigênia e a Rio Branco).

[quote:4d81d33010]
O alarme é este:
[url]http://www.ebay.com/itm/Self-adhesive-Wireless-Magnetic-Sensor-Burglar-Door-Window-Entry-Alarm-90-dB-TR-/181206294931?pt=LH_DefaultDomain_0&hash=item2a30bca193[/url]
vem com pilhas, tem um integrado, reed, Tr, indutor e piezo (alem da caixa, imã, fita dupla face... :lol: )[/quote:4d81d33010]

Consegui 2 campainhas de telefone público. Berra que é uma beleza :)
Não sabendo que era impossível, foi lá e fez
Avatar do usuário
Rudolf
membro
Mensagens: 362
Registrado em: Ter Jan 18, 2011 1:19 pm
Localização: Sorocaba-SP

Mensagem por Rudolf »

Ontem fiz o primeiro teste com o bichinho. Tinha algumas arestas que foram devidamente decepadas.

Fiquei impressionado com a resolução do novo vario da FrSky, que tem resolução de 10cm. Ergo o cidadão bem devagar, e a indicação de altitude aumenta proporcionalmente. Chique!

Suspendo ou desço o avião rapidamente e percebo o atraso que você me mostrou. Ainda não sei se é assim mesmo ou tem que ser melhorado.

Ainda tem alguns pontos a ser olhados com mais carinho. Quem sabe hoje eu consigo terminar o protótipo prá ser testado na pista no sábado?
Avatar do usuário
MacCross
membro
Mensagens: 633
Registrado em: Dom Dez 07, 2008 8:32 pm
Localização: Santana de Parnaíba, SP

Mensagem por MacCross »

[quote:b4ad8ce04e="Rudolf"]Suspendo ou desço o avião rapidamente e percebo o atraso que você me mostrou.[/quote:b4ad8ce04e]

[quote:b4ad8ce04e="Rudolf"]Também não fiz nenhuma média da altitude conforme conversamos
[/quote:b4ad8ce04e]
Ué? E de onde poderia vir esse atraso?
Será que do sensor FrSky fazendo média por conta própria?
Avatar do usuário
Rudolf
membro
Mensagens: 362
Registrado em: Ter Jan 18, 2011 1:19 pm
Localização: Sorocaba-SP

Mensagem por Rudolf »

O protótipo tá pronto prá ser testado em campo e fizemos um videozinho prá mostrar como está:

[yt]igkyPC1QtUQ[/yt]

O piloto e testador é meu filho e no comando da câmera está minha filha :)

Um controlador MSP430 recebe a serial do transmissor DHT, que possui diversos dados de telemetria, tais como altitude, tensão da bateria e nível do sinal de rádio (RSSI) que chega ao receptor e no transmissor.

Dentro do planador só é preciso o receptor e um vario (altímetro) de alta resolução (10cm), ambos da FrSky. Fica bem leve :)

Nunca ouvi um vario de verdade. Sendo assim, o som gerado pelo controlador se baseia nas informações que recebi do Fabio (alemão do e-voo). Espero ter entendido certo.

De brinde o controlador indica (por som) quando a bateria está com nível baixo.

Abraços,
Rudolf
Naldo
membro
Mensagens: 14
Registrado em: Qua Jul 07, 2004 8:21 am

Mensagem por Naldo »

Olá Rudolf!
O bichinho ficou muito bom! Parabéns.
Podia mudar o ritmo para samba!
Não consigo ver o link do filme aqui, mas eu vi no zé-mail ICA.
Qual é o tempo entre amostras?
As contas são realizadas a cada amostra que chega? São muito complexas?
Naldo
Naldo
membro
Mensagens: 14
Registrado em: Qua Jul 07, 2004 8:21 am

Mensagem por Naldo »

Olá Sobral,
Gostei da idéia do indutor, deve gerar surtos de tensão altos, tem que tomar cuidado com o TR. Pode ser colocado um resistor em série com indutor e talvez um zener (com diodo em série) entre +5V e Q1-C para limitar a tensão no TR (formando um snubber) ou um outro circuito snubber (RCD), que vai aumentar a quantidade de componentes. Tem que ser considerado também a potência ou tensão máxima do buzzer, que não sei se é fácil conseguir esta informação.
Sugiro este tipo de indutor:
http://www.tcind.com.br/zoom.asp?id=44
http://www.tcind.com.br/upimagens/Catalindutorfixo8HY.pdf
Se não encontrar no valor, mas com mesmo núcleo, você pode reenrolar e obter o valor desejável.
até mais
Naldo
Avatar do usuário
Rudolf
membro
Mensagens: 362
Registrado em: Ter Jan 18, 2011 1:19 pm
Localização: Sorocaba-SP

Mensagem por Rudolf »

[quote:b4154b4a49="Naldo"]Olá Rudolf!
Qual é o tempo entre amostras?
[/quote:b4154b4a49]

Depende do tempo que o Rx envia. O Sobral pode dar mais informações sobre isso.

[quote:b4154b4a49]
As contas são realizadas a cada amostra que chega?
[/quote:b4154b4a49]

As contas são feitas a cada 50ms, independente da taxa de recepção.

[quote:b4154b4a49]
São muito complexas?
[/quote:b4154b4a49]

Né não:

#define FATOR 2
#define LIMITE_TOM 3*FATOR
#define TEMPO_CICLO 50

// A variável Altitude é atualizada na rotina Serial()

for( ; ; ){
Pressao=-10.0*Altitude;

lowpassFast = lowpassFast + (Pressao - lowpassFast) * 0.1*FATOR;
lowpassSlow = lowpassSlow + (Pressao - lowpassSlow) * 0.05*FATOR;

toneFreq = (lowpassSlow - lowpassFast) * 50;

toneFreqLowpass = toneFreqLowpass + (toneFreq - toneFreqLowpass) * 0.1;

Freq = constrain(toneFreqLowpass, -500, 500);

ddsAcc += Freq * 100 + 2000;

if((Freq > LIMITE_TOM && ddsAcc > 0) || Freq < -LIMITE_TOM)
Som((int)Freq + 510);
else
Som(0);

do{
vIdle();
ChecaHardware();
Serial();
}while(Tempo<UltimoTempo+TEMPO_CICLO);
UltimoTempo+=TEMPO_CICLO;
}
Não sabendo que era impossível, foi lá e fez
Avatar do usuário
MacCross
membro
Mensagens: 633
Registrado em: Dom Dez 07, 2008 8:32 pm
Localização: Santana de Parnaíba, SP

Mensagem por MacCross »

[quote:5d05c57950="Rudolf"]O protótipo tá pronto prá ser testado em campo e fizemos um videozinho prá mostrar como está: ...[/quote:5d05c57950]

Ficou ótimo Rudolf. Parabens!
Mas o video não aparece no post, pelo menos pra mim. Acho que vc tem que digitar só o código do seu video no youtube em vez do endereço completo (no seu caso igkyPC1QtUQ), fica assim: [yt ] igkyPC1QtUQ [ /yt] (coloquei espaços para poder aparecer). Sugiro que edite.

O que vc usou para fazer bip?

O som do vario está ótimo.
[yt]2HFGNAlIjhk[/yt]

Montei um vario KK para o Marcelo, funciona; não consigo entender isto:
[code:1:5d05c57950]ddsAcc += toneFreq * 100 + 2000;[/code:1:5d05c57950]
Explica pra mim, por favor.
Queria silenciar quando proximo de zero climb rate e não tou conseguindo.:(


Naldo

Indutor... comprei este:
[url]http://www.ebay.com/itm/320563728470?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649[/url]

A altitude na telemetria FrSky faz parte dos frames user data. Especificamente a altitude é enviada (teoricamente) a cada 200ms (a maior taxa de atualização dos user frames, protocolo disponivel no site da FrSky).

Abrç
Avatar do usuário
Rudolf
membro
Mensagens: 362
Registrado em: Ter Jan 18, 2011 1:19 pm
Localização: Sorocaba-SP

Mensagem por Rudolf »

[quote:72d6915b93="MacCross"]
Mas o video não aparece no post, pelo menos pra mim. Acho que vc tem que digitar só o código do seu video no youtube em vez do endereço completo (no seu caso igkyPC1QtUQ), fica assim: [yt ] igkyPC1QtUQ [ /yt] (coloquei espaços para poder aparecer). Sugiro que edite.
[/quote:72d6915b93]

Veja se melhorou.

[quote:72d6915b93]
O que vc usou para fazer bip?
[/quote:72d6915b93]

Campainha de telefone público. Parece que se acha fácil na Mult.

[quote:72d6915b93]
Montei um vario KK para o Marcelo, funciona; não consigo entender isto:
[code:1:72d6915b93]ddsAcc += toneFreq * 100 + 2000;[/code:1:72d6915b93]
Explica pra mim, por favor.
[/quote:72d6915b93]

Esta parte do código não fui eu que escrevi, copiei daquele tópico do RcGroups que você me indicou.

Bão, entendi que ddsAcc é quem dá a taxa de "som/sem som" quando o planador sobe. Quanto maior for toneFreq, mais rápido ddsAcc estoura o limite de um número positivo (15 bits) e passa a ser negativo (e cancela o som). Vai aumentando até que volta a ser positivo (e volta a mostrar o som). Achei o método simples e eficiente :)

[quote:72d6915b93]
Queria silenciar quando proximo de zero climb rate e não tou conseguindo.:(
[/quote:72d6915b93]

Vou dar uma olhada na rotina que você está usando prá ver se consigo ajudar.
Não sabendo que era impossível, foi lá e fez
Avatar do usuário
MacCross
membro
Mensagens: 633
Registrado em: Dom Dez 07, 2008 8:32 pm
Localização: Santana de Parnaíba, SP

Mensagem por MacCross »

[quote:46b5c427e4="Rudolf"]Veja se melhorou...

Campainha de telefone público. Parece que se acha fácil na Mult....

Quanto maior for toneFreq, mais rápido ddsAcc estoura o limite de um número positivo (15 bits) e passa a ser negativo (e cancela o som). Vai aumentando até que volta a ser positivo (e volta a mostrar o som). Achei o método simples e eficiente :)...

Vou dar uma olhada na rotina que você está usando prá ver se consigo ajudar.[/quote:46b5c427e4]

Rudolf

1 Agora sim, aparece o video.
2 Ótima solução.
3 Obrigado pela explicação, era o "byte" que me faltava.
4 Esse silencio é para o vario KK. Já tentei :
[code:1:46b5c427e4]if (toneFreq > 0 && ddsAcc > 0)
{
tone(2, toneFreq + 510);
}
else
{
noTone(2);
}[/code:1:46b5c427e4] mas não gostei do resultado

Abrç
Responder