Проектирование электронного тахометра

Разработка структурной и принципиальной схем электронного тахометра. Изучение принципа работы датчика магнитного поля. Выбор микроконтроллера. Проектирование управляющей программы для микроконтроллера. Адаптация устройства к промышленному применению.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 22.01.2015
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Оглавление

  • Введение
    • 1. Разработка структурной схемы устройства
    • 2. Разработка принципиальной схемы устройства
  • 2.1 Датчик Холла
    • 2.2 Микроконтроллер
  • 2.3 LCD-индикатор
    • 3. Разработка алгоритма измерения
  • 4. Разработка управляющей программы для микроконтроллера
    • 5. Адаптация устройства к промышленному применению
    • Заключение
  • Список использованной литературы
  • Приложение
  • Введение
  • Развитие микроэлектроники и широкое ее применение в промышленном производстве, в устройствах и системах управления самыми разнообразными объектами и процессами является в настоящее время одним из основных направлений научно технического прогресса.
  • Использование микроэлектронных средств в изделиях промышленного и культурно-бытового назначения не только приводит к улучшению технико-экономических показателей изделий (стоимости, надежности, потребляемой мощности, габаритных размеров) и позволяет многократно сократить сроки разработки и отодвинуть строки "морального старения" изделий, но и придет им принципиально новые потребительские качества. В микроэлектронике бурное развитие получило направление, связанное с выпуском однокристальных микроконтроллеров, которые предназначены для "интеллектуализации" оборудования различного назначения. Однокристальные микроконтроллеры представляют собой приборы, конструктивно выполненные в виде БИС и включающие в себя все составные части микроЭВМ: микропроцессор, память программ и память данных, а также программируемые интерфейсные схемы для связи с внешней средой. Использование микроконтроллеров в системах управления обеспечивает достижение исключительно высоких показателей эффективности при столь низкой стоимости, что микроконтроллерам, видимо, нет разумной альтернативной элементной базы для построения управляющих и регулирующих систем, и в будущем микроконтроллеры будут находить все большее применение. Структурная организация, набор команд и аппаратурно-программные средства ввода/вывода информации микроконтроллеров лучше всего приспособлены для решения задач управления и регулирования в приборах, устройствах и системах автоматики, а не для решения задач обработки данных.
  • 1. Разработка структурной схемы устройства
  • Составим структурную схему проектируемого устройства.
  • В качестве первичного преобразователя частоты вращения в электрический сигнал используется датчик Холла.
  • Используемый микроконтроллер - STM8L152C6 производства фирмы ST Microelectronics, находящийся в составе отладочной платы STM8L-Discovery.
  • В качестве индикатора используется 6-разрядный 14-сегментный LCD-дисплей, также входящий в состав платы STM8L-Discovery.
  • 2. Разработка принципиальной схемы устройства
  • 2.1 Датчик Холла
  • Датчик Холла -- это датчик магнитного поля. Он был так назван из-за принципа своей работы -- эффекта Холла: если в магнитное поле поместить пластину с протекающим через неё током, то электроны в пластине будут отклоняться в направлении, перпендикулярном направлению тока. В какую именно сторону будут отклоняться электроны, зависит от полярности магнитного поля.
  • Рисунок 1 - Эффект Холла
  • Различная плотность электронов на сторонах пластины создаёт разность потенциалов, которую можно усилить и измерить, что датчики Холла и делают.
  • Датчики Холла бывают аналоговыми и цифровыми. Аналоговый преобразует индукцию магнитного поля в напряжение, знак и величина которого будут зависеть от полярности и силы поля. Цифровой же выдаёт лишь факт наличия/отсутствия поля, и обычно имеет два порога: включения -- когда значение индукции выше порога, датчик выдает логическую единицу; и выключения -- когда значение ниже порога, датчик выдаёт логический ноль. Наличие зоны нечувствительности между порогами называется гистерезисом и служит для исключения ложного срабатывания датчика на всяческие помехи -- аналогично работает цифровая электроника с логическими уровнями напряжения. Цифровые ДХ делятся ещё на униполярные и биполярные: первые включаются магнитным полем определённой полярности и выключаются при снижении индукции поля; биполярные же включаются полем одной полярности, а выключаются полем противоположной полярности.
  • Преимущества датчика Холла:
  • - отсутствие движущихся частей и механического износа;
  • - простота подключения;
  • - отсутствие необходимости в дополнительной обвязке (выход датчика можно напрямую подсоединять к ножке микроконтроллера).
  • Для измерения количества оборотов на вращающуюся деталь крепится небольшой магнит, а рядом неподвижно крепится датчик Холла. В отсутствии магнитного поля сигнал на выходе датчика отсутствует (логический 0). В момент прохождения магнита мимо датчика на его выходе под действием магнитного поля появляется сигнал, почти равный напряжению питания (логическая 1). Этот сигнал поступает на вход микроконтроллера, который путем подсчета количества импульсов за определенный интервал находит нужный нам параметр - частоту вращения.
  • В качестве датчика выбран TLE4905L производства Infineon Technologies. Его параметры приведены в таблице 1.
  • Таблица 1 - Параметры датчика Холла
  • Тип выходного сигнала

    цифровой

    Тип чувствительного элемента

    Элемент Холла

    Наличие встроенного магнита

    нет

    Тип чувствительности к полю

    униполярный

    Индукция вкл, Гаусс

    1800

    Индукция выкл, Гаусс

    1600

    Время нарастания сигнала, мкс

    1

    Мин напряжение питания, В

    3.8

    Макс напряжение питания, В

    24

    Температурный диапазон, гр. С

    -40…150

    Корпус

    psso-3-2

    • Цоколевка приведена на рисунке 2. На контакты «+» и «-» подается напряжение питания. На контакте «0» напряжение равно нулю при отсутствии магнитного поля и равно напряжению питания при наличии магнитного поля.

    Размещено на http://www.allbest.ru/

    • Рисунок 2 - Назначение контактов датчика Холла TLE4905L.
    • Для демонстрации работы схемы ввиду отсутствия подходящего датчика Холла к плате подключен геркон.
    • 2.2 Микроконтроллер
    • электронный тахометр микроконтроллер магнитный
    • Микроконтроллер выбран 8-битный, STM8L152C6 производства STMicroelectronics. Существует 3 семейства STM8. STM8s - “стандартные” контроллеры общего применения, обычно 10 битная аналоговая периферия, среднее по современным стандартам энергопотребление. Диапазон питания - 2.95 - 5.5 В. STM8L - “low-power” контроллеры с низким потреблением, 12 битный аналог, улученная электромагнитная совместимость. Диапазон питания - 1.8-3.6 В. По сравнению со стандартными контроллерами, тут добавляется небольшое количество периферии, в частности, DMA.
    • STM8A - “автомобильные” - все сосредоточено на безопасности и CAN'е. Котроллеры выдерживают большие нагрузки, чем обычные, работают при 145 градусах, диапазон питания - 2.95 - 5.5в
    • Семейство STM8L содержит 26 устройств, разделенных на три линейки в зависимости от производительности и функциональности.
    • Отличительные характеристики семейства STM8L:
    • - Ядро STM8, 16МГц;
    • - От 4 до 32Кбайт встроенной Flash, до 2 Кбайт SRAM;
    • - Напряжение питания от 1,8 до 3,6В (1,65В в режиме «power down»);
    • - Режимы ультранизкого энергопотребления: 350нА при сохранении данных ОЗУ;
    • - Энергопотребление в активном режиме 150мкА/МГц;
    • - Первоклассные цифровые и аналоговые периферийные устройства;
    • - Диапазон рабочих температур: от -40°С до 85°С или до 125°С.
    • С помощью новых микроконтроллеров можно существенно увеличить длительность работы портативных устройств с батарейным питанием, а также повысить производительность и функциональность. Основные области применения нового семейства микроконтроллеров - это медицинские, носимые биометрические, измерительные устройства, датчики систем безопасности, счетчики.
    • Особенности STM8L.
    • Все три линейки STM8L производятся по особой технологии 130 нм, специально разработанной для получения ультранизких токов утечки. Уникальным свойством микроконтроллерного ядра является возможность его работы с максимальной производительностью во всем диапазоне питающих напряжений от 1,65 до 3,6 В. Встроенный регулятор напряжения дает дополнительную гибкость выбора уровня напряжения питания.
    • 8-битная архитектура микроконтроллеров STM8 обладает высокой производительностью, которая достигается благодаря наличию 16-битных индексных регистров, линейного адресного пространства 16 Мбайт. Само ядро построено по Гарвардской архитектуре, причем шина памяти команд имеет разрядность 32 бита, то есть большинство команд извлекаются за один цикл. Кроме того, используется трехступенчатый конвейер. Всего имеется 80 команд, большинство из которых выполняется за один цикл тактового сигнала, что позволяет получить производительность 16 CISC MIPS на тактовой частоте 16 МГц. При разработке архитектуры новых микроконтроллеров особое внимание уделялось оптимизации, а точнее - минимизации отношения мА/МГц, то есть энергопотребления в активном режиме.
    • Известно, что для снижения энергопотребления устройства система должна управляться прерываниями. Для этого в микроконтроллерах STM8L реализован мощный контроллер прерываний. Разрешается вложенность прерываний, поддерживаются три уровня приоритетов. Всего выделено 32 вектора прерываний (в STM8L101 до 26), 11 из которых могут использоваться для 40 внешних событий (в STM8L101 - 10 векторов для 29 событий).
    • В линейках микроконтроллеров STM8L151 и STM8L152 присутствует контроллер прямого доступа к памяти (DMA), с помощью которого организуется работа периферийных устройств без участия ядра. Четыре канала DMA используются такими периферийными устройствами, как АЦП1, ЦАП, I2C1, SPI1, USART1 и четыре таймера. Эта возможность позволяет значительно сократить энергопотребление, отключив Flash-память и ядро и оставив только необходимые периферийные устройства в активном состоянии.
    • 12-битный АЦП имеет 25 мультиплексированных каналов (включая один «быстрый» канал), встроенный термодатчик и генератор опорного напряжения. Время преобразования составляет 1 мкс при тактовой частоте системы 16 МГц. Время и точность преобразования задаются программно. АЦП может работать в режиме однократного и последовательного преобразования, а также в режиме автоматического преобразования группы выбранных каналов.
    • 12-битный ЦАП содержит выходной буфер и может синхронизироваться с помощью таймера TIM4. ЦАП поддерживает работу с DMA, запуск преобразования может производиться по внешнему событию.
    • Встроенный ЖКИ-контроллер управляет внешними индикаторами по четырем общим и нескольким (до 28) сегментным линиям (всего 112 пикселей). Управление контрастом осуществляется через повышающий преобразователь. Для снижения уровня электромагнитных помех применяется фазовая инверсия. До четырех пикселей можно запрограммировать на режим мигания. Очень важной особенностью ЖКИ-контроллера является то, что он может работать в моменты времени, когда контроллер находится в энергосберегающих режимах.
    • В микроконтроллерах линейки STM8L15x доступны два компаратора с ультранизким энергопотреблением (COMP1 и COMP2). Опорное напряжение может быть внешним (через порт ввода/вывода) или внутренним (от генератора опорного напряжения). Компаратор COMP1 имеет заданный порог. Компаратор COMP2 может работать в быстром или медленном режиме, а порог устанавливается с помощью выходного сигнала ЦАП, порта ввода/вывода, генератора опорного напряжения (с коэффициентом 1/4, 1/2, 1/3 или без). Два компаратора могут использоваться одновременно для получения оконных функций. Они также могут выводить микроконтроллер из режима сниженного энергопотребления.
    • Так как основные области применения микроконтроллеров STM8L предполагают питание от батареи, возникает необходимость тщательно отслеживать уровень напряжения питания. Для этого в каждый микроконтроллер встроены схемы сброса по включению (POR) и выключению (PDR) питания, а также сброса по снижению напряжения питания (BOR). Для BOR программно задается один из пяти уровней порогов срабатывания в диапазоне от 1,8 до 3 В. Встроенный детектор напряжения питания (PVD) сравнивает входные напряжения питания с заданным порогом VPVD и генерирует прерывание при его пересечении. В процедуре обработки такого прерывания обычно выводится сообщение о событии и производится перевод микроконтроллера в безопасное состояние.
    • Для микроконтроллеров, использующихся в портативных устройствах, очень важно наличие часов реального времени (RTC). Обычно по RTC устройство «ориентируется во времени» - когда выходить из «режима сна», производить измерения, расчеты и снова «засыпать». В STM8L часы реального времени являются независимым таймером, программируемым в двоично-десятичном формате. Шесть байтов содержат информацию о секундах, минутах, часах, дне недели, дне месяца, месяце, годе. Автоматически производится коррекция, связанная с високосным годом. Периодические прерывания могут генерироваться как каждую секунду, минуту и т.д., так и каждый год. Энергопотребление RTC составляет 0,9 мкА (1 мкА при использовании календаря).
    • Важным свойством микроконтроллера является гарантия работы аналоговых периферийных устройств при понижении напряжения питания Vdd до 1,8 В, что дает возможность использовать полную функциональность микросхемы во всем диапазоне Vdd.
    • К другим методам снижения энергопотребления относятся использование низкомощной встроенной энергонезависимой памяти и множества режимов сниженного энергопотребления, в число которых входит активный режим (с энергопотреблением 5,4 мкА), ждущий режим (3,3 мкА), активный режим остановки с работающими часами реального времени (1 мкА) и режим остановки (350 нА). Микроконтроллер может выходить из режима остановки за 4 мкс, позволяя тем самым максимально часто использовать режим с самым низким энергопотреблением. В целом новое семейство обеспечивает динамическое потребление тока порядка 150 мкА/МГц. Все микроконтроллеры внутри семейства программно, а многие - и аппаратно совместимы, что позволяет легко оптимизировать разрабатываемое устройство по производительности, функциональности и цене. Если же, по какой-либо причине, производительности 8-битного ядра будет недостаточно, можно легко перейти на 32-битные микроконтроллеры STM32, так как периферийные устройства STM32 и STM8L идентичны.
    • Типичное потребление микроконтроллеров STM8 серий S и L приведено в таблицах 2 и 3.
    • Таблица 2 - Типичное потребление МК STM8S при 3,3 В питании
    • Режим работы

      Потребление

      Процессор полностью работает, тактирование от кварца

      450 мкA/МГц

      Wait (все работает, кроме ядра), кварц 16МГц

      1.75 мA

      Active-Halt (все выключено, кроме периодического таймера, тактирующегося от RC 128kHz)

      10 мкA

      Halt (выключено вообще все)

      4.5 мкA

      • Таблица 3 - Типичное потребление МК STM8L при 3,3 В питании
      • Режим работы

        Потребление

        Процессор полностью работает, тактирование от RC, 16МГц

        195 мкA/МГц+440 мкA

        Low power run (процессор работает из оперативки на 128 kHz, флэш отключена)

        5.1 мкA

        Low power wait (тоже, что выше, но выключен и процессор, периферия работает, но ее потребление не учтено)

        3.0 мкA

        Wait (все работает, кроме ядра), кварц 16МГц

        1.0 мкA

        Halt (выключено вообще все)

        350 нA

        • В проектируемой схеме используется микроконтроллер STM8L152C6. Этот контроллер имеет 32 кБ встроенной флэш-памяти, 2 кБ оперативной памяти, 1 кБ памяти EEPROM, а также 5 портов ввода-вывода по 8 ножек в каждом (итого 40 пинов ввода-вывода). Каждый из них может быть запрограммирован как на вход, так и на выход. В проектируемом устройстве 1 вывод будет использоваться для приема сигнала с датчика, 28 выводов - для управления ЖК-дисплеем.
        • Функции микроконтроллера в проектируемой схеме:
        • - подсчет количества импульсов за определенный промежуток времени (1 с);
        • - вычисление частоты вращения вала на основе этого значения;
        • - управление ЖК-дисплеем.
        • Для тактирования процессора, дисплея и таймера выбран внутренний RC-генератор тактовых импульсов с частотой 16 МГц.
        • 2.3 LCD-индикатор
        • Физические основы.
        • Основные характеристики ЖК обусловлены анизотропными характеристиками используемых материалов. Наиболее распространены нематические ЖК-молекулы, оси которых вытянуты параллельно друг другу.
        • Ниже будет рассмотрена базовая конструкция и основы функционирования стандартного индикатора. Первая деталь - специальное стекло, придающее неполяризованному световому потоку плоскую поляризацию. В следующем слое «скрученная» структура ЖК-молекул вращает плоскость поляризации света на 90 градусов. Таким образом, свет проходит через второй поляризатор и устройство выглядит белым.

        Размещено на http://www.allbest.ru/

        • Рисунок 3 - Состояние ЖК без электрического поля
        • Если к ячейке приложено электрическое поле, оси молекул поворачиваются перпендикулярно электродам и структура перестаёт вращать плоскость поляризации падающего света, который при этом поглощается вторым поляризатором и устройство выглядит чёрным.

        Размещено на http://www.allbest.ru/

        • Рисунок 4 - Состояние ЖК в электрическом поле
        • После снятия поля нематик возвращается в «скрученное» состояние.
        • Подвижность кристаллов сильно зависит от температуры, при низкой температуре движение происходит очень медленно.
        • С электрической точки зрения, каждый элемент представляет собой конденсатор, с учётом сигнальных линий он представляет из себя RC-цепь.
        • Постоянный ток вредит жидким кристаллам и в конечном счёте разрушает их. Таким образом, следует защищать молекулы от постоянного напряжения. Как правило, документация на ЖК индикаторы позволяет подавать не более 50мВ. Управление.
        • Управление - это процесс включения и выключения пиксела с целью создания изображения. Существуют 2 основных типа управления - статическое и мультиплексированное.
        • Статическое управление.
        • Прямое управление приемлемо лишь для индикаторов с небольшим количеством активизируемых элементов. При статическом управлении каждый пиксел индикатора имеет собственную цепь управления. Управляющее напряжение прикладывается к каждому элементу.
        • Рисунок 5 - Статическое управление.
        • Наибольшее применение статическая индикация находит в традиционных семисегментных ЖК индикаторах устанавливаемых в наручные часы и др. устройства.
        • Мультиплексное управление.
        • Мультиплексирование позволяет управлять большим количеством пикселов. Когда элементы упорядочены, вместо раздельного управления каждым элементом, они могут адресоваться по строкам и столбцам.
        • Рисунок 6 - Мультиплексное управление.
        • Таким способом упрощается управляющая схема, т.к. каждому пикселу не требуется собственная управляющая линия. Для матрицы 4х4 пикселов потребуется 16 драйверов при статическом управлении. При использовании мультиплексного управления их число снизится до восьми - по одному на каждый столбец и строку.
        • Рисунок 7 - Пример мультиплексного управления.
        • На плате STM8L-Discovery используется дисплей с 24 сегментными и 4 общими линиями. Таким образом, для управления этим дисплеем требуется 28 ножек микроконтроллера из 48 имеющихся. Когда дисплей установлен в плате, эти ножки недоступны для другого использования. Для того, чтобы их можно было использовать, дисплей необходимо аккуратно извлечь из платы.
        • Список ножек, занятых дисплеем:
        • Порт А: 4-7
        • Порт B: 0-7
        • Порт С: 2-3
        • Порт D: 0-7
        • Порт E: 0-5
        • ЖК требуется для управления переменное напряжение, иначе они быстро деградируют и срок их службы значительно сокращается, более того, даже определённая асимметрия управляющих напряжений приводит к появлению постоянной составляющей, также нежелательной для ЖК. Обычно предельные значения этой составляющей и рекомендуемая частота указываются производителем дисплея. Но в любом случае величина постоянной составляющей не должна превышать 30-50 мВ, а частота выбирается в пределах от 30 Гц до 100 Гц. Очевидно, что при частоте ниже указанной будет появляться визуально наблюдаемое мерцание, но и завышать частоту тоже не стоит, потому что ЖК свойственна существенная инерционность (для переориентирования кристаллов требуется некоторое время). Формированием сигналов правильной формы и амплитуды занимается встроенный LCD-контроллер. Нам остается лишь поместить в LCD_RAM информацию о том, какие пикселы мы хотим включить или выключить.
        • Рисунок 8 - LCD-дисплей, установленный на плате.
        • 3. Разработка алгоритма измерения
        • Проектируемый прибор должен иметь диапазон измерения 100 - 10000 об/мин, погрешность измерения не более 0,5%. Таким образом, максимальная абсолютная погрешность составляет 0,5•10000=50 об/мин (или 1 оборот на 1,2 с). Т.к. на валу находится два магнита, за один оборот поступает два импульса. Таким образом чтобы не выйти за пределы погрешности, период измерения должен составлять не менее 0,6 с. Возьмем период измерения, равный 3 с, тогда погрешность будет составлять
        • Определение периода индикации.
        • Если обновлять показания на дисплее с периодом, равным периоду измерения (3 с), то показания будут обновляться медленно и с запаздыванием, что делает считывание неудобным, особенно при частых изменениях частоты. Поэтому используем «скользящий» алгоритм: показания на дисплее обновляются каждую секунду, при этом выводятся данные за предыдущие 3 секунды. Показания будут равны количеству оборотов за 3 секунды, умноженному на 20.
        • Блок-схема алгоритма измерения представлена на рисунке 9.
        • Рисунок 9 - Блок-схема алгоритма измерения.
        • 4. Разработка управляющей программы для микроконтроллера
        • Программа написана на языке высокого уровня C с использованием библиотек для настройки ввода-вывода и для управления LCD-дисплеем. Для разработки использована среда IAR Embedded Workbench for STMicroelectronics v.1.40.1. Бесплатная версия этой программы имеет ограничение в 8 кБ на загружаемый в память контроллера код, чего вполне достаточно для выполнения поставленной задачи. Листинг программы представлен ниже.
        • #include "stm8L15x_clk.h"
        • #include "LCD.h"
        • #include "iostm8l151k6.h" //подключаем библиотеки
        • unsigned char display_str[4];
        • void IntToStr(uint32_t value) //Функция перевода строки в число
        • {
        • uint32_t temp1;
        • uint32_t temp2;
        • uint32_t temp3;
        • uint32_t temp4;
        • temp1 = value%10;
        • value /= 10;
        • temp2 = value%10;
        • value /= 10;
        • temp3 = value%10;
        • value /= 10;
        • temp4 = value;
        • temp4 |= 0x30; //тысячи
        • display_str[0] = temp4;
        • temp3 |= 0x30; //сотни
        • display_str[1] = temp3;
        • temp2 |= 0x30; //десятки
        • display_str[2] = temp2;
        • temp1 |= 0x30; //единицы
        • display_str[3] = temp1;
        • };
        • //Описание переменных:
        • unsigned long obSec = 0; // Оборотов за текущую секунду
        • unsigned long obMin; //Оборотов в минуту
        • unsigned long a = 0; //Оборотов за последнюю секунду
        • unsigned long b = 0; //Оборотов за предпоследнюю секунду
        • unsigned long c = 0; //Оборотов за предпредпоследнюю секунду
        • unsigned long i; //Для задержек
        • #define STRINGVECTOR(x) #x //Шаблон для обработчиков прерываний
        • #define ISR( a, b ) \
        • _Pragma( STRINGVECTOR( vector = (b) ) ) \
        • __interrupt void (a)( void )
        • ISR(TIM1_OVF, TIM1_OVR_UIF_vector) //Прерывание по переполнению таймера
        • {
        • c=b; //Обновляем значения количества оборотов в последнюю, предпоследнюю секунду и т.д.
        • b=a;
        • a=obSec;
        • obMin=(a+b+c)*5; //Считаем количество оборотов за 3 секунды и умножаем на 5,
        • //т.к. за один оборот датчик 4 раза меняет состояние (при двух магнитах на валу)
        • obSec=0; //Сбрасываем счетчик оборотов за текущую секунду
        • IntToStr(obMin); //перегоняем в текст
        • LCD_Write_String(display_str); //Выводим на экран
        • TIM1_SR1_bit.UIF = 0; //Сброс флага прерывания
        • };
        • void LCD_init() //Функция инициализации LCD
        • {
        • CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1); //Выключаем определитель. Теперь МК работает на частоте 16МГц.
        • CLK_PeripheralClockConfig(CLK_Peripheral_LCD, ENABLE); //Подаем тактовый сигнал на LCD.
        • CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE); //Подаем такт на RTC
        • CLK_RTCClockConfig(CLK_RTCCLKSource_LSI, CLK_RTCCLKDiv_1); //Убираем прескаллер RTC
        • LCD->CR1 = (3<<1) + (5<<3); //Duty = 1/4, Blink Freq = LCDclk/256
        • LCD->CR2 = (6<<1) | LCD_CR2_HD; //Контрастность = 6 (из 7), низкоомный драйвер.
        • LCD->FRQ = (2<<4); //LCDclk = 32768/2/(2^1*16) = 512Hz
        • //Задействованы все сегменты:
        • LCD->PM[0] = 0xFF;
        • LCD->PM[1] = 0xFF;
        • LCD->PM[2] = 0xFF;
        • LCD->CR3 |= LCD_CR3_LCDEN | 2; //ВКЛ и deadtime = 2
        • LCD_Contrast(5);
        • LCD_Write_String("Hello ");
        • for(i=0; i<200000; i++){asm("nop");};
        • LCD_Write_String(" world");
        • for(i=0; i<200000; i++){asm("nop");};
        • LCD_Write_String("0000 ");
        • //for(i=0; i<300000; i++){asm("nop");};
        • }
        • void Timer1_init() //Функция инициализации таймера 1
        • {
        • CLK_PCKENR2_bit.PCKEN21 = 1; //Включаем тактирование таймера 1
        • TIM1_PSCRH = 5;
        • TIM1_PSCRL = 255;
        • TIM1_ARRH = (10000) >> 8; //Частота переполнений = 16М / 1600 / 10000 = 1 Гц
        • TIM1_ARRL = (10000)& 0xFF;
        • TIM1_CR1_bit.URS = 1; //Прерывание только по переполнению счетчика
        • TIM1_EGR_bit.UG = 1; //Вызываем Update Event
        • TIM1_IER_bit.UIE = 1; //Разрешаем прерывание
        • TIM1_CR1_bit.CEN = 1; //Запускаем таймер
        • }
        • void main( void ) //Основная программа
        • {
        • asm("RIM");//Глобально разрешаем прерывания
        • //Настраиваем вход
        • PC_DDR_bit.DDR1 = 0; //На вход
        • PC_CR1_bit.C11 = 1; //Подтягивающий резистор
        • PC_CR2_bit.C21 = 0; //Прерывание запрещено
        • CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1); //Выключаем определитель. Теперь МК работает на частоте 16МГц.
        • //Инициализируем дисплей и таймер
        • LCD_init();
        • Timer1_init();
        • uint8_t sost; //Состояние датчика
        • //В цикле основная программа проверяет состояние датчика и если оно изменилось, инкрементирует счетчик
        • while(1) {
        • sost = PC_IDR_bit.IDR1; //Записываем текущее состояние датчика
        • //задержка для исключения дребезга
        • for(i=0; i<1000; i++) {
        • asm("nop");
        • }
        • if (PC_IDR_bit.IDR1 != sost) obSec++; //Инкрементируем счетчик, если состояние датчика изменилось
        • if (obSec==167) obSec=0; //Проверяем - не ушел ли он за предел
        • };
        • }
        • 5. Адаптация устройства к промышленному применению
        • В представленном виде устройство для промышленной эксплуатации не подходит - плата STM8L-Discovery предназначена для отладки и имеет много избыточных компонентов, её стоимость (550 рублей) и габариты слишком велики для такого устройства. Для серийного производства нужно разработать печатную плату с микроконтроллером STM8L152C6 или другим из этой серии. Сам контроллер стоит 50-80 рублей в зависимости от размера партии. Цена датчика Холла в розницу - 60 рублей. LCD-дисплей, подобный рассмотренному, стоит ориентировочно 50-100 рублей и может быть заменен на светодиодный 7-сегментный индикатор. Таким образом, стоимость компонентов для такого устройства составит не более 250 рублей.
        • Поскольку серия STM8L имеет пониженное энергопотребление, для неё целесообразно использовать батарейное питание. Это определяет предпочтительную нишу для таких приборов - переносные устройства и прочие применения, где затруднительно или невозможно использовать сетевое питание.
        • Заключение
        • В результате выполнения курсового проекта был разработан и собран тахометр, а так же составлена следующая документация:
        • схема структурная,
        • схема электрическая принципиальная,
        • алгоритм работы управляющей программы,
        • листинг программы.
        • Разработанная конструкция отличается простотой схемотехнического решения, небольшим количеством использованных в схеме комплектующих элементов, является практически универсальной и может легко изменяться и расширяться.
        • Устройство может эксплуатироваться в диапазоне температур от -40?С до +85?С.
        • Список использованной литературы
        • 1. [Электронный ресурс] // STM8L-курс: [сайт] URL: http://we.easyelectronics.ru/dcoder/8l-kurs-soderzhanie.html (дата обращения: 20.01.2014).
        • 2. [Электронный ресурс] // Новые 8-битные микроконтроллеры STM8L: [сайт] URL: http://www.compeljournal.ru/enews/2009/14/9 (дата обращения: 20.01.2014).
        • 3. [Электронный ресурс] // Введение в теорию жидких кристаллов: [сайт] URL: http://www.lcdinfo.ru/html.cgi/txt/app/lcd/teorija.htm (дата обращения: 20.01.2014).
        • 4. [Электронный ресурс] // Датчики Холла: [сайт] URL: http:// http://robocraft.ru/blog/electronics/594.html (дата обращения: 20.01.2014).
        • 5. [Электронный документ] // Reference manual. STM8L05xx, STM8L15xx, STM8L162x, STM8AL31xx and STM8AL3Lxx microcontroller family.
        • 6. [Электронный документ] // UM0970. User Manual. STM8L-DISCOVERY.

        Приложение

        Схема подключений МК на плате

        Размещено на http://www.allbest.ru/

        Размещено на Allbest.ru


Подобные документы

  • Разработка структурной и принципиальной схем микропроцессорного тахометра. Микроконтроллер PIC16F886 и устройство индикации тахометра. Основные температурные и электрические характеристики микроконтроллера. Разработка алгоритма управляющей программы.

    курсовая работа [527,0 K], добавлен 07.07.2013

  • Процесс создания и программная реализация устройства электронных часов на основе микроконтроллера Attiny 2313. Разработка структурной и принципиальной схемы цифрового тахометра, сборка самого устройства, проверка и оценка его на работоспособность.

    курсовая работа [1,9 M], добавлен 28.04.2012

  • Разработка структурной, функциональной и принципиальной схемы тахометра. Выбор генератора тактовых импульсов, индикаторов и микросхем для счетного устройства. Принцип действия индикатора. Описание работы тахометра. Расчет потребляемой тахометром мощности.

    курсовая работа [322,3 K], добавлен 30.03.2012

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

    курсовая работа [415,9 K], добавлен 03.11.2014

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

    курсовая работа [84,8 K], добавлен 14.03.2014

  • Создание аналого-цифрового устройства для проведения лабораторных работ с использованием микроконтроллера. Разработка структурной и принципиальной схем. Выбор и описание элементной базы, используемого микроконтроллера. Программирование микроконтроллера.

    дипломная работа [1,7 M], добавлен 19.07.2014

  • Принцип работы кодового замка. Проектирование кодового замка с возможностью звуковой сигнализации при попытке подбора кода, на базе микроконтроллера с архитектурой MCS-51. Функциональная схема устройства, составление программы для микроконтроллера.

    курсовая работа [3,2 M], добавлен 14.11.2010

  • Проектирование устройства, измеряющего температуру в помещении. Выбор датчика температуры, микроконтроллера и отладочной платы. Изучение работы встроенного датчика температуры. Разработка программного обеспечения. Функциональная организация программы.

    курсовая работа [2,0 M], добавлен 26.12.2013

  • Проектирование принципиальной схемы устройства индикации на основе 8-битного AVR микроконтроллера типа ATmega16 с питанием от источника питания на 10 V и отображением данных на графическом LCD-дисплее. Разработка программного обеспечения микроконтроллера.

    курсовая работа [11,3 M], добавлен 19.12.2010

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

    курсовая работа [2,4 M], добавлен 27.12.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.