Дата на обновяване:08.03.2013

   ПЧЕЛАР / ЕЛЕКТРОНЧИК - пробвай-сам.bg

     Страница за пчеларство, пчеларски и ел.  разработки, представени като статии

Комютърът на пчелина | Нестандартни кошери | Пчеларски сайтове | Пчеларски инвентар | Размисли и идеи за пчеларството Физиотерапия, Апитерапия, Фитотерапия | Книги, Списания, РС, Интернет |  Пчеларски технологии |  Видове мед  | Пчеларски хумор

Сезонни и месечни задължения на пчеларя | Пчеларски статии на руски език | Малки Oбяви свързани с пчеларството

Информация, която е полезна за начинаещия пчелар | Използване на автомобила ... не само за предвижване - видеоклипове

 

 

 
Информация  от  ОБЛАСТЕН  ПЧЕЛАРСКИ  СЪЮЗ  - ПЛЕВЕН

 

 

Полезна и забавна информация за начинаещи с ел., радио и електронен характер, част от която с приложение и в пчеларството

- Електронни схеми, радиосхеми и устройства удобни за повторение от начинаещи;

- Снимки на фигурки изработени от електрически, разноцветни кабели. Други ел. снимки;

- Детски любителски набори - радиоконструктори за сглобяване на радиоприемници наричани играчки;

- Детекторни радиоприемници, техни модели;

- Сувенирни радиоприемници - играчки, някои от тях предназначени за ученици;

- Модулни набори - радиоконструктори от типа "Електронни кубчета" или "Мозайка" с които се работи без поялник и се захранват с батерии;

Информация за електрически и електронни компоненти и устройства, някои от които приложими и в пчеларството

- Токозахранващи устройства. Стабилизатори, преобразуватели, удвоители на напрежение;

- Импулсни стабилизатори на напрежение. Инвертори на напрежение;

- Устройства за дозареждане и компенсиране на саморазряда на акумулаторни батерии;

- Релета за време. Процедурни часовници. Схеми с ИСх 555;

- Цветомузикални устройства. Светлинни ефекти;

- Схеми за регулиране и поддържане на температура;

- Измерване на топлинния режим на радиоелектронна апаратура. Електронни термометри;

- Мрежови трансформатори. Опростени методики за изчисляването им. Електрожен;

- Зарядни устройства за Ni-Cd акумулатори;

- Устройства за имитиране гласовете на животни и птици. Мелодични звънци;

- Уреди, пробници, индикатори, генератори, тестери, измервателни приставки за любителската лаборатория;

- Металотърсачи, включително такива за откриване на метални предмети и кабели;

- Схеми на устройства, приложими за и около автомобила;

- Схеми на устройства с приложение на оптрони;

- Измерване на относителна влажност. Прецизен влагорегулатор. Поддържане на влажността на въздуха;

- Регулатори и сигнализатори за ниво на течност;

- Регулатори на мощност и на обороти;

- Опростено изчисляване на повърхността на радиатори за полупроводникови елементи;

- Схеми за управление на стъпков двигател, включително четирифазен. Енкодер/Валкодер, някои от които реализирани със стъпков двигател;

- Мощни, широколентови, операционни усилватели. Логаритмичен и антилогаритмичен усилвател;

- Електронни реле - регулатори. Реле - регулатор за лек автомобил. Стенд за проверка на реле - регулатори;

- Променливотоков регулатор. Стабилизатор за променлив ток. Ферорезонансен стабилизатор;

- Електронни схеми и устройства приложими в медицината;

- Няколко светодиодни индикатора. Икономичен светодиод. Светодиодна стрелка;

Практически приложими ел. устройства с учебна цел, реализирани с PIC16F84A, PIC16F88, PIC16F628 ... Arduino и др.

Подобряване със свои ръце възпроизвеждането на звука в дома, офиса, автомобила - subwoofer и други варианти

Радиоелектронни сайтове | Електронни библиотеки

 

 Разработки     Главна (съдържание на статиите)                         
Собствено Търсене

 

 


Аналоговый функционал Arduino: как использовать его в своих проектах (Аналогов функционал на Arduino: как да го использоваме  в своите проекти)


Lee Goldberg, Electronic Products
Будь вы инженер-разработчик, или просто любитель, вы сможете понять и оценить простоту использования аналоговых входов/выходов открытой аппаратной платформы Arduino в приложениях, работающих с «реальным миром». Компактные аппаратные модули обеспечивают легкий доступ к аналоговым входам и выходам микроконтроллера, которые могут использоваться для измерения и мониторинга напряжения, чтения различных типов аналоговых датчиков и простых сигналов.
Несмотря на то, что цифро-аналоговый преобразователь микроконтроллера имеет относительно скромное разрешение и скорость преобразования, он вполне подходит для многих распространенных приложений, от управления освещением и электродвигателями, до переключения коэффициентов усиления усилителей. В статье мы рассмотрим аппаратные и программные ресурсы, которые образуют основу аналогового функционала платформы Arduino и покажем, как использовать их в своих проектах.
Если Вы еще не знакомы с Arduino, обратите внимание на ссылки в конце статьи.
В соответствии с принятой философией – сделать применение цифровых технологий в реальном мире максимально простым, – аппаратная платформа Arduino была разработана таким образом, чтобы обеспечить возможность полного использования аналоговых функций, встроенных в универсальный 8-разрядный микроконтроллер ATmega компании Atmel. Все варианты микроконтроллеров, используемых в платформе Arduino, оснащены внутренним многоканальным АЦП, который имеет 10-битное разрешение и способен производить до 15000 выборок в секунду, представляя результаты в форме целых чисел от 0 до 1023. Основной функцией аналоговых выводов микроконтроллера является чтение входных аналоговых значений, но любой из них может быть сконфигурирован как цифровая линия ввода/вывода общего назначения.
Хотя некоторые AVR микроконтроллеры оснащены цифро-аналоговыми преобразователями, в нынешнем поколении плат Arduino используются представители семейства, аналоговые сигналы на выходах которых получаются с помощью широтно-импульсной модуляции (ШИМ). Коэффициент заполнения импульсов, имеющих частоту приблизительно 490 Гц, программируется на каждом выходе ШИМ, что дает возможность получать эквивалентное действующее напряжение в диапазоне от 0 В до 5 В с 8-битным разрешением (Рисунок 1). Несмотря на некоторые ограничения в своих возможностях, выходы Arduino могут быть использованы для многих задач, таких как управление светодиодами и электродвигателями.
 


Рисунок 1. Широтно-импульсная модуляция позволяет превратить цифровые линии ввода/вывода общего назначения в аналоговые выходы Arduino.
Большинство плат Arduino, как «официальных», так и других изготовителей, предоставляют легкий доступ к аналоговым (и цифровым) сигналам микроконтроллера посредством разъемов по краям платы. Количество аналоговых каналов и их физическое соответствие варьируются в зависимости от конкретного используемого микроконтроллера и форм-фактора платы, но многие варианты придерживаются соглашений, принятых для официальных проектов Arduino – Arduino Uno (Рисунок 2), Mega и Nano.

Рисунок 2. Аналоговые входы (A0 – A5) на плате Arduino Uno (rev3) и выходы ШИМ (цифровые выходы 3, 5, 6, 9, 10, 11) физически доступны через стандартные однорядные разъемы по краям платы.
Разработка программного кода для функций аналогового ввода/вывода также несложна, т.к. среда разработки Arduino IDE содержит набор соответствующих собственных команд. Эти команды позволяют считывать аналоговые значения, генерировать выходной ШИМ сигнал и конфигурировать опорное напряжения для АЦП.


Аналого-цифровое преобразование и чтение данных
Задача использования аналоговых входов платформы Arduino в реальных приложениях довольно проста, но требует определенного внимания при выборе надлежащего источника опорного напряжения для АЦП. Чтобы определить верхний предел диапазона входного напряжения АЦП, здесь можно использовать источник опорного напряжения по умолчанию (Default), внутренний (Internal) или внешний (External).
В режиме Default микроконтроллер в качестве опорного источника использует выход установленного на плате Arduino стабилизатора напряжения. В зависимости от конкретного типа платы, это либо 5 В, либо 3.3 В.
В режиме Internal используется встроенный в микроконтроллер прецизионный источник опорного напряжения. Выходное напряжение этого источника различно в различных микроконтроллерах, и как правило составляет 1.1 В (для ATmega168 и ATmega328) или 2.56 В (для ATmega8 и других из серии mega). Режим External позволяет подключить внешний источник опорного напряжения к выводу микроконтроллера AREF через резистор номиналом 5 кОм. Вывод AREF имеет внутренний защитный резистор 32 кОм, который совместно с резистором 5 кОм образует делитель напряжения. Это означает, что при напряжении 2.5 В, приложенном через резистор, на выводе AREF будет 2.5 × 32 / (32 + 5) ≈ 2.2 В.
Чтение аналоговых напряжений с помощью языка программирования Arduino заключается в выборе источника опорного напряжения с использованием команды analogReference (type) и вызова функции analogRead(pin), где
pin указывает на номер вывода разъема платы.
После назначения источника опорного напряжения он остается активным до выбора другого источника. Несмотря на то, что микроконтроллеры AVR поддерживают скорость преобразования до 15000 выборок в секунду, аппаратно-программная платформа Arduino, как правило, ограничивает это значение до 10000 выборок.


Создание аналоговых выходов ШИМ
Для генерации аналогового напряжения на одном из выводов ШИМ платы Arduino требуется конфигурирование этого вывода с помощью команды pinMode(pin, mode) и последующего вызова функции analogWrite(pin, value), где
pin – указывает номер вывода ШИМ на разъеме платы Arduino,
value – значение, задающее выходное напряжение ШИМ (8-битное число в диапазоне 0-255).
На сконфигурированном однажды выходе будет постоянно присутствовать сигнал ШИМ частотой 490 Гц с заданными параметрами до следующего вызова функции analogWrite() (или digitalRead(), или digitalWrite()) для этого же вывода микроконтроллера.
Линии ввода/вывода микроконтроллера способны отдавать в нагрузку ток до 40 мА, поэтому они пригодны для непосредственного управления небольшими массивами светодиодов. Для управления более мощными источниками света или электродвигателями аналоговый выход микроконтроллера можно соединить с мощным транзистором или мостовой схемой. В приложениях более требовательных к качеству аналогового сигнала (усилители, источники тока) могут применяться простые RC фильтры.


Дополнительные аналоговые функции
Некоторые микроконтроллеры AVR (включая ATmega8 и ATmega168) имеют аналоговый компаратор, позволяющий сравнивать входное напряжение с другим внешним напряжением, которое может поступать с выхода ШИМ или от встроенного источника опорного напряжения микроконтроллера. Выход компаратора может опрашиваться микроконтроллером, или же может инициировать прерывание. Несмотря на дополнительный программный код, работа компаратора с выработкой прерывания позволяет процессору реализовать функции определения повышенного/пониженного напряжения без постоянного чтения аналоговых данных. Эта функция может использоваться в детекторах движения с регулируемым порогом и датчиках удара в биомедицинском мониторинге.
Для плат Arduino, микроконтроллеры которых не имеют встроенного аналогового компаратора, относительно легко можно добавить внешний компаратор LM741, LM339N или TLC3704, установив его в макетной области платы. Если свободного места на вашей плате нет, можно использовать специальную плату для прототипирования (Рисунок 3).

Рисунок 3. АналоПлата для прототипирования позволит подключать ваши собственные аналоговые (или цифровые) схемы ввода/вывода к стандартным платам Arduino.
Ссылки
1. Радиолоцман», 2011, 11, стр. 13, «Как создавали и продвигали Arduino».
2. Радиолоцман», 2011, 12, стр. 44, «Открытая платформа Arduino высвобождает творческий потенциал».
3. Радиолоцман», 2012, 01, стр. 34, «Открытая платформа Arduino высвобождает творческий потенциал. Arduino Shields – расширение возможностей аппаратной платформы».
На английском языке: Arduino's Analog Functions: How to Use Them in Your Next Design


Arduino's Analog Functions: How to Use Them in Your Next Design
Lee Goldberg, Electronic Products
Whether you are an embedded design pro or a newbie hacker, you will appreciate how the Arduino open-hardware platform’s analog input and output channels make it easy for your projects to reach out and touch the “real world”. The compact modules provide easy access to the MCU’s multi-channel inputs, which can be used to monitor voltages and read a wide variety of analog sensors or sample waveforms.
While the MCU’s digital-to-analog converter has relatively modest resolution and conversion speeds, it is well-suited for many common applications ranging from lighting or motor control to driving an amplifier’s gain bias. This article will introduce the hardware and software resources that form the basis for Arduino’s analog functions and show you how to use them in your next design.
If you are not familiar with Arduino, you can learn all about it from the TechZone article “Arduino Open Source Platform Unleashes Creativity”.


Born for analog
In keeping with its philosophy of making it easy to apply digital technology to real-world applications, the Arduino hardware platform was designed to make the most of the analog capabilities built into Atmel’s versatile ATmega 8-bit MCU family. All variants of the ATmega used in Arduino platforms are equipped with an on-chip, multi-channel channel analog-to-digital converter (ADC). The ADC has 10 bit resolution, capable of producing up to 15,000 samples/sec in the form of integers from 0 to 1023. Most AVR MCUs support 6 analog input channels although some variants support 8 and 16 inputs. While the primary function of the analog pins is to read analog inputs, the analog pins can also be configured as digital general purpose input/output (GPIO) pins. Should they be needed, the analog pins have selectable pull-up resistors, which can be configured in a manner identical to the pull-ups on the MCU’s digital pins.
Although some AVR MCUs are equipped with digital-to-analog converters (DACs), the family members on the present generation of Arduino boards produce their analog outputs by rapidly toggling their digital I/O pins to produce pulse width modulated (PWM) signals. The duty cycle of each PWM output’s 490 Hz (approx.) square wave can be programmed to deliver an equivalent RMS voltage between 0 and 5 V in 256, 2 msec increments (Fig.1). Although somewhat limited in their capabilities, the Arduino’s outputs can be used to for many tasks such as driving LEDs or controlling motors.
Most Arduino boards provide easy access to the MCU’s analog (and digital) I/O signals through female pin connectors at the edge of the board. The number of analog channels and their physical pin assignments vary according to the particular MCU being used and the board’s from factor, but many variants follow the pin-out conventions used by popular “Official” designs, such as the Uno (Fig.2), Mega, and
Developing code with analog I/O functions is also easy since the programming language supported by the Arduino IDE includes a set of native Analog I/O commands. These instructions enable reading analog inputs, generation of analog (PWM) outputs, and configuration of the A/D converter reference voltage.


Reading analog inputs
Hitching up the Arduino’s analog inputs to a real-world application is fairly straightforward, but requires some attention to selecting the proper voltage reference source for the AVR’s A/D converter. It can use either a DEFAULT, INTERNAL, or EXTERNAL reference voltage to determine the top of its input voltage range. In DEFAULT mode, the MCU uses the output of the on-board power supply regulator as a reference. Depending on the particular Arduino board being used, this is either 5 V or 3.3 V.
The INTERNAL mode uses the AVR’s on-chip precision reference source. The source’s voltage varies between specific devices, but is usually either 1.1 V (for the ATmega168 or ATmega328) or 2.56 V (on the ATmega8 and Mega series). The EXTERNAL mode allows you to connect an external reference voltage to the AREF pin through a 5K resistor. The AREF pin has an internal 32K protection resistor which acts as a voltage divider with the external 5K resistor. This means that, for example, 2.5 V applied through the resistor will yield 2.5 * 32 / (32 + 5) = approximately 2.2V at the AREF pin.
Reading analog voltages using Arduino programming language involves selecting the reference source using analogReference(type) and then invoking a read analogRead(pin) where (pin) indicates the header pin number you wish to sample. Once selected, the Reference type remains constant until otherwise programmed. Although AVR MCUs support conversion rates of up to 15k samples/sec, the Arduino hardware/software environment typically limits this to around 10k samples/sec.


Creating PWM analog outputs
Generating an analog voltage on one of Arduino’s PWM pins requires configuring the desired pin as an output using the pinMode(pin, mode) command and then invoking an analogWrite(pin, value), where (pin) indicates the header pin you wish to output to and (value) is the fraction of the reference voltage to be generated (in increments of 1/255). Once configured, the pin will generate a steady 490 Hz square wave with the specified duty cycle until the next call to analogWrite() (or a call to digitalRead() or digitalWrite() for the same pin is issued).
The I/O pins can support drive currents of up to 40 mA, so they can drive moderate-sized LED arrays directly. For higher-powered lighting or DC motors, the analog output can be used to drive a power transistor or bridge circuit. For more demanding applications, the output can be filtered using a simple R/C network and used as the control voltage for an amplifier or current source.


More analog tricks
Some AVR MCUs (including the MEGA8 and MEGA168) have an internal comparator which can compare an input voltage against another external input, a voltage generated by one of the PWM outputs, or the reference device’s internal reference voltage. The comparator’s output can be polled or used to trigger an interrupt. While it involves more software, an interrupt-driven arrangement lets the processor sense an under-/over-voltage condition without having to repeatedly sample an analog channel. This can be very handy for everything from adjustable-threshold motion detectors and shock sensors to biomedical monitoring.
For Arduino boards whose MCUs do not have an internal comparator, it is relatively easy to add a an external device such as a LM741, LM339N, or TLC3704 in the “kluge” area provided on some Arduino boards. If your platform lacks a spot for user-supplied circuitry, it can be added using an inexpensive prototyping shield card (Fig.3)


Summary
Arduino’s low cost and versatility has built a loyal following among commercial hardware developers. The Arduino hardware platform was designed to make the most of the analog capabilities built into Atmel’s ATmega 8-bit MCU family. All variants of these MCUs are equipped with an on-chip multi-channel analog-to-digital converter (ADC). This article is intended as an introduction to the hardware and software resources that form the basis for Arduino’s analog functions and a jumping off point for engineers who can use these functions in upcoming designs. To that end we discussed reading analog inputs, creating PWM analog outputs, and adding external analog I/O.


digikey.com
 

rlocman.ru

 

 

Материалите подготви за сайта:

Иван Парашкевов

e-mail: ivanparst@dir.bg

 

         главна страница                   горе

 

 
 
СТАТИСТИКА
    

Copyright2007  Design by