Программирование

Печать

Управление бесколлекторным двигателем постоянного тока с датчиками Холла

Опубликовано . Опубликовано в Программирование на Си

Рейтинг:   / 1

Бесколлекторные двигатели с датчиками Холла(Sensored brushless motors) применяются как тяговые, в электроприводах, где нужен высокий крутящий момент при низких оборотах. Переключение обмоток двигателя происходит по сигналу датчиков. Обычно они встроены в корпус двигателя. В зависимости от типа они могут быть аналоговыми или цифровыми, это следует учесть при написании программы. В моем двигателе датчики цифровые.

 Датчики Холла Двигатель в разобранном состоянии 

Силовая часть схемы остается прежней. Вместо сигналов обратной ЭДС мы будем обрабатывать сигналы с датчиков Холла. В большинстве случаев датчики Холла подключают к выводам внешних прерываний микроконтроллера. В этом примере мы используем контроллер Atmega48, так как у него внешние прерывания можно организовать на всех портах, в отличие от Atmega8. Тактирование осуществляется от внешнего кварца частотой 8МГц. Ниже показана схема контроллера:

Печать

Управление бесколлекторным двигателем постоянного тока(IR2101)

Опубликовано . Опубликовано в Программирование на Си

Рейтинг:   / 5

В этом варианте контроллера бесколлекторного двигателя для управления силовыми ключами используется специальный драйвер IR2101, который позволяет избавиться от дорогих и дифицитных P-канальных полевых транзисторов. В исходный код внес некоторые изменения, в частности плавный пуск и изменение вращения вала двигателя. При первом запуске двигатель плавно разгоняется, от уровня ШИМ  START_PWM, до уровня WORK_PWM, задержку можно поменять. При повторном запуске двигатель разгонится уже до уровня, который будет в переменной motor_pwm. Эта переменная меняется при помощи ручки энкодера. Переключатель направления вращения работает только когда двигатель находится в выключенном состоянии.

Печать

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

Опубликовано . Опубликовано в Программирование на Си

Рейтинг:   / 33

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

Печать

Декодирование сигналов протокола NEC

Опубликовано . Опубликовано в Программирование на Си

Рейтинг:   / 5

Продолжаем знакомиться с различными протоколами передачи данных по ИК связи, на этот раз разберем протокол NEC, который в настоящее время стал очень популярным среди радиолюбителей. Информация в этом стандарте кодируется паузой разной длины между импульсами, если длительность паузы меньше это лог. ноль, если больше - лог. единица. Длина периода лог. нуля составляет 1,12 мс, а длина лог. единицы 2,25 мс, длина паузы лог. нуля составляет 560 мкс, а длина паузы лог. единицы 1,675 мс.

Команды передаются пакетами. Каждый пакет начинается со стартовой последовательности - импульса длиной 9 мс и паузы длиной 4,5 мс. В каждой посылке передается 8 бит адреса и 8 бит команды, причем адрес и команда передаются дважды - в прямом и инверсном виде (это кроме проверки валидности передачи, делает одинаковой общую длительность любой посылки). Каждый байт пакета передаётся младшим битом вперёд.

Печать

Использование асинхронного режима таймера 2. "Точные часы"

Опубликовано . Опубликовано в Программирование на Си

Рейтинг:   / 5

Все таймеры контроллера тактируются от основного тактового генератора, исходя из битов конфигурации контроллера это может быть внутренний RC генератор, внешний кварцевый резонатор или сигнал внешнего генератора. Также регистром TCNTn может управлять сигнал идущий со счетного входа Tn. В микроконтроллере Atmega8 есть один таймер, который имеет свой собственный генератор - это Таймер/счетчик 2, т.е. таймер может работать асинхронно от всей остальной периферии. Чтобы задействовать генератор Т2 необходимо подключить к выводам TOSC2 и TOSC1 кварцевый резонатор на рекомендуемую частоту 32768 Гц. Корпус этого кварца необходимо заземлить. Обычно асинхронный режим применяют для постройки часов реального времени, т.к. Т2 будет отдельно работать от основного ядра контроллера это значительно снижает энергопотребление процессора. Обслуживанием асинхронного режима работы Т2 занимается регистр ASSR, ниже показано назначение его битов:

Печать

Программатор последовательной памяти "POSTAL 3"

Опубликовано . Опубликовано в Программирование памяти

Рейтинг:   / 9

 

POSTAL 3 (иногда можно встретить название "Postal-AVR", на самом деле это ОДИН И ТОТ ЖЕ программатор!) - универсальный USB-программатор последовательной памяти, работающих по протоколам I2C, SPI, SPI FLASH, MICROWIRE (MWI) и флэш-памяти микроконтроллеров MICRONAS, MSTAR и мультиконтроллеров KB9012.
На сегодняшний день является одним из лучших среди подобных устройств!

Печать

Ошибки при написании программы в MPLAB X

Опубликовано . Опубликовано в Видео уроки программирования на ассемблере

Рейтинг:   / 4

В уроке показаны основные ошибки, которые могут возникнуть при написании программы для микроконтроллеров семейства PIC в среде разработки MPLAB X.
Ошибка связанная с проектом: забыли сделать проект главным, поэтому при компилировании не происходит обновления HEX файла.
Проблемы с окошками в программе MPLAB X.
Ошибка 113: в тексте программы обнаружены не опознаные имена.
Ошибка 128: не хватает какого-то параметра. Ожидается параметр, но его не оказалось.
Ошибка 108: недопустимые символы. Присутствует то, чего быть не должно.
Подсветка текста когда программы, как индикатор сделанной ошибки.

Печать

Прошиваем PIC16F84A с помощью PICkit 2 и собираем схему

Опубликовано . Опубликовано в Видео уроки программирования на ассемблере

Рейтинг:   / 1

В уроке показано как нужно соединять микроконтроллер PIC16F84A и программатор PICkit 2. Показана программа, необходимая для прошивки микроконтроллера с помощью программатора PICkit 2. Показан процесс прошивки. Таким же способом можно прошить микроконтроллеры PIC16F84, PIC16F627, PIC16F628, PIC16F627A, PIC16F628A, PIC648A, PIC16F88. Работа микроконтроллера с программой проверена на схеме, собранной на макетной плате. Показано, какого наминала резисторы могут использоваться для ограничения тока через светодиоды, какими элементами схемы можно пренебречь, как можно использовать программатор PICkit 2 в качестве источника питания схемы, продемонстрирована защита от коротких замыканий у программатора PICkit 2.

Печать

Знакомство с компонентами и инструментами для работы с микроконтроллерами PIC

Опубликовано . Опубликовано в Видео уроки программирования на ассемблере

Рейтинг:   / 0

Видео знакомит с основыми инструментами и электронными компонентами для разработки электронных схем на основе микроконтроллеров PIC. Инструментами являются: программатор PICkit 2 для микроконтроллеров семейства PIC, макетные платы и мультиметр для измерения сопротивления и напряжения.
Рассмотренные компоненты в видео: микроконтроллер PIC16F84A, кварцевые резонаторы, конденсаторы, светодиоды, резисторы, батарейки.

Печать

Системы счисления и использование команды decfsz для PIC микроконтроллеров

Опубликовано . Опубликовано в Видео уроки программирования на ассемблере

Рейтинг:   / 0

Рассмотрены двоичная, десятичная и шестнадцатеричная системы счисления. Показаны особенности данных систем при работе с микроконтроллерами Pic. Показано, когда удобно использовать двоичную, десятичную и шестнадатиричную систему счисления при написании программы для микроконтроллера Pic и способ записи данных систем в программе MPLAB X.
Рассмотрена команда (инструкция) decfsz. Рассмотрено применение данной инструкции при написании кода задержки (delay).

Рекомендуем посмотреть

No result...