Monza Classic 500 EF Turbo Legalizado

Fotos e Vídeos de Monza! Envie imagens do seu carro!
Rafaelo
MODERADOR
Mensagens: 10170
Registrado em: 13 Jan 2007, 10:32
Cidade: serra gaúcha
Estado: Rio Grande do Sul-RS
Modelo: Monza Hatch
Motor: 2.0
Ano: 1982
Combustível:: Etanol
Injeção: MPFi

Re: Monza Classic 500 EF Turbo Legalizado

Mensagem não lida por Rafaelo »

ok se quiser fazer por janela de tempo pode ser feito, mas prefira acumulaçoes abaixo explico.

nao é isso que estou me referindo. é outra coisa que ainda nao entendeu. abaixo explico
a interferência disso no tempo de processamento é desprezível e a precisão é bem aceitável.
De toda forma tenha em mente que nao terá controle por metro a metro exatos dessa forma e a atualizaçao do teu hodometro dará por numeros quebrados e nao centesimal do quilometro com é o hodometro profissional .

1750mm(comprimento de certa roda)
1750 / 8(pulsos a cada 360º) = 218mm

ex: pra ter "100m" dessa tua forma, teria que ter algo assim
* 458 pulsos (99840mm) ou
* 459 pulsos (100062mm)
* contagem por pulso nao funciona em valor exato. tem que dividir 1 pulso 218mm pelo tempo do periodo do pulso, pra poder ter os 100.000mm exatos :wink:

como tinha dito desde o começo, por pulso sem tempo junto nao é precisoe vai ter erros de precisao grotescos, teria que usar tempo dentro de cada 218mm. ae é muiiiiiiito preciso.
ex: pra formar 1000mm(1m)
4 pulsos + (59% do tempo de 218) {pulsos + tempo}
218 + 218 + 218 + 218 + 128 = 1m

ja tem ideia como vai mostrar no display? tu simplesmente nao pode mostrar 100m a cada atualizaçao. pq estaria mentindo a distancia real !
esse erro é muito grotesco. "ideal" nesse exemplo seria a cada 459P = "100m" esta mais proximo, estaria errando menos.
faz um somatorio disso entao.
*62mm a cada "100m"
*620mm a cada "1 km"
*6200mm a cada "10 km"
*62000mm a cada "100 km" ...
ops, a cada 100km erro 62 metros! ganhou de brinde e seu carro ficou mais velho rsrsrs

entendeu a gravidade agora? tu nao vai poder mostrar 100m pq estaria mentindo, a nao ser que nao se importe com isso hehehe, ouuuu poderia usar esses valor quebrado, e sinceramente nao sei como tu vai fazer pra mostrar essa ckt de numero, sem usar tempo/distancia por pulso.

-------------

dica: nao faça por delay a atualizaçao a cada 500msec como ta querendo... os hodometros profissionais usam uma contagem progressiva pra isso, tipo a cada 458 pulsos contados incrementa 1 centésimo de quilometro e reseta o ciclo. esses loop nao é o modo certo de fazer :ok:
if (pulsecnt >= 458) {
pulsecnt = 0; // reset
hodocen ++; // 100m
}


bom, faça como quiser, so estou te alertando que vai marcar errado teu hodometro. faça como teste no começo so por somatorios de pulsos e use um GPS e veja se bate oque mostra no painel com a real distancia.
PROecu - Injeções eletronica para monzas.
Avatar do usuário
500EF
MODERADOR
Mensagens: 6031
Registrado em: 24 Ago 2007, 17:13
Cidade: BH
Estado: Minas Gerais-MG
Modelo: Monza 500 EF
Motor: 2.0
Ano: 1990
Combustível:: Etanol
Injeção: MPFi

Re: Monza Classic 500 EF Turbo Legalizado

Mensagem não lida por 500EF »

Mas eu não usei delay...

Apenas verifico se já se passaram xxx milissegundos desde a última atualização.

Eu fiz basicamente a mesma comparação que você, só que por tempo decorrido.

tipo: se (tempoAtual-tempoAnterior) >= 500ms, faço os cálculos e zero o contador.
Caso contrário não faço nada e fico esperando e acumulando os interrupts do VSS.

Mas a idéia de trocar isso por número de pulsos acumulados no contador como descreveu aí em cima também é boa...

Vou pensar (testar) melhor a respeito... ;)

PS: Um dos dois pacotes (não sei se o do sensor MAP ou se dos displays) já passou pela RF sem tributação. Agora só falta o outro e depois aguardar pacientemente o correio fazer o trabalho dele. ;)
Eduardo Rettore
Monza Classic 500 EF - 2.0i MPFi
Turbo@ 1 bar-Legalizado.
Rafaelo
MODERADOR
Mensagens: 10170
Registrado em: 13 Jan 2007, 10:32
Cidade: serra gaúcha
Estado: Rio Grande do Sul-RS
Modelo: Monza Hatch
Motor: 2.0
Ano: 1982
Combustível:: Etanol
Injeção: MPFi

Re: Monza Classic 500 EF Turbo Legalizado

Mensagem não lida por Rafaelo »

500EF escreveu: 23 Mai 2017, 14:33 Mas eu não usei delay...

Apenas verifico se já se passaram xxx milissegundos desde a última atualização.
ok, mas usou um timer delay a cada 500ms faz uma chamada. tenta fazer a cada enchimento de pulsos. assim evita possiveis falsos gatilhos. nao faz sentido um loop com ele parado, ou com ele em alta velocidade, os 500ms seria lento demais nesse ultimo caso. toda vez que enche a variavel atualiza é assim que fazemos, assim o hodometro nao fica sempre 500ms tanto com ele a 0 ou a 200 km/h é mais real da forma que expliquei. troca, é simples demais e vai ficar mais profissional.

eu to pra montar um video disso e colocar no meu canal, é um ensinamento profundo nao é pra publico comum e sim pra nos que mexemos com isso diaramente ou so por hobby. é bem legal o conteudo, e la explico tudo. ate pq eu to fazendo os videos aulas pra futuras consultas minhas, ja que é um ambiente bem complicado esse trabalho. muita informação, tanto de eng eletrica quanto eng de soft, e se lembrar de tudo isso nao da! o cara esquece ao longo do tempo.

sim, ate funciona da tua forma so tem esse inconveniente que te falei e o outro problema que nem sempre te da a distancia correta pq é por tempo o corte, se for por acumulo de pulsos é mais fiel e so atualizando quando preenche os "100.000mm" no teu caso nao é exato como vimos devido o uso de apenas pulsos na soma da distancia, mas mude a logica... vai notar que ficaria mais real a um hodometro.

500EF escreveu: 23 Mai 2017, 14:33 PS: Um dos dois pacotes (não sei se o do sensor MAP ou se dos displays) já passou pela RF sem tributação. Agora só falta o outro e depois aguardar pacientemente o correio fazer o trabalho dele. ;)
agora demora, leva uns 2 semanas a 4 semanas

---------------

a Fedex me entregou em 5 dias corridos(o pessoal trabalho domingo de madrugada,feriado etc) venho do TEXAS da mousereletronics, seg dia do trabalho realmente eles estavam trabalhando em quando o brasil folgando, so compro deles agora componente criticos de alto valor e raridade. china nao pego mais esses comp como MCU,Reg,ADC,IGBT,Fets,etc so comp analogicos na china mesmo. e olhe la

paguei caro, imposto sobre imposto,frete,etc mas a qualidade é um padrao nada visto no brasil nao esperava tanto, acostumado a receber comp em papel higenico enrolado, da vergonha fazer qualquer comparaçao. eu recebi dentro de um plastico isolado anti estatico, um sache anti umidade, um envelope de controle de umidade, caixa especial alojamento do componente, certificado de ORIGEM, e um laudo tecnico da saida do estoque olha isso!. alto nivel mesmo ! mas nao da pra comprar qualquer comp deles, sai caro ate teu lab, tem que ser coisa muito especial pra valer apena. senao é china mesmo
PROecu - Injeções eletronica para monzas.
Avatar do usuário
500EF
MODERADOR
Mensagens: 6031
Registrado em: 24 Ago 2007, 17:13
Cidade: BH
Estado: Minas Gerais-MG
Modelo: Monza 500 EF
Motor: 2.0
Ano: 1990
Combustível:: Etanol
Injeção: MPFi

Re: Monza Classic 500 EF Turbo Legalizado

Mensagem não lida por 500EF »

Na sua abordagem fica melhor mesmo. Evito até atualização desnecessária do display. Se o carro estiver lento ou parado, não vai ficar calculando e mostrando o mesmo valor 2 vezes por segundo como da minha maneira.

Sobra mais tempo de processamento para cuidar de outras coisas, inclusive contar os pulsos.

Eu também já comprei coisa USA.

Sem dúvida é outro nível mesmo... Mas tudo tem seu preço... Só que tem coisa que realmente vale a pena pagar o preço.

Uma das minha últimas compras da china o correio do petê e do temer levou mais de 4 meses para entregar. Sonho com o dia que esta praga maldita seja privatizada. Mais um antro de ladrões safados sem-vergonha. Serviço ruim e caro dos infernos!

Comprei em Janeiro, chegou ao Brasil uns 15 dias depois e só fui receber na semana passada.

Eu já tinha até desistido, o correio já tinha dado como extraviado depois das minhas várias reclamações e o chinês fez o reembolso da compra (US$ 10). Eu já tinha até desistido quando na sexta-feira chegou o pacote lá em casa.
Eduardo Rettore
Monza Classic 500 EF - 2.0i MPFi
Turbo@ 1 bar-Legalizado.
Avatar do usuário
500EF
MODERADOR
Mensagens: 6031
Registrado em: 24 Ago 2007, 17:13
Cidade: BH
Estado: Minas Gerais-MG
Modelo: Monza 500 EF
Motor: 2.0
Ano: 1990
Combustível:: Etanol
Injeção: MPFi

Re: Monza Classic 500 EF Turbo Legalizado

Mensagem não lida por 500EF »

Aqui meu código preliminar (ainda não dei "acabamento", nem deixei as rotinas mais enxutas... Fui adequando durante o teste daquele dia, com o carro ligado na garagem. Então não repare nas "sujeiras", fórmulas ineficientes, etc).

Também ainda não removi as variáveis que usava na abordagem de atualização por período que estava antes e coloquei um valor genérico de 500 pulsos só para compilar.

Tem alguns pequenos detalhes que usei para melhorar a eficiência do interrupt (como a cópia local da variável no 'loop') que talvez possa interessá-lo também.

eu gosto de xeretar código dos outros... Sempre aprendemos alguma coisa... hehehe

E eu costumo encher o código de comentários para facilitar o meu entendimento, se um dia tiver que dar manutenção... Como você disse, é facim, facim você esquecer porque fez (ou deixou de fazer) algo, com o passar do tempo... hehehe

Imagem
Imagem
Eduardo Rettore
Monza Classic 500 EF - 2.0i MPFi
Turbo@ 1 bar-Legalizado.
Rafaelo
MODERADOR
Mensagens: 10170
Registrado em: 13 Jan 2007, 10:32
Cidade: serra gaúcha
Estado: Rio Grande do Sul-RS
Modelo: Monza Hatch
Motor: 2.0
Ano: 1982
Combustível:: Etanol
Injeção: MPFi

Re: Monza Classic 500 EF Turbo Legalizado

Mensagem não lida por Rafaelo »

500EF escreveu: 23 Mai 2017, 16:22 Na sua abordagem fica melhor mesmo. Evito até atualização desnecessária do display. Se o carro estiver lento ou parado, não vai ficar calculando e mostrando o mesmo valor 2 vezes por segundo como da minha maneira.
exatamente, e tambem nao faz sentido atualizar o nada, isso abre margem pra gatilhos falsos que possam ocorrer. ainda mais em uma programação simples sem histereses ou samples counte(melhor de 3 ou seila o valor). deixa acumular, quando bater o numero perto dos 100.000mm resete o ciclo e incremente 100m porem como te falei vai ter erros de distancia no acumulado e é um somatorio, mas vai funcionar.
500EF escreveu: 23 Mai 2017, 16:22 Eu também já comprei coisa USA.

Sem dúvida é outro nível mesmo... Mas tudo tem seu preço... Só que tem coisa que realmente vale a pena pagar o preço.
em 2010 eu comprei a MS do alabama. mesmo nivel, porem esse via correio levou 25 dias. via courier porta a porta foi a primeira vez, pago na hora a despesas, fora o custo do cartao no site da empresa do componente. fiquei espantado, realmente nao sabia que era tao rapido e tao bom, tive SEDEX mais lerdos de SP ate o RS. uma vergonha total ne :? isso que comprei na SEX, QUARTA tava na mao. e SEG era dia do trabalho hehehe e o sedex é tao caro quanto 34,00 dolar la do TX-EUA
500EF escreveu: 23 Mai 2017, 16:22 Uma das minha últimas compras da china o correio do petê e do temer levou mais de 4 meses para entregar. Sonho com o dia que esta praga maldita seja privatizada. Mais um antro de ladrões safados sem-vergonha. Serviço ruim e caro dos infernos!

Comprei em Janeiro, chegou ao Brasil uns 15 dias depois e só fui receber na semana passada.

Eu já tinha até desistido, o correio já tinha dado como extraviado depois das minhas várias reclamações e o chinês fez o reembolso da compra (US$ 10). Eu já tinha até desistido quando na sexta-feira chegou o pacote lá em casa.
comprei 3X da china uma delas demorou 90 dias e as outras < 40 dias, sim privatização o quanto antes, se ta ruim na mao do governo é por algum motivo. escrevem oque estou dizendo, no dia que entrar no correio o brasil vai se chocar. o pior nem começou, mas os comunoides acham que nao né, cambada de crentes do exercito vermelho.

engraçado com a china é capitalista né! que coisa! fazemos qualquer negocio.
PROecu - Injeções eletronica para monzas.
Rafaelo
MODERADOR
Mensagens: 10170
Registrado em: 13 Jan 2007, 10:32
Cidade: serra gaúcha
Estado: Rio Grande do Sul-RS
Modelo: Monza Hatch
Motor: 2.0
Ano: 1982
Combustível:: Etanol
Injeção: MPFi

Re: Monza Classic 500 EF Turbo Legalizado

Mensagem não lida por Rafaelo »

com o tempo tu vai arrumando ele conforme teu propósito, é costume de programador comentar qualquer linha ate as mais logicas pq agora não faria sentido um comentario bobo, mas deixa passar 2 semanas sem tocar no codigo, a logica que tu criou na tua cabeça é deletada. isso é normal em qualquer pessoa. tenho amigos programadores de logica alta que seria o teu caso e o meu tb(nao no momento), porem hoje eu trabalho em logica media (C puro e hardware) é pior ainda, tudo tem que ser comentado. é incrivel como agente esquece coisas simples, e a logica ate montar ela devolta pode levar algumas horas ou dias rsrsrs

na eletrônica é o mesmo processo. e esquecer a formula da divisao de tensao nao é vergonha alguma! é por isso que existe papel, caneta e arquivo.

------------------

dicas:
* sempre use uma unica unidade de medidas, notei que tu usou polegadas no calculo. evite isso, e deixa a unidade maior possivel pra tanto melhorar a precisão como deixar o compilador mais feliz. use em mm comprimentoroda = 1780 como é uma constante evite por esse calculo. ja deixa fixo o valor em mm.
tipo: const unsigned int comprimentoroda = 1780;

quanto menos calculo ele fizer mais rapido fica.

*evite de colocar ele todo aberto dentro desse main loop, ali é muito rapido a taxa de atualizaçao. faça assim. coloque tudo dentro da ISR

Código: Selecionar todos

void le_VSS() { 

 VSScount ++;

 if (VSScount >= 459) { // quase 100m 
 
/*todo bloco de comando que estava dentro do mainloop, talvez precise modificar tua logica atual que esta no loop pra por aqui. quando der 459 tu vai    ter certeza que sao "100m" entre aspa pq nao é real. é ate mais facil doque o teu atual.*/

  kmcem++; // 100m joga esse numero no display
  VSScount = 0; // reset
 }

}
sobre meu codigo vou ver se monto um video e depois posso colocar aqui.
PROecu - Injeções eletronica para monzas.
Avatar do usuário
500EF
MODERADOR
Mensagens: 6031
Registrado em: 24 Ago 2007, 17:13
Cidade: BH
Estado: Minas Gerais-MG
Modelo: Monza 500 EF
Motor: 2.0
Ano: 1990
Combustível:: Etanol
Injeção: MPFi

Re: Monza Classic 500 EF Turbo Legalizado

Mensagem não lida por 500EF »

Ele precisa mesmo passar por uma faxina.

Eu fiz várias tentativas antes de chegar a esta e assim o código acaba ficando "sujo" e com fórmulas ineficientes, com cálculos desnecessários.

Mas ali na hora, o importante é funcionar. E você vai "sujando" sem nem perceber.

Mas eu já escrevi de todo tipo de programas, desde todo o sistema aqui da empresa (DOS/Delphi/banco de dados SQL, PHP, etc), até montar e configurar os servidores (já passei por DOS/Lantastic, Win for workgroups, Win NT e depois fui para o linux, em 1998 - e fiquei nele, porque é o que eu gosto mais), com shell scripts para automatizar algumas tarefas, etc.

Eu me divirto com isso desde quando tinha uns 10 anos (quando fiz meu primeiro cursinho de Basic, num CP500... :D). Lá pelos meados dos anos 80...

Só ainda não tinha tido tempo de me arriscar com programação voltada para microcontroladores. Já tinha tentado, uns 15 anos atrás, começar a estudar PIC, mas na época não era tão fácil como hoje achar informação na internet e tal...

E o arduino, como plataforma de desenvolvimento, simplifica bem as coisas. Claro que se for para algo profissional, é bom pensar em soluções mais robustas e confiáveis.

Por exemplo, estes dias eu o usei para gerar sinais de disparo para testar umas bobinas de ignição na bancada. Se ele ficar muito perto da centelha, trava e você tem que apertar o reset...

Ambiente de desenvolvimento é uma coisa. Ambiente de produção, cheio de ruídos e interferências, temperatura, vibração, o buraco é beeeeeeeeeem mais embaixo. E tenho consciência disso...

Mas eu gosto destas coisas... Eu sempre encarei como um "hobby útil"... Igual mexer nos carros... Não vivo disso, mas me divirto com isso... hehehe
Eduardo Rettore
Monza Classic 500 EF - 2.0i MPFi
Turbo@ 1 bar-Legalizado.
Responder