Проектирование радиоуправляемой копии модели самолёта Piper J-3 Cub

Особенности подключения контроллеров. Основные схемы и их описания. Этапы разработки модели радиоуправляемого самолета. Руководство пользователя и тестирование устройства. Экономическое обоснование разработки. Вопросы охраны труда при проектировании.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид дипломная работа
Язык русский
Дата добавления 21.04.2017
Размер файла 2,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

gIn = micros() - mStart + 20;

} else {

mStart = micros();

rps = rps + 5 * counter ;

rps = rps * 5 / 6;

counter = 0;

sei();

rpsK = param[PROP_PARAM] * rps / 300.0;

if (paramSetOn || calibOn) {

gAOut = 0;

} else if (directOn) {

gAOut = gIn;

} else {

gAOut = param[GAIN_MAX_PARAM] / (1.0 + rpsK * param[GAIN_SUP_PARAM] * 5.0);

}

gOut = setValue(gMin, gMax, gAOut);

// Parameter adjustment.

if (curParam > 0) {

param[curParam] = getValue(gMin, gMax, gIn);

}

// Battery check.

zIn = analogRead(BATT_IN) / 1024.0;

lowBatt = (zIn > 0.1) && (zIn * 4.0 + tOutA * 0.35 < 2.0 + param[LOW_BATT_PARAM] ) && (param[LOW_BATT_PARAM] > 0.1) ;

}

}

// MOD interrupt processing.

ISR(INT2_vect)

{

if (digitalRead(MOD_IN_PIN) == HIGH) {

gStart = micros();

} else {

modIn = micros() - gStart + 20;

sei();

sw = (modIn < sw1Level) ? 0 :

(modIn < sw2Level) ? 1 : 2 ;

}

}

// UTILITY FUNCTIONS

// Read EEPROM stored parameters into params double array.

void readParams()

{

for (int i = 1; i <= NUM_PARAMS; i++) {

param[i] = EEPROM.read(i) / 256.0;

}

}

// Stores current param param in EEPROM.

void writeParam()

{

if (curParam > 0) {

int paramInt = param[curParam] * 256.0;

if (paramInt < 0)

paramInt = 0;

else if (paramInt > 255)

paramInt = 255;

EEPROM.write(curParam, paramInt);

}

}

// Set timer to fire interrupt in some period of time.

void setTimer(int lapse)

{

TCCR1A = 0;

TCCR1B = 0;

TCNT1 = - lapse * 16;

TCCR1B |= (1 << CS10); // enable Timer1 overflow interrupt

}

// Converts PPM pulse length in mks

// to double value (0.0 - 1.0);

float getValue(int v1, int v2, int v)

{

if (v < v1)

return 0.0;

else if (v > v2)

return 1.0;

return (v - v1) * 1.0 / (v2 - v1);

}

// Converts double value (0.0 - 1.0) to

// the PPM pulse length in mks.

int setValue(int v1, int v2, float value)

{

int v = v1 + value * (v2 - v1);

if (v < v1)

return v1;

if (v > v2)

return v2;

return v;

}

// Does pulses of zummer.

void buzz(int num, int millsOn, int millsOff)

{

delay(millsOff);

for (int i = 0; i < num; i++) {

digitalWrite(ZUMM_OUT_PIN, LOW);

delay(millsOn);

digitalWrite(ZUMM_OUT_PIN, HIGH);

delay(millsOff);

}

}

// Switches on LED and do buzz when

// current 'variable' parameter crosses

// stored parameter value.

void dispValChange(boolean doSound)

{

if (curParam == 0)

return;

int vOld = EEPROM.read(curParam);

int v = param[curParam] * 256.0;

setLED(v > vOld);

if (isLess) {

if (v < vOld - 1) {

if (doSound)

buzz(10, 1, 1);

isLess = false;

}

} else {

if (v > vOld + 1) {

if (doSound)

buzz(10, 1, 1);

isLess = true;

}

}

}

// Detects if the switch is changed

boolean switchChanged() {

boolean state = oldSw != sw;

oldSw = sw;

return state;

}

// Detects if throttle is low.

boolean thrLow() {

return tIn - tMax < 150;

}

// Prints int value into serial.

void printInt(const char* name, int value) {

Serial.print(name);

Serial.print(": ");

Serial.println(value);

}

// Initilizes pins, timer and interrupts.

void systemInit()

{

pinMode(GAIN_OUT_PIN, OUTPUT);

pinMode(THR_OUT_PIN, OUTPUT);

pinMode(LED_OUT_PIN, OUTPUT);

digitalWrite(LED_OUT_PIN, LOW);

pinMode(ZUMM_OUT_PIN, OUTPUT);

digitalWrite(ZUMM_OUT_PIN, HIGH);

// Timer setup.

TCCR1A = 0;

TIMSK1 = (1 << TOIE1); // Set CS10 bit so timer runs at clock speed:

TCCR1B |= (1 << CS10); // enable Timer1 overflow interrupt

// Enabling interrupts

cli();

EICRA |= (1 << ISC00) | (1 << ISC10) | (1 << ISC20);

EICRB |= (1 << ISC60) | (1 << ISC61);

EIMSK |= (1 << INT6) | (1 << INT0) | (1 << INT1) | (1 << INT2);

sei();

}

// First time formatting.

void formatEEPROM()

{

if (EEPROM.read(GMIN) != 0)

return;

EEPROM.write(GMIN, 1096 / 10);

EEPROM.write(GMAX, 1964 / 10);

EEPROM.write(TMIN, 1030 / 10);

EEPROM.write(TMAX, 1892 / 10);

EEPROM.write(GAIN_SUP_PARAM, 0.32 * 255);

EEPROM.write(GAIN_MAX_PARAM, 1.0 * 255);

EEPROM.write(LOW_BATT_PARAM, 0.85 * 255);

EEPROM.write(PROP_PARAM, 0.73 * 255);

EEPROM.write(THR_SUP_PARAM, 0.39 * 255);

EEPROM.write(THR_MIN_PARAM, 0.34 * 255);

buzz(1, 3000, 0);

}

// Reads EEPROM into memory.

void readEEPROM()

{

gMin = EEPROM.read(GMIN) * 10;

gMax = EEPROM.read(GMAX) * 10;

tMax = EEPROM.read(TMIN) * 10;

tMin = EEPROM.read(TMAX) * 10;

curParamVal = curParam = EEPROM.read(0);

readParams();

}

// Gives sound signals on change of the 3-pos switch

// position.

void soundSwitchChange()

{

if (sw != oldSw) {

buzz(3 - sw, 5, 20);

}

}

// This function blinks LED is one of PPM is missed.

void noPPMBlinking()

{

long curTime = micros();

if (curTime - gStart > 1000000 ||

curTime - tStart > 1000000 ||

curTime - mStart > 1000000) {

setLED(millis() % 1000 / 500);

}

}

// Here functions for printing parameters into serial port are placed.

void debug()

{

printInt("MOD IN", modIn);

printInt("switch mode", sw);

printInt("THR IN", tIn);

printInt("GAIN IN", gIn);

}

void soundCurParamChange()

{

if (curParam != 0) {

buzz(curParam, 200, 100);

}

}

void setLED(boolean isOn)

{

digitalWrite(LED_OUT_PIN, isOn ? 0 : 1);

}

// Test if throttle is of and GAIN knob doesn't moved

// during 5 seconds.

boolean isEndOfProgramming()

{

// Find time when stick aren't moving and

// throttle is down.

if ((tIn - tMax > 50) || (gIn - gOld) > 50 ) {

gOld = gIn;

tIdleStart = millis();

}

return millis() - tIdleStart > 5000;

Размещено на Allbest.ru

...

Подобные документы

  • Выбор программного обеспечения. Построение функциональной модели. Тестирование программного описания автомата. Проектирование общей схемы сборки проекта из отдельных фрагментов. Нормы затрат на проектирование и внедрение микропроцессорной системы.

    дипломная работа [348,1 K], добавлен 05.05.2015

  • Этапы разработки микропроцессорной системы на основе микроконтроллера. Общая характеристика солнечных часов. Разработка схемы, программного обеспечения и алгоритма управления солнечных часов. Технико-экономическое обоснование разработки и охрана труда.

    дипломная работа [5,9 M], добавлен 16.07.2010

  • Методика и основные этапы разработки схемы усилителя низкой частоты с заданными в техническом задании параметрами. Формирование и синтез структурной схемы. Разработка и расчет принципиальной схемы. Анализ данного спроектированного устройства на ЭВМ.

    контрольная работа [122,8 K], добавлен 09.10.2010

  • Описание схемы электрической принципиальной приёмника для радиоуправляемой игрушки. Этап проектирования и расчет надежности микросхемы. Обоснование выбора элементов: резисторов, конденсаторов. Трассировка печатной платы и компоновка печатной платы.

    курсовая работа [29,8 K], добавлен 27.01.2009

  • Общие принципы разработки программно-аппаратного терминала с CAN-шиной, его основные физические интерфейсы. Структурная схема разрабатываемого устройства. Схема подключения микроконтроллера. Схема подключения микроконтроллера Atmega128 и для ПЭВМ.

    дипломная работа [1,4 M], добавлен 07.07.2011

  • Порядок описания и разработки структурной и функциональной схемы микропроцессорной системы на основе микроконтроллера К1816ВЕ31. Обоснование выбора элементов, разработка принципиальной схемы данной системы, программы инициализации основных компонентов.

    курсовая работа [260,4 K], добавлен 16.12.2010

  • Задачи и принцип работы автоматизированного рабочего места оператора обработки информации. Разработка структурной и электрической принципиальной схемы устройства. Проектирование печатной платы и конструкции прибора. Экономическое обоснование разработки.

    дипломная работа [2,6 M], добавлен 07.07.2012

  • Выбор методов проектирования устройства обработки и передачи информации. Разработка алгоритма операций для обработки информации, структурной схемы устройства. Временная диаграмма управляющих сигналов. Элементная база для разработки принципиальной схемы.

    курсовая работа [1,8 M], добавлен 16.08.2012

  • Рассмотрение основных особенностей разработки микропроцессорного устройства охраны дома, этапы расчета параметров. Общая характеристика микросхемы К561ТМ2. Знакомство с принципиальной схемой двухтактного D-триггера на двух однотактных D-триггерах.

    курсовая работа [241,2 K], добавлен 07.02.2016

  • Описание схемы самого простого варианта пульта управления. Сущность разработки цепи для определения времени наработки на отказ устройства. Характеристика электрических конденсаторов. Особенности разработки трассировки и компоновки печатной платы.

    курсовая работа [976,4 K], добавлен 18.12.2008

  • Этапы разработки структурной схемы системы оперативной связи гарнизона пожарной охраны. Оптимизация сети специальной связи по линиям 01. Особенности определения высоты подъема антенн стационарных радиостанций, обеспечивающих заданную дальность радиосвязи.

    контрольная работа [874,9 K], добавлен 16.07.2012

  • Разработка радиоприемного устройства профессиональной связи УКВ диапазона, создание схемотехнической модели системы: выбор и обоснование структурной схемы; расчет и моделирование отдельных узлов; расчет экономических параметров; экологичность проекта.

    дипломная работа [5,9 M], добавлен 16.02.2012

  • Технология сквозного проектирования. Разработка принципиальной электронной схемы устройства. Обоснование выбора цифровых электронных компонентов. Трёхмерное моделирование: разработка модели корпуса, 3D-печать. Разработка программы микроконтроллера.

    дипломная работа [1,2 M], добавлен 22.08.2017

  • Анализ вариантов подключения и построения контроллеров индикации на PIC микроконтроллерах. Проектирование модулей системной шины ISA. Разработка обобщенной схемы модуля. Методы построения алгоритмов инициализации и управления, разработка программы.

    курсовая работа [574,7 K], добавлен 04.09.2012

  • Проектирование авиационного радиопередающего устройства дальней связи для самолёта АН-2. Составление структурной схемы передатчика. Выбор схемотехнических решений и расчёт отдельных узлов передатчика. Расчёт тракта формирования однополосного сигнала.

    курсовая работа [378,4 K], добавлен 14.11.2010

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

    дипломная работа [48,5 K], добавлен 23.10.2010

  • Этапы разработки печатного узла датчика взлома двери. Обзор аналогов. Обоснование выбора электрической схемы. Расчет надежности, виброустойчивости, теплового режима, и других конструкторско-технологических параметров разрабатываемого устройства.

    курсовая работа [521,7 K], добавлен 25.12.2015

  • Сравнительный анализ функций арифметико-логического устройства (АЛУ) в современных микропроцессорах. Синтез схемы блока АЛУ и признаков результата. Разработка имитатора управляющих сигналов. Расчет надежности и безотказной работы проектируемой модели.

    дипломная работа [1,0 M], добавлен 14.11.2014

  • Понятие и внутренняя структура модели устройства в пространстве состояний как известного способа описания линейных устройств. Принципы и этапы ее построения в форме пространства и передаточной функции. Нелинейные устройства обработки аналоговых сигналов.

    реферат [70,5 K], добавлен 21.08.2015

  • Модернизация более ранней разработки устройства на базе микроконтроллера MCS-48, предназначенного для увлажнения дыхательной смеси. Проектная процедура ПЛИС типа SOPC, реализованная на базе микроконтроллера MCS-48. Проектирование структурной схемы.

    курсовая работа [523,2 K], добавлен 03.05.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.