Автор работы: Пользователь скрыл имя, 08 Февраля 2013 в 12:31, дипломная работа
Предприятие, на которой проводилось дипломное проектирование, занимается разработкой заказных сложных цифровых и цифро-аналоговых узлов для систем связи, управления и обработки информации.
В настоящее время в состав группы КБ(конструкторское бюро) входят ООО"Информационный вычислительный центр"(образованно в 1998г.), ООО"Скоростные системы связи"(2005г.), ООО"Конструкторское бюро радиосистем"(2008г.)
1 Общая часть
1.1 Введение
1.2 Назначение и применение изделия
1.3 Анализ условий эксплуатации
1.4 Обзор аналогов
2 Схемотехническая часть
2.1 Анализ требований к электрическим параметрам
2.2 Обоснование выбора элементной базы
2.3 Описание принципа работы схемы изделия
2.4 Написание программы для МК
3 Конструкторская часть
3.1 Анализ технических требований, которые
должны быть реализованы в проектируемом изделии
3.2 Обоснование конструкции сборочных единиц,
входящих в изделие
3.2.1 Выбор способов установки навесных элементов
3.2.2 Компоновочный расчет печатного узла
3.2.3 Описание работы в САПР «Компас» по выполнению
компоновочных работ
3.3 Обоснование конструкций проектируемых изделий,
входящих в печатную плату
3.3.1 Выбор материала и покрытий
3.2.2 Расчет конструктивных элементов детали
3.3.3 Описание работы в САПР «P-CAD» по трассировке
печатной платы.
3.4 Расчет показателей надежности
4 Технологическая часть
4.1 Обоснование выбора схемы технологического процесса
изготовления изделия
4.2 Обоснование выбора оборудования, контрольно-
измерительной аппаратуры, инструмента для
сборочно- монтажных и регулировочных работ
4.3 Описание содержания операций. Нормирование работ
4.4 Выбор вспомогательных материалов для сборочно-
монтажных и регулировочных работ
4.5 Определение количества рабочих мест, расчет
коэффициента загрузки их и предложения по выбору
метода организации работ
5 Вопросы техники безопасности
5.1 Обеспечение безопасности труда при эксплуатации
проектируемого изделия
6 Экономическая часть
6.1 Расчет фонда времени работы оборудования и
рабочего времени, составление баланса
рабочего времени
6.2 Планирование персонала по группам и категориям
работающих, обоснование разряда работ
6.3 Выбор формы и системы оплаты труда, расчет фонда
оплаты труда и налогов от ФОТ
6.4 Определение себестоимости изделия
6.5 Расчет цены изделия с учетом рыночных факторов и
их рентабельности
6.6 Расчет технико-экономических показателей изготовления
изделия
6.7 Выводы
7 Экспериментальная часть
7.1 Результаты испытаний опытной модели проектируемого
издлия.
8 Заключение
Литература
Приложение А
4
4
5
6
7
9
9
9
32
33
34
34
35
35
51
59
60
60
61
65
66
73
73
74
76
81
82
83
83
85
85
87
90
91
95
96
98
99
99
100
101
103
Приложение А.
Программное обеспечение МК ATTINY26L-8SU.
.include "tn26def.inc"
.include "ini.inc"
.org 0
;-----------------------------
; INTERRUPTS
rjmp RESET ; Reset handler
rjmp EXT_INT0 ; IRQ0 handler
rjmp PIN_CHANGE ; Pin change handler
rjmp TIM1_CMP1A ; Timer1 compare match 1A
rjmp TIM1_CMP1B ; Timer1 compare match 1B
rjmp TIM1_OVF ; Timer1 overflow handler
rjmp TIM0_OVF ; Timer0 overflow handler
rjmp USI_STRT ; USI Start handler
rjmp USI_OVF ; USI Overflow handler
rjmp EE_RDY ; EEPROM Ready handler
rjmp ANA_COMP ; Analog Comparator handler
rjmp ADC ; ADC Conversion Handler
;-----------------------------
; INTERRUPT HANDLING
EXT_INT0:
reti ;
PIN_CHANGE:
reti ;
TIM1_CMP1A:
sbr flags,1 ;*установить флаг равенства регистров
; TCNT1=OCR1A или переполнение таймера Т0
reti ;
TIM1_CMP1B:
reti ;
TIM1_OVF:
reti ;
TIM0_OVF:
sbr flags,1 ;*установить флаг равенства регистров
reti ;
USI_STRT:
reti ;
USI_OVF:
reti ;
EE_RDY:
reti ;
ANA_COMP:
reti ;
ADC:
reti ;
;-----------------------------
;Start of the program
RESET:
.include "init.asm"
; cbi porta,cole ; ext cooler off
; cbi porta,coli ; int cooler off
; sbi portb,heat ; heat mode off
; sbi portb,cool ; cool mode off
; cbi portb,pheat ; pheat off
rcall stop_pwm ; PWM off
main:
;-----------------------------
rcall getterm ; считана информация с датчика
;-----------------------------
bigloop:
wdr
sbi portb,err ;инд. Вкл.
ldi temp,0xff ;
cp temp,r7 ;
brne good_term ;
sbr Flags,0x80 ;
ldi temp,noterm_error ;1
sts errr,temp ; при ошибке чтения
ldi tim0l,3 ;число повторов мигания
rjmp nexterrblink ;smallloop
good_term:
ldi temp,0x78 ;смещение
add r1,temp ;
brcc nocarry_get ;
inc r2 ;
nocarry_get:
clr r2 ;
sts Tc,r2 ; store current T
sts Tc+1,r1 ;
;-----------------------------
lds temp,Tw1 ;
lds rcreg,Tw1+1 ; compare current T to 1st term limit
sub rcreg,r1 ;
sbc temp,r2 ;
;-----------------------------
brcs test_mode2 ; if |Tc|<=|T1|, goto mode 1
rjmp do_mode1 ; else - next test
;-----------------------------
test_mode2:
lds temp,Tw2 ;
lds rcreg,Tw2+1 ;
sub rcreg,r1 ; if |T1|<|Tc|<=|T2|
sbc temp,r2 ;
;-----------------------------
brcs test_mode3 ;
rjmp do_mode2 ;
;-----------------------------
test_mode3:
lds temp,Tw3 ;
lds rcreg,Tw3+1 ;
sub rcreg,r1 ;
sbc temp,r2 ;
;-----------------------------
brcs test_mode4 ; if |T2|<|Tc|<=|T3|
rjmp do_mode3 ;
;-----------------------------
test_mode4:
lds temp,Tw4 ;
lds rcreg,Tw4+1 ;
sub rcreg,r1 ;
sbc temp,r2 ;
;-----------------------------
brcs test_mode5 ; if |T4|<|Tc|<=|T5|
rjmp do_mode4 ;
;-----------------------------
test_mode5:
lds temp,Tw5 ;
lds rcreg,Tw5+1 ;
sub rcreg,r1 ;
sbc temp,r2 ;
;-----------------------------
brcs do_mode6 ; if |Tc|>|T5|
rjmp do_mode5 ; if |T5|<|Tc|<=|T6|
;-----------------------------
do_mode6: ;перегрев, продолжаем охлаждение
lds temp,Modenum ;
cpi temp,6 ;
breq cont_6 ;
; off
sbi portb,heat ; heat mode off
cbi portb,pheat ; pheat off
cbi portb,i_ht
rcall stop_pwm ; PWM off
ldi rcreg,5
;pause_u:
; rcall delay ; 10 cek delay
; dec rcreg
; brne pause_u
cbi porta,supl ; switch off 220
; on
sbi porta,cole ; ext cooler on
sbi porta,coli ; int cooler on
cbi portb,cool ; cool mode on
sbi portb,i_cl
ldi temp,overheat_error ; write code of error
sts errr,temp ;
sbr flags,0x80 ; set error flag
ldi temp,6 ; init mode
sts Modenum,temp ;
cont_6:
sbr flags,0x80
ldi tim0l,3
rjmp smallloop ; go to small loop
do_mode5: ;обычное охлаждение
lds temp,Modenum ;
cpi temp,5 ;
breq cont_5 ;
; off
sbi portb,heat ; heat mode off
cbi portb,pheat ; pheat off
cbi portb,i_ht
; on
sbi porta,cole ; ext cooler on
sbi porta,coli ; int cooler on
sbi porta,supl ; switch 220
cbi portb,cool ; cool mode on
sbi portb,i_cl ; Ind cool
; lds temp,I_cool ;!!!!!!!!!
; sts acp,temp ;
ldi temp,5 ; init mode
sts Modenum,temp ;
; rcall start_pwm ; init pwm mode
cont_5:
; rcall check_pwm ;
; sbrc flags,7 ;
; rjmp nexterrblink ;
; rcall delay
; rcall test_fan ;
; sbrc flags,7 ;
; rjmp nexterrblink ;
rjmp smallloop ; go to small loop
;-----------------------------
do_mode4: ;только циркуляция
lds temp,Modenum ;
cpi temp,4 ;
breq cont_4 ;
; off
sbi portb,cool ; cool mode off
sbi portb,heat ; heat mode off
cbi portb,pheat ; pheat off
cbi portb,i_ht
rcall stop_pwm ; PWM off
; on
sbi porta,cole ; ext cooler on
sbi porta,coli ; int cooler on
sbi porta,supl ; suply eqp on
sbi portb,i_cl ; Ind cool
ldi temp,4 ; init mode
sts Modenum,temp ;
cont_4:
rjmp smallloop ;
;-----------------------------
do_mode3: ;ничего не делаем
lds temp,Modenum ;
cpi temp,3 ;
breq cont_3 ;
; off
cbi porta,cole ; ext cooler off
cbi porta,coli ; int cooler off
sbi portb,cool ; cool mode off
sbi portb,heat ; heat mode off
cbi portb,pheat ; pheat off
cbi portb,i_cl ; Ind cool
cbi portb,i_ht ; Ind heat
rcall stop_pwm ; PWM off
; on
sbi porta,supl ; suply eqp on ;
ldi temp,3 ; init mode
sts Modenum,temp
cont_3:
rjmp smallloop ;
;-----------------------------
do_mode2: ; нагрев и циркуляция
lds temp,Modenum ;
cpi temp,2 ;
breq cont_2 ;
; off
cbi porta,i_cl ;
sbi portb,cool ; cool mode off
; on
sbi porta,cole ; ext cooler on
sbi porta,coli ; int cooler on
sbi porta,supl ; suply eqp on
cbi portb,heat ; heat mode on
sbi portb,pheat ; pheat on
sbi portb,i_ht ; Ind heat
; lds temp,I_heat ;!!!!!!
; sts acp,temp ;
ldi temp,2 ; init mode
sts Modenum,temp ;
; rcall start_pwm ; init pwm mode
cont_2:
; rcall check_pwm ;
; sbrc flags,7 ;
; rjmp nexterrblink ;
rjmp smallloop ;
;-----------------------------
do_mode1: ;
lds temp,Modenum ;
cpi temp,1 ;
breq cont_1 ;
; off
cbi porta,cole ; ext cooler off
cbi porta,coli ; int cooler off
sbi portb,cool ; cool mode off
cbi portb,i_cl ; Ind cool
ldi rcreg,10
pause_d:
rcall delay ; 10 cek delay
dec rcreg
brne pause_d
cbi porta,supl ; suply eqp off
; on
sbi portb,pheat ; pheat on
cbi portb,heat ; heat mode on
sbi portb,i_ht
; lds temp,I_heat ; max I for heat !!!!!!
; sts acp,temp ;
ldi temp,1 ; init mode
sts Modenum,temp ;
rcall start_pwm ; init pwm mode
cont_1:
; rcall check_pwm ;
; sbrc flags,7 ;
; rjmp nexterrblink ;
;-----------------------------
smallloop:
wdr
rcall readbutton ;
sbrs flags,7 ;;;;;;;;;;;;;;;;;;;;
rjmp main ;
;errors
nexterrblink:
cbi portb,err
ldi rcreg,6 ;погас на 6 сек
pause1:
rcall delay ;
dec rcreg
brne pause1
lds rcreg,errr ;кол-во вспышек
sy_err:
sbi portb,err ;
rcall delay
cbi portb,err ;
rcall delay
dec rcreg ;кол-во вспышек
brne sy_err
dec tim0l ;3 раз повтор индикации
brne smallloop ;
ldi rcreg,4 ;не горит 4 сек
pause2:
rcall delay ;
dec rcreg
brne pause2
cbr flags,0x80 ;
clr temp
sts errr,temp
sts Modenum,temp
rjmp main;
.include "dallas.asm"
.include "functions.asm"
;-----------------------------
.DSEG
.org 0x60
Errr: .byte 1 ;
Tw1: .byte 2 ;
Tw2: .byte 2 ;
Tw3: .byte 2 ;
Tw4: .byte 2 ;
Tw5: .byte 2 ;
I_cool: .byte 1 ;
I_heat: .byte 1 ;
Ipwm: .byte 1 ;
Tc: .byte 2 ;
Ercnt: .byte 1 ;
Acp: .byte 2 ;
Modenum: .byte 1 ;
ibut: .byte 0x20 ;
.Eseg
.org 0
Tm1: .db 0x00, 0x64 ; -10C + (-78)
Tm2: .db 0x00, 0x78 ; 0C + (-78)
Tm3: .db 0x00, 0xaa ; 25C + (-78)
Tm4: .db 0x00, 0xb4 ; +30C + (-78)
Tm5: .db 0x00, 0xdc ; +50C + (-78)
I_coole: .db 0x5C ; 2,3A
I_heate: .db 0x60 ; 2,4A
Ipwme: .db 0x60 ; 6,25us
;0x78 соответствует 0 С
;t=(kodt-120)/2 kodt=(t*2+120) dec
;I=0,0025A*kodi
;Tp=0,125uS*kodp