Реферати українською » Информатика, программирование » Розробка універсального шестиканального термометра


Реферат Розробка універсального шестиканального термометра

року міністерство освіти науки РФ

Державне освітнє установа вищого професійної освіти

"Уральський державний технічний університет>УПИ

імені першого президента Росії Б.М. Єльцина"

>Радиотехнический інститут>РТФ

Кафедра теоретичних основ радіотехніки


Розробка універсальногошестиканального термометра

Звіт по виробничої практиці


Керівник Копилов А.Є.

Студент Хазієва М.Д.

ГрупаР-37071


Єкатеринбург 2010


>СОДЕРЖАНИЕ

 

ЗАВДАННЯ НАПРАКТИКУ

>РЕФЕРАТ

>УСЛОВНЫЕОБОЗНАЧЕНИЯ,СИМВОЛЫ ІСОКРАЩЕНИЯ

ЗАПРОВАДЖЕННЯ

1. СПІЛЬНА ХАРАКТЕРИСТИКА ПІДПРИЄМСТВА

2.ПРАКТИЧЕСКАЯ РОБОТА

2.1 Аналіз завдання на практику

2.2 Опис відомих методів рішення

2.3 Використовувані методи лікування й алгоритми виконання завдання

3.ЭКСПЕРИМЕНТАЛЬНЫЕ ДОСЛІДЖЕННЯ

3.1 Мету й методика експерименту

3.2 Аналіз отриманих результатів і - оцінка їх достовірності

>ЗАКЛЮЧЕНИЕ

>БИБЛИОГРАФИЧЕСКИЙ СПИСОК

>ПРИЛОЖЕНИЕ 1. Електрична схема

>ПРИЛОЖЕНИЕ 2. Текстпрограмми-19

>ПРИЛОЖЕНИЕ 3. Копія екрана

>ПРИЛОЖЕНИЕ 4. Реальна модель устрою


ЗАВДАННЯ НАПРАКТИКУ.

Розробити прилад, який реалізує роботу універсальногошестиканальноготермометра(измерителятемператури),передающий даніпараметри(температури)через послідовний інтерфейсRS-232.

Розробка включає у собі: принципову і електричну схеми, створення програми для даногомикроконтроллера та реальну модель універсальногошестиканального термометра.


>РЕФЕРАТ

 

Звіт за сталою практикою 21 з., 2 год., 2 джерела, 4прил.

Розробка універсальногошестиканального термометра.

Об'єктом розробки є вимірювач температури різних радіоелектронних пристроїв.

Мета роботи: розробка принципу дії, структурної та принципової електричної схем приладу,измеряющего температуру в електронних блоках різного функціонального призначення, за даними температури роблять висновок протермоустойчивости електронних приладів.

Результати роботи: проведено огляд методів виміру температур, обраний метод, найзручніший до застосування вмалогабаритном переносному приладі.

Основні конструктивні, технологічні і експлуатаційні характеристики: створено експериментальний зразок , у якого чутливістю -40 °З до +>100°C і точністю в1°C.

Ступінь впровадження: прилад використаний і під час перевірки роботи блоку управлінняшаговим двигуном ,фірми ">Интенсоник+" .

Результати впровадження результатів роботи: підтверджені споживчі і експлуатаційні характеристики приладу.

Область застосування - дослідження температурного режиму як і навколишньому середовищі ,і у різних радіоелектронних пристроях.

Економічна ефективність чи значимість роботи: створений прилад дозволяє виконувати завдання вимірювання, і моніторингу температури у різних точках.

Прогнозні припущення розвитку об'єкта дослідження: запровадження додаткового індикатора відображення температури.


>УСЛОВНЫЕОБОЗНАЧЕНИЯ,СИМВОЛЫ ІСОКРАЩЕНИЯ

 

РЕУ - радіоелектронні устрою

>UART – універсальний асинхроннийприемопередатчик

>АЦП – аналого-цифровий перетворювач

>RS-232 — інтерфейс передачі між двома пристроями з відривом до 15 метрів. Інформація передається дротами з рівнями сигналів, відмінними від стандартних 5 У, задля забезпечення більшої опірності перешкод.Асинхронная передача даних здійснюється із порушенням установленої швидкістю при синхронізації рівнем сигналу стартового імпульсу.

 


ЗАПРОВАДЖЕННЯ

Для будь-якої сучасної підприємства ,що спеціалізується з виробництва і проектуванні радіоелектронних приладів, потрібна наявність стандартної апаратури,упрощающей саме проектування, створення чи перевірку пристроїв.

Одним із таких апаратів, можна віднести шестиканальний вимірювач температури.

Створенняшестиканального вимірника температури значно полегшує завдання перевірки праці будь-якої проектованого РЕУ, виявлення помилок чи знайдення свого роду перевантаження .


1. СПІЛЬНА ХАРАКТЕРИСТИКА ПІДПРИЄМСТВА

 

Практика було пройдено для підприємстваООО"Интенсоник+",специализирующемся на проектуванні та виробництві РЕУ.

ТОВ ">Интенсоник+" є виробником устаткування нафтогазової промисловості.

основні напрями діяльності підприємства – виготовлення апаратури нових технології нафтогазової промисловості.

Пріоритетними заходами є технології індукційного нагріву свердловин і гирлового устаткування.

Крім цього підприємство виробляєбезроликовие датчики натягу геофізичного кабелю і джерела харчування для основного парку геофізичнихскважинних приладів.


2.ПРАКТИЧЕСКАЯ РОБОТА

2.1 Аналіз завдання на практику

Як завдання на практику запропоновано спроектувати шестиканальний вимірювач температури, із конкретним висновком даних через послідовний інтерфейсRS-232 .

З наявності на яких складах підприємства, було обрано такі компоненти для реалізації завдання:микроконтроллерAtmelAVRMega8(частота4МГц), мікросхема перетворення логічних рівнівMAX232,термодатчикиLM335.

Для налагодження прийому даних на верхньому рівні використовувалася програма MicrosoftHyperTerminal версія 5.1. Для написання програми длямикроконтроллера використовувалася ліцензійна копія програмиIAREmbeddedWorkbench2.31E компаніїIAR Systems, а її цей час найкраще програмним рішенням для написанняC/C++ коду намикроконтроллери.

2.2 Опис відомих методів рішення

>Стандартним рішенням для що така завдання є розробка устрою, що містить найпростіше сімействомикроконтроллеров, із підтримкою передачі поUART,АЦП, і мікросхему перетворення логічних рівнів (з п'ятьма на 15V),общеизвестной і дуже використовуваної платою єMAX232, має безліч аналогів.

Існує безліч видів термодатчиків , різняться із таких параметрами, як точність, діапазон вимірів, вартість будівництва і за складністю виконання. Ми обралитермодатчикLM335, оскільки він є у велику кількість складі і задовольняє усе наше вимогам.


2.3 Використовувані методи лікування й алгоритми виконання завдання

Рішення завдання складається з кількох пунктів :

1. загальна настроювання портівввода/вивода, таймерів, конфігурація тощо.

2. настроюванняАЦП.

1) внутрішній джерело напруги5V

2) переривання відкомпаратора

3) коефіцієнт розподілу128(частота 31 250ГЦ)

4) безупинне перетворення

3. настроюванняUART

1) асинхронний режим

2) переривання про передачувкл.

3) швидкість обміну 9600Бод(бит в секунду)

4. переривання по таймеру, формування затримки500мс.

5. перериванняАЦП відкомпаратора

6. формування буфера передачі (3 байта – 1-ї байт- №каналу, 2-ї, 3-й байт - дані), відправка буфера передачі.


3. >ЭКСПЕРИМЕНТАЛЬНЫЕ ДОСЛІДЖЕННЯ

3.1 Мету й методика експерименту

Потому ,якою була розроблена електрична схема і написана програма ,необхідно перевірити правильність виконаного завдання .І тому написаний кодзаписиваем(прошиваем) вмикроконтроллер ,які перебувають на реальної моделі устрою.

Запустивши розроблене пристрій ,оцінимо правильність його роботи.

3.2 Аналіз отриманих результатів і - оцінка їх достовірності

Запустивши шестиканальний вимірювач температури ,ми переконались у правильності написання програми. Програма задовольняє заданим вимогам ,саме:

- виводить дані температури на екран ,у наступному порядку номер каналу та температуру і ,>измеренную даним каналом.

- виміру виробляються з інтервалом в розмірі 5 секунд.


>ЗАКЛЮЧЕНИЕ

 

У процесі проходження виробничої практики було отримано такі навички:

1. експлуатація і обслуговування радіоелектронних систем

2. вивчення етапів проектування й особливостей розробки радіоелектронних пристроїв

3. проектування реального приладу , математичне моделювання структурної схеми вимірника, макетування і експериментальне дослідження окремих вузлів вимірника

4. досвід на підприємстві .

Можна дійти невтішного висновку у тому ,що й завдання виробничої практики було виконано.Успешному проходженню виробничої практики сприяло доброзичливе ставлення керівників підприємства міста і допомогу з боку.


>Библиографический список

1.МикроконтроллериAVR: від простого до складного.Голубцов М.С.,Кириченкова А.В.

>Москва,СОЛОН-Пресс,2004.

2.МикроконтроллериAVR сімействTiny і Mega фірми ">ATMEL".Евстинеев А.В.

Видавничий будинок ">Додека-XXI",2000.


>ПРИЛОЖЕНИЕ1.Электрическая схема


>ПРИЛОЖЕНИЕ 2. Текст програми

#>include <>iom8.h>

#>include <>ina90.h>

#>include ">term.h"

>unsignedcharcount_time_gen=10; //лічильник часу роботи генератора

>unsignedcharcount_time_ind=10; //счетник часу індикації

>unsignedcharnum_ch=6; // лічильник каналів від 0 доMAX_CH-1

>intampl=0; // амплітуда із виходуАЦП

>unsignedcharstrobe_count=0; // лічильникстроба виміру

>unsignedcharcount_50=1; // лічильник 500ms

>unsignedchart0_ext=1; // додатковий дільник дляTCNT0

>unsignedcharbufer_led[bufer_led_size]; // 0 -led`s 1-4BCD

>chartxd_bufer[txd_buf_len]={' ',>TAB,' ',' ',' ',>CR,LF,0 }; // буфер передачі

// N : - 2 4

>chartxd_index=txd_buf_len-1;

#>definedis_measure_ok 1 //0x0002 // вимір завершилося 1

#>definedis_measure 2 //0x0004 // запущеноизмерение(счет) 2

>unsignedchardis_flag=(1<<dis_measure); // прапори диспетчера

#>defineadc_start {>ADCSR|=(1<<ADSC);}

__>flashconstunsignedchartable_ascii[]={'0','1', '2', '3', '4', '5', '6', '7', '8','9', 'E', '>r', '>o', ' ', ' ', ' '};

>voidd2_bcd(longval);

>voidmeasure_a(void);

>voiddisplay_parm(void);

>voidcount_time_gen_init(void);

>voidcount_time_ind_init(void);

>voidfotm_trx(void);

>voidtransmit(void);

>C_taskvoidmain(void)

{//main

>count_50=count_50_init; //initcount 500ms

// ініціалізаціяАЦП

>ADMUX=(1<<REFS0);//Vref=VACC

>ADCSR=((1<<ADEN)|(1<<ADSC)|(1<<ADIE)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0));

// ініціалізаціяUART

>UBRRH=ubr19200>>8;

>UBRRL=ubr19200;

>UCSRB= (>1<<TXEN)|(1<<RXEN); //>разрприем/перед

>UCSRC = 0;//Async.mode,8N1

//num_ch=6; //иниц лічильника каналів

//init andstartTCNT0

>t0_ext=t0_ext_init;

>TCNT0=t0_init;

>TIMSK |= ((>1<<TOIE0)|(1<<TOIE1)); //irqT0,T1enable

_>SEI(); //globalirqenable

>TCCR0=((1<<CS01)|(1<<CS00)); //startTCNT0CLK/64(частотатактирования таймерів)

_>WDR(); //скинутисторожевик

>WDTCR|=((1<<WDE)|(1<<WDP0)|(1<<WDP1));//включитьсторожевик 130ms

>for(;;); //LOOPFOREVER

}// end ofmain

#>pragmavector=ADC_vect

__>interruptvoidADC_proc (>void)

{

//АЦПзакнчил перетворення

_>SEI();

_>WDR(); // скидання сторожового таймера

>ampl=ADC;

>dis_flag |= (>1<<dis_measure_ok);

//>set_mux;

}

#>pragmavector=TIMER0_OVF_vect

__>interruptvoidovf0_proc (>void)

{

//диспетчер

>TCNT0=t0_init; // перезапускTCNT0

_>SEI(); // дозволити складені переривання

>t0_ext-=1;

>if (!>t0_ext)

{// лічильник дорахував

>t0_ext=t0_ext_init; //перезапуск додаткового дільника

//відпрацювання 10ms

// лічильник на 500ms

>count_50 -=1;

_>WDR(); //скинутисторожевик

>if(!count_50){//

>count_50=count_50_init;

// відпрацювання 500ms

>if(count_time_ind)count_time_ind--;

>if(count_time_gen)count_time_gen--;

// кінець відпрацювання 500ms

} // endif(!count_50

// вимір та обробка її результатів

>if (!>count_time_ind)

{

>if (!>count_time_gen)

{

>count_time_gen_init();

>if(++num_ch>=MAX_CH){num_ch=0;} // сканування каналів

}

>measure_a(); // вимірювати температуру поки що не обмірювано

>if (>dis_flag & (>1<<dis_measure_ok)){// вимір закінчено

//розрахунок чергового виміру

>ampl=a_term*(ampl+b_term); //>расчитать поточний параметрY=a*(f+b)

>display_parm(); // формуваннязнакомест

>fotm_trx(); // формування буфера передачі

>count_time_ind_init(); // ініціалізація лічильникаиедикации

>dis_flag &= ~(>1<<dis_measure_ok); // поокончинии індикації можливо зміна

} // endif вимір закінчено

}//endif (!>count_time_ind)

>transmit(); // видача вCOMPORT вмісту індикатора

}// end of лічильник дорахував (>t0_ext)

}// end ofovf0_proc

>voidfotm_trx(void)

{ // формування буфера передачі

>txd_bufer[0]=table_ascii[bufer_led[1]]; // номер каналу

>txd_bufer[2]=table_ascii[bufer_led[2]]; // параметр

>txd_bufer[3]=table_ascii[bufer_led[3]]; //параметр

>txd_index=0;

}

>voidtransmit(void)

{

>if (>txd_bufer[txd_index]){

>UDR=txd_bufer[txd_index++];

}

}

>voidmeasure_a(void)

{

>ADMUX=num_ch; // номер каналу в мультиплексерАЦП

>adc_start;

}

>voiddisplay_parm(void)

{// відображення на терміналі значення параметра

>bufer_led[1]=num_ch+1; // видати номер каналу (1...6 замість 0...5)

>d2_bcd(ampl);//визов програми обробки числа

}// end ofdisplay_parm

>voidd2_bcd(longval)

{// 2-10

>bufer_led[2]=val/10;

>if (!>bufer_led[2])bufer_led[2]=blank_symb;

>bufer_led[3]=val%10;

}// end ofd2_bcd

>term.h

>voidcount_time_gen_init(void){

>count_time_gen=time_gen;

}

>voidcount_time_ind_init(void){

>count_time_ind=time_ind;

}

#>definetcnt1_freq 4000000 // частотатактирования таймера

#>definebufer_led_size 5 // довжина буфера індикатора

#>defineblank_symb0x0F // символ гасіння

#>definetxd_buf_len 8 //длина буфера передачіRS232

#>defineCR 13 // переклад рядки

#>defineLF 10 // на початок рядки

#>defineTAB 9 // табуляція

#>defineubr19200 12 // 19200бит/с при4МГц кварці

#>definet0_init (256-125) // для завантаження в таймер диспетчера

#>definet0_ext_init 5 // 125*5=625

#>definecount_50_init 50 // для завантаження в лічильник 500ms

#>defineMAX_CH 6

#>definea_term0.4883//коеффициент перерахунку

#>defineb_term -559// коефіцієнт перерахунку

#>definetime_gen 10 //5 сек час перемикання каналів

#>definetime_ind 10 //5 сек час індикації

Опис програми

Робота програми полягає в рішенні наступних завдань:

1. загальна настроювання портівввода/вивода, таймерів, конфігурація тощо.

2. настроюванняАЦП.

1) внутрішній джерело напруги5V

2) переривання відкомпаратора

3) коефіцієнт розподілу128(частота 31 250ГЦ)

4) безупинне перетворення

3. настроюванняUART

1) асинхронний режим

2) переривання про передачувкл.

3) швидкість обміну 9600Бод(бит в секунду)

4. переривання по таймеру, формування затримки500мс.

5. перериванняАЦП відкомпаратора

6. формування буфера передачі (3 байта – 1-ї байт- №каналу, 2-ї, 3-й байт - дані), відправка буфера передачі

Вміст буфера передачі відображається на екрані ,з допомогою програмиHiperTerminal.

Опис застосування програми.

Програма дозволяє обробляти дані ,отримані зтермодатчика і виводити їх у екран через послідовнийRS-232. У черговому порядку виводиться номер каналу та температура і ,>измеренную даним каналом.


>ПРИЛОЖЕНИЕ 3

Копія екрана


>ПРИЛОЖЕНИЕ 4

Реальна модель устрою

 


Схожі реферати:

Навігація