Датчик холла как подключить


Подключение датчика Холла к коммутатору: что такое имитатор

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

ДХ и их функция

ДХ порой называют шпионами, и это в корне верно. Они предоставляют самую важную информацию о том или ином процессе, а на основе ее принимаются решения о том либо ином действии.

Данные, собираемые ДХ, передаются не водителю на приборную панель, как было в одно время, а непосредственно на коммутатор в БСЗ (бесконтактная система зажигания).

Схема коммутатор+датчик холла

Все автодатчики классифицируются по определяющему параметру. ДХ в автомобильных системах немало, в их число входит датчик массового расхода горючего, регулятор положения валов и т. д.

О принципе действия ДХ было написано очень много и подробно. Останавливаться на этом мы не будем, а лишь напомним читателям, что гальваномагнитное явление или эффект Холла было открыто в конце позапрошлого века. Зато сегодня на основе этого прибора взлетают в космос ракеты, поднимается ввысь самолет, безупречно работает система зажигания автомобиля и т. д.

Коммутатор: обзор БСЗ

Если с ДХ все понятно, то какие же функции выполняет коммутатор? Этот прибор представляет собой электрокомпонент, обеспечивающий работу БСЗ. Для лучшего понимания функций коммутатора, рекомендуется подробнее рассмотреть БСЗ и ее схему.

Коммутатор и распределитель

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

Транзисторы имеются и в БСЗ, но функционируют они по другой схеме. Несмотря на то, что БСЗ тоже имеет немало минусов, по сравнению с КСЗ она смотрится гораздо надежнее.

МСЗ (микропроцессорная) же по сравнению с БСЗ имеет немало плюсов, так как позволяет контролировать практически все параметры автомотора. А в БСЗ этого делать не получается, да и в инжекторных ДВС система без контактов выглядит несколько блекло.

Схема зажигания и датчик холла

Одним из явных недостатков БСЗ является несоответствие с новыми, более требовательными мерами по поддержке ЭКО. А вот МСЗ позволяет уменьшать количество выбрасываемых в атмосферу вредных веществ.

Среди основных элементов БСЗ выделяются свечи. Они устанавливаются в ГБЦ, и служат для воспламенения горючей смеси. Однако лишь с помощью свечей мотор функционировать не сможет. Тут нужен контроль положения коленвала, что позволит определить расположение поршней в цилиндрах.

На помощь приходит ДХ, функционирующий на известном эффекте. Размещен он внутри трамблера, выдает импульс, поступающий непосредственно на коммутатор.

Основы функционирования коммутатора

Рассмотрим функционирование коммутатора более подробно:

Что касается самой схемы коммутатора, то она достаточно проста. С другой стороны, самостоятельное изготовление схемы в некоторых радиоклубах приветствуется, хотя найти ее в готовом виде намного проще.

Главное – это суметь обеспечить правильную установку коммутатора и подключение к ДХ, иначе функционирование устройства окажется неправильным.

Автомобильный коммутатор зажигания с выходами

Немаловажное значение для эффективной работы коммутатора имеют транзисторы. Их следует подбирать в соответствии с параметрами, используя надежную тестовую аппаратуру.

Интересный момент. Коммутатор автомобиля Ваз состоит из 1 основного компонента – контроллера. Предназначен он для внедрения в БСЗ, несложен и позволяет подключать тахометр, установленный в приборной панели автомашины.

Соединение (подключение)

Коммутатор позволяет самостоятельно подключать его, однако может понадобиться замена штатной проводки. Дело в том, что придется учитывать назначение всех выводов, расположенных на колодке коммутатора. Без этого будет невозможно провести качественное подключение, да и риска вывести его из стоя не будет.

  1. 1-й вывод коммутатора является выходом усиленного сигнала. Его следует подключить к катушке зажигания на плюсовой выход (второй контакт катушки, это минус).
  2. 2-й и 3-й выводы коммутатора соединены между собой и служат для подключения с массой.
  3. 4-й вывод служит для соединения с АКБ.
  4. 5-й вывод – служит для питания (на нем постоянно 12 В).
  5. 6-й вывод – удел датчик холла. Именно через него осуществляется подключение коммутатора с ДХ.

Проверка

Чтобы исключить порчу коммутатора и избежать нестабильной работы системы зажигания, рекомендуется проверять элемент. В данном случае, наиболее легким вариантом станет использование заведомо исправного узла. А если такого нет под рукой, то проверить коммутатор удастся простой лампочкой.

Вот, что надо сделать:

Устройство считается полностью исправным, если лампа загорается. В противном случае, коммутатор неисправен.

Дабы получить еще более точную информацию, рекомендуется применять уже приборы сложнее, чем лампочка. Например, осциллограф, мультиметр и т. д.

Еще один вариант проверки автомобильного коммутатора подразумевает наличие имитатора. Он функционирует полностью на осциллографическом методе. Для точной диагностики рабочести коммутатора, на вход имитатора подается импульс со скважностью 3 и частотой 33-100 Гц.

Принцип работы коммутатора

Такие параметры как раз соответствуют вращению коленвала 4-цилиндрового мотора, работающего на оборотах 500-1500 об/мин. Скважность импульсов имитатора должна изменяться, как только изменится частота вращения коленвала.

Имитатор – полностью контрольно-измерительное устройство, не способное заменить коммутатор в работе. Однако он эффективно проверит его работу.

Если все установлено правильно, коммутатор исправен, то остается лишь грамотно все отрегулировать, настроить систему. Одним из важнейших этапов настройки является выставление меток. Делается это по причине синхронной работы газораспределения и поршневой группы двигателя.

Особых сложностей при настройке системы, как правило, не возникает. Тем более, касается это отечественных машин, в которых схемы зажигания выполнены как мощно проще: трамблер выставляется лишь в одном фаворе, коммутатор дополнительным настройкам не подвергается.

Регулировка простой системы зажигания осуществляется так:

Искомым моментом станет свечение диода. Тут надо перестать вращать трамблер, и зафиксировать его в нужном положении.

Признаками неисправного или неправильно установленного коммутатора являются следующие моменты:

Основной причиной поломки называют «плохую массу». Другими словами, это происходит по причине окисления контактов или после длительных ремонтных работ, когда машина долгое время не работает.

Неисправный коммутатор неспособен посылать в катушку соответствующее напряжение, без которого двигатель не заводится.

Существует ряд неисправностей, при которых на коммутатор не поступает импульс, но это уже проблемы датчика Холла.

Чтобы удостовериться в том, что причиной неисправности является вовсе не коммутатор, а ДХ, следует измерить напряжение на выходе датчика. Если последний исправен, то при проворачивании ключом маховика коленвала, вызывается резкое изменение на шкале прибора (в пределах 0,2 В-12 В).

Более подробно это выглядит так: если ДХ рабочий, то низкий порог его чувствительности не должен превышать значение в 4 В, а высокий порог – быть ниже 9 В.

Коммутатор дает много преимуществ в системе зажигания БСЗ. Он позволяет повысить мощность ДВС, уменьшить расход горючего, увеличить надежность функционирования ДВС. Но самое главное – это неусыпный контроль и своевременная настройка системы.

Как платить за БЕНЗИН В ДВА РАЗА МЕНЬШЕ Но есть совершенно простой способ сократить расход топлива! Не верите? Автомеханик с 15-летним стажем тоже не верил, пока не попробовал. А теперь он экономит на бензине 35 000 рублей в год! Подробнее об этом по ссылке.

ozapuske.ru

Как работает датчик Холла, где применяется в автомобиле, как подключить и проверить датчик Холла. Как проверить и подключить датчик Холла. Проверка и подключение датчика Холла.

Среди элементов автоматики, измерительной техники, а также радиоэлектроники, датчик Холла, принцип действия которого заключается в одноименном эффекте, занимает особенное место. Смысл данного эффекта основан на том, что во время помещения проводника, в виде металлической пластины, в магнитное поле, возникает разность потенциалов. Как же это используется в автомобиле? Об этом далее в статье. 

Датчик Холла, принцип действия

Данные датчики стали частью многих устройств. В основном, естественно, они применяются по прямому назначению, а именно — измеряют напряжение магнитного поля. Используются в электромоторах и даже в ионных двигателях ракет. Нередко приходится сталкиваться с датчиком Холла при применении системы зажигания транспортного средства.

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

Как же устроены датчики Холла и что это за бесконтактное воздействие? Холл обнаружил, что если поместить в магнитное поле пластину под напряжением, то электроны в данной пластине будут отклоняться перпендикулярно к направлению магнитного потока. Что касается направления такого отклонения, то оно обусловлено полярностью магнитного поля. Это явление назвали датчиком Холла. Так, плотность электронов на различных сторонах пластины будет различаться, что создаст разность потенциалов. Ее и улавливает датчик Холла.

Датчик Холла, схема автомобильного датчика Холла

Схема устройства датчика довольно проста и может немного отличаться зависимо от того, где установлено электронное устройство и за что отвечает. На картинке ниже вы можете увидеть процесс действия датчика Холла, для примера взята система зажигания автомобиля.

Датчик Холла автомобиля, достоинства и преимущества датчика

К преимуществам автомобильного датчика Холла можно отнести:

Датчик Холла автомобиля, недостатки и отрицательные моменты

Датчик Холла и зажигание автомобиля, схема установки и как он работает

Цифровой датчик Холла включает сложное соединение с полупроводникового кристалла, к примеру, антимонида индия, который установлен на алюминиевой подножке и вмонтирован прямо в чувствительную часть датчика. Плоскости кристалла являются прямо перпендикулярными рабочей части датчика, а соединительные проводники, идущие от кристалла, крепятся посредством ручки к электронной схеме, отвечающей за замыкание выходных контактов.

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

Эффект Холла наблюдается при прохождении проводника сквозь однородное магнитное поле. Дрейфующие единичные электроны являются носителями заряда и приводят в действие магнитное поле для применения силы Лоренца (сила, действующая в электромагнитном поле на заряженную частицу) непосредственно к этим носителям. Корпус датчика выполняется с неметаллического материала, поэтому очень мягко влияет на поле, не раздражая магнитные волны.

Датчик Холла, как подключить датчик в работу

Электрическая энергия в датчике Холла включается посредством коммутатора (то есть проводника), в результате чего он начинает излучать магнитное поле. Чтобы произвести качественное подключение, необходимо учитывать назначение всех выводов коммутатора:

Как проверить работу датчика Холла

Существует ряд способов для проверки исправности датчика Холла. Каждый автовладелец может выбрать себе наиболее подходящий вариант:

  1. Для проверки берем рабочий датчик (на автомобильной разборке либо у соседа) и устанавливаем его вместо штатного. Если проблемы исчезнут, значит, придется купить новую деталь.
  2. На выходе датчика измеряем напряжение с помощью тестера. Напряжение в исправном устройстве будет изменяться в пределах 0,4-11 В.
  3. Создаем имитацию датчика Холла, для чего снимаем с трамблера колодку с тремя штекерами. Далее включаем зажигание и соединяем третий и шестой выходы коммутатора с помощью отрезка провода. О выходе данного датчика из строя будет говорить появление искры.

Совет профи

Когда в конструкции транспортного средства активно применяется датчик Холла, автовладелец должен регулярно проводить проверки и техническое обслуживание. Главное еще и не навредить в процессе таких проверок, поэтому отсоединять от датчика разъем кабеля следует при выключенном зажигании. В противном случае деталь может выйти из строя.

Как на Алиэкспресс найти и заказать нужные датчики по сходной цене и бесплатной доставкой

  1. Регистрируемся на сайте, для чего необходимо ввести свой email-адрес, фамилию и имя, а также придумать пароль. После этого необходимо подтвердить email-адрес, иначе ваш аккаунт будет заблокирован.
  2. Далее нужно заполнить адрес доставки. Делается это в своем профиле и обязательно латинскими символами.
  3. Слева, возле графы «Категории», нажимаем на ссылку «Смотреть все».
  4. Выбираем категорию «Автомобили и мотоциклы».
  5. Затем нажимаем на ссылку «Запчасти для авто».
  6. В левой части страницы выбираем категорию «Датчики».
  7. В поисковой строке вводим название требуемого датчика, к примеру датчик скорости.
  8. Ставим галочку напротив бесплатной доставки.
  9. Выбираем сортировку результатов по рейтингу продавца.
  10. Переходим на страницу описания товара, где выбираем количество, размер и цвет.
  11. Нажимаем на ссылку «Купить сейчас».
  12. Производим оплату заказа.

prosedan.ru

Датчик Холла

Есть такой интересный эффект — если через квадратную проводящую пластину гнать постоянный ток, а саму пластину пронизать магнитным полем, чтобы линии индукции проходили через ее сечение, то летящие по пластине электроны отклоняются силой Лоуренса.

А раз так, то с одного края электронов будет больше чем с другой. Возникает разность потенциалов, то есть напряжение. И чем больше ток и сильней поле, тем большая разность будет. Это и есть эффект Холла.

Дальше дело за малым — берем источник стабильного тока, чем стабильней тем лучше, ведь от стабильности зависит точность показаний. Прогоняем постоянный ток по пластине, ловим да усиливаем разность потенциалов до осязаемых величин. В результате получаем отличную вещь — датчик магнитного поля, он же датчик Холла. Например такой:

Моделей существует целая прорва. В чистом виде, правда, встречается редко. Обычно элемент Холла с чем нибудь да совмещен. Либо, как тут, с усилителем, либо с силовыми ключами, как в датчиках из компьютерных бесколлекторных вентиляторов — там он сразу же коммутирует обмотки, выполняя роль электронного коллектора. Правда на некоторых старых моделях вентиляторов можно обнаружить и целые микросборки из «чистого» датчика, усилителя и силовых ключей, но вот уже лет 5 мне такие не попадались.

Делал я тут один частный заказик недавно, вот там и применил эти козявки.

Подключение проще простого — подал питание, снял сигнал. Питание по даташиту написано двуполярное, но ничего не мешает подать и однополярное. Просто в этом случае ноль сигнала у нас будет не 0В а Vcc/2. У меня на Pinboard напряжение в магистрали питания около 4.8 вольт, поэтому на выходе датчика 2.4 вольта в подвешенном состоянии.

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

Это все интересно, но что с того? Куда это можно применить? А применений датчику можно придумать вагон и маленькую тележку. Например, бесконтактные концевые выключатели.

Причем, в отличии от герконов, датчики эти почти вечные — там нет ни единой движущейся части.

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

Или, например, надо нам замерить БОООЛЬШОЙ постоянный ток. Скажем идущий к драйверу двигателя. С малыми токами все ясно и так — ставим шунт и снимаем с него падение напряжения. С большими токами финт прокатит плохо — шунт будет лишней нагрузкой, сжирающей мощность, греющейся. Да и сделай его еще из подручных средств… А ведь можно сделать все куда проще. Заворачиваем провод в катушку, опоясываем магнитопроводом, а в разрез пихаем наш датчик. Причем необязательно делать много витков — если ток большой, да датчик чувствительный, то и одного-двух витков хватит (кстати, есть и неплохие промышленные датчики постоянного тока — LEM делает).

Ну и вот такой практический примерчик — на базе датчика SS495A сварганил простейший цифровой тахометр :) Сам датчик купил на Алиэспрессе

А схему собрал на своей демоплате:

Получилась такая вот конструкция:

Включил моторчик, магнитик завертелся, а на выходе датчика Холла пошла вот такая вот картина:

Вообще я сам удивился насколько четкие и резкие фронты. Я думал будет подобие синуса. Ан нет, магнит оказался мощный (ниодимовый из лазерной головки CD-ROM’a) и видимо он сразу же зашкаливает наш датчик.

Дальше, на базе ядра диспетчера, описанного в не так давно, набросал по быстрому программку (только функциональная часть):

HAL.c

1 2 3 4 5 6 7 8 9 10 11 12 13 inline void InitAll(void) { //InitUSART UBRRL = LO(bauddivider); UBRRH = HI(bauddivider); UCSRA = 0; UCSRB = 1<

HAL.h Там вообще много всего, в первую очередь всякие байты и выводы описаны, но нам интересен сейчас макрос:

1 #define SEND(X) do{buffer_index = 1; UDR = X; UCSRB|=(1<

Это макрос отправки данных из буффера на прерываниях. Макросы я рекомендую называть заглавными буквами — сразу будет видно, что это макрос, а не функция. А конструкция do{….;….;….;….; }while(0) позволяет запихать в один макрос дофига всяких функций, не опасаясь того, что эту конструкцию перекосит на каком-нибудь if-then-else. Заключенная в блок do{ }while(0) она выполнится как один оператор, а нулевое условие while(0) будет выброшено оптимизатором, так что оверхеда по коду тут не будет.

Ну и, напоследок, код отправки данных из буффера на прерываниях. Шлет в USART данные из буффера, игнорирую данные с кодом 0x00 — их генерит функция itoa когда значение меньше чем заданная разрядность. GCC-RTOS.c

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ISR (USART_UDRE_vect) // Прерывание по опустошению буффера УАПП { if (buffer[buffer_index]) UDR = buffer[buffer_index]; // Если текущее значение не 0х00 вывод   buffer_index ++; // Увеличиваем индекс   if(buffer_index == buffer_MAX) // Вывели весь буффер? { UCSRB &=~(1<

Сырки для этого примера. Не обращайте внимания на кучу мусора в коде. Это так, черновой набросок. Да и пример отправки данных на прерываниях я скоро опишу подробней.

А вот как это выглядело вживую:

easyelectronics.ru

Датчики Холла

Датчик Холла — это датчик магнитного поля. Он был так назван из-за принципа своей работы — эффекта Холла: если в магнитное поле поместить пластину с протекающим через неё током, то электроны в пластине будут отклоняться в направлении, перпендикулярном направлению тока. В какую именно сторону будут отклоняться электроны, зависит от полярности магнитного поля:

  1. Электроны
  2. Пластина
  3. Магниты
  4. Магнитное поле
  5. Источник тока
Различная плотность электронов на сторонах пластины создаёт разность потенциалов, которую можно усилить и измерить, что датчики Холла и делают.

Датчики Холла (далее просто ДХ) бывают аналоговыми и цифровыми. Аналоговый преобразует индукцию магнитного поля в напряжение, знак и величина которого будут зависеть от полярности и силы поля. Цифровой же выдаёт лишь факт наличия/отсутствия поля, и обычно имеет два порога: включения — когда значение индукции выше порога, датчик выдает логическую единицу; и выключения — когда значение ниже порога, датчик выдаёт логический ноль. Наличие зоны нечувствительности между порогами называется гистерезисом и служит для исключения ложного срабатывания датчика на всяческие помехи — аналогично работает цифровая электроника с логическими уровнями напряжения. Цифровые ДХ делятся ещё на униполярные и биполярные: первые включаются магнитным полем определённой полярности и выключаются при снижении индукции поля; биполярные же включаются полем одной полярности, а выключаются полем противоположной полярности.

Аналоговый ДХ SS49E

Его размер — всего 4x3 мм, и он имеет три вывода:

Как видно, питание датчику нужно биполярное — тогда на южный полюс магнита датчик будет реагировать положительным уровнем на выходе, на северный — отрицательным, а на отсутствие поля — нулевым. Однако можно обойтись однополярным питанием — в этом случае уровень на выходе (Vo) в половину напряжения питания (Vdc/2) будет означать отсутствие магнитного поля, Vo > Vdc/2 — южный полюс, Vo < Vdc/2 — северный.

Характеристики при однополярном питании 5 В и температуре от -40 до 85 °C:

Из этих данных следует, что при стандартном питании от Arduino (+5V, GND) при 25 °C датчик в отсутствие магнитного поля будет выдавать 2.5 В, а на поле силой 1000 Гс — 2.5 ± 1.4 В. Соответственно, если воспользоваться АЦП, разброс значений будет примерно в диапазоне от 280 до 800 со нулевой точкой в 512. Приступим к экспериментам. Подключаем вывод “+” к 5V Arduino, вывод “-” к GND, оставшийся — к Analog 0:

Заливаем в Arduino следующий скетч: void setup() { Serial.begin(9600); } void loop() { Serial.println(analogRead(0)); delay(500); } Не спеша подносим магнит вплотную сначала одним полюсом, потом другим, глядя в Serial monitor:

Цифровой биполярный ДХ TLE4945L

Выглядит он точно так же, как и аналоговый, даже выводы расположены так же:

Тут можно не бояться, биполярный он только в магнитном смысле, а питание ему можно подавать вполне себе обычное, однополярное. К слову, питание этот датчик принимает в довольно широком диапазоне — от 3.8 до 24 В, а ток может отдавать до 100 мА, что позволяет непосредственно от него запитывать управляемые им устройства (например, реле). Чувствительность у него почти точь-в-точь как у аналогового SS49E: от -600 Гс до -1000 Гс (северный полюс магнита) и от 600 Гс до 1000 Гс. Подключается он чуть посложнее, чем аналоговый: выход датчика Q нужно подтянуть к питанию резистором в 10 кОм, так как выход у него с открытым коллектором:

А вот и суперсложное подключение, где выход Q подключен к цифровому пину 2:

Зальём в Arduino ещё один крутой скетч: void setup() { Serial.begin(9600); } void loop() { static uint8_t prev_state = LOW; uint8_t state = digitalRead(2); if (state != prev_state) { prev_state = state; Serial.println(state == LOW ? "OFF" : "ON"); } } Теперь подносим магнит то одним полюсом, то другим и смотрим в Serial monitor:

Обратите внимание — датчик не переключается, пока не поднесёшь магнит другим полюсом, а ещё он очень чувствительный и переключается магнитом, вытащенным из дохлого CD-ROM’а, на расстоянии около 2 см!

Применение

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

Ну а я, имея два цифровых биполярных ДХ, сделаю бесконтактный магнитный энкодер. Принцип прост: на вращающийся диск лепим рядышком два магнита разными полюсами вверх (для униполярных ДХ хватит одного), а над ними размещаем цифровые ДХ и снимаем показания. Можно использовать скетч из статьи про энкодеры, но смотреть на стрелочки скучно, ведь хочется ещё посчитать обороты, так что напишем новый:

#include LiquidCrystal lcd(13, 12, 11, 10, 9, 8); /* Пины, к которым подключен энкодер */ enum { ENC_PIN1 = 2, ENC_PIN2 = 3 }; enum { FORWARD = 1, BACKWARD = -1 }; /* Если что, revolutions здесь и далее - обороты, а не революции (: */ long revolutions = 0, revolutions_at_last_display = 0; int direction = FORWARD; uint8_t previous_code = 0; /* Реакция на событие поворота */ void turned(int new_direction) { if (new_direction != direction) { revolutions = 0; revolutions_at_last_display = 0; } else ++revolutions; direction = new_direction; } /* Объеденил чтение кода Грея с энкодера с его декодированием */ uint8_t readEncoder(uint8_t pin1, uint8_t pin2) { uint8_t gray_code = digitalRead(pin1) | (digitalRead(pin2) << 1), result = 0; for (result = 0; gray_code; gray_code >>= 1) result ^= gray_code; return result; } void setup() { pinMode(ENC_PIN1, INPUT); pinMode(ENC_PIN2, INPUT); lcd.begin(8, 2); } void loop() { /* Читаем значение с энкодера */ uint8_t code = readEncoder(ENC_PIN1, ENC_PIN2); /* Обрабатываем его */ if (code == 0) { if (previous_code == 3) turned(FORWARD); else if (previous_code == 1) turned(BACKWARD); } previous_code = code; /* Раз в секунду выводим накопленную информацию */ static unsigned long millis_at_last_display = 0; if (millis() - millis_at_last_display >= 1000) { /* Выводим на экран направление вращения */ lcd.clear(); lcd.print(direction == FORWARD ? ">> " : "<< "); /* ... скорость вращения в оборотах в секунду */ lcd.print(revolutions - revolutions_at_last_display); lcd.print("/s"); /* ... и общее число обротов в текущем направлении */ lcd.setCursor(0, 1); lcd.print(revolutions); millis_at_last_display = millis(); revolutions_at_last_display = revolutions; } } Выглядеть конечная установка может так:

Я разобрал старый нерабочий жёсткий диск и установил на его пластину два магнита от системы позиционирования головки CD-ROMа на расстоянии ~5 мм друг от друга, а датчики разместил на креплении над пластиной, на расстоянии ~15 мм друг от друга. Вот как оно работает:

Если не нужно знать направление вращения, а хочется просто считать обороты, то можно обойтись вообще одним униполярным датчиком и одним магнитом (:

Page 2
Arduino — аппаратная вычислительная платформа, основными компонентам которой являются простая плата ввода/вывода и среда разработки на языке Wiring (C++).

Аппаратная часть

Плата Arduino состоит из микроконтроллера Atmel AVR (ATmega328 и ATmega168 в новых версиях и ATmega8 в старых) и элементной обвязки для программирования и интеграции с другими схемами. На каждой плате обязательно присутствуют линейный стабилизатор напряжения 5 В и 16 МГц кварцевый генератор (в некоторых версиях керамический резонатор). В микроконтроллер предварительно прошит загрузчик, поэтому внешний программатор не нужен.

На концептуальном уровне, все платы программируются через RS-232 (последовательное соединение), но реализация этого способа отличается от версии к версии. Плата Serial Arduino содержит простую инвертирующую схему для конвертирования уровней сигналов RS-232 в уровни ТТЛ, и наоборот. Текущие платы, вроде Diecimila, программируются через USB, что осуществляется благодаря микросхеме конвертера USB-to-serial вроде FTDI FT232. В некоторых вариантах, таких как Arduino Mini или неофициальной Boarduino, для программирования требуется подключение отдельной платы USB-to-serial или кабеля.

Платы Arduino позволяют использовать большую часть I/O выводов микроконтроллера во внешних схемах. Например, в плате Diecimila доступно 14 цифровых вводов/выводов(уровни «LOW» -0В и «HIGH» -5В), 6 из которых могут выдавать ШИМ сигнал, и 6 аналоговых входов(0-5В). Эти выводы доступны в верхней части платы через 0,1 дюймовые разъёмы типа «мама». На рынке доступны несколько внешних плат расширения, известных как «shields».

Программное обеспечение

Интегрированная среда разработки Arduino — это кроссплатформенное приложение на Java, включающее в себя редактор кода, компилятор и модуль передачи прошивки в плату. Среда разработки основана на языке программирования Processing и спроектирована для программирования новичками, не знакомыми близко с разработкой программного обеспечения. Язык программирования аналогичен используемому в проекте Wiring. Строго говоря, это C/C++, дополненный некоторыми библиотеками. Программы обрабатываются с помощью препроцессора, а затем компилируется с помощью AVR-GCC.

Клоны

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

Результатом защиты названия стало ответвление от версии платы Arduino Diecimila, сделанное группой пользователей, что привело к выпуску эквивалентной платы, названной Freeduino. Название Freeduino не является торговой маркой и может использоваться в любых целях.

Подробнее — "Разновидности плат Arduino, а также про клоны, оригиналы и совместимость"

Самостоятельное изготовление

В домашних условиях можно самостоятельно изготовить Arduino Single-Sided Serial Board.

принципиальная схема руководство (на английском)

Купить Arduino

Купить Arduino или CraftDuino — наш вариант полностью Arduino-совместимой платы, можно в нашем Магазине.

Читать далее:

Ардуино что это и зачем? Почему Arduino побеждает и почему он здесь, чтобы остаться? Arduino, термины, начало работы Разновидности плат Arduino, а также про клоны, оригиналы и совместимость КМБ для начинающих ардуинщиков Состав стартера (точка входа для начинающих ардуинщиков)

Ссылки:

www.arduino.cc — официальный сайт Знакомство с Arduino Инструкции по Arduino — несколько уроков с фотографиями и советами для начинающих (на английском). http://ru.wikipedia.org/wiki/Arduino Wiring

По теме:

Подготовка к работе с Arduino/CraftDuino Программирование Arduino — статьи. Книги про Arduino книга на русском языке: Блокнот программиста Arduino (PDF 1.3 Mb) Шпаргалка по Arduino Возможные ошибки при работе с Arduino Processing и Arduino
Page 3
У нас уже была серия статей про программирование Arduino/Freeduino/CraftDuino. Там мы рассмотрели структуру программы, константы и специфичные для Arduino функции, которые собственно и составляют язык Wiring. Теперь же настала пора практических занятий :)

0. Начало

Пожалуй, всё же стоит обозначить элементы управления Arduino IDE

Итак, слева направо:

— компиляция (оригинальное название — проверка) кода — стоп (остановка монитора COM-порта) — новый скетч — открыть скетч — сохранить скетч

— загрузить скетч в микроконтроллер Arduino/Freeduino

— монитор последовательного (COM) порта Самые важные для нас – первая и две последние кнопки :) Т.о. цикл разработки скетча для Arduino можно представить так:

Написание кода – компиляция – загрузка в МК. Кажется — всё просто :) Попробуем снова загрузить Blink :) Открываем тестовый скетч из Examples — Digital — Blink и нажмём кнопку компиляции

Компиляция прошла без ошибок о чём нам и сообщают – «Done compiling» :) Остаётся подключить нашу ардуину к питанию и COM-порту и нажать кнопку выгрузки скетча на МК. Во время выгрузки будут мигать светодиоды Rx и Тx – сигнализирующие приём и передачу сообщений через последовательный интерфейс ардуины :) Если выгрузка прошла успешно – мы получим сообщение: «Done uploading.»

Т.к. джампер на плате установлен в Autoreset enable плата сама перезагрузится, произойдёт заливка скетча, снова перезагрузка и через 10 секунд ардуина начнёт весело мигать светодиодом :)

Впрочем, светодиод даже не обязательно вставлять в разъём – на плате уже есть сигнальный светодиод, подключённый к 13-му цифровому порту ардуины через ограничительный резистор.

Используя провода, изготовленные из витой пары,

схему можно перенести на макетную плату.

А если всё делать по-честному и подключать светодиод через ограничительный резистор, то получится такая простейшая схема:

, которая на макетной плате будет выглядеть так:

Теперь немножко переделаем скетч Blink т.о., чтобы плата сообщала нам через COM-порт когда светодиод горит, а когда нет. Для этого нужно добавить всего три строчки кода: int ledPin = 13; void setup() { pinMode(ledPin, OUTPUT); Serial.begin(9600); // инициализация работы с COM-портом } void loop() { digitalWrite(ledPin, HIGH); Serial.print("H"); // светодиод горит – пишем H delay(1000); digitalWrite(ledPin, LOW); Serial.println("L"); // светодиод погасили – пишем L delay(1000); } Компилируем и загружаем скетч в МК.

Светодиод мигает, а сообщения от платы мы можем увидеть через монитор последовательного порта.

Ура! Работает :)

Сообщения из последовательного порта можно смотреть любой терминальной программой, например tutty:

выбираем наш COM-порт и любуемся:

Но что это – при любой новой попытке просмотреть сообщения COM-порта наша плата перезагружается!

Всё дело в джампере Autoreset enable, который так удобен при загрузке новых скетчей :)

Если джампер снять, то теперь каждое новое подключение к последовательному порту не будет вызывать перезагрузку ардуины, но новые скетчи придётся загружать после ручного нажатия на кнопку Reset, расположенную на плате.

читать далее: 1. Цифровой ввод — кнопка

По теме:

Подготовка к работе с Arduino/CraftDuino Программирование Arduino — статьи. Книги про Arduino книга на русском языке: Блокнот программиста Arduino (PDF 1.3 Mb) Шпаргалка по Arduino Возможные ошибки при работе с Arduino Arduino, термины, начало работы Разновидности плат Arduino, а также про клоны, оригиналы и совместимость КМБ для начинающих ардуинщиков Состав стартера (точка входа для начинающих ардуинщиков)

robocraft.ru


Смотрите также