КОНТРОЛЛЕР ШАГОВОГО ДВИГАТЕЛЯ
STEP MOTOR CONTROLLER

Область, к которой относится изобретение
Настоящее изобретение относится к способу и устройству управления более чем одним шаговым двигателем с использованием одного набора выходов микроконтроллера.
В современных механических приложениях, где требуется точное вращение, известно использование шагового двигателя. Шаговый двигатель работает путем поворота вала двигателя на точный угол каждый раз, когда положительный импульс принимается на вход двигателя, и путем поворота вала на равный угол в противоположном направлении каждый раз, когда принимается отрицательный импульс. Каждый из этих частичных поворотов обозначается как "шаг". Шаговые двигатели могут иметь различное количество шагов на полный поворот в зависимости от желаемой точности.
Шаговый двигатель идеален для применений, требующих высокой степени точности, и в то же время не требующих большого значения вращающего момента. Типичное использование, требующее выполнения этих критериев, в средствах измерения, таких как указатель уровня топлива или указатель уровня охлаждающей жидкости в транспортном средстве. В этих и похожих случаях желательно, чтобы показания были точными, и чтобы команды с контроллера интерпретировались точно и одинаково в каждый момент времени, в который они отправляются для того, чтобы обеспечить точную обратную связь с оператором.
Недостаток использования шагового двигателя вместо обычного двигателя состоит в том, что схема управления шагового двигателя более сложная, чем у стандартного двигателя, и требует больше управляющих сигналов от контроллера. Дополнительно, из-за импульсного характера управляющего сигнала шагового двигателя обычно требуется широтно-импульсный модулятор (ШИМ-модулятор), чтобы обеспечить точное управление шагового двигателя.
На практике все системы имеют физическое ограничение на количество шаговых двигателей, которыми они могут управлять с помощью одного микроконтроллера. Обычно этот предел определяется количеством выходных выводов в конструкции микроконтроллера, выбранной для системы. Например, если конструкция микроконтроллера имеет восемь выходных выводов, она может обычно управлять максимум двумя шаговыми двигателями с использованием схемы управления с обратной связью. Когда в заданной системе используется множество шаговых двигателей, это зачастую является таким случаем, когда требуемое количество управляющих входов шагового двигателя будет превышать возможные выходы микроконтроллера. В данной области техники известно, что вводят дополнительные микроконтроллеры, когда один микроконтроллер не может обеспечить достаточное количество выходных выводов.
Обычный шаговый двигатель использует два выхода микроконтроллера, если он управляется без обратной связи, или четыре выхода микроконтроллера, если он управляется с обратной связью. В схеме управления с обратной связью два из четырех вывода используются для импульсных сигналов, и два из четырех вывода используются для управления с обратной связью. В уровне техники традиционно применяются устройства, использующие достаточное количество шаговых двигателей, требующих множество микроконтроллеров.
Желательно минимизировать количество микроконтроллеров, содержащихся в отдельном устройстве, однако современные системы не могут снижать количество микроконтроллеров и, в то же самое время, адекватно управлять требуемыми шаговыми двигателями.
Сущность изобретения
Ниже описаны устройство и способ управления множеством шаговых двигателей с использованием единственного набора выходных выводов микроконтроллера. Микроконтроллер выдает мультиплексированный управляющий сигнал, который затем демультиплексируется в демультиплексоре. Демультиплексор выдает управляющий сигнал шагового двигателя, соответствующий каждому шаговому двигателю, и передает управляющие сигналы шагового двигателя на шаговые двигатели.
Эти и другие признаки настоящего изобретения поясняются на основе последующего описания и чертежей, краткое описание которых изложено ниже.
Краткое описание чертежей
Фиг. 1 - пример блока средств измерения, в котором множество средств измерения управляются одним набором выходов микроконтроллера.
Фиг. 2 - устройство управления множеством шаговых двигателей с помощью одного набора выходов микроконтроллера.
Фиг. 3 - устройство управления множеством шаговых двигателей с помощью одного набора выходов микроконтроллера.
Фиг. 4 - блок-схема, иллюстрирующая пример осуществления управления множеством шаговых двигателей с помощью одного набора выходов микроконтроллера.
Фиг. 5 - блок-схема, иллюстрирующая другой пример осуществления управления множеством шаговых двигателей с помощью одного набора выходов микроконтроллера.
Фиг. 6 - блок-схема, иллюстрирующая пример осуществления, использующий широтно-импульсный модулятор.
Описание примера осуществления изобретения.
Блоки средств измерения транспортного средства часто включают в себя средства измерения, имеющие независимые устройства индикации, такие как указатель уровня топлива, термометр масла двигателя, спидометр, тахометр и так далее. Обычно каждое из этих средств измерения содержит шаговый двигатель, который управляется набором выходов микроконтроллера. На Фиг. 1 показан примерный блок средств измерения транспортного средства 20 согласно настоящему изобретению, который использует один набор 110 выходов микроконтроллера 100 для контроля множества средств 12, 14, 16 измерения. Один набор 110 выходных сигналов микроконтроллера на фиг. 2 подразделяется на индивидуальные управляющие сигналы в демультиплексоре 102, который затем передает управляющие сигналы 112, 114, и 117 на каждое средство 12, 14, 16 измерения. Каждое из средств 12, 14, 16 измерения на Фиг. 1 содержит шаговый двигатель 104, 106, 108 (см. Фиг. 2), который используется для поворота стрелки-указателя. В примере осуществления изобретения на Фиг. 1, 2, и 3 первый шаговый двигатель 104 - компонент первого средства 12 измерения, второй шаговый двигатель 106 - компонент второго средства 14 измерения, третий шаговый двигатель 108 - компонент третьего средства 16 измерения.
Очевидно, что могут быть сконструированы альтернативные конструкции для блоков средств измерения, использующие средства измерения снабженные шаговым двигателем, которые, тем не менее, подпадают в объем настоящего изобретения. Способ, описываемый в данном случае, предпочтителен для применений, при которых стрелка-указатель двигается не очень часто (то есть в средствах измерения, которые не нуждаются в частом обновлении) как, например, в указателях уровня топлива, температуры масла двигателя или других подобных средствах измерения.
Для того, чтобы управлять обычным шаговым двигателем, микроконтроллер должен или выдать ШИМ - управляющий сигнал (ШИМ- широтно-импульсная модуляция), или пропускать управляющий сигнал через ШИМ-модулятор до того, как управляющий сигнал достигнет места своего назначения. После того, как сигнал подвергнут ШИМ, сигнал может использоваться для точного управления одним шаговым двигателем без дальнейшего согласования. Для того, чтобы независимо управлять множеством шаговых двигателей, обычно требуются дополнительные управляющие сигналы. Исторически, под требованием для дополнительных управляющих сигналов понималось то, что также требуется больше выходов микроконтроллера и соответственно больше микроконтроллеров. В примере осуществления, показанном на Фиг. 2, множество шаговых двигателей управляются с использованием одного набора управляющих сигналов, вышедших с микроконтроллера.
На Фиг. 2 показано устройство управления множеством шаговых двигателей с помощью одного набора выходов микроконтроллера, которое включает в себя микроконтроллер 100, который изначально выдает мультиплексированный управляющий сигнал 110 и управляющий сигнал 112 демультиплексора. Мультиплексированный управляющий сигнал на Фиг. 2 подвергнут ШИМ. Демультиплексор 102 принимает мультиплексированный управляющий сигнал 110 на свой первичный вход и управляющий сигнал 112 демультиплексора на управляющий вход. Демультиплексор 102 использует информацию управляющего сигнала 112 демультиплексора, чтобы демультиплексировать управляющий сигнал 110. После того, как управляющий сигнал 110 демультиплексирован, демультиплексор 102 выдает управляющий сигнал 114, 116, 117 на назначенный шаговый двигатель 104, 106, 108. В качестве альтернативы, управляющий сигнал 112 демультиплексора может быть пропущен и демультиплексор 102 может использовать внутреннюю программу, чтобы выполнять операцию демультиплексирования.
На Фиг. 3 показан другой пример устройства управления множеством шаговых двигателей с помощью одного набора выходов микроконтроллера. Пример на Фиг. 3 включает в себя микроконтроллер 100, который изначально выдает мультиплексированный управляющий сигнал 110, так же как и управляющий сигнал 112 демультиплексора. Мультиплексированный управляющий сигнал 110 посылается на ШИМ-модулятор 122, где он преобразуется в модулированный сигнал 120 широтно-импульсной модуляции (ШИМ-сигнал). ШИМ-сигнал используется для управления шаговыми двигателями 104, 106, 108. ШИМ-сигнал 120 затем принимается демультиплексором 102. Демультиплексор 102 также принимает управляющий сигнал 112 демультиплексора. После того, как оба сигнала 120, 112 были приняты демультиплексором 102, устройство работает таким же образом, как и устройство на Фиг. 5.
Показанные примеры включают в себя три шаговых двигателя 104, 106, 108, управляемые одним набором выходов микроконтроллера; однако таким же образом может управляться любое количество шаговых двигателей. Множество управляемых шаговых двигателей 104, 106, 108 может использоваться для управления любым количеством устройств согласно известным методам. Одно из применений систем, таких как показаны на Фиг.  2 и 3, заключается в управлении индикатором множества средств измерения (таких как указатель уровня топлива) в транспортном средстве, минимизируя при этом стоимость путем использования одного микроконтроллера.
Управление множеством шаговых двигателей 104, 106, 108 с одним набором сигналов 110 микроконтроллера может быть достигнуто за счет способа, известного в данной области техники как мультиплексирование. Мультиплексирование обозначает соединение множества сигналов в единый поток данных. Обычно эта операция связана с операцией демультиплексирования на приемном конце сигнала, где единый поток данных разделяется на множество сигналов. Группа сигналов может или выводиться индивидуально и затем соединяться в компоненте мультиплексора, или выводиться контроллером в виде единого мультиплексированного сигнала. Способ выполнения мультиплексирования показан на Фиг. 4, и второй способ выполнения мультиплексирования показан на Фиг. 5.
Способ на Фиг. 5 начинается с изначальной подачи набора мультиплексированых управляющих сигналов 110, содержащих управляющую информацию для множества шаговых двигателей 104, 106, 108, от одного набора выходных выводов на демультиплексор 102 (этап 150). Демультиплексор 102 затем демультиплексирует сигнал 110 путем разделения информации, содержащейся в управляющем сигнале 110, на множество индивидуальных управляющих сигналов (этап 160). После того, как управляющий сигнал 110 демультиплексирован, демультиплексор 102 генерирует уникальный управляющий сигнал 114, 116, 117 для каждого шагового двигателя (этап 170) и передает уникальный управляющий сигнал 114, 116, 117 на соответствующий шаговый двигатель 104, 106, 108 (этап 180).
Демультиплексор 102 затем определяет, к какому временному периоду относится управляющий сигнал шагового двигателя 114, 116, 117, и посылает все управляющие сигналы 110, полученные с микроконтроллера 100 за этот временной период, на назначенный шаговый двигатель 114, 116, 117. В примере осуществления на Фиг. 2 использованы последовательности из трех временных периодов, где микроконтроллер 100 выдает мультиплексированный управляющий сигнал 110, содержащий управляющий сигнал для первого шагового двигателя 104 в течение первого периода времени, выдает мультиплексированный управляющий сигнал 110, содержащий управляющий сигнал для второго шагового двигателя 106 в течение второго периода времени, и выдает мультиплексированный управляющий сигнал 110, содержащий управляющий сигнал для третьего шагового двигателя 104 в течение третьего периода времени. Используемый период времени может быть любым периодом времени, который подходит для желаемого применения. Последовательность затем повторяется, позволяя таким образом непрерывно управлять тремя шаговыми двигателями 104, 106, 108 с помощью одного набора выходных выводов микроконтроллера.
После того, как соответствующий шаговый двигатель 104, 106, 108 за период времени был определен, демультиплексор 102 выдает индивидуальный управляющий сигнал 114, 116, 117 только на выход, соединенный с соответствующим шаговым двигателем 104, 106, 108. При этом согласно примеру осуществления на Фиг. 4 управляют каждым шаговым двигателем 104, 106, 108 с обновлениями в течение назначенного для шагового двигателя периода времени каждый раз, когда последовательность повторяется.
В другом примере осуществления, показанном на Фиг. 5, используется управляющий сигнал 112 демультиплексора вместо заранее определенного временного периода описанного выше примера осуществления изобретения. В примере осуществления на Фиг. 5, микроконтроллер 100 выдает управляющий сигнал 112 демультиплексора (этап 210) одновременно с управляющим сигналом 110 шагового двигателя (этап 220). Управляющий сигнал 112 демультиплексора содержит команды для демультиплексора 102, которые поступают на демультиплексор 102, чтобы определить, какому шаговому двигателю 104, 106, 108 соответствует часть управляющего сигнала 110 шагового двигателя, полученная от микроконтроллера 110. Демультиплексор 102 затем демультиплексирует управляющий сигнал 110 (этап 230) и генерирует индивидуальный управляющий сигнал 114, 116, 117 для каждого шагового двигателя 104, 106, 108 (этап 240). После того, как управляющие сигналы 114, 116, 117 были сгенерированы, демультиплексор 100 посылает соответствующий управляющий сигнал 114, 116, 117 на каждый из шаговых двигателей 104, 106, 108 (этап 250).
Согласно примеру осуществления на Фиг. 5 демультиплексор 102 получает команды, чтобы отправить часть мультиплексированного сигнала 110 множеству шаговых двигателей 104, 106, 108 одновременно вместо отправки одной и той же управляющей команды на мультиплексированный сигнал множество раз (как в примере осуществления на Фиг. 4). Например, если микроконтроллеру 100 необходимо повернуть шаговые двигатели 104 и 102 на один шаг, он может послать команду один раз и выдать управляющий сигнал 112 демультиплексира о том, что команда должна быть отправлена на оба шаговых двигателя 102, 104. Благодаря этому обеспечивается более короткое время отклика и более эффективное управление. Примеры осуществления на Фиг. 4 и 5 используют микроконтроллер 100, который выдает ШИМ-сигнал 110.
Хотя выше описаны два способа демультиплексирования, другие известные способы демультиплексирования сигнала предусматриваются рамками данного изобретения.
Для системы, в которой микроконтроллер 100 не выдает управляющий ШИМ-сигнал 110 для шагового двигателя, а для шаговых двигателей требуется управляющий ШИМ-сигнал, выполняется дополнительный этап широтно-импульсной модуляции между выходом микроконтроллера и входом демультиплексора. На Фиг. 6 показан другой пример осуществления, предусматривающий этап широтно-импульсной модуляции (этап 310), где выход 110 микроконтроллера преобразуется в управляющий ШИМ-сигнал для шагового двигателя 120 с использованием любой известной техники. Управляющий ШИМ-сигнал 120 для шагового двигателя может затем соответствующим образом восприниматься шаговыми двигателями 104, 106, 108.
Хотя раскрыто множество примеров осуществления этого изобретения, специалист в данной области техники понимает, что в рамки настоящего изобретения входят также некоторые усовершенствованные варианты выполнения. По этой причине нижеприводимая формула изобретения должна быть учтена, чтобы определить истинные рамки и содержание этого изобретения.