prof. edson-20121 disciplina sistemas de gerenciamento i (sgi) prof. edson
TRANSCRIPT
Prof. Edson-2012 1
DISCIPLINA
SISTEMAS DE GERENCIAMENTO I (SGI)
Prof. Edson
Prof. Edson-2012 2
Objetivos Específicos da Aula:- Estratégias de Injeção Eletrônica (Pujatti)
- Estratégias da Ignição Eletrônica (Pujatti )
- Sensores de Relutância Magnética (Lequesne et al., Magnetic Velocity Sensor, IEEE 1996)
- Roda Fônica (Bosch 25 ed. Pág. 119-121)
- Circuitos de Detecção de Sinal dos Sensores RMV.
- LM1815 (Datasheet)
- NCV 1124 (Datasheet)
- Métodos de construção de software
PROF. Edson-2012 3
Uma contribuição ao controle de motores de combustão interna, BRAGA 2007
PROF. Edson-2012 4
Uma contribuição ao controle de motores de combustão interna, BRAGA 2007
PROF. Edson-2012 5
PdasDesenvolvimento de um sistema de gerenciamento para MCI – Pujatti - 2007
Prof. Edson 2012 6
2:1 até 12:1
2:1 até 15:1
14.7:1
Prof. Edson 2012 7
Diagrama Esquemático do ECU de EFI Bosch K-Jetronic
Gasoline Fuel Injection System K-Jectronic – Bosch Technical Instruction - 2000
Prof. Edson 2012 8
Prof. Edson 2012 9
Arquitetura de Controle
Luiz Glielmo, et al., Achitecture for eletronic control unit tasks in automotive engine control, 2000, IEEE
Prof. Edson 2012 10
Arquitetura de Controle
Luiz Glielmo, et al., Achitecture for eletronic control unit tasks in automotive engine control, 2000, IEEE
Prof. Edson 2012 11
Arquitetura de Controle
Prof. Edson 2012 12
Rotina de Controle do Timer 0
INT_TIMER0
Recarrega TRM0
Ignição =1? Bomba=0
Bico=0
Tinj=0
N
DecrementaTinj
Tinj=0?
Bico=0
Tinj=0
S
Retorna
Prof. Edson 2012 13
Rotina de Controle da Interrupção Externa
INT_EXT
Bomba =1? N
Tinj=Valor_Calc
Bico=1
S
Retorna
Prof. Edson 2012 14
Rotina do Laço Principal
Main
Ignição =1?
Calculo(Valor_Calc)
Bomba=1
S
Inicializa VariáveisCarrega Parâmetros
Set do Hardware
setup_adc_ports (RA0_analog);
setup_adc(adc_clock_internal);
set_adc_channel (0);
setup_timer_0 (RTCC_INTERNAL | RTCC_DIV_16); // Define a taxa do Prescaler
set_timer0(225); // Define o valor inicial do TMR0
enable_interrupts (global | int_timer0); // Habilita a interrupção
// pin B0 and B1 are input and pins B[2-7] outputs
set_tris_b(0b00000011);
//the interrupt set to occur when the value changes
//from low to high
ext_int_edge(H_TO_L);
//enables the interrupt at the given level, INT_EXT.
enable_interrupts(GLOBAL);
enable_interrupts(INT_EXT);
set_adc_channel(0)
Lê as entradasAnalógicas
TPS=read_adc();
Tempo p/ Pressurizar
)/(_
0
00
CANV
VNT
T
p
p
TinjetoresinjetorFluxo
PistãoadmcilMAP
MAP
Oninj
Prof. Edson - 2012 15
Estratégia Speed-Density
Prof. Edson - 2012 16
Eficiência Volumétrica na Estratégia Speed-Density
ciladm
injetoresinjetorFluxo
PistãoadmcilMAP
MAP
Oninj
V
admitidaarMassa
CANV
VNTT
pp
T
__
)/(_
0
00
Notas de Aula Prof. Passarini – USP
CycleDutyN
BSFCPV
injetores
motorinjetorFluxo __
Prof. Edson - 2012 17
Todas as estratégias são dependentes de uma medida de frequência precisa para estabelecer as condições do motor.
A rotina para medir frequência numa ECU é uma das mais importantes, visto que muitas tabelas e parâmetros estão relacionados com a rotação..
Notas de Aula Prof. Passarini – USP
Prof. Edson - 2012 18
x
xxfxfxf
00 )()(
Interpolação de 1 variável
y
yyf
x
xxfyxfyxf xxyy
00
0000),(),(
Interpolação de 2 variáveis
Prof. Edson - 2012 19
Notas de Aula Prof. Passarini – USP
y
yyf
x
xxfyxfyxf xxyy
00
0000),(),(
x
y
Prof. Edson - 2012 20
Tabelas de 1 variável
Offset na partida
Prof. Edson - 2012 21
Tabela de 2 variáveis
Bomba de aceleração
1 lb=453,9 gramas
Mot
or
Prof. Edson - 2012 22
Tabela de 2 variáveis
Avanço da ignição
Prof. Edson - 2012 23
Nesta aula discute-se como medir a frequência de uma sinal usando a interrupção externa e do Timer 0.
Colocar aqui o processo de leitura.
Prof. Edson - 2012 24
Freqüência pelo Sensor Hall
ou
RPMRPS
RPMFHall
60
30
CMD
Árvore
RPM F(Hz)
300 10
900 30
1500 50
3000 100
6000 200
Prof. Edson - 2012 25
Hall com circuito de rampa para determinar o ponto de carga da bobina. O ponto S1 pode ser programado internamente nas unidades de ignição.
3070
303070
1
333.23
7
TTF
TTT
Prof. Edson - 2012 26
Multi-Tasking e Operação em Tempo Real
Quase todos os sistemas embarcados tem uma ou mais atividades que necessitam de um alto desempenho. No caso da ECU, muitas tarefas têm demandas de processamento simultâneo, ou quase simultâneo, como controle do tempo dos bicos injetores, leitura do sinal da roda fônica, leitura de sinais analógicos etc. O estilo de programação linear e seqüencial neste tipo de processo não permite que todas as tarefas sejam executadas no tempo correto.
Portanto, é necessário que se conheça algumas técnicas de programação para tarefas de alto desempenho e para isto é necessário compreender as exigências em:
- Multi-tasking ou Multi-tarefa
- Operação em tempo real
- Multi-tasking em programação seqüencial
- Princípios da Operação em Tempo Real
Prof. Edson - 2012 27
Multi-TaskingA operação Multi-Tasking é um processo na qual várias tarefas deveriam ser executadas simultaneamente, mas como a execução é seqüencial é necessário decidir o que deve ser feito primeiro e o que pode ficar para o final
HALL
TPS
TEMP
HEGO
HALL
TPS TEMP
HEGO
ECU
Prof. Edson - 2012 28
Multi-Tasking
A programação de um processo Multi-Tasking exige inicialmente a divisão do processo em tarefas de maneira que cada tarefa seja uma atividade distinta.
“Uma tarefa é uma função ou seção de um programa que executa claramente um propósito dentro de um processo”
Prof. Edson - 2012 29
Tarefas SequenciaisAbaixo temos um exemplo de um programa dividido em tarefas bem distintas e cujo tempo de execução varia conforme a demanda de cada tarefa.
Ler Chave de Ignição
Ler entradasAnalógicas
Ler SensorHall
Calcular tempode injeção
Controlar Bico
Tempo ~ 1s
Tempo ~ 10ms
Tempo ~ 10ms
Tempo ~ 1ms
Tempo ~ 0.1ms
Prioridades
Prof. Edson - 2012 30
Multi-TaskingObservamos que na estrutura anterior há uma dependência e interferência muito grande nos processos mais rápidos com relação aos processos mais lentos. Logo, devemos criar tarefas que tenham mais prioridades sobre os outros.
Ler Chave de Ignição
Ler entradasAnalógicas Ler Sensor
Hall
Calcular tempode injeção
Controlar Bico
Display
Comunicações
Interrupções
As interrupções priorizam os processos mais rápidos e dividem o tempo de processamento conforme a necessidade dos eventos Time-driven e Event-driven.
Event-driven
Time-driven
Loop Principal
Prof. Edson - 2012 31
Multi-Tasking em Programação SeqüencialAs tarefas em uma programação sequencial devem ser executadas conforme a demanda do momento e devidamente sincronizadas com o processo, como uma Máquina de Estados.
Ler Chave de Ignição
Ler entradasAnalógicas
Ler SensorHall
Calcular tempo de injeção
Controlar BicoDisplay
Comunicações
Interrupções
Event-driven
Time-driven
Loop Principal
Ler Chave?
Analógica?
Calcular?
Display?
ODBII?
Prof. Edson - 2012 32
Multi-Tasking em Programação SeqüencialInternamente, as tarefas não devem monopolizar o processamento.
Ler SensorHall
Controlar Bico
Interrupções
Event-driven
Time-driven
setup_adc_ports (RA0_analog);
setup_adc(adc_clock_internal);
set_adc_channel (0);
setup_timer_0 (RTCC_INTERNAL | RTCC_DIV_16); // Define a taxa do Prescaler
set_timer0(225); // Define o valor inicial do TMR0
enable_interrupts (global | int_timer0);
.
.
while(chave_ignicao = = 1)
{
}
Prof. Edson - 2012 33
Multi-Tasking – Máquinas de EstadoUma outra forma muito usual de programação no modelo Máquina de Estados é controlar temporalmente as Máquinas de estado (tarefas).
Tim Wilmshurst, Deign Embeded System with Microcontroller PIC
Prof. Edson - 2012 34
Multi-Tasking – Máquinas de EstadoÉ possível também fazer com os estados sejam cíclicos, mas podem ser coordenados para executar tarefas fora de uma seqüência.
Dogan Ibrahin, Advanced Pic Contttolker Programming in C
35
Para ter competência em programação são necessários:
Conhecimento da linguagem
Conhecimento de estrutura de dados
Conhecimento sobre heurísticas e algoritmos
Planejar, planejar, planejar e depois codificar
Muita prática
E aprender com programas que existem, ou seja, simular manualmente.
E se possível, seguir algumas normas, tais como a da AUTOSAR
(Automotive Open System Architecture)
Prof. Edson - 2012
36
AUTOSARModularity
Modularity of automotive software elements will enable tailoring of software according to the
individual requirements of electronic control units and their tasks.
ScalabilityScalability of functions will ensure the adaptability of
common software modules to different vehicle platforms to prohibit proliferation of software with
similar functionality.
TransferabilityTransferability of functions will optimize the use of resources available throughout a vehicle’s electronic
architecture.
37
AUTOSARRe-usability
Re-usability of functions will help to improve product quality and reliability and to reinforce
corporate brand image across product lines.
Standardized interfacesStandardization of functional interfaces across
manufacturers and suppliers and standardization of the interfaces between the different SW-Layers is seen as a basis for achieving the technical goals of
Autosar
Prof. Edson 2012 38
Para atender aquelas exigências
Planejar o software:
Esteja certo que você compreende a conexão (importância) do hardware e software. Em sistemas embarcados as duas áreas são muito conectadas.
Descreva em linguagem natural o que você deseja que o software execute.
Saiba quais são os requisitos do software e hardware.Tente descrever quais seriam as variáveis de entrada e saída.Pense como um micro!
Prof. Edson 2012 39
Relutância Magnética
rels A
l
A relutância é a resistência oposta à passagem do fluxo magnético e corresponde à resistência no circuito elétrico. A relutância é inversamente proporcional à seção transversal do seu trajeto. É a dificuldade imposta ao circuito magnético.
Prof. Edson - 201240
Chester Dawes, Curso de eletrotécnica, 1972
Algumas relações magnéticas importantes
NI
mWbA
B
mAl
NIH
CampoeIntensidad
FluxoDensidade
H
B
2/
/
_
_
Prof. Edson - 2012 41
Quando há variação de Fluxo Magnéticotemos indução de corrente no fio.
Prof. Edson - 2012 42Chester Dawes, Curso de eletrotécnica, 1972
Henries
)(
2
l
ANL
dt
diLtv
eN
I
Prof. Edson - 2012 43Lequesne et al., Magnetic Velocity Sensor, IEEE 1996
Sensor de Relutância Magnética
Prof. Edson - 2012 44Lequesne et al., Magnetic Velocity Sensor, IEEE 1996
N
iidt
d
dt
dtv
1
)(
roda da raio r
y direção na oCompriment L
espiras de NúmeroN
)()(
)(
minmax
onde
BBNLrtv
BBNLrtv
pp
Prof. Edson - 2012 45
Sensores de Relutância Magnética
Vantagens:
- Podem trabalhar em altas temperaturas- Alta imunidade à vibrações- Robustez mecânica
Aplicações
- Controle de tração e anti-derrapagem- Controle de estabilidade- Detecção de posição do virabrequim
Prof. Edson - 2012 46
Sensor de relutância magnética Bosch
dt
dtv
)(
Prof. Edson - 2012 47
Sensor de relutância magnética Bosch
Prof. Edson - 2012 48
Sensor de relutância magnética
dt
dU A
58 dentes 6º por dente
Sensor de relutância magnética
Prof. Edson - 2012 49
Posicionado no 12º dente antes do TDC do cilindro 1
Prof. Edson - 2012 50
Prof. Edson - 2012 51
LOW
HIGH
Prof. Edson - 2012 52
Considerações para projeto
- Ruído acoplado
- Tensão máxima na freqüência máxima
- Tensão mínima durante a partida
- Variação da amplitude
- Variação da freqüência
- Variação da tensão de alimentação
??
Prof. Edson - 2012 53
Considerações para projeto
- Ruído acoplado
- Tensão máxima na freqüência máxima
- Tensão mínima durante a partida
- Variação da amplitude
- Variação da freqüência
- Variação da tensão de alimentação
- Em geral a tensão na partida fica em torno de 0.8V
- Em marcha lenta entre 1.0V e 4.0V
60
2 RPM
)2sen(
sen
ftEme
tEme
PROF. Edson-2008 54
Prof. Edson - 2012 55histerese de Comparador
tensãode referência da Corrente
entrada apolarizar para referência de Corrente
baixa passa Filtro
entrada de corrente daLimitador
sensor do Impedância
1
1
1
1
COMP
IN
INP
C
R
R
ADJ
RS
11
1max1max
HYS
11
RS
11
RS
2
1
por odeterminadser pode filtro o E
.
por limitada será entrada de tensãoMáxima
V0
Vhisterese de valor um doConsideran
:então ,0V Se
:são COMP1 de entradas nas tensãoa ,0V Se
RfC
RINV
VVVV
VccVVVV
VRRINPV
RINV
RRINPV
c
RS
OUTHYS
OUTHYS
RSRS
ADJADJ
RS
NCV1124
Prof. Edson - 2012 56
Prof. Edson - 2012 57
Sinal no pino 3 é grampeado internamente
Limitação de corrente de entrada dada por Rin=VP/3mA.
Detecta cruzamento de zero. Pino 12
Largura de pulso ajustável. Pino 14
3 modos de operação. Pino 5.
Prof. Edson - 2012 58
Modo 1: Pino 5 aberto
Modo adaptativo, onde o valor da histerese acompanha o sinal de pico do sensor.
(+/-75mV) < Vin < (+/-135mV) a histerese é em torno de 45mV.
Se Vin > (+/-230mV) a histerese fica em torno de 80% do sinal de entrada, ou seja, o sinal de entrada deve ultrapassar esse valor.
Modo 2: Pino 5 em VCC
A histerese de entrada é fixado em 200mV. A saída somente comuta se Vin > 200mV.
Modo 3: Pino 5 em GND
A histerese é fixado em 0V +/- 25mV. Forma básica do detector de cruzamento de zero.
Prof. Edson - 2012 59
Prof. Edson - 2012 60
Prof. Edson - 2012 61
Prof. Edson - 2012 62
Prof. Edson - 2012 63