ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 08.04.2024
Просмотров: 20
Скачиваний: 0
|
|
ДОДАТОК В СХЕМА АЛГОРИТМ |
|
|
|
|
|||
1 |
|
|
|
|
|
|
|
|
|
|
початок |
|
|
1 |
|
|
|
|
|
2 |
|
|
10 |
|
|
|
|
|
|
|
Налаштування |
|
Зчитування даних з |
|
|
|
|
|
|
|
портів |
|
|
АЦП |
|
|
|
|
|
3 |
|
|
|
|
|
12 |
|
|
|
|
Налаштування |
|
|
|
|
|
|
|
|
|
|
11 |
Ввімкнути |
Так |
|
Ввімкнення |
|
|
|
|
АЦП |
|
|
|
|
|
|
||
|
|
|
|
сигналізацію |
|
|
сигналізації |
|
|
4 |
|
|
|
Ні |
|
|
|
|
|
|
Налаштування |
|
|
|
14 |
|
|
|
|
|
|
13 |
|
|
|
|
|
||
|
переривання |
|
Переривання від |
Так |
|
|
|
|
|
|
|
|
Вивід гучності на |
|
|||||
|
|
|
|
|
|
||||
|
|
|
|
Встановлення T0=1 |
|
|
|||
|
|
|
|
|
|
пристрій |
|
|
|
5 |
|
|
|
отримане |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
Налаштування |
|
|
Ні |
|
|
|
|
|
|
УАПП |
Ні |
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
6 |
|
|
|
Роботу завершено |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Отримання |
|
|
Так |
|
|
|
|
|
|
повідомлення в |
|
16 |
|
|
|
|
|
|
|
терміналі |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
Кінець |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Задання значення |
|
|
|
|
|
|
|
|
|
ввімкнення |
|
|
|
|
|
|
|
|
|
сигналізації |
|
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
|
Запуск АЦП |
|
|
|
|
|
|
|
|
9 |
Роботу АЦП |
Ні |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
завершено |
|
|
|
|
|
|
|
|
|
Так |
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
ІА72.120300.030 СА |
|
||||
Зм Лист № докум. Підп. Дат |
|
|
|
|
Літ. |
Лист |
Листів |
||
Розроб. |
Кузьмич |
Пристрій сигналізації перевищення |
|||||||
Перев. |
Новацький |
|
|
1 |
|||||
|
рівня шуму у приміщенні |
|
|
|
|||||
|
|
|
|
НТУУ ”КПІ” ФІОТ |
|||||
Н. контр. |
|
|
|
Схема алгоритм |
|
||||
|
|
|
|
Група ІА-72 |
|
||||
Затв. |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
ДОДАТОК Г ПЕРЕЛІК ЕЛЕМЕНТІВ
Поз. |
Найменування |
|
позначення |
||
|
||
|
Кварцевий резонатор |
|
BQ1 |
PK - 169 - MA – 6AH – 8МГц |
|
|
Конденсатори |
|
С1,С2 Кер. чип. конд. 0603 X5R-25В-10мкФ ± 10% |
||
С3 |
K10-73-16B-0,1мкФ ±10% |
|
С4,С5 К10-17А М47-50В-22пФ ± 10% |
||
С6…С9 |
K10-73-16B-0,1мкФ ±10% |
|
С10…C14 К53-1А-1 мкф-20в ±10% |
Мікросхеми DA1 Випрямний міст КЦ402
DA2 Стабілізатор напруги L7805 DD1…DD3 Операційний підсилювач ЛМВ324
DD4 Мікроконтролер atmega8
DD5 Прийомник-передавач MAX232
|
Резистори |
R1 |
СМД-0402-0.062-2.2кОм±1% |
R2, R9 |
СМД-0805-0.125-1кОм±5% |
|
|
R3,R4,R8,R14 СМД-0805-0.125-10кОм±5% |
|
R5,R15 |
СМД-0805-0.125-1кОм±5% |
R6 |
СМД-0805-0.125-100кОм±5% |
R7,R10,R12 |
СМД-1206-0.125-100 Ом±5% |
R8,R10 |
СМД-1206-0.125-22 кОм±5% |
R16… R21 |
СМД-1206-0.125-300 Ом±5% |
|
Напівпровідникові діоди |
VD1, VD2 РБ751 |
|
VD3 |
1Н4148 |
Примітка
Кіл.
1
2
1
2
4
5
1
1
3
1
1
1
2
4
2
1
3
2
6
2
1
|
|
ІА72.120300.030 ПЕЗ |
|
||
Зм Лист |
№ докум. |
Підп. Дата |
|
|
|
Розроб. |
Кузьмич |
Пристрій сигналізації |
Літ. Лист |
Листів |
|
Перев. |
Новацький |
1 |
2 |
||
перевищення рівня шуму у |
|||||
|
|
НТУУ «КПІ» ФІОТ |
|||
Н. контр. |
|
приміщенні |
|||
|
Група ІА-72 |
||||
|
|
||||
|
|
Опис |
|||
Затв. |
|
|
|
Продовження додатку Г
Поз.
позначення
Найменування |
Кіл. |
Примітка |
Роз’єми
XS1 |
Lumberg KPE2 |
1 |
XS2 |
Lumberg KPE4 |
1 |
XS3 |
Lumberg КРЕ2 |
1 |
XS4 |
Lumberg KPE6 |
1 |
XS5 |
Lumberg KРЕ9 |
1 |
XS6 |
Lumberg KPE4 |
1 |
|
|
ІА72.120300.030 ПЕЗ |
Лист |
|
Зм Лист № докум. |
Підп. Дата |
2 |
||
|
||||
|
|
ДОДАТОК Д ЛІСТИНГ ПРОГРАМИ
#define F_CPU 8000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <stdlib.h>
#define BAUD 9600
#define MYUBRR F_CPU/16/BAUD-1
unsigned int display = 0; unsigned int ADC_value;
char Rdata=0; int value=300;
#include <stdbool.h>
bool first_pwm_set = true; bool first_pwm_clear=true;
void PWMPreSet(void)
{
//1
//Clear OC1A/OC1B on Compare Match, set OC1A/OC1B at //BOTTOM, (non-inverting mode)
TCCR1A|=(1<<COM1A1);
TCCR1A|=(1<<COM1A0);// P 96 DATASHEET INVERTING PWM //TCCR1A&=~(1<<COM1A0); // P 96 DATASHEET//NON INVERTING PWM
TCCR1A|=(1<<WGM10);//page 98 fast pwm 10 bit
TCCR1A|=(1<<WGM11);
TCCR1B|=(1<<WGM12);//ctc1 p 98
TCCR1B&=~(1<<WGM13);
//2
TCCR1B|=(1<<CS11);//clkI/O/8 (From prescaler) p 99 TCCR1B&=~((1<<CS10)|(1<<CS12));
//3
OCR1A=912;//half from 10bit pwm
}
void PwmClear(void)
{
TCCR1A=0;
TCCR1B=0;
OCR1A=0;
}
void TunOnLed(void)
{
if (ADCSRA&(1<<ADIF))//if conversion is done bit 4 adif:adc interrupt flag set to 1
{
ADC_value = ADC; // read adc
display = (ADC_value+1)*(5/1024.0)*100; // max 500 if(display>=value)//our voltage
{
PORTC|=(1<<1);//turn on yellow led if(first_pwm_set)
{
PWMPreSet(); first_pwm_set=false; first_pwm_clear=true;
}
}else
{
PORTC&=~(1<<1);//turn off yellow led if(first_pwm_clear)
{
PwmClear(); first_pwm_clear=false; first_pwm_set=true;
}
}
ADCSRA|=(1<<ADIF);//continue conversation
}
}
ISR(TIMER0_OVF_vect)
{
if(display<10)
{
PORTD&=~((1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7));
}
if(display>10 && display<50)
{
PORTD|=(1<<2); PORTD&=~((1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7));
}
if(display>50 && display<150)
{
PORTD|=(1<<2)|(1<<3); PORTD&=~((1<<4)||(1<<5)|(1<<6)|(1<<7));
}
if(display>150 && display<200)
{
PORTD|=(1<<2)|(1<<3)|(1<<4); PORTD&=~((1<<5)|(1<<6)|(1<<7));
}
if(display>200 && display<300)
{
PORTD|=(1<<2)|(1<<3)|(1<<4)|(1<<5); PORTD&=~((1<<6)|(1<<7));
}
if(display>300 && display<400)
{
PORTD|=(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6); PORTD&=~(1<<7);
}
if(display>400)
{
PORTD|=(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7);
}
}
void PreSet(void)
{
DDRC|=(1<<1);//adjust for out PORTC&=~(1<<1);//zero voltage