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

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

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

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

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

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

 

 

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

 

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

 

 



 

 

Что есть валкодер...Программный валкодер  (Какво е това валкодер/енкодер...Програмен валкодер/енкодер) Как опросить валкодер?

Александр


Я вам как расскажу, как устроен валкодер. Да проще некуда.

В самом простом механическом валкодере есть три контакта, один общий и два сигнальных.
Валкодеры сейчас можно встретить почти повсеместно, в музыкальных центрах, автомагнитолах, и прочей бытовой мишуре.

Проще можно пояснить действие валкодера таблицей истинности:


На всякий случай приклею график:


Сигналы с валкодера поступают со сдвигом фазы в 90 градусов.
То есть за один щелчок валкодер проходит все пять пунктов согласно таблице. Обычно один из сигналов (VAL0,VAL1) используется для счёта импульсов, а второй для определения направления. Например, при вращении ручки валкодера вправо, в момент появления напряжения на VAL0, на VAL1 его ещё нет. А при вращении ручки влево, в момент появления напряжения на VAL0, на VAL1 оно уже присутствует. То есть можно определить направление вращения, и сосчитать количество импульсов во время поворота ручки валкодера. Отсюда можно предложить следующую схему валкодера:

Здесь может быть использовано два щелевых оптрона, например АОТ147Б, можно использовать светодиод и сдвоенный фототранзистор из старой шариковой мышки. Оттуда же можно взять колесо со «щёлками».

А теперь о схеме подробнее. На транзисторах VT1 и VT2 собрана схема, укорачивающая импульсы VAL0, потому как самодельный оптический валкодер, как правило, не имеет фиксации в нейтральном положении, и что будет, если будет открыт верхний оптрон, программа в МК или будет бесконечно считать, или попросту зависнет, ожидая снятия напряжения с VAL0. Для этого и была введена данная укорачивающая схема, длина импульса выбирается, подборкой C1 и R5, достаточная для того, чтобы МК смог зафиксировать импульс.

В принципе данную схему можно собрать и на цифровой микросхеме, что, по-моему, даже лучше:

На элементах DD1.1 и DD1.4 собран аналог транзисторной схемы, а свободные элементы DD1.2 и DD1.3 применены в качестве буферных элементов. Это, конечно же, не универсальная схема, так что пробуйте, экспериментируйте.

Желаю удачи всем!!!

Александр
 


Программный валкодер


Это не новость и не статья. Это просто развёрнутый комментарий к статье   Что есть валкодер?
Я попробую «на пальцах», без привязки к конкретной реализации, рассказать алгоритм программной обработки валкодера, т.е. когда всю аппаратную обвязку мы выбросили и диаграмму работы обрабатываем микроконтроллером (раз уж он всё равно есть — пусть работает).

Схема

От приведенной там схемы оставляем только:


Немного теории

Берём таблицу истинности (приведенную там же ):
 


T — шаг состояния;
VAL0 — состояние датчика №0
VAL1 — состояние датчика №1
Заметим, что эта таблица истинности описывает изменения состояний датчиков при движении диска на один зуб только в одну сторону, в реальности требуется ещё одна таблица, описывающая обратное движение. Но её можно не рисовать, просто прочесть уже имеющуюся справа-налево (от состояния 5 к состоянию 1), главное не запутаться.

Приводим таблицу истинности к линейному виду (делаем проекцию двухмерного объекта на линию), получаем:

T — шаг состояния;
VAL — номер датчика (№0 или №1)
data — состояния датчика, или собственно таблица истинности. Поскольку движение закольцовано, два нуля в начале и конце диаграммы смыкаются и одну пару из них отбрасываем. Нужный нам байт выделен жёлтым.
byte — пронумеруем биты в байте, просто что бы не запутаться.

Не забудем таблицу и для обратного движения:

Кстати, в этом месте уже можно догадаться, что будет дальше.

В программе нам потребуется переменная (один байт) для хранения текущего состояния датчиков и две константы для проверки исполнения таблицы истинности:
 

Реализовать алгоритм можно как обработку прерывания от таймера или в общем цикле программы (если он не слишком длинный).


Теперь собственно алгоритм:

1. При входе в подпрограмму обработки валкодера первым шагом сравниваем состояние датчика VAL0 с битом diagramma.0 и датчика VAL1 с битом diagramma.1 если хоть один не совпал, то тогда идём дальше, иначе выход из прерывания (или в основной цикл программы), здесь больше ничего не делаем. Таким образом нам не страшны зависания диска в промежуточных состояниях.

2. Сдвигаем байт diagramma на два разряда в сторону старшего разряда.

3. Присваиваем двум младшим разрядам diagramma текущие значения соответствующих датчиков.

4. Сравниваем поочерёдно diagramma с константами diag_plus и diag_minus с какой совпала, на обработку того события уходим, если ни с одной не совпала — значит выход (диаграмма ещё не завершена). Таким образом нам не страшны никакие колебания диска в промежуточных состояниях — мы считаем только полные циклы прохождения зубцов перед датчиком.


Вопрос быстродействия

Если для регуляторов громкости и тембра пропустить несколько зубцов диска не смертельно, то при реализации валкодером, например, счётчика ленты магнитофона, это уже критически важно и, чтобы не было пропусков в счете, потребуется считать ограничение по минимальной частоте вызова прерывания для обработки датчика (или максимальной длительности главного цикла программы, если делать без прерываний).
Но этот вопрос слишком зависит от конкретной реализации и здесь рассматривать не будем.
Кстати при реализации алгоритма на ассемблере он занимает считанные байты и вопрос быстродействия скорее всего не возникнет.

В общем всё заключается в том, что кому проще: распаять несколько деталей или дописать несколько строк.


datagor.ru

Как опросить валкодер?
________________________________________
Может уважаемые знатоки микроконтроллерной техники подскажут, как организовать опрос валкодера? Например, есть валкодер, на выходах которого при вращении вала появляются прямоугольные импульсы, сдвинутые по фазе в ту или иную сторону в зависимости от направления вращения вала. Ну, заведу я эти сигналы на ножки микроконтроллера, а дальше что с ними делать?

Хорошо, поставлю вопрос по другому. Как избавиться от необходимости постоянно опрашивать состояние выходов валкодера? Пока что вижу только один путь, в ходе выполнения программы зашитой в микроконтроллер периодически переходить в подпрограмму опроса состояния выходов валкодера, и при если уровни на них меняются, определить последовательность изменения уровней из чего определим направление вращения вала, а затем считать количество изменений, что будет соответствовать углу поворота (или скорости вращения вала). Но, такой способ сожрет немало ресурсов, отнимая их от выполнения контроллером более важных задач. Если учесть, что мне требуется еще опрос клавиатуры, обращение к АЦП и портам, некоторые математические вычисления,боюсь, у контроллера сил не хватит на все Как же все таки организовать считывания данных с валкодера?

Цитата:
на выходах которого при вращении вала появляются прямоугольные импульсы, сдвинутые по фазе в ту или иную сторону в зависимости от направления вращения вала
Четыре импульсные последовательности по две взаимоинверсные в каждой фазе. Сдвиг 90 градусов. Обычно. Как-зависит от вашей задачи. Поставьте её себе правильно или заставьте ставящих вам эту задачу привести её к правильной формулировке. А за вас задачу никто не решит.

Вот я ее и решаю в данный момент Надумал следующее, вместо того, что бы заводить сигналы с обоих выходов валкодера на ноги микроконтроллера, попытаюсь сначала подать их на вход фазового детектора, который будет определять направление вращения валкодера. С его выхода ноль или единица (в зависимости от направления вращения) будут подаваться на один из выводов порта микроконтроллера. Контроллеру не придется заниматься задачей определения направления вращения, одного зайца я таким образом убиваю наповал Остается только подсчитывать импульсы с одного из выходов валкодера определяя угол поворота или скорость вращения, все, второй заяц мертв! Как считаете, я ничего лишнего или неосуществимого не напридумывал?

Цитата:
я ничего лишнего или неосуществимого не напридумывал
Нет конечно. Подобная задача решается с помощью перываний. MCU и в роли фазового детектора и в роли остального. Программно.

В том то и дело, что хочу сделать аппаратный (хотя какой там аппаратный, одна микросхема) фазовый детектор, чтобы не грузить мк лишними циклами. Хотя, программный способ тоже испытаю, нужно сравнить оба метода. А за прерывания спасибо действительно, сейчас только подумал, вместо циклического опроса просто сделать переход в подпрограмму слежения за валкодером по прерыванию, не придется его постоянно контролировать.

Я решал эту проблему. Я организовывал опрос валкодера по прерываниям таймера, а затем идет анализ изменения уровней на входах.
Частота опроса примерно 1500Гц. Один микроконтроллер PIC18F452 опрашивал два валкодера. И управлял двумя шаговыми двигателями.
Если нужно больше инфи попробую найти из того что осталось после проекта.

Обработка сигнала - при вращении в одну сторону, имеем на двух ногах которые участвуют в опросе валкодера чередование импульсов, грубо - 1,2,1,2,1,2 и т.д. А при вращении в другую -2,1,2,1,2,1 и т.д.
Обычно для подсчета используется табличка "истинности". Очередь импульсов сравнивается с табличкой, в результате знаем в какую сторону крутится ручка.

Очередь импульсов сравнивается с табличкой, в результате знаем в какую сторону крутится ручка
В какую сторону крутится ручка узнаём мгновенно по сдвигу фаз сигналов без всяких табличек. Сдиг сигналов относительно друг друга для чёткого детектирования направления 90 градусов.

Алгоритм программной обработки валкодера - http://datagor.ru/microcontrollers/3...-valkoder.html

 

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

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

e-mail: ivanparst@dir.bg

 

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

 

 
 
СТАТИСТИКА
    

Copyright2007  Design by