|
Appunti tecniche |
|
Visite: 1104 | Gradito: | [ Picolo appunti ] |
Leggi anche appunti:Regolazione PID mediante GNC toolboxRegolazione PID mediante GNC toolbox Come esposto nei capitoli precedenti ElettrotecnicaELETTROTECNICA MACCHINA A CORRENTE CONTINUA La macchina a corrente continua Fonti di energia alternative al petrolioFonti di energia alternative al petrolio L'Italia e tutto il Mondo |
Realizzazione di un alimentatore stabilizzato
TITOLO SOTTOPROGETTO: Software di controllo per un alimentatore stabilizzato
CALENDARIO ATTIVITÀ
Data |
Attività svolta |
(4h) |
Analisi del progetto assegnato |
(6h) |
Stesura Flow-chart |
(5h) |
Organizazione del programma in subroutine, e inizio stesura software |
(5h) |
Stesura Software |
(5h) |
Analisi subroutine display |
(5h) |
Test del software e del display |
(3h) |
Test del software e del display |
TOTALE ORE UTILIZZATE: 33h
FLOW-CHART SEMPLIFICATO DEL SOFTWARE
SUBROUTINE 1: Controllo i tasti (corrente, tensione) e comparo il dato con il valore letto tramite
il convertitore AD.
SOFTWARE:
bott_mngr
;se premi un tasto devi cambiare la tensione/corrente
btfss PORTB,UP
incf ContUp,F
goto conversione
btfss PORTB,DOWN
incf ContDn,F
goto conversione
btfsc PORTB,Current
bsf settings,7
btfsc PORTB,Voltage
bcf settings,7
return
conversione
call adc ;misura la tensione/corrente
;varia la resistenza
Return
COMMENTI: Per memorizzare la scelta tensione/corrente, ci siamo serviti di una locazione di memoria utilizzata come Flag(setting). Manca inoltre la gestione della resistenza digitale, (sostituita dal commento) in quanto modificare il valore di questa risulta particolarmente complicato, e non abbiamo avuto il tempo necessario per analizzarla attentamente.
SUBROUTINE2:conversione analogico-digitale
SOFTWARE:
;conversione analogico-digitale
adc bcf STATUS,C
btfsc settings,7
goto i
goto v
exit movwf temp
rlf temp,1
rlf temp,1
rlf temp,1
bsf temp,7
bsf temp,0
movf temp,0
movwf ADCON0
clrf delay
wait1 decfsz delay,f
goto wait1
bcf PIR1,ADIF
bsf ADCON0,GO
wait2 decfsz delay,f
goto wait2
wait3 btfsc ADCON0,GO
goto wait3
btfss PIR1,ADIF
goto wait3
getval movf ADRESH,w
movwf memhi
bcf STATUS,RP1
bsf STATUS,RP0
movf ADRESL,w
bcf STATUS,RP0
movwf memlo
return
i movlw 0
goto exit
v movlw 1
goto exit
COMMENTI: in questa parte di software non abbiamo riscontrato particolari difficoltà. il valore di tensione viene convertito dal convertitore analogico-digitale e salvato in una particolare locazione di memoria.
SUBROUTINE3: Trasmissione-Ricezione dei dati in forma seriale.
SOFTWARE:
movlw BYTE
call TxChar
TxChar movwf ShiftReg
movlw 8
movwf BitCount
bcf PORTC,TX
nop
nop
nop
nop
nop
nop
nop
DELAY N
TxLoop btfss ShiftReg,0
goto TxLo
nop
bsf PORTC,TX
goto cTx
TxLo bcf PORTC,TX
goto cTx
cTx nop
rrf ShiftReg,F
DELAY N
decfsz BitCount,F
goto TxLoop
nop
nop
nop
nop
bsf PORTC,TX
DELAY N
DELAY 2
nop
bsf PORTC,TX
DELAY N
DELAY 2
return
RxChar clrf ShiftReg
movlw 8
movwf BitCount
DELAY N+N/2
wDB btfss PORTC,RX
goto RxBitL
RxBitH nop
bsf STATUS,C
goto RxShift
RxBitL bcf STATUS,C
goto RxShift
RxShift nop
rrf ShiftReg,F
DELAY N
decfsz BitCount,F
goto wDB
return
COMMENTI: In questa parte di software il Prof. Andrea Pozzobon ci ha aiutati parecchio in quanto la trasmissione e ricezione di dati in forma seriale con il PIC non rientra negli argomenti di quest'anno.
SOFTWARE COMPLETO:
;Liberali Marco / Carraretto Federico 4°A-T
;Gestione di un alimentatore tramite il pic 16F876
PROCESSOR 16f876
RADIX DEC
INCLUDE 'P16F876.INC'
ERRORLEVEL -302
org 0x20
delay equ 0x20
temp equ 0x21
memhi equ 0x22
memlo equ 0x23
settings res 1
N equ 23
Tmp res 1
BitCount res 1
ShiftReg res 1
TX equ 6
RX equ 7
UP equ 0
DOWN equ 1
Current equ 2
Voltage equ 3
ContUp res 1
ContDn res 1
DELAY MACRO VALUE
LOCAL loop
movlw VALUE
movwf Tmp
loop nop
decfsz Tmp,F
goto loop
ENDM
org 0x00
goto start
start call imp_iniz ;routine per le impostazioni iniziali
ciclo call bott_mngr ;routine per la gestione dei pulsanti
call display ;routine per la gestione del display
call adc ;routine per la conversione analogico-digitale
call r_dig ;routine per la gestione del resistore digitale
call invio_ric ;routine per l'invio dei dati in forma seriale
goto ciclo
imp_iniz
bsf STATUS,RP0
bcf TRISA,2
bcf TRISA,4
bcf TRISA,5
movlw 0x0f
andlw TRISB
clrf TRISC
bsf TRISC,5
bsf TRISC,7
movlw 1
movwf OPTION_REG
bcf STATUS,RP0
return
bott_mngr
;GESTIONE DEI TASTI PER INCREMENTO, DECREMENTO
;E PER IL CONTROLLO TENSIONE-CORRENTE
btfss PORTB,UP
incf ContUp,F
goto conversione
btfss PORT,DOWN
incf ContDn,F
goto conversione
btfsc PORTB,Current
bsf settings,7
btfsc PORTB,Voltage
bcf settings,7
return
conversione
call adc ;MISURA TENSIONE-CORRENTE
;varia la resistenza
return
display
return
;CONVERSIONE ANALOGICO-DIGITALE
adc bcf STATUS,C
btfsc settings,7
goto i
goto v
exit movwf temp
rlf temp,1
rlf temp,1
rlf temp,1
bsf temp,7
bsf temp,0
movf temp,0
movwf ADCON0
clrf delay
wait1 decfsz delay,f
goto wait1
bcf PIR1,ADIF
bsf ADCON0,GO
wait2 decfsz delay,f
goto wait2
wait3 btfsc ADCON0,GO
goto wait3
btfss PIR1,ADIF
goto wait3
getval movf ADRESH,w
movwf memhi
bcf STATUS,RP1
bsf STATUS,RP0
movf ADRESL,w
bcf STATUS,RP0
movwf memlo
return
i movlw 0
goto exit
v movlw 1
goto exit
r_dig
return
;TRASMISSIONIN SERIALI
txChar movwf ShiftReg
movlw 8
movwf BitCount
bcf PORTC,TX
nop
nop
nop
nop
nop
nop
nop
DELAY N
TxLoop btfss ShiftReg,0
goto TxLo
nop
bsf PORTC,TX
goto cTx
TxLo bcf PORTC,TX
goto cTx
cTx nop
rrf ShiftReg,F
DELAY N
decfsz BitCount,F
goto TxLoop
nop
nop
nop
nop
bsf PORTC,TX
DELAY N
DELAY 2
nop
bsf PORTC,TX
DELAY N
DELAY 2
return
RxChar clrf ShiftReg
movlw 8
movwf BitCount
DELAY N+N/2
wDB btfss PORTC,RX
goto RxBitL
RxBitH nop
bsf STATUS,C
goto RxShift
RxBitL bcf STATUS,C
goto RxShift
RxShift nop
rrf ShiftReg,F
DELAY N
decfsz BitCount,F
goto wDB
return
display ;GESTIONE DEL DISPLAY
end
DIFFICOLTÀ INCONTRATE: Come descritto precedentemente, abbiamo riscontrato qualche difficoltà in:
Subroutine del display tuttora non funzionante. La causa potrebbe essere l'impostazione errata delle linee del display
Verifica generale del software, in quanto non era disponibile il PIC richiesto, e i PIC utilizzati per il test del display hanno dato non pochi problemi.
Gestione della resistenza digitale, in quanto il tempo limitato non ci ha permesso di analizzarla attentamente.
ANALISI RISULTATI RAGGIUNTI: Il software è stato strutturato quasi interamente; mancano soltanto alcune parti che risultavano non funzionanti o particolarmente ostiche da analizzare. La subroutine 1 e 3 non sono però state testate in quanto non era disponibile l'hardware richiesto.
POSSIBILI SVILUPPI FUTURI: Completando le parti mancanti e testando l'intero software il progetto può essere completato approssimativamente il 5-10 ore. Per la parte hardware di gestione ci hanno pensato i nostri compagni che hanno già realizzato schema elettrico e sbrogliato del circuito di controllo e gestione.
Appunti su: |
|
Appunti Ingegneria tecnico | |
Tesine Gestione | |
Lezioni costruzione | |