tachimetro e contachilometri aiutare circuito di combo.

D

david90

Guest
Ecco il mio codice finito (per me

<img src="http://www.edaboard.com/images/smiles/icon_neutral.gif" alt="Neutral" border="0" />

) Questo codice è per WINAVR compilatore GCC ed è per MCU Atmel AT90S2313.

Codice:# include <avr/io.h>

# include <avr/interrupt.h>

# include <avr/signal.h>void delay (void);

void display7seg (void);volatile impulsi uint16_t = 0, mph = 0, mph_result = 0;

int hun_mi, ten_mi, one_mi, hun_mph, ten_mph, one_mph;

const char segment_table [10] =

(

0x40, 0x79, 0x24, 0x30, 0x19, 0x12, 0x2, 0x78, 0, 0x10

);int main ()

(

DDRB = 0xff; / / Set PORTB come output

DDRD = 0x77;

TCCR0 = 0x03; / / delay timerTCNT1H = 0xC9;

TCNT1L = 0x85;

TCCR1B = 0x5; / / clk/1024 TCCR1B = 0x5; / / clk/1024

TIMSK = 0x80;MCUCR = 0x08;

SREG = 0x80;

GIMSK = 0x80;

while (1) / / Forever

(

display7seg ();

)

return 0;

)void delay (void) / / Produrre un ritardo di 65 ms a 4 MHz

(

TCNT0 = 0x7F;

while (! (TIFR & 0x02));

/ / Wait for Timer0 flag di overflow da impostare

TIFR = 0x02; / / flag di overflow Clear

)

void display7seg (void)

(= hun_mi (impulsi) / 100;

= ten_mi ((impulsi)% 100) / 10;

= one_mi ((impulsi)% 100)% 10;hun_mph = (mph_result) / 100;

ten_mph = ((mph_result)% 100) / 10;

one_mph = ((mph_result)% 100)% 10;PORTB = segment_table [hun_mi];

PORTD = 0x7B;

delay ();

PORTB = segment_table [ten_mi];

PORTD = 0x7D;

delay ();

PORTB = segment_table [one_mi];

PORTD = 0x7E;

delay ();PORTB = segment_table [hun_mph];

PORTD = 0x6F;

delay ();

PORTB = segment_table [ten_mph];

PORTD = 0x5F;

delay ();

PORTB = segment_table [one_mph];

PORTD = 0x3F;

delay ();

)INTERRUPT (SIG_INTERRUPT1)

(

if ( impulsi == 999)

(

impulsi = 0;

)

mph ;

)
INTERRUPT (SIG_OVERFLOW1)

(

= *. mph_result mph 08.863;

mph = 0;

TCNT1H = 0xC9;

TCNT1L = 0x61;

)

 
Questo si verifica a causa del circuito di accensione a scintilla, provare a mettere il circuito di misura delle candele e, se possibile, mettere il circuito in una scatola di buon direttore d'orchestra, con il terreno buono.Se il cavo del display è separato per l'utilizzo cavo bordo scudo ....Forse, se si aggiunge una resistenza a tendina con scarso valore in ingresso può aiutare anche voi ...

leomecma

 
Si tratta di uno scooter elettrico, non gas.

Ho pensato che fosse il rumore così ho aggiunto un cappello tra la mia e - di alimentazione e un altro al MCU interrupt pin e ha fatto il mio circuito molto più stabile.

Io ho un altro problema.Lo scooter ha una funzione di sicurezza in cui, se ha preso un duro colpo, ruota posteriore si bagna o la ruota posteriore è da terra, lo scooter si spegne.Quando ho cercato di sfruttare la photointerrupt, per qualche motivo lo scooter si spegne quando si arriva a certe velocità.Pensavo che la MCU interrupt pin deve essere caricare le Photointerrupter e tirandolo verso il basso a terra o qualcosa del genere.

Aggiornamento: con mia sorpresa, lo scooter si spegne anche se io tocco un filo di pianura non sono collegati ad altro per l'uscita Photointerrupter.Qualcuno può spiegare cosa sta succedendo?Io non penso di essere qualcosa di corto circuito.

 
Quali sono alcuni modi posso tenere onde em prodotte da motori fuori dal mio circuito?

 

Welcome to EDABoard.com

Sponsor

Back
Top