Página 1 de 2

[ajuda] diy Sensor de ascensão de marcha

Enviado: 12 Ago 2015, 23:11
por guijgl
Caros, boa noite!

Sou aluno de Engenharia Indústrial Mecânica e um apaixonado por veículos antigos!
Lembro com carinho de meu antigo carro, um Monza GL de 1994.
Ele tinha uma “função” interessante, que na época, era chamado de Luz de ascensão de marcha (http://img717.imageshack.us/img717/3552/img1772a.jpg).
A ECU do veiculo (uma multec 700) lia algumas variáveis do motor, tais como: Velocidade; pressão; abertura da borboleta do acelerador; RPM e fazia algum calculo e acendia uma luz indicando que já poderia passar de marcha. Caso eu “afundasse” o pé a luz apagava e acendia de novo (como se fosse um modo esportivo).
Estou querendo reproduzir isso com um micro-controlador, porém eu não sei o calculo que era feito na central.
Será que vocês tem algum algoritmo ou me possa fornecer algum estudioso que saiba qual a matemática envolvida?
Entendo que não deva ser o forte de vocês mas, não custa de tentar!

Pesquisei muito aqui no fórum e não achei nada que fosse a fundo neste assunto, apenas citações de quais os sensores envolvidos. Eu preciso da matemática exata que o controlador fazia, mandei até email para a GM (imaginei que eles tinham isso em arquivo) e nada....

Se alguem me ajudar eu vou desenvolver em linguagem C com arduino e passo aqui no forum o sketch para, quem sabe, colocarmos este sensor em qualquer carro (pra quem, como eu, sente saudade)

De qualquer maneira, obrigado! (para os curiosos, não vendi meu monza, infelizmente me fecharam e deu pt no carro... que saudades)

Re: [ajuda] diy Sensor de ascensão de marcha

Enviado: 13 Ago 2015, 12:49
por Luiz Carlos (Rio)
Essa luz indicativa de troca de marcha, da qual eu gosto muito, pois meus primeiros carros só tinham 4 marchas e eu frequentemente 'esqueço' que o Monza tem uma 5ª, existe também em alguns carros modernos.
O Clio 2014, o Fiesta e o Ka mais recente têm essa luz, que muitos motoristas consideram não servir para nada, como pode ser lido aqui:

http://www.noticiasautomotivas.com.br/n ... m-conhece/

Se me perguntassem quais os parâmetros importantes para se implementar uma luz indicativa dessas, eu diria que a carga e a rotação do motor seriam importantes.
Um motor com carga muito baixa indica que se está com uma marcha muito baixa para a situação e a luz deve acender.
Da mesma forma, uma rotação muito alta para uma determinada marcha também acenderia a luz.

Um complicador é que esses sistemas são adaptativos ao modo de dirigir do motorista, se o motorista costuma, como eu, passar marchas sem subir muito a rotação, ou sem deixar o motor rodar 'solto' demais, a luz acende antes. Para motoristas que gostam de impressionar (e desperdiçar combustível), subindo muito o giro antes de trocar de marcha, a luz vai acender mais tarde.

Abs

Re: [ajuda] diy Sensor de ascensão de marcha

Enviado: 13 Ago 2015, 13:42
por 500EF
Os Astras Flex também têm a indicação no painel.

Agora, tudo bem que a luzinha é interessante. Mas um computador de bordo, mostrando o consumo em tempo real (km / l) é bem mais informativo do que isso.

Aí, em pouco tempo você pega o melhor jeito de dirigir. Se é esticando ou trocando a marcha.

Quem já teve carro com CB sabe do que estou falando... Sinto falta disso nos meus carros que não têm (por incrível que pareça, nem o cruze tem consumo instantâneo)...

Re: [ajuda] diy Sensor de ascensão de marcha

Enviado: 13 Ago 2015, 14:45
por Carlos A. Freire
Eu acredito que a UCE utiliza os valores de rotação do motor, depressão do coletor de admissão e velocidade do veículo para cálculo do melhor momento para troca de marcha.
Reparem que quando há problemas com sensor de velocidade, a luz de troca de marchas acendente deixa de funcionar.

Abs,

Carlos Freire

Re: [ajuda] diy Sensor de ascensão de marcha

Enviado: 13 Ago 2015, 16:31
por 500EF
Também acho que é por aí...

MAP, VSS, RPM e talvez o TPS.

Re: [ajuda] diy Sensor de ascensão de marcha

Enviado: 13 Ago 2015, 19:16
por CristianoHi-tech
Carlos A. Freire escreveu:Eu acredito que a UCE utiliza os valores de rotação do motor, depressão do coletor de admissão e velocidade do veículo para cálculo do melhor momento para troca de marcha.
Reparem que quando há problemas com sensor de velocidade, a luz de troca de marchas acendente deixa de funcionar.

Abs,

Carlos Freire
A título de curiosidade, meu outro monza um SLE/93 tinha CB e luz indicativa de troca de marchas. Quando o sensor de velocidade acoplado no câmbio deu defeito, além da luz parar de indicar a troca de marchas, o CB inverteu os valores, ou seja, quando "folgava" o acelerador o consumo instantâneo (valores) aumentava, quando "apertava o pé" os valores diminuíam. Em condições normais isso é o contrário.

Abraços.

Re: [ajuda] diy Sensor de ascensão de marcha

Enviado: 13 Ago 2015, 19:22
por 500EF
Mas isso é facil de entender.

Sem a informação de velocidade(carro parado), nao tem como calcular km/l.

Entao ele passa a exibir l/h. ;)

Re: [ajuda] diy Sensor de ascensão de marcha

Enviado: 13 Ago 2015, 23:33
por Rafaelo
o algortimo que voces estão discutindo so usa tres variaveis de memória RAM(momentania).

*RPM(para o torque)
*MAP(para o carga)
*VSS(para o numero da marcha)

não é usado mais nenhuma dessas em qualquer ECU que tenha essa função. a Megasquirt tem a função shiftlight programavel é claro usando isso. se usa isso da mesma forma pra economizar combustivel e respeitar o regime projeto original do motor, ou ainda se o objeto for apenas de limite de giro pra um projeto especial de pista. seja ele qual for o objeto la tem as opções...

a multec 700 antiga usa o VSS pra evitar de ligar a luz em alguma situação. por exemplo: 5 marcha / motor cheio(alta carga) / >3000 rpm = pediria uma 6° marcha(tem um problema desse no forum, que um monza pedia 6°)

ao autor do topico que queira montar um algortimo C não nativo(ARDUINO) vai precisar inserir no bloco fonte umas variavel de controle, tu tem que por essa condiçao no teu codigo pra funcionar com uma certa inteligência.

outra coisa. vai precisar de um circuito analogico pra alta tensao pra capturar e tratar o sinal pra digital e limpo pra o MCU(no teu caso pelo visto vai usar um Atmel AVR) isso se tu quer pegar o sinal direto da bobina. ou ainda(não recomendo) pegar o sinal vindo do HEI ate ECU que é digital 0-5v freq, esse sinal poderia ser ligado a porta digital do MCU diretamente. porem tem riscos de ruidos no sistemas. ou ainda tu poderia tratar esse sinal com um optoacoplador e cap. ae sim seria mais interessante de todos... tu tem 3 opções so ae.

mais uma coisa. vai precisar injetar o sinal de retorno do sensor MAP (variação da tensao 0-5v) sinal analogico liga a porta ADC do MCU em questao diretamente sem tratamento eletronico.

depois é pura programaçao!

é possivel, nao é caro, mas da trabalho.

eu pq nao tenho tempo e nem paciencia no momento, senao te montava um equipamento desse pra ti usar no teu monza.

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

sou prog C voltado pra ECU/automação ind/etc trabalho tb com engenharia mecanica de motores virgens ou ja feitos de fabrica ou nao. o funcionamento do motor em questão tu deve observar e respeitar o seguinte! fazer o seguinte pra ser exatamente igual a um carro de fabrica. a troca de marcha(ou aviso visual) sempre se deve fazer no momento de torque maximo do motor ou um pouco antes pra ter a reação humana e trocar bem em cima da faixa. no caso do familia 2 8V gas/alc fase 1,2,3 é entre 2500 a 3000. em acontece o torque maximo apartir da carga media ate alta, que vai de 50~100(pressao Atm local) em grandeza kPa

exemplo ilustrativo da programaçao:
se RPM for >= 2500 and <= 3000 entao prossiga pelo bloco...
se VSS for <= 250 entao prossiga pelo bloco... precisa saber qual a freq do VSS é em 5 marcha apartir dos 2000 rpm. isso limita a luz ligar pra pedir 6°
se MAP for >= 50 and <= 100 entao manda a porta do MCU ativar a LED ou transistor NPN de sinal, se for usar uma incandescente.
opcional: contador logico de marcha VSS.
opcional: tem que por uma Histerese pra evitar disso ficar piscando toda hora :smt023 isso é por parte logica.

OBS I: o sensor VSS emite frequencia, e quanto mais velocidade maior a frequencia. felizmente eu tenho mapeado isso, quantos Km/h representa em Hz :wink:

OBS II: os valores MAP e RPM no exemplo estão em grandeza fisica, vai precisar converter os valores pra por nas condições de programação. tu vai usar C IDE-Arduino correto? la existe um prontinho mastigado comando chamado MAP(não confunda com o sensor rsrsrs) tu pega os valores brutos do MCU 0-1024 do conversor ADC do MCU vindo do teu sensor MAP que passou pelo ADC e converte em numeros da grandeza pressao kPa...
por exemplo: 50kPa seriam 2.5v no retorno do sinal MAP seriam 512 no ADC, esse valor tu passa pro tratamento MAP e converte ele em 50. se tu tem intimidade com arduino entao ta mais facil, senao vai ser complicado pra ti entender.

tu vai ter que se virar em saber qual a tensao de retorno do MAP corresponde a 50 Kpa ate 100 Kpa, talvez tenha alguma tabela por ae do sensor MAP. depois tu converte na formula ADC do "arduino" é por 1024 ja que é um conversor 10 bits. procure por ae converter "tensão ADC arduino" la tem a formula.

OBS III: tu vai precisar de 3 portas no MCU, duas digitais e uma analogica(ADC pra usar no MAP)
OBS IV: tu vai precisar de um circuito pra retificar o sinal do VSS ele manda 10v e se tu ligar isso direto na porta do teu MCU ja era pra ele. so aceita ate 5V, monte um circuito Opto acoplador e um resistor pullup 5v ae sim vai direto pra porta logica IN do MCU chaveando 0-5V digitalmente.




hehehe nao sei tu ta meio perdido ae mas nao é como ligar uma LED! vo te passar mais dica, anota ae.

agora vai a parte da engenharia mecanica pra fazer essa luz ascender corretamente e no momento certo.
1° o motor so produz torque no momento que ele entra em carga, fora disso NAO. ou seja quando o TPS se abre acima dos 20% ja começa a entrar boa vazao volumetrica do motore portanto gerando torque.
2° motor "parado" acelerando ele sem carga no neutro não produz torque algum. por isso tu tem que por a variavel MAP no jogo entendeu? ae nao precisa de TPS, ja que o MAP ou melhor CARGA é o resultado do torque. sem isso tua luzinha ligaria, acelerando com ele parado no neutro, como faz os carros de pista lembra? eles so pega RPM pq a carga sempre ta cheia desses motores e o importante ali é limite de RPM e nao ponto de torque maximo :wink:

se tiver mais duvida manda ae, mas com isso tu ja pode ir pesquisando bons estudo :smt023