96a49dc4f298c77d968337da05b32dd8.gif

Complementary pwm и push-pull режимы на таймере 1 контроллеров stm32

СОДЕРЖАНИЕ
0
136 просмотров
15 февраля 2020

Триггер специальных событий

Таймер 1 обычно не сбрасывается в 0 при возникновении прерывания от модуля CCP в режиме сравнения, кроме случая конфигурации модуля в режим Триггера специального события. В этом режиме, когда значения таймера и регистра CCPRx равны, формируется прерывание, таймер 1 очищается и автоматически запускается преобразование АЦП (если это разрешено).

Работа модуля в режиме сравнения подобна функции таймера в обычном секундомере. В случае секундомера определенное время загружается в часы и производится отсчет в обратном порядке с установленного времени до достижения нуля. Отличие работы таймера в режиме сравнения заключается в том, что время отсчитывается от нуля до установленного значения. Этот способ полезен для того, чтобы произвести определенные действия в точные интервалы времени. Обычный режим работы таймера может использоваться для исполнения тех же самых функций, однако в этом случае таймер нужно будет перезагружать каждый раз. Режим сравнения также может автоматически изменять состояние вывода CCPx.

Пример 7. Формирование модулирующих импульсов для различных форматов передачи данных.

Рис. 10. Широтно-импульсная (ШИМ)

Модуль ССР в режиме сравнения может использоваться для формирования различных форматов модуляции. На рис. 10-12 приведены различные варианты представления 0 и 1 в различных форматах передачи данных. Передача данных похожа на асинхронную передачу данных, содержащую СТАРТ-бит, восемь информационных бит и СТОП-бит. Время ТЕ является базовым временным элементом в каждом формате модуляции и задает скорость передачи данных. Триггер специального события может использоваться для формирования времени ТЕ. При возникновении прерывания от CCP подпрограмма обработки прерывания формирует требуемый формат передачи данных.

Рис. 11. Манчестерская модуляция

Рис. 12. Модуляция положением импульса

Пример 8. Формирование 16-разрядной ШИМ.

Обычно стандартные модули ШИМ имеют разрядность в 10 бит. Модуль ССР в режиме сравнения может использоваться для формирования ШИМ с 16-разрядной точностью. Для этого:

  1. Настраиваем модуль ССР на установку вывода ССРх в “0” в режиме сравнения.
  2. Разрешаем прерывание от Timer 1.
  3. Записываем значение периода в Timer1 и его предделитель.
  4. Устанавливаем длительность импульса в регистр сравнения CCPRxL и CCPRxH.
  5. Устанавливаем выход ССРх в “1” при возникновении прерывания от переполнения Timer1. Следует заметить, что маленькие значения длительности импульса не могут быть сформированы из-за конечного времени обработки прерывания от Timer1. Это не сказывается на периоде формируемого сигнала, так как время выполнения прерывания от периода к периоду будет одинаковым.

Рис. 13. Формирование 16-разрядной ШИМ

Таймер Timer1 имеет четыре значения предделителя: 1:1, 1:2, 1:4 и 1:8. Возможная формируемая частота рассчитывается по формуле:

FPWM = FOSC/(65536 x 4 x предделитель)

Для микроконтроллера, работающего на частоте FOSC = 20 МГц, значения частот FPWM будут составлять 76,3 Гц, 38,1 Гц, 19,1 Гц и 9,5 Гц.

Пример 9. Последовательное измерение с помощью АЦП.

Триггер специального события в режиме сравнения (при совпадении значения Timer1 и регистра сравнения CCPRxL и CCPRxH) может формировать периодические прерывания и дополнительно автоматически запускать измерения АЦП. Покажем на примере, как организовать последовательный опрос АЦП в четко определенные моменты времени.

Рис. 14. Последовательное измерение напряжений

Пример. Микроконтроллер PIC16F684 работает от внутреннего генератора, сконфигурированного на работу с частотой 8 МГц. Нужно последовательно опрашивать каналы АЦП и измерять входное напряжение на выводах RA0, RA1 и RA2 через каждые 30 мс.

Таймер 1 переполняется через время TOSC x 65536 x 4 x предделитель. Для предделителя 1:1 таймер переполнится через 32,8 мс.

Значение регистра CCPR1 рассчитывается по формуле:


CCPR1 = время/(TOSC x 4 x предделитель) = 30 мс/ (125 нс x 4 x 1) = 6000 = 0хЕА60.

Тогда


CCPR1L = 0x60, CCPR1H = 0xEA.

Модуль ЕССР должен быть сконфигурирован в режим триггера специального события. Этот режим формирует прерывание при совпадении значения Timer1 и регистра сравнения CCPRxL и CCPRxH. Для этого режима CCP1CONТ = ‘b00001011’. При возникновении прерывания таймер автоматически очистится и установит бит GO в регистре ADCON0 для запуска преобразования АЦП. Когда произойдет прерывание от модуля ECCP, нужно выбрать следующий вход АЦП с помощью регистра ADCON0.

PID-калькулятор для CC3D [править]

Примерный алгоритм настройки:

  1. Выставить нужные углы
  2. Сбросить пиды на значения по умолчанию
  3. Обнулить I и D на Roll и Pitch.
  4. Включить TxPID и назначить крутилку на Rate Roll Kp. Значения от 0.003 до 0.02
  5. Выкрутить крутилку на минимум, взлететь и медленно крутить до тех пор, пока не начнёт стабильно колбасить как на видео.
  6. Посадить коптер, запомнить значение Roll Kp, сбросить его на дефолтное.
  7. Назначить крутилку на Rate Pitch Kp. Значения от 0.003 до 0.02.
  8. Взлететь, найти Pitch UOV, записать.
  9. Подстроить Outer loop Kp под свои предпочтения

Есть еще один “быстрый” метод настройки ПИД контроллера с использованием критического положения системы (момент автоколебаний), он же UOV.

  1. Найти параметр P (I=D=0), при котором коптер осциллирует по Roll, потом по Pitch
  2. Установить полученные параметры в контроллер.

На базе этого метода вполне успешно работают автоматические алгоритмы настройки ПИД (пример – Autotune в Cleanflight).

Особенности ПЛК

Для того чтобы понять, что такое контроллер, необходимо разобраться с его устройством и назначением. У программируемого элемента несколько входов – с их помощью происходит контролирование состояния выключателей и датчиков. И есть выходные клеммы, которые подают сигналы различного уровня на электроклапаны, контакторы, электроприводы, реле и другие исполнительные устройства.

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

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

Преимущества контроллеров

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

При использовании контроллера на две входные клеммы подключаются кнопки. На выходе устанавливается электрический двигатель. Логика выглядит таким образом:

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

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

Мостовые драйверы

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

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

В это же время я наткнулся на два варианта мостовых драйверов:

  • HIP4086
  • IR2101

Что касается HIP4086, то это полноценный мостовой драйвер, предназначенный для трёхфазного электродвигателя. Мне он показался несколько замороченным, и мои попытки использовать его в контроллере не увенчались успехом: он у меня так и не заработал. Углублённо разбираться в причинах не стал.

А взял я IR2101 — полумостовой драйвер, обеспечивающий работу нижнего и верхнего ключей для одной фазы. Несложно догадаться, что таких драйверов нужно три. К слову, драйвер очень прост в использовании, его подключение происходит безболезненно и легко. Получилась такая схема:

Печатная плата

И готовый результат

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

Поверка

осуществляется по документу МП АПМ 24-13 «Комплексы измерительные аэродромнодорожных лабораторий КП-514 РДТ. Методика поверки», утвержденному ГЦИ СИ ООО «Автопрогресс-М» в феврале 2014 года.

Основные средства поверки:

–    теодолит типа Т15, ГОСТ 10529-96;

–    нивелир типа Н-05, ГОСТ 10528-90;

–    рейка нивелирная РН-05, (0-3000) мм, ±0,05 мм, ГОСТ 10528-90;

–    GPS/ГЛОНАСС приемник спутниковый геодезический с допускаемой СКП измерения координат не более ± 2 м;

–    измеритель лазерный триангуляционный РФ603-15/5, (15-20) мм;

–    динамометр образцовый растяжения, 3 разряд, (0,2-5) кН, ц.д.0,5 Н, ГОСТ 9500-84;

–    весы неавтоматического действия, КТ средний, ГОСТ 53228-2008;

–    рулетка измерительная, ГОСТ 7502-98, (0-100) м, КТ3;

–    уровень строительный, 300мм, ц.д.4,4 мм/м, ГОСТ 9416-83;

–    штангенциркуль тип ПНГ (0-250) мм, ПГ±.0,05 мм, ГОСТ 166-89;

–    линейка измерительная, ГОСТ 427-75, (0-1000)мм, ПГ±0,2мм;

–    стенд-построитель профиля РДТ 695.44.00.000;

–    балка глубиномера РДТ 695.57.14.000;

–    стенд ориентации СНПЦ 024.00.00.000;

–    стенд имитации прогиба РДТ 698.90.00.000;

–    нагрузочное устройство СНПЦ 021.00.00.000.

Технические характеристики

1    Диапазоны измерений, не менее:

от 102 до 105

от минус 180 до плюс 180 1)

2)

от минус 105 до плюс 105 от минус 105 до плюс 105 3) от 1 до 10 от минус 100 до плюс 100 4) от 2 до 150 от 0,1 до 1,0 от 0,3 до 3,0 от 0,5 до 20

± 1

± 3 ± 5 ± 2 ± 5 ± 1

± 0,1 ± 5 ± 5

± 4 ± 4 3 ± 0,03

50 ± 2,5

20 ± 5

от плюс 5 до плюс 40 от минус 10 до плюс 40

98

6600x2084x2950 4600 6

–    длины пройденного пути, м

–    угла поворота трассы, ..,°

–    продольного уклона, %о

–    поперечного уклона, %

–    продольной ровности, мм/м

–    амплитуды колебаний подвески ПКРС, мм

–    поперечного профиля (колеи), мм

–    коэффициента сцепления

–    упругого прогиба, мм

–    линейных размеров объектов по видеоизображению, м

2    Предел допускаемой абсолютной погрешности измерений не более:

–    угла поворота трассы, градусов

–    продольного уклона, %

–    поперечного уклона, %

–    поперечного профиля (колеи), мм

–    амплитуды колебаний подвески ПКРС, мм

–    географических координат в плане, .. “

3    Предел допускаемой относительной погрешности измерений не более:

–    длины пройденного пути, %

–    продольной ровности, %

–    линейных размеров объектов по видеоизображению, %

4    Предел допускаемой приведенной погрешности измерений не более:

–    коэффициента сцепления, %

–    упругого прогиба, %

5    Нормальная нагрузка колеса ПКРС на дорожное покрытие, кН

6    Динамическая нагрузка, развиваемая падающим грузом установки ДИНА, кН

7    Условия эксплуатации:

–    температура воздуха в салоне ТС, °С

–    температура окружающей среды при измерениях коэффициента сцепления и упругого прогиба, °С

–    температура окружающей среды при других измерениях , °С

–    относительная влажность воздуха, %, не более

8    Габаритные размеры (ДхШхВ), мм, не более

9    Масса, кг, не более

10    Полный средний срок службы, лет, не менее

–    минус – поворот налево, плюс – поворот направо;

–    минус – уклон вниз, плюс – уклон вверх;

–    минус – уклон влево, плюс – уклон вправо;

–    минус – перемещение вниз, плюс – перемещение вверх;

ШИМ-контроллеры в составе блоков питания

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

Увеличение частоты тока питания позволяет существенно уменьшить размеры используемых компонентов, что обеспечивает популярность блоков питания, работающих на частотных преобразователях. Один из самых простых вариантов реализации питающих элементов – блок-схема, состоящая из прямого и обратного преобразователей, генератора и трансформатора. Несмотря на видимую простоту реализации таких схем, на практике они демонстрируют больше недочетов, чем преимуществ. Большинство получаемых показателей стремительно изменяются под влиянием скачков напряжения питания, при загрузке выхода преобразователя и даже при увеличении температуры окружающей среды. ШИМ-контроллеры для блоков питания дают возможность стабилизировать схему, а также воплотить множество дополнительных функций.

Комплектность

Наименование

Кол-во, шт

Примечание

Транспортное средство (ТС)

1

Тип ТС по заказу

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

1

Комплектность компонентов в зависимости от модификации комплекса

Датчик пройденного пути

1

При заказе системы измерений «Путь»

GPS/ГЛОНАСС-приемник

навигационный

1

При заказе системы измерений «Координаты»

МИНС или гироскопическая система

1

При заказе системы измерений «Г еометрия»

Профилометр дорожный

1

При заказе системы измерений «Ровность»

Лазерно-оптический сканер

1

При заказе системы измерений «Колейность»

Комплект видеокамер

1

При заказе системы измерений «Видеосъемка»

Прицепной прибор ПКРС-2 РДТ

1

При заказе системы измерений «Сцепление», «Толчкомер»

Датчик колебаний подвески ТС

1

При заказе системы измерений «Толчкомер»

Прицепная установка ДИНА-РДТ

1

При заказе системы измерений «Прочность»

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

1

Комплект руководств пользователя ПО

1

В зависимости от модификации комплекса

Руководство по эксплуатации РДТ 690.00.00.000 РЭ

1

Методика поверки МП АПМ 24-13

1

Питание [править]

  • CopterControl может быть запитан несколькими способами. Через USB порт, через контакты питания на разъеме сервы или через разъем порта приемника. Когда плата запитана от USB порта, на подключенные периферийные устройства (приемник, последовательные порты, ESC) не будет подано питание для защиты вашего компьютера.
  • Минимальное входное напряжение для платы CopterControl 4.8V, максимальное +15V.
  • Вывод питания обеспечивает не регулируемое напряжение на портах. Если полетный контроллер запитан от +15V(максимальное напряжение), тогда +15V будет на выходах питания, что приведет к повреждению приемника, GPS, модемов телеметрии или других дополнительных плат.

FAQ [править]

Как изменить направление вращение моторов в CC3D?

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

При установки на коптер не хватает места

Это распространенная проблема, но есть решение: к примеру, в программе настройки развернуть по рудеру на 90° или на -90°.

Есть ли у CC3D функция возврата домой по GPS?

Вообще-то нет. Но есть неофициальные прошивки Harakiri и iNav, которые поддерживают CC3D, они могут работать с модулем GPS и компасом, обеспечивая удержание позиции и автовозврат.

Для чего есть опция Zero gyros while arming aircraft

Опцию Zero gyros while arming aircraft в настройках Attitude настоятельно рекомендуется держать в активном состоянии. Эта опция отвечает за калибровку гироскопа и она может избавить от множества проблем. В OpenPilot (CC3D), в отличии от CleanFlight, при включении питания коптера гироскоп калибруется просто усреднением последних показаний. Поэтому, если после подачи питания не поставить коптер на землю и не подождать пока откалибруются гироскопы, а начать закреплять батарею или вертеть аппарат – гироскопы откалибруются некорректно, и вскоре после взлета весьма вероятно падение. А если опция установлена, то перед армингом будет повторная калибровка гироскопов, и полёт пройдет как нужно, но при этом лучше не пытаться армить коптер в руках.

Как в CC3D сбросить все настройки

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

Как использовать барометр и компас

Бародатчик и магнитометр будет работать с прошивкой CleanFlight. С прошивками OpenPilot и LibrePilot барометр и компас работать не будут.

Частота работы устройств, синхронизация

Микросхемы ШИМ-контроллеров могут применяться для различных целей. Чтобы отладить их совместную работу с другими элементами устройства, следует разобраться, как устанавливать те или иные параметры работы контроллера и какие компоненты цепи за это отвечают.

Резистор и емкость, задающие частоту работы всего устройства (RT, CT). Каждый контроллер может работать лишь на определенно заданной частоте. Каждый из импульсов следует лишь с этой частотой. Устройство может менять длительность импульсов, их форму и протяженность, но только не частоту. На практике это означает, что чем меньше протяженность импульса, тем длительнее пауза между ним и следующим. При этом частота следования всегда неизменна. Емкость, подключенная между ножкой CT и общим кабелем, и резистор, подключенный к выходу RT и общему кабелю, в комбинации могут задавать частоту, на которой будет работать контроллер.

  • Синхроимпульсы (CLOCK). Весьма распространены случаи, в которых требуется отладить работу нескольких контроллеров так, чтобы выходные сигналы формировались синхронно. Для этого к одному из контроллеров (как правило, ведущему) требуется подключить частотозадающие емкость и резистор. На выходе CLOCK контроллера сразу же появятся короткие импульсы, соответствующие напряжению, которые подаются на аналогичные выходы всей группы устройств. Их принято называть ведомыми. Выводы RT таких контроллеров следует объединить с ножками VREF, а CT – с общим кабелем.
  • Напряжение сравнения (RAMP). На этот вывод следует подавать сигнал пилообразной формы (напряжение). При возникновении синхроимпульса на выходе устройства образуется открывающее контрольное напряжение. После того как показатель напряжения на RAMP становится больше в несколько раз, чем величина выходного напряжения на усилителе ошибки, на выходе можно наблюдать импульсы, отвечающие закрывающему напряжению. Длительность импульса может рассчитывать от момента возникновения синхроимпульса вплоть до момента многократного превышения показателя напряжения на RAMP над величиной выходного напряжения усилителя ошибки.

Упрощенная схема включения UCC3895

Предельные электрические режимы:

  • напряжение питания (IDD
  • ток потребления — 30 мА;
  • ток источника опорного напряжения — 15 мА;
  • выходной ток — 100 мА;
  • аналоговые входы (EAP, EAN, RAMP, SYNC, ADS, CS, SS/DISB) — от –0,3 до +0,3 В;
  • рассеиваемая мощность при t°=+25 °С:
  • корпус типа N — 1 Вт;
  • корпус типа D — 650 мВт;
  • температура при хранении — от –60 до +150 °С;
  • температура перехода — от -60 до +125 °С;
  • температура выводов при пайке (10 с) — +300 °С.

Втекающие токи считаются положительными, вытекающие — отрицательными.

Таблица 1. Сравнение параметров ИС

Параметр UC3875/6/7/8 UC3879 UCC3895
Начальное напряжение UVLO, B 10,75 или 15,25 10,75 или 15,25 11
Гистерезис UVLO, B 1,25 или 6,0 1,75 или 6,0 2
Стартовый ток потребления, мкА 150 150 150
Стационарный ток потребления, мА 30 23 5
Скорость нарастания усилителя ошибки (YO), В/мкс 11 11 2,2
Полоса единичного усиления УО, МГц 11 10 6,5
Задержка от ГЛИН до выхода OUT, нс 65 115 70
Нестабильность генератора от сети/нагрузки, % 20 20 2,5
Мин. напряжение ГЛИН, В 0,2 0,2
Макс. напряжение ГЛИН, В 3,8 2,9 2,35
Задержка от датчика тока до выхода, нс 85 160 75
Ток нагрузки по выходу OUT, мА 200 100 100
Отключение компаратора “нет нагрузки” Нет Есть Есть

Таблица 2. Температура и выбор корпуса

Тип ИС Температурный диапазон Суффикс в обозначении
UCC1895 От -55 до +125 °С J, L
UCC2895 От -40 до +85 °С DW, N, PW, Q
UCC3895 От 0 до +70 °С DW, N, PW, Q

Электрические характеристики представлены в табл. 3. Если не указаны иные значения, то V
DD = 12 В, RT = 82 кОм, CT = 220 пФ, R
DELAB = 10 кОм, R
DELCD = 10 кОм, C
REF = 0,1 мкФ, C
VDD = 1 мкФ, ненагруженный выход, TA = TJ, TA составляет 0…70 °С для UCC3895x, –40…85 °C для UCC2895x и -55… +125 °C для UCC1895x.

Выходное управляющее напряжение (OUT)

Количество выводов микросхемы определяется её конструкцией и принципом работы. Не всегда удается сразу разобраться в сложных терминах, но попробуем выделить суть. Существуют микросхемы на 2-х выводах, управляющие двухтактными (двухплечевыми) каскадами (примеры: мост, полумост, 2-тактный обратный преобразователь). Существуют и аналоги ШИМ-контроллеров для управления однотактными (одноплечевыми) каскадами (примеры: прямой/обратный, повышающий/понижающий, инвертирующий).

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

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

Подключение элементов к ПЛК

Во всех моделях контроллеров есть клеммы для подключения питания – некоторые нуждаются в переменном напряжении вплоть до 120 В, а другие – в постоянном до 24 В. Напряжение питания зависит от модели устройства. Входные клеммы обозначаются буквой Х – на каждую подается отдельный сигнал. Общий провод обычно соединяется с нейтралью источника переменного тока или с минусом постоянного.

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

Система установки I2C адреса на PCA9685

Данная плата имеет 16 ШИМ-выходов, то есть можно подключить 16 сервоприводов. Но, если и этого будет недостаточно – на плате есть свободные контакты GND, OE, SCL, SDA, VCC, V+, к которым при помощи 6-жильного кабеля-дюпона можно подключить еще один контроллер PCA9685, а к нему, в свою очередь, еще один. Каждой плате в цепочке должен быть присвоен свой уникальный адрес. Это можно сделать при помощи адресных контактов A0, A1, A2, A3, A4, A5.
Базовый адрес для каждой платы является 0x40. Для присвоения уникального адреса нужно использовать капли припоя, чтобы присвоить соответствующий адрес для каждого контроллера. Программно это будет выглядеть так:

Плата 0: Адрес = 0x40 Смещение = binary ‭01000000‬ (плата, которая присоединена к Arduino, без припоя);
Плата 1: Адрес = 0x41 Смещение = binary 01000001 (припой на А0);
Плата 2: Адрес = 0x42 Смещение = binary 01000010 (припой на А1);
Плата 3: Адрес = 0x43 Смещение = binary 01000011 (припой на А0, А1);
Плата 4: Адрес = 0x44 Смещение = binary 01000100 (припой на А2) и т.д.

таким образом можно подключить до 62 устройств на одну шину и получить 992 ШИМ выходов.

Дополнительные адреса чипа

Чип может иметь до 3х дополнительных адресов, которые устанавливаются путём записи 7ми битных чисел в регистры SUBADR1, SUBADR2, SUBADR3. Число записывается в старшие 7 бит регистра, младший бит регистра всегда равен «0» и не доступен для записи. Дополнительные адреса действуют как основной, но могут совпадать у нескольких групп чипов на одной шине, что дает возможность передавать команды сразу группе ведомых чипов. Так как чипу доступны 3 дополнительных адреса, то он может находиться сразу в трех разных группах. Для разрешения чипу реагировать на дополнительный адрес, необходимо установить соответствующий флаг SUB1, SUB2, SUB3.

Адреса общего вызова

Адрес общего вызова это число, записываемое в старшие 7 бит регистра ALLCALLADR, младший бит регистра всегда равен «0» и не доступен для записи. Адрес действует по аналогии с дополнительными адресами, но предназначен для всех чипов на шине, хотя и может использоваться как 4 группа. Для разрешения чипу реагировать на адрес общего вызова, необходимо установить флаг ALLCALL.
Не рекомендуется указывать адреса, зарезервированные протоколом I2C:

  • адреса 11110XX – используются устройствами с 10-битной схемой адресации;
  • адрес 0000000 – предназначен для вызова всех устройств на шине;
  • мастер-код 00001XX – указывает о желании мастера перевести шину в высокоскоростной HS-режим.

Устройство двигателя

Для разработки контроллера необходимо разобраться с принципом работы самого электродвигателя.

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

Конструктивно электродвигатели делятся на два типа: инраннеры и аутраннеры.

У инраннеров магнитные пластины крепятся на вал, а обмотки располагаются на барабане (статоре), в этом случае в движение приводится вал. В случае аутраннера всё наоборот: на валу — фазные обмотки, а в барабане — магнитные пластины. Это приводит в движение барабан.

Так как у велосипеда колесо крепится валом на раму, то здесь применителен тип аутраннера.

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

В двигатель устанавливаются три датчика Холла. Датчики реагируют на магнитное поле, тем самым определяя положение ротора относительно статора двигателя. Устанавливаются с интервалами в 60 или 120 электрических градусов. Эти градусы относятся к электрическому фазному обороту двигателя. Необходимо учитывать, что чем больше в двигателе обмоток на каждую фазу, тем больше происходит электрических оборотов за один физический оборот мотор-колеса.

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

Подключение контроллера [править]

По состоянию на 2016 год, OpenPilot больше не поддерживает плату CC3D, поэтому лучше всего сразу устанавливать прошивку LibrePilot.

Порты CC3D.

Как подключить все компоненты к плате CC3D:

Схема подключения FPV, GPS и OSD.

Подключение CC3D к S.BUS.

Распиновка разъема сервы CC3D

  • Внешний >Земля
  • Средний > 5V — 15V
  • Внутренний > Сигнал
  • Основной порт(раньше назывался порт телеметрии): JST-SH 4-пина. Порт телеметрии.
  • FlexiPort: JST-SH 4-пина. Данный порт планируется для подключения устройств I2C.
  • Порт приемника (ReceiverPort) : JST-SH 8-пиновый.
  • Порт приемника может служить, как вход так и выход в зависимости от конфигурации.

Управление электродвигателями

ШИМ применяется для управления двигателями в импульсном режиме. По характеристикам двигателя необходимо подобрать значение частоты ШИМ, чтобы обеспечить оптимальные характеристики электропривода. При выборе задающей частоты важным критерием являются акустические шумы, создаваемые двигателем при работе. Коллекторные двигатели могут создавать звуковой шум на частотах от 20 Гц до 4 кГц. Для исключения этого нежелательного эффекта нужно выбирать частоту выше 4 кГц. На таких частотах акустического шума уже не будет, так как механические части имеют более низкие резонансные частоты.

Логика простой программы

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

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

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

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

Процесс управления осуществляется посредством микроконтроллера AVR, который имеет встроенное программное обеспечение «Датчик пути», «Ровность», «Сцепление», «Управление питанием». Вышеуказанное программное обеспечение служит для получения измерительной информации с датчиков через программный интерфейс, обработки данных в автоматическом режиме, и последующем выводе обработанной цифровой и графической измерительной информации на экран бортового компьютера с записью результатов измерений на жесткий диск. Все идентификационные данные и данные, полученные в ходе эксплуатации комплекса, хранятся в файле RDTLine.dll.

Идентификационные данные программного обеспечения:

Наименование

Идентифи-

Номер версии

Цифровой

Алгоритм

программного

кационное

(идентифика-

идентификатор

вычисления

обеспечения

наименование

ционный

программного

цифрового

программного

номер)

обеспечения

идентификато-

обеспечения

программного

(контрольная

ра програм-

обеспечения,

сумма испол-

много обеспе-

не ниже

няемого кода)

чения

Датчик пути

Way.hex

1.0.2

0xE327

сумма кодов

(файл прошивка для

без учета

микроконтроллера AVR)

переносов

Ровность

Pusher.hex

1.0.0

0xB535

сумма кодов

(файл прошивка для

без учета

микроконтроллера AVR)

переносов

Сцепление

Scep.hex

1.0.5

0x52C0

сумма кодов

(файл прошивка для

без учета

микроконтроллера AVR)

переносов

Управление питанием

PowerControl.h

1.0.6

0xDDD3

сумма кодов

(файл прошивка для

ex

без учета

микроконтроллера AVR)

переносов

Библиотека

RDTLine.dll

1.1.1.1

6A2DEB 8B94BFA

MD5

идентификации

82F081ECEE3C22

оборудования, сбора и

2D046

сохранения показаний

измерительных систем

Программное обеспечение защищено от несанкционированного доступа электронными ключами и паролями различных уровней доступа и соответствует уровню защиты «А» в соответствии с МИ 3286-2010.

Список источников

  • habr.com
  • www.syl.ru
  • www.kit-e.ru
  • micro-pi.ru
  • www.radioradar.net
  • all-pribors.ru
  • multicopterwiki.ru

Похожие статьи

Комментировать
0
136 просмотров

Если Вам нравятся статьи, подпишитесь на наш канал в Яндекс Дзене, чтобы не пропустить свежие публикации. Вы с нами?

Adblock
detector