![]() Режим асинхронного Bit Bang разрешается для работы с использованием команды FT Вызов первой демонстрационной программы на Visual Basic (VB). Результаты работы первой демонстрационной программы будут представлены в небольшой области окна USB Test. Измеритель радиоактивности (радиометр) с Глонасс приемником и передачей данных по Wi- Fi / Geektimes. В статье описан самодельный прибор для измерения радиоактивности, определения координат ГЛОНАСС\GPS и обладающий каналом обмена по Wi- Fi. Также описаны программное обеспечение внутреннего микропроцессора и внешняя программа (Visual Basic) для приема, отображения данных и записи их в лог- файлы. Я несколько последних лет занимаюсь в свободное от основной работы время конструированием и практическим изготовлением разнообразных устройств домашней автоматизации, управления и слежения за параметрами среды. Сейчас у меня имеется много свободного времени и я получил возможность описать сделанное. Мои приборы подключаются в домашнюю сеть по Wi- Fi, в домашней сети живет бесшумная безвентиляторная управляющая машина с твердотельным диском. Эта машина выполняет фунции ядра системы, на ней работают программы сбора данных от разнообразных датчиков и программы управления внешними устройствами. Задача, которую я хотел решить с помощью радиометра, я сформулировал так: «хочу иметь прибор, который будет измерять радиацию в общем смысле». Прибор должен показывать уровень естественного радиационного фона, реагировать на изменения этого фона, иметь пределы измерения не меньше примененного датчика и уметь передавать данные на внешний регистратор. Неплохо бы также иметь в приборе поисковую функцию: когда можно поводить прибором около «горячего пятна» и найти его по изменению показаний встроенных индикаторов. Неплохо бы так же иметь автономность по питанию на какое- то время, например походить по дачному участку и проверить, все ли в порядке. Первый вопрос, который надо решить – какой датчик применить. Изучение материалов по вопросам измерения радиоактивности дало мне понимание, что оптимальный датчик для моей задачи – обыкновенный датчик Гейгера- Мюллера. Традиционно называть эти приборы «счетчиком Гейгера- Мюллера», хотя в реальности ничего они не считают, а выдают импульсы на каждую частицу, которая смогла запустить процесс лавинного пробоя в измерительной камере. Поэтому я употребляю термин «датчик». ![]() ![]() Микросхема FT232RL имеет интересный режим работы - bit-bang mode. В этом режиме восемь выводов микросхемы превращаются в 8-ми разрядный порт общего назначения. Для написания программы я использовал Visual Studio Express 2012 для Windows Desktop. Все форумы / Visual Basic. Устройство на чипе FT232R и VB. Открывается программа HyperTerminal, настраивается соединение с COM10 и отправляются ASCII строки с командами. ![]() ![]() Их очень много, для разных целей. Мне хотелось, чтобы мой прибор был достаточно чувствителен к бета излучению, а не только к гамма. Широкораспространенные и дешевые (в диапазоне 2. СБМ2. 0 малочувствительны к бета излучению, у них нет окна, прозрачного для бета частиц. СБМ2. 0 прежде всего чувствителен к гамма излучению, причем к достаточно мощному. Понятно почему – их делали для военных целей. Использование такого датчика в радиометре требует большого времени накопления данных для более- менее адекватного измерения естественного фона. Но нужно к программе на VB6. А саму компанию FTDI надо взорвать за то, что сотни драйверописателей из-за их поделки сидят без работы. Проектно-исследовательские работы. Рекомендации ученикам. Опасные встречи через знакомства в интернет. Вирусы и вредоносные программы, которые. Для получения более подробной информации о языке Visual Basic можно воспользоваться справочным Web-сайтом. Для СБМ2. 0 это время обычно берут 4. Но мне хотелось большей чувствительности к бета излучению. Я не рассчитывал на катаклизм, меня интересовало бытовое измерение малых значений. Если хочется быть готовым к катаклизму – можно поискать и купить какой- нибудь ДП5. В с хранения, заменить в нем три конденсатора на хорошие пленочные и получить прибор в военном стиле, в зеленом ящике, дуракоупорный, пригодный для измерения радиации до 2. Отмечу также, что есть и другие методы регистрации заряженных частиц, например на основе сцинциляционных кристаллов и ФЭУ. Эти методы измерения позволяют измерять и распределение спектра мощности потока радиации, но для моей цели это избыточно и очень дорого. Итак, мне нужен счетчик Гейгера- Мюллера с бета чувствительностью. К счастью у нас в России производятся эти датчики. Я выбрал датчики Бета. Их производит НПФ Консенсус. Определенную роль в решении купить именно такой датчик сыграло и весьма любезное и клиентское отношение сотрудников завода. Я мучил их глупыми чайниковскими вопросами и получил вполне адекватные ответы на них. Для покупки датчика мне пришлось съездить в Запрудню. Это около 1. 00 км по Дмитровке, чуть не доезжая Дубны. Некоторую роль в принятии решения о поездке сыграло и желание посмотреть новые места : )Выбранный мной датчик БЕТА- 2 имеет слюдяное окно площадью 1. Для работы ему надо 4. Важный параметр датчика – время восстановления. Суть работы датчика – ионизация газа в камере при пролете заряженной частицы и последующий лавинный пробой, затем в дело вступают присадки в газе и гасят разряд. Датчику после гашения разряда требуется некоторое время для восстановления чувствительности. Это время ( термин «мертвое время») указано в характеристиках и для конкретно Бета- 2 составляет 1. Пересчет в частоту дает нам максимальную частоту импульсов от датчика в районе 8 кгц. Скан паспорта: Существуют два метода съема данных со счетчика Гейгера- Мюллера. Первый – последовательно с анодом ставится резистор в районе 1. Импульс пригоден для прямого управления КМОП входом микросхемы. Второй – резистор ставится в цепи катода и на нем вырабатывается положительный импульс, подаваемый на базу транзистора. При таком включении не требуется высоковольтного конденсатора. Штатный метод, рекомендуемый производителем – сигнал снимать с анода. Специалисты НПФ Консенсус не смогли ответить, почему такое включение правильное. Ответ я получил позже от автора преобразователя питания ПН4. Принципиальная схема радиометра. Фото конструкции: Сигнал с датчика через формирующие защитные цепи можно напрямую подавать на входы микропроцессора. Но я решил поставить дополнительный формирующий элемент на сдвоенном одновибраторе 5. АГ1. Первый одновибратор формирует импульс длительностью 5. Светодиод служит индикатором срабатывания и позволяет искать горячую точку по интенсивности моргания диода. Изначально я хотел поставить два счетчика – один на бета, другой на гамма. Поэтому был применен двухканальный таймер и на выход первого канала одновибратора был поставлен индикаторный смд светодиод HL2. После запуска первого канала я убедился, что Бета- 2 прекрасно реагирует на естественный фон (1), стоимость второго датчика все же велика (2) и хотелось еще навигационный датчик поставить (3). Из этих трех причин и появилось решение изменить план, не ставить второй гамма датчик, а поставить навигационный датчик. Поэтому SMD светодиод остался на месте, времязадающие цепи второго канала АГ1 были изменены (резистор увеличен с 2 к до 1. Импульс длительностью 5. Причины такого выбора – цена (2. Основной вопрос был – хватит ли быстродействия процессора для обработки импульсов, быстро идущих друг за другом? Из изучения подобных приборов и описаний программ стало понятно, что подача импульсов от счетчика на вход процессора и программная отработка прерывания требует высокого быстродействия процессора и серьезных усилий по программированию. Однако к счастью примененный процессор обладает тремя таймерами- счетчиками, два из которых можно включить в режим счета внешних импульсов с внешней ножки процессора. Это радикально упрощает задачу. Достаточно в начале цикла измерения обнулить счетчик и в конце прочитать количество импульсов. Счет выполняется на аппаратном уровне, не требуя внимания процессора. Ресурс процессора можно использовать на обмен данными и отрисовку экрана прибора. Алгоритм пересчета числа накопленных импульсов за определенное время основан на паспортной характеристике счетчика: Чувствительность к 6. Со имп / мк. Р: 1. Формула расчета для чувствительности 2. R = CT / DELTA. Случайный процесс характеризуется матожиданием и среднеквадратическим отлонением. Чем меньше СКО – тем точнее мы померяли параметры случайного процесса. СКО уменьшается до стационарного значения при увеличении числа импульсов. Если же мы хотим использовать прибор для поиска «горячей точки» – желательно время минимизировать. Чтобы удовлетворить обоим требованиям я сделал адаптивный алгоритм измерения. Для этого в процессе счета импульсов скетч проверяет при каждом проходе содержимое счетчика и если оно более заранее заданной уставки (1. Если превышения нет – то счет импульсов идет до истечения времени в 1. Таким образом в режиме измерения фона измерение происходит 1. СКО 1. 3. Скриншот программы Radiometer, измерение фоновых значений: Если же обстановка резко меняется – счет заканчивается значительно раньше и показания как встроенного дисплея, так и внешнего приемника обновляются значительно быстрее. Уставка «1. 00» выбрана из наблюдения за измерениями фона, за 2 минуты число импульсов обычно находится в диапазоне 5. При измерении активности компаса цикл счета составляет около 1. СКО при этом составляет 1. Скриншот Radiometer, измерение радиоактивности старого компаса: Вот этот компас: Вот фото обычной обстановки, измеренный фон 1. Москвы близко к норме. Для питания счетчика Гейгера- Мюллера требуется источник стабильного напряжения 4. Я воспользовался готовым преобразователем PN3- 4. M, купленным за 7. Преобразователи эти можно купить через ebay (поиск по «Geiger counter power supply module dosimeter NEW 1 HV 4. V high voltage» или по «Adjustable HV high voltage supply module for geiger tube counter and dosimeter»). Ждать не хотелось и я нашел автора изделия (оказалось – Подмосковье), он мне порекомендовал одного из своих представителей в Москве и мне его привезли на ближайшую станцию метро за наличный расчет. Проблем с изделием не было, заработал сразу и никаких вопросов не вызывает. Я применил довольно большой корпус для прибора: Gainta 4. Буром Медведе. Сначала я думал о двух счетчиках Гейгера- Мюллера – один для бета, второй для гамма. Можно было бы в одном цикле измерений получить данные сразу и по гамме и по бете отдельно. Место для второго счетчика предусматривалось над первым. Однако после запуска системы я увидел, что и с одним датчиком радиометр делает то, что я хотел – бодро реагирует на фоновое излучение, на старый компас, на хрустальные предметы, на сварочные электроды с торием и на мешок с калиевыми удобрениями. Поэтому от установки второго датчика на гамму я отказался и перешел к запасному плану – размещению Глонасс\GPS навигатора. Практическая польза мыслилась так – «горячую точку» нашел (например на даче), координаты записал, в МЧС передал для обеззараживания. В реальности просто было интересно попробовать повозиться с новой технологией. Бета частицы характерны малой проникающей способностью. Visual Basic - диалект языка программирования Basic. Энциклопедия языков программирования. Visual Basic (VB) — является языком программирования третьего поколения (событийный язык программирования) и среда разработки от Microsoft для модели программирования COM. Этот язык был получен из BASIC и допускает быструю прикладную разработку (RAD) графического интерфейса пользователя (GUI), доступ к базам данных при помощи DAO, RDO, ADO, создание элементов управления Active. X и объектов. Языки сценариев (VBA, VBScript) синтаксически подобны Visual Basic, но отличаются от него. В то же время Visual Basic — современный язык программирования, сочетающий процедуры и элементы объектно- ориентированных и компонетно- ориентированных языков программирования. Среда разработки VB включает инструменты для визуального конструирования пользовательского интерфейса. Программист может создавать приложение, используя компоненты предоставленные в Visual Basic. Программы, написанные в Visual Basic, могут также использовать Windows API (требует объявление внешних функций). Корпорация Microsoft продлила поддержку продукта до 2. Visual Basic. NET. Он позволяет разрабатывать не только простые приложения с графическим интерфейсом, но и создавать сложные приложения. Программирование в VB представляет собой сочетание визуальных компонентов и контролов, определение атрибутов и действий для компонентов, написание дополнительного кода для расширения функциональных возможностей. Определенные по умолчанию значения и действия для компонентов позволяют создать простую программу без написания кода программистом. Ранние версии имели определенные проблемы с производительностью программ, но с использованием современных компьютеров и компиляцией собственного кода данная проблема стала менее значимой. Эти библиотеки включены в Windows, начиная с Windows 2. Windows они должны поставляться вместе с программой. Элементы управления просто размещаются на форме (например, поля ввода, кнопки, и т. Элементы управления имеют свои атрибуты и обработчики событий. Многие атрибуты могут быть изменены во время исполнения программы, что позволяет создавать программы, динамически реагирующие на действия пользователя. Диалоговые окна с ограниченными функциональными возможностями могут использоваться для обеспечения подсказок. Элементы управления обеспечивают основные функциональные возможности приложения, а программист может расширить логику программы при помощи обработчиков событий. Например, выпадающий список автоматически отображает список и позволяет пользователю выбрать элемент. Обработчик событий вызывается для исполнения дополнительного кода в зависимости от выбранного элемента. В отличие от многих других языков программирования, Visual Basic не зависим от регистра. Сравнение строк зависит от регистра, но может быть выполнено без учета регистра. Они взаимосвязаны между собой через логическую операцию Not иначе говоря Истина = Не Ложь. Этим он непохож ни на один C подобный язык (Java, Perl). Возможно, при использовании оператора Option Base, установить нижнюю границу по умолчанию, но это приводит к запутанности программ. Нижняя граница массивов не ограничена 0 или 1 и можно устанавливать более низкие границы. В Visual Basic . NET и VBScript нижняя граница фиксирована. Оператор (\) производит деление с усечением дробной части. Но при использовании оператора Deftype можно установить иной тип по умолчанию ( Def. Int, Def. Bool, Def. Var, Def. Obj, Def. Str и др.). Тип по умолчанию может быть отменен для переменной при использовании специального символа- суффикса в имени переменной. Используемый в нём принцип связи языка и графического интерфейса был разработан Аланом Купером (Alan Cooper) и реализован в прототипе Tripod (также известном как Ruby). Он не был полностью совместим с Windows- версией VB, поскольку по сути являлся следующей версией Quick. BASIC и работал в текстовом режиме экрана. Visual Basic 2. 0. Среда разработки стала проще в использовании и работала быстрее. Visual Basic 3. 0 в версиях Standard и Professional. В состав поставки входил движок для работы с базами данных Access. Visual Basic 4. 0 — версия, которая могла создавать как 3. Windows- программы. Кроме того, появилась возможность писать на VB классы, а также возможность компиляции в «родной» для процессора машинный код, что значительно увеличило скорость выполнения программ. Visual Basic 5. 0 — версия, в которой стало возможно делать свои компоненты. В это же время выпущен . NET Framework 2. 0 и Microsoft SQL Server 2. Немногим позже появилась версия Visual Basic Express — бесплатная редакция VB. NET 2. 00. 5. Основные разновидности Visual Basic. Корпорация Microsoft разработала разновидности Visual Basic для создания сценариев. Со временем оригинальный Visual Basic был заменен версией . NET. Привязка к среде заключается в том, что существует большое количество средств, предназначенных для помощи и удобства программирования: встроенный отладчик, просмотр переменных и структур данных на лету, окно отладки, всплывающая подсказка при наборе текста программы. Все эти преимущества делают бесполезным и даже невозможным использование Visual Basic вне среды разработки, например в обычном текстовом редакторе. Visual Basic for Applications (VBA) —средство программирования, практически ничем не отличающееся от классического Visual Basic, которое предназначено для написания макросов и других прикладных программ для конкретных приложений. Наибольшую популярность получил благодаря своему использованию в пакете Microsoft Office. Широкое распространение Visual Basic for Applications в сочетании с изначально недостаточным вниманием к вопросам безопасности привело к широкому распространению макровирусов. Visual Basic Scripting Edition (VBScript) — скриптовый язык, являющийся несколько усечённой версией обычного Visual Basic. Используется в основном для автоматизации администрирования систем Windows, а также для создания страниц ASP и сценариев для Internet Explorer. Visual Basic . NET — преемник Visual Basic 6.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
November 2017
Categories |