
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:04




В этом руководстве я объясню вам, как
- управлять двигателем постоянного тока с ШИМ
- общаться через UART
- обрабатывать прерывания таймера
Прежде всего, мы будем использовать плату разработки системы AVR Core, которую вы можете найти на Aliexpress по цене около 4 долларов США. Ссылка на плату разработки находится здесь. Мы также будем использовать Atmel ICE Debugger и Atmel Studio для программирования и отладки нашего программного обеспечения.
Шаг 1. Глубокое погружение в техническое описание и исходный код - тактовая частота



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




Для связи с UART вам необходимо правильно настроить регистры скорости передачи USART - UBRRnL и UBRRnH, вы можете рассчитать их самостоятельно или можете использовать онлайн-калькулятор, чтобы легко получить правильные значения.
Онлайн калькулятор
ruemohr.org/~ircjunk/avr/baudcalc/avrbaudca…
Таким образом, вычисляется значение MYUBBR. В регистре UCSR0B мы включаем RXEN0 (разрешение recv), TXEN0 (разрешение передачи) и RXCIE0 (RX для прерывания). В регистре UCSR0C мы выбираем размер символа 8 бит.
После того, как мы установили бит прерывания RX, мы должны добавить функцию ISR для USART0_RX_vect
ISR (USART0_RX_vect) {char rcvChar = UDR0; если (rcvChar! = '\ n') {буфер [bufferIndex] = rcvChar; bufferIndex ++; }}
Вы не должны использовать бизнес-логику в своей программе обслуживания прерываний. Вы должны вернуть функцию как можно скорее.
Шаг 3: Настройки ШИМ

В функции initPWM мы устанавливаем масштабатор тактовой частоты процессора, режим таймера / счетчика как Fast PWM и устанавливаем его поведение с помощью битов COM.
Мы также должны подключить двигатель постоянного тока к выводу OC2, который указан в Таблице 66. Режим вывода сравнения, режим Fast PWM в нашем техническом описании, вы также увидите, что вывод OC2 - это (OC2 / OC1C) PB7.
Шаг 4: Результат


При загрузке исходный код во вложении.
Вы можете ввести новое значение ШИМ (0-255) из UART (вы можете использовать терминал последовательного порта Arduino), чтобы установить скорость двигателя постоянного тока.
Рекомендуемые:
Эксперименты со случайным ШИМ двигателя постоянного тока + поиск и устранение неисправностей энкодера: 4 шага

Случайные эксперименты с ШИМ двигателями постоянного тока + поиск и устранение неисправностей кодировщика. Часто бывает, что чей-то мусор становится чужим сокровищем, и для меня это был один из таких моментов. Если вы следили за мной, вы, вероятно, знаете, что я взялся за огромный проект по созданию собственного 3D-принтера с ЧПУ из металлолома. Эти штуки были
Как преобразовать 8-канальный ШИМ в импульсную позиционную модуляцию: 4 шага

Как преобразовать 8-канальный ШИМ в импульсную позиционную модуляцию: мы рассмотрим 2 формата выходного сигнала радиоприемников для радиоуправляемых моделей (или моделей RC). Традиционным и наиболее распространенным типом сигнала приемника является ШИМ, и обычно для ШИМ требуется только один провод на канал. Сигнализация PPM сейчас набирает обороты
Как управлять полевым МОП-транзистором с помощью ШИМ Arduino: 3 шага

Как управлять полевым МОП-транзистором с помощью ШИМ Arduino: в этой инструкции мы рассмотрим, как управлять током через полевой МОП-транзистор с помощью выходного сигнала ШИМ (широтно-импульсной модуляции) Arduino. В этом случае мы будем манипулировать кодом Arduino, чтобы получить переменный сигнал PWM на цифровом выводе 9 Ardui
ШИМ с ESP32 - Диммирование светодиода с ШИМ на ESP 32 с Arduino IDE: 6 шагов

ШИМ с ESP32 | Диммирование светодиода с помощью ШИМ на ESP 32 с помощью Arduino IDE: в этой инструкции мы увидим, как сгенерировать сигналы ШИМ с ESP32 с помощью Arduino IDE & ШИМ в основном используется для генерации аналогового выхода из любого микроконтроллера, и этот аналоговый выход может быть любым в диапазоне от 0 В до 3,3 В (в случае esp32) & из
Управляйте шаговым двигателем с помощью микропроцессора AVR: 8 шагов

Управляйте шаговым двигателем с помощью микропроцессора AVR: валяются какие-то шаговые двигатели от принтеров / дисководов и т. Д.? Некоторое зондирование с помощью ометра, за которым следует простой код драйвера на вашем микропроцессоре, и вы будете действовать стильно