- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Занимательная электроника - Юрий Ревич
Шрифт:
Интервал:
Закладка:
Калибровка
Для того чтобы прибор заработал, в него необходимо ввести предварительные значения коэффициентов преобразования К и Z, причем такие, желательно, чтобы они были достаточно близки к настоящим, и измеритель не показал бы нам сразу «погоду на Марсе». В программе «зашиты» некие значения коэффициентов (см. процедуру Reset, Секцию Запись коэффициентов в самом конце программы), которые вы можете использовать, если в точности воспроизведете схему по рис. 20.4 и используете тот же самый датчик давления. Как они получены?
Схема датчика температуры при указанных параметрах должна выдавать, как вы можете подсчитать, значение от 0 до 5 В в диапазоне температур примерно от -47 до 55 °C. То есть на 102 °C у нас приходится 1024 градации АЦП, и крутизна характеристики, если считать градусы с десятичными долями, составит 1020/1024 = 0,996 тысячных долей градуса на единицу кода АЦП. Для вычислений в МК эту величину мы хотим умножить на 1024, так что можно было бы и не делить — ориентировочное значение коэффициента К и так будет 1020.
Величину Z, соответствующую 0 °C, вычислить также несложно. Мы полагаем, что нулевому значению кода соответствует температура -47°, тогда значение кода в нуле должно составить величину 470, поделенную на крутизну: 470/0,996 = 471.
Теперь разберемся с давлением. «Если повар нам не врет», то диапазон датчика, соответствующий изменению напряжения на его выходе от 0 до 4,6 В, составляет примерно 850 мм рт. ст. Диапазон 0–4,6 В будет соответствовать изменению кодов примерно от 0 до 940 единиц, т. е. крутизна К равна 850/940 = 0,904 мм рт. ст. на единицу кода. В приведенном для наших расчетов виде это составит 0,904 — 1024 = 926. «Подставка» Z есть значение кода на нижней границе диапазона датчика, которая равна около 11 мм. рт. ст., соответственно, Z = 11/0,904 = 12 единиц. Полученные величины «по умолчанию» и «зашиваем» в программу.
Для уточнения этих величин необходимо произвести калибровку. Откалибруем уже отлаженный прибор сначала по температуре. Для этого следует запустить прибор и поместить датчик температуры в воду, записав для двух значений температур (как можно ближе к 0°, но не ниже его, и около 30–35 °C) показания датчика (t) и реальные значения температуры по образцовому термометру (t'). Они, естественно, будут различаться.
Для расчета новых (правильных) значений коэффициентов K' и Z' достаточно решить относительно них систему уравнений:
Здесь величины со штрихами относятся к правильным (новым) значениям, а без штрихов — к старым, причем значение коэффициента К нужно подставлять в изначальной форме (а не умноженным на 1024). Система четырех уравнений содержит четыре неизвестных, два из которых (величины кодов x1 и х2) вспомогательные.
Если вы забыли, как решаются такие простые системы — обратитесь к любому справочнику по математике для средней школы (или к пособию по использованию Excel в алгебраических расчетах). Вычисленные значения (не забудьте К умножить на 1024!) «забейте» в программу и перепрограммируйте контроллер.
Аналогично калибруется канал давления, только коэффициент Z в уравнениях не вычитается, а прибавляется к х. Но самое сложное здесь — получить действительные значения давления. Далеко не все научные лаборатории располагают образцовыми манометрами для измерения столь малых давлений с необходимой точностью. Поэтому самый простой, хотя и долгий метод, — сравнивать показания датчика с данными по давлению, которые публикуются в Интернете. Данные радио и телевидения лучше не использовать, т. к. текущие значения могут сообщаться с опозданием на полсуток либо вообще отсутствовать, а по завтрашнему прогнозу, естественно, вы ничего не откалибруете.
Для получения двух точек дождитесь, пока давление на улице не станет достаточно низким, а затем, наоборот, высоким — экстремальные значения давления в европейской части России составляют примерно 720 и 770 мм рт. ст. Чем дальше будут отстоять друг от друга значения, тем точнее калибровка. Для повышения точности можно усреднить коэффициенты, рассчитанные по нескольким парам значений давления, но это стоит делать, только если у вас хватит терпения вести наблюдения в течение нескольких месяцев, когда будет пройдено несколько минимумов и максимумов. Средние значения давления при калибровке лучше не учитывать, т. к. ошибка ее из-за узкого интервала и так достаточно велика.
Можно ли объединить часы, описанные в первом разделе этой главы, с измерителем температуры и давления? Конечно, но я предоставляю читателям сделать это самостоятельно. Одно только замечание: общее количество индикаторов составит 10 штук (6 для измерителя и 4 для часов), и это почти предельная величина для динамической индикации. Увеличивать частоту обхода индикаторов нельзя до бесконечности — у контроллера может просто не хватить быстродействия, и он начнет терять прерывания, сбиваясь в опросе датчиков или, что еще хуже, в отсчете времени (правда, это отчасти решается увеличением тактовой частоты). Но и быстродействие транзисторных ключей тоже ограничено, и при слишком высокой частоте обхода будут подсвечиваться ненужные и терять яркость нужные сегменты. Потому, возможно, схему придется продумывать более тщательно и применять индикаторы со встроенным контроллером-драйвером, позволяющим обойтись меньшим числом соединений и без дополнительных ключей. Такие индикаторы мы увидим в следующей главе, где будем конструировать настоящую метеостанцию с часами, выносным радиодатчиком и сохранением данных на флэш-карте.
ГЛАВА 21
Основы Arduino
Среда программирования и практика построения схем
— Но для путешествия в Лондон нужны деньги, — заметил Портос, — а у меня их нет.
— У меня тоже.
— И у меня.
— У меня они есть, — сказал д'Артаньян, вытаскивая из кармана свой клад и бросая его на стол.
А. Дюма. Три мушкетера
Возникновение платформы Arduino стало закономерным ответом индустрии на запрос со стороны пользователей электронных приборов, не желающих тратить кучу времени на поиск нужного (и, возможно, отсутствующего) устройства на рынке, а сделать его своими руками, причем, желательно, с наименьшей затратой сил, средств и времени. Развитие микроэлектроники в последние десятилетия подготовило все условия для решения такой задачи, тем самым переведя радиолюбительство на принципиально иной уровень.
Переворот, который совершила Arduino в области любительского конструирования электронной техники, можно сравнить с революцией в фотографии, наступившей с появлением цифровых камер. Если еще лет тридцать назад увлеченному радиолюбителю, как и фотографу, приходилось заводить дома целую лабораторию, то теперь на все про все достаточно одного настольного компьютера. Своим возникновением Arduino создала новую категорию любителей и целую отрасль индустрии, направленную на их обеспечение нужными комплектующими. Вы берете платы из коробки, доставленной курьером, соединяете их в нужном порядке, и готовый прибор работает, даже если вы в жизни ни разу не прикасались к паяльнику.
Но не следует думать, что таким способом можно овладеть всеми тонкостями ремесла. Как грамотному фотографу по-прежнему необходимо знание многих теоретических нюансов из области теории цвета и оптики (а необходимость освоения основ химии ему теперь заменили основы компьютерных наук), так и любителю Arduino, если он не хочет ограничиваться повторением чужих схем неизвестного качества, а создавать и совершенствовать что-то свое, придется изучать контроллеры «изнутри». Именно поэтому я подчеркивал в главе 19, что если вы желаете овладеть микроэлектроникой по-настоящему, то начинать следует с программирования простых конструкций на ассемблере, а не на языке С и, тем более, не в среде Arduino. Переход к языкам высокого уровня целесообразен тогда, когда вы понимаете, что именно происходит в контроллере, и в случае надобности можете управлять этим процессом.
Это мое убеждение, однако, не исключает того факта, что в качестве элементарного введения в предмет Arduino подойдет очень неплохо. О недостатках этой платформы мы еще поговорим в самом конце, а в оставшихся главах книги покажем, как с минимальной затратой сил можно с помощью Arduino делать настоящие электронные приборы, которые будут работать лучше покупных, иметь больше функций и обойдутся при этом, как минимум, не дороже тех, что имеются на прилавках. При этом ограниченный объем книги не позволяет мне остановиться на многих интересных темах: например, совсем несложно пристегнуть к Arduino модуль GPS и построить свой собственный навигатор, превратить Arduino в универсальный пульт управления бытовой техникой и даже создать на его основе автономный веб-сервер. По необходимости мы также оставим в стороне работу в Arduino со звуком и одно из главных направлений применения этой платформы в области конструирования роботов. Хочу еще обратить ваше внимание на открытый проект Accessory Development Kit компании Google — он позволяет устройствам на Android обеспечивать двусторонний обмен данными с Arduino через USB или Bluetooth. Здесь же мы сосредоточимся на измерительной технике, вопросах взаимодействия с компьютером и выводе информации на дисплей, что даст хорошее и обстоятельное введение в платформу и позволит конструировать практически полезные вещи.