• Non ci sono risultati.

Sono di seguito riportati gli schemi elettrici della scheda T, della scheda R, e il firmware del microcontrollore. Appendice

N/A
N/A
Protected

Academic year: 2021

Condividi "Sono di seguito riportati gli schemi elettrici della scheda T, della scheda R, e il firmware del microcontrollore. Appendice"

Copied!
20
0
0

Testo completo

(1)

Sono di seguito riportati gli schemi elettrici della scheda T, della scheda R, e il

firmware del microcontrollore.

(2)

C C B B A A SISTEMA COMPLETO A TACHIMETRO A4 1 1 Title

Size Document Number Rev

Date: Sheet of

TRASMETTITORE

TRASMETTITORE

RICEVITORE

(3)

D D C C B B A A DAL RICEVITORE CONNETTORE TWEETER TACHIMETRO - TRASMETTITORE A SCHEMA A BLOCCHI A4 1 6 Title

Size Document Number Rev

Date: Sheet of MICRO MICRO SEGNALE_1 V_PILOTAGGIO_1 V_PILOTAGGIO_2 S C K /C S _ T E M P S O _ T E R M SEGNALE_2 SEGNALE_3 ALIMENTAZIONE ALIMENTAZIONE CIRCUITO_PILOTAGGIO CIRCUITO_PILOTAGGIO V_PILOTAGGIO_1

V_PILOTAGGIO_2 V_PONTE_1V_PONTE_2

SENSORE_TEMPERATURA SENSORE_TEMPERATURA SO_TEMP /CS_TEMP SCK FILTRO FILTRO V_OUT_1 V_PONTE_1 V_PONTE_2 V_OUT_2 VCC J1 CON8 1 2 3 4 5 6 7 8 LS1 SPEAKER

(4)

C C B B A A CONNETTORE ALIMENTAZIONE TRANZORB TACHIMETRO - TRASMETTITORE A ALIMENTAZIONE A4 2 6 Title

Size Document Number Rev

Date: Sheet of +12Vin GND VCC +12V J2 CON2 1 2 D4 MBRS340T3 SMC D5 LED VERDE R2 2.2k 5% L1 27uH <0.1 Ohm 3.0 A TP1 VCC 1 D1 MBRS340T3 SMC TP2 GND 1 + C1 22uF 50V CB1 0.01u U1 LM2676-5.0 1 2 3 4 5 6 7 SWITCH_OUT VIN BOOST G N D N C FB O N /O F F D3 LED VERDE D2 SA12A DO-15 + C2 100uF 16V 0.1 Ohm R1 4.7k 5% F1 FUSE

(5)

D D C C B B A A SEMI-PONTE 1 SEMI-PONTE 2 SEMI-PONTE 1 SEMI-PONTE 2 TACHIMETRO - TRASMETTITORE A CIRCUITO PILOTAGGIO A4 3 6 Title

Size Document Number Rev

Date: Sheet of VCC VCC VCC + C3 100uF + C4100uF P N U3A IRF7343 1 2 7 8 3 4 5 6 R3 10 R4 10 P N U2A IRF7343 1 2 7 8 3 4 5 6 V_PONTE_1 V_PONTE_2 V_PILOTAGGIO_1 V_PILOTAGGIO_2

(6)

C C B B A A TACHIMETRO - TRASMETTITORE A FILTRO A 4 6 Title

Size Document Number Rev

Date: Sheet of C5 220nF C7 220nF L2 22uH 1 2 L3 22uH 1 2 C6 1.5uF V_OUT_1 V_OUT_2 V_PONTE_1 V_PONTE_2

(7)

D D C C B B A A CONNETTORE IN-SYSTEM PROGRAMMING ATMEGA16 PIN 10,11 CIRCUITO DI RESET MAX232 16,15 CONNETTORE RS232 DEBUG DAL RICEVITORE TACHIMETRO - TRASMETTITORE A MICROPROCESSORE E RS232 A4 5 6 Title

Size Document Number Rev

Date: Sheet of MOSI SCK MISO MOSI /RESET /RESET RX_232 RTS_MAX RTS CTS-232 TXD RXD RTS_MAX TX_232 RTS-232 CTS_MAX CTS_MAX RXD TXD CTS SCK MISO SEGNALE_3 SEGNALE_3 VCC VCC VCC VCC VCC VCC VCC J3 JUMPER 1 2 U5 MAX232CPE DIP14 1 3 4 5 2 6 12 9 11 10 13 8 14 7 C1+ C1-C2+ C2-V+ V-R1OUT R2OUT T1IN T2IN R1IN R2IN T1OUT T2OUT R8 22k 5% J4 JUMPER 1 2 J6 JUMPER 1 2 C19 0.1uF +C15 1uF P1 CONNECTOR DB9 CON-DB9HF 5 9 4 8 3 7 2 6 1 C11 22pF C1222pF C18 0.1uF R7 4.7k 5% J5 HEADER 5X2 HEADER5X2 2 4 6 8 10 1 3 5 7 9 + C17 1uF J7 JUMPER 1 2 + C14 1uF Y1 8MHz XTAL1 1 2 R5 22k 5% C10 0.1uF +C13 1uF + C16 1uF U4 ATMEGA16 - 16AI DIP40 6 7 8 9 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 1 2 3 4 5 18 PB5 (MOSI) PB6 (MISO) PB7 (SCK) RESET XTAL2 XTAL1 PD0 (RXD) PD1 (TXD) PD2 (INT0) PD3 (INT1) PD5 (OC1A) PD6 (ICP1) PD7 (OC2)PC0 (SCL) PC1 (SDA)PC2 (TCK) PC3 (TMS) (TDO) PC4 (TDI) PC5 (TOSC1) PC6 (TOSC2) PC7AVCC GND AREF (ADC7) PA7 (ADC6) PA6 (ADC5) PA5 (ADC4) PA4 (ADC3) PA3 (ADC2) PA2 (ADC1) PA1 (ADC0) PA0 (XCK/TO) PB0 (T1) PB1 (AIN0/INT2) PB2 (AIN1/OC0) PB3 (SS) PB4 PD4 (OC1B) C8 10nF R6 22k 5% C9 0.1uF V_PILOTAGGIO_1 V_PILOTAGGIO_2 SCK /CS_TEMP SEGNALE_1 SO_TERM SEGNALE_2 SEGNALE_3

(8)

C C B B A A TACHIMETRO - TRASMETTITORE A SENSORE TEMPERATURA A 6 6 Title

Size Document Number Rev

Date: Sheet of VCC VCC U6 MAX6629 1 2 3 4 5 6 NC GND VCC SCK CS SO C20 0.1uF SO_TEMP /CS_TEMP SCK

(9)

D D C C B B A A CAPSULA MICROFONICA PREAMPLIFICATA AL TRASMETTITORE TACHIMETRO - RICEVITORE A SCHEMA A BLOCCHI A4 1 5 Title

Size Document Number Rev

Date: Sheet of AMPLIFICATORE AMPLIFICATORE OUT_AMPL MIC_OUT ALIMENTAZIONE ALIMENTAZIONE FILTRO_PASSA_BANDA FILTRO_PASSA_BANDA OUT_FILTRO IN_FILTRO DECISORE DECISORE

OUT_FILTRO OUT_1OUT_2

OUT_3 VCC VCC FET MK1 MICROPHONE 3 1 2 J1 8 HEADER 1 2 3 4 5 6 7 8

(10)

C C B B A A CONNETTORE ALIMENTAZIONE FORI DI FISSAGGIO -5V +5V TACHIMETRO - RICEVITORE A ALIMENTAZIONE A4 2 5 Title

Size Document Number Rev

Date: Sheet of VEE VCC +C4 47uF U1 ICL7660S 1 5 8 6 7 2 4 BOOST VOUT V+ LV OSC CAP+ CAP-X4 HOLE 1 TP1 VEE 1 X2 HOLE 1 X1 HOLE 1 TP3 GND 1 C5 0.1uF + C2 10uF X3 HOLE 1 J2 CON2 1 2 TP2 VCC 1 +C1 10uF C3 0.1uF

(11)

D D

C C

B B

A A

TACHIMETRO - RICEVITORE <RevCode>

AMPLIFICATORE

A4

3 5

Title

Size Document Number Rev

Date: Sheet of VEE VCC VEE VCC R4 10k 1% C7 0.1uF U2A TL082 3 2 8 4 1 + -V + V -OUT R1 10k 1% R2 10k 1% C6 68nF C8 0.1uF R3 200k MIC_OUT OUT_AMPL

(12)

C C B B A A RIVELATORE DI INVILUPPO TACHIMETRO - RICEVITORE A DECISORE A4 4 5 Title

Size Document Number Rev

Date: Sheet of V_REF_2 V_REF_2 V_REF_3 V_REF_3 VEE VEE VCC VCC VEE VCC VCC VEE VCC VCC VEE U5 LP211 7 2 3 1 8 4 6 5 COUT + - EO V + V -B/S B R13 10k D1 1N4148 R9 10k C17 0.1uF R10 10k U4 LP211 7 2 3 1 8 4 6 5 COUT + - EO V + V -B/S B R16 10k R11 100k R17 470k C13 0.1uF C10 10nF C15 0.1uF R14 390k C16 0.1uF C14 0.1uF C12 1nF R15 100k C18 0.1uF R12 390k C11 10nF OUT_2 OUT_3

(13)

D D

C C

B B

A A

TACHIMETRO - RICEVITORE A

FILTRO PASSA BANDA A

5 5

Title

Size Document Number Rev

Date: Sheet of VCC VEE C20 2.2n R21 4.7k R19 3k U2B TL082 5 6 8 4 7 + -V + V -OUT R18 5.6k C19 2.2n R20 4.7k IN_FILTRO OUT_FILTRO

(14)

/* codice di inizializzazione richiamato automaticamente dopo il reset */ int __low_level_init (void)

{ PORTA = 0x00; DDRA = 0xFF; PORTB = 0x00; DDRB = 0xFF; PORTC = 0x00; DDRC = 0xFC; //PC0 e PC1 input PORTD = 0x00; DDRD = 0x91; //PD6, PD5 e PD3

return 1; // CSTARTUP initialize data segments

}

/* codice di inizializzazione richiamato nel main */ int init_lowlevel (void)

{ __disable_interrupt(); TIMSK = 0x00; TIFR = 0xFF; __enable_interrupt(); Init_TIMER_1(); Init_TIMER_2(); return 0; }

void main (void)

{

init_lowlevel();

// ciclo infinito

for (;;) {

if (GETBIT(PINC,0)==0) flag = 1; //Start pilotaggio

else if (GETBIT(PINC,1)==0) flag = 0; //Stop pilotaggio

} }

(15)

*note: Procedure di inizializzazione e gestione timer,

generazione treni di impulsi ******************************************************************/ #include <iom16.h> #include <inavr.h> #include "TYPE.H" #include "TIMER.H" #include "PORT.H"

static BYTE numero_impulsi = 0;

extern BYTE flag;

/* Inizializzazione timer di sistema (16 bit) */ void Init_TIMER_1 (void)

{

__disable_interrupt();

//SFIOR REGISTER - Special Function I/O Register

SFIOR |= 0x01; //Bit 0 – PSR10: Prescaler Reset Timer/Counter 1 e 0

/*

Registri TCCR1A e TCCR1B: Configurazione modalità di funzionamento Timer/Counter 1: -> Normal port operations

-> MODE 4: CTC (Clear Timer on Compare Match whit OCR1A)

Waveform Generation Mode Bit Description (WGM13,WGM12,WGM11,WGM10)=0100 */

TCCR1A = 0x00;

TCCR1B = 0x08 | PRESCALER_1;

//Inizializzatione registro contatore a zero

TCNT1H = 0x00; // 8 bit MSB TCNT1 REGISTER

TCNT1L = 0x00; // 8 bit LSB TCNT1 REGISTER

/*aggiornamento solo registro temporaneo OCR1A*/

OCR1AH = (BYTE)((VALUE_TIMER_1 >> 8) & 0x00FF); // 8 bit MSB OCR1A REGISTER - Output Compare

/* aggiornamento reale OCR1A */

OCR1AL = (BYTE)(VALUE_TIMER_1 & 0x00FF); // 8 bit LSB OCR1A REGISTER - Output Compare Registe

TIFR |= 0x10; // Clear (set to 1) flag OCF1A (Timer/Counter1, Output Compare 1 A Match Flag)

/*

TIMSK REGISTER - Timer/Counter Interrupt Mask Register

Bit 4 – OCIE1A: Timer/Counter 1 Output Compare A Match Interrupt Enable */

TIMSK |= 0x10; //Abilitazione Timer1

__enable_interrupt(); //Setta bit 7 (I) di SREG

return; }

void Init_TIMER_2 (void)

{

__disable_interrupt();

//ASSR REGISTER - Asynchronous Status Register 2

//Bit 3 – AS2: Asynchronous Timer/Counter 2

// 0-> internal clock source; 1-> external crystal on TOSC1 pin

ASSR = 0x00;

//SFIOR REGISTER - Special Function I/O Register

SFIOR |= 0x02; //Bit 1 – PSR2: Prescaler Reset Timer/Counter 2

(16)

Bit 7 – OCIE2: Timer/Counter 2 Output Compare Match Interrupt Enable*/

TIMSK |= 0x80; //Abilitazione Timer 2

__enable_interrupt(); //Setta bit 7 (I) di SREG

return; }

/*

Routine associata all'interrupt Timer/Counter 1 Output Compare A Match interrupt */

#pragma vector= TIMER1_COMPA_vect

__interrupt void Invio_treno_impulsi (void)

{

if (flag == 1) //Se pilotaggio è attivo

{

numero_impulsi = 0;

//Abilitazione Timer/Counter 2 per generare i tempi di riferimento interni al treno di impul

OCR2 = TEMPO_1;

TCCR2 = 0x08 | PRESCALER_2; //Clear Timer on Compare

//Start treno di impulsi

CLEAR_PILOTAGGIO_2; SET_PILOTAGGIO_1; } return; } /*

Routine associata all'interrupt Timer/Counter 2 Output Compare Match interrupt */

#pragma vector= TIMER2_COMP_vect

__interrupt void TIMER2_Compare_OK (void)

{ if (OCR2 == TEMPO_1) { CLEAR_PILOTAGGIO_1; CLEAR_PILOTAGGIO_2; numero_impulsi++; OCR2 = TEMPO_2; }

else //OCR2 != TEMPO_1 -> OCR2 == TEMPO_2

{

if ((numero_impulsi & 0x01)) //se il numero di impulsi inviati è dispari

{

SET_PILOTAGGIO_2; }

else //se il numero di impulsi inviati è pari

{ SET_PILOTAGGIO_1; } OCR2 = TEMPO_1; } if (numero_impulsi == NUMERO_IMPULSI_MAX)

(17)

TCCR2 = 0x00; //Stop timer 2 TCNT2 = 0x00; CLEAR_PILOTAGGIO_2; CLEAR_PILOTAGGIO_1; } return; }

(18)

#define TEMPO_1 188 // 23,5us con clock a 8MHz

#define TEMPO_2 68 // 8,5us con clock a 8MHz

#define SET_PILOTAGGIO_1 SETBIT(PORTA,0)

#define CLEAR_PILOTAGGIO_1 CLEARBIT(PORTA,0)

#define SET_PILOTAGGIO_2 SETBIT(PORTA,1)

#define CLEAR_PILOTAGGIO_2 CLEARBIT(PORTA,1)

#define NUMERO_IMPULSI_MAX 8

/* Impostazione del valore di prescaler Timer/Counter 2 */

//f_timer_2_fast_pwm=f_clk_io/(PRESCALER_2*256) o f_timer_2_pcpwm=f_clk_io/(PRESCALER_2*510) void Init_TIMER_2 (void);

(19)

*

* note: definizione di tipi comuni (ANSI C) ******************************************************************/

typedef unsigned char BYTE; typedef unsigned int WORD;

(20)

Riferimenti

Documenti correlati

Mercati, L’imposta di soggiorno: i gestori delle strutture ricettive come agenti contabili “di fatto” Giornale di Diritto amministrativo 2/2017 “[…] tenendo

incf mem ;incremento per puntare alla locazione successiva dove memorizzare l'offset di tensione successivo. return ;--- ;--- ;allocaacq ;--- allocaacq banco0

 ogni associazione è tradotta con una relazione con gli stessi attributi, cui si aggiungono gli identificatori di tutte le entità che essa collega (già visto).  la chiave

in quanto norm `e in generale il comando che riguarda la normale, il prefisso d significa che vogliamo la densit`a (sta scritto alla prima riga dell’help del comando), poi

Disegna negli spazi di destra gli schemi simbolici dei circuiti rappresentati a sinistra e rispondi alle domande. Il circuito è chiuso e le due

Verrà quindi presentato il sensore di Hall utilizzato e il lavoro di caratterizzazione effettuato su di esso e, successivamente, il tipo di interfaccia di cui si serve la

//variabili per il controllo della corrrente assorbita //extern Uint8 s_m, misura_in_corso;. extern bit s_m,

Secondo l’affascinante teoria formulata da Beltrame, Brunelleschi non attinge direttamente agli studi dell’Ottica – che agli inizi del Quattrocento affrontano ‘fisiologicamente’