Сервопривод Tower Pro SG90
Рисунок 2.7 – Сервопривод SG90 Характеристики сервопривода Tower Pro SG90: · Скорость вращения (4.8В без нагрузки): 0.14 сек/60 градусов · Усилие (момент вращения) (4.8В): 1.98 кг*см · Максимальный угол поворота: 180 градусов · Материал редуктора: пластик · Рабочая температура: -30 - +60 "С · Рабочее напряжение: 3.5 - 8.4В · Габариты: 22.6 x 21.8 x 11.4 мм · Масса: 13 г.
ПРОГРАММНАЯ ЧАСТЬ Блок-схема Программныйкод #include <SoftwareSerial.h> #include <Servo.h> #define SERVO_PIN 3 float my_vcc_const = 1.1; // начальное значение константы должно быть 1.1
SoftwareSerial suart(4, 5); Servo window;
struct MHZ19 { /* интервалнормы */ int normal[2] = {600, 800}; byte cmd[9] = {0xFF, 0x01, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79}; unsigned char response[9]; int ppm; int get_co2() { suart.write(cmd, 9); memset(response, 0, 9); suart.readBytes(response, 9); int i; byte crc = 0; for (i = 1; i < 8; i++) crc += response[i]; crc = 255 - crc; crc++; if (!(response[0] == 0xFF && response[1] == 0x86 && response[8] == crc) ) { Serial.println("CRC error: " + String(crc) + " / " + String(response[8])); } else { unsigned int responseHigh = (unsigned int) response[2]; unsigned int responseLow = (unsigned int) response[3]; return ppm = (256 * responseHigh) + responseLow; } } boolean get_norm() { if (normal[0] < get_co2() && get_co2() > normal[1]) return true; else return false; } }; MHZ19 co2;
// функция чтения внутреннего опорного напряжения, универсальная (для всех ардуин) long readVcc() { #if defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); #elif defined (__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) ADMUX = _BV(MUX5) | _BV(MUX0); #elif defined (__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__) ADMUX = _BV(MUX3) | _BV(MUX2); #else ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); #endif delay(2); // Wait for Vref to settle ADCSRA |= _BV(ADSC); // Start conversion while (bit_is_set(ADCSRA, ADSC)); // measuring uint8_t low = ADCL; // must read ADCL first - it then locks ADCH uint8_t high = ADCH; // unlocks both long result = (high << 8) | low;
result = my_vcc_const * 1023 * 1000 / result; // расчётреального VCC return result; // возвращает VCC }
void setup() { /* проверка питания и инициализации системы */ Serial.begin(9600); suart.begin(9600); window.attach(SERVO_PIN); delay(1000); /* отображение заряда в процентах по ёмкости! Интерполировано вручную по графику разряда ЛИТИЕВОГО аккумулятора */ int volts = readVcc(); int capacity; if (volts > 3870) capacity = map(volts, 4200, 3870, 100, 77); else if ((volts <= 3870) && (volts > 3750) ) capacity = map(volts, 3870, 3750, 77, 54); else if ((volts <= 3750) && (volts > 3680) ) capacity = map(volts, 3750, 3680, 54, 31); else if ((volts <= 3680) && (volts > 3400) ) capacity = map(volts, 3680, 3400, 31, 8); else if (volts <= 3400) capacity = map(volts, 3400, 2600, 8, 0); Serial.println(capacity); if (!(volts <= 3400) && !(co2.get_co2() > 0)) while (1) { Serial.println("no init!"); delay(1000); } } void loop() { if (co2.get_norm()) window.write(0); else window.write(180); } Экономическая часть
Целью данного раздела дипломного проекта является определение себестоимости проектируемого изделия, а, следовательно, и экономической обоснованности производства данного продукта. Существует несколько методов определения себестоимости. Но в настоящее время цены постоянно меняются и надо выбирать такой метод, который бы позволил обрабатывать как можно меньший набор оптовых цен. Исходя из этого, наиболее простым и приемлемым для определения себестоимости приборов на ранних стадиях проектирования является метод удельных весов, основанный на сопоставлении разрабатываемых изделий с их аналогами обладающими одинаковыми конструктивно-технологическим и эксплуатационными признаками. При этом предполагается, что структура себестоимости сравниваемых изделий в известных пределах сохраняется. Зная удельный вес соответствующих статей в калькуляции прибора - аналога и рассчитан хотя бы одну из прямых статей затрат проектируемого блока, можно определить его себестоимость. Для изделий приборостроения в качестве расчетной целесообразно принимать статью “Комплектующие изделия и покупные полуфабрикаты”. Удельный вес данной статьи в себестоимости приборов, как правило, наибольший, что позволяет получить довольно точный результат при расчёте себестоимости разработки. Затраты о данной статье определяются по спецификации к электрической схеме и прейскурантам оптовых цен уже на стадии эскизного проектирования. Себестоимость проектируемого блока может быть определена по формуле. где Сп.р - себестоимость проектируемого изделия, руб.; Ск - затраты по данной статье, руб;
Ук- удельный вес данной статьи затрат в себестоимости аналогичных изделий, %. Определим затраты по статье «Комплектующие изделия и покупные полуфабрикаты». Итак, согласно перечня элементов на схему электрическую принципиальную по прейскуранту оптовых цен, ниже приводится таблица 3 цен на комплектующие изделия. Таблица 3 – Цены на комплектующие изделия
Себестоимость формирователя определяется по формуле, где Ук= 48 для электронной техники: Спр = (2600*100)/48 = 5416 руб.
Популярное: Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (569)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |