//Подключаем стандартные библиотеки необходимые для работы#include <avr/io.h>//библиотека ввода/вывода#include <avr/interrupt.h>//библиотека прерываний #define nop() {asm("nop");}//функция позаимствованная из ассемблера "nop" //перечисление переменныхunsigned int i=1;//переменная для ШИМunsigned int p;//переменная для ШИМunsigned int pp=50;//переменная для ШИМ скорость нарастания напряженияunsigned int ms;//переменная для задержкиunsigned int x;//переменная для задержки //Попрограммы обработки прерыванийSIGNAL(SIG_INTERRUPT0)//обработка прерываний кнопки "+"{pp=pp+1;} //увеличение при нажатии на кнопку "+" на 1 SIGNAL(SIG_INTERRUPT1)//обработка прерываний кнопки "-"{pp=pp-1;} //уменьшение при нажатии на кнопку "-" на 1 //функция задержкиvoid delay_ms(int ms){for (x=ms;x>0;x--) nop
В основном цикле программы будет сама непосредственно программа реализации программной ШИМ.
Используется только один полевой транзистор из сборки.
Схема устройства представляет из себя следующее:
И так, алгоритм следующий, необходимо организовать уменьшение и увеличение заполненности импульсов, при нажатии на кнопки "+" и соответственно "-". Подпрограммы уменьшения и увеличения скорости вращения будет включаться двумя кнопками, которые в свою очередь будут присоединены к . Такое решение в связи с тем что управляющих кнопок больше не будет, а значит прерывания просто грех не использовать. Соответственно скорость будет увеличиваться или уменьшаться в зависимости от заполненности импульсов коммутирующих силовую схему управления двигателем.
В данном примере я расскажу как использовать программную ШИМ, то есть специальные таймеры-счетчики при программной ШИМ не будут задействованы. ШИМ с применением аппаратного ресурса таймеров-счетчиков называется про нее хорошо рассказал мой коллега.
Реализация регулировки скорости вращения двигателя довольно не сложная. Для этого необходимо знать что такое (ШИМ по английски PWM), иметь понятие о возможных вариантах её реализации.
Написал extremist дата Суб, 05/15/2010 - 19:41
» Регулируем скорость вращения двигателя с помощью ШИМ(PWM) на ATtiny2313
Больше знаний, больше возможностей.
Регулируем скорость вращения двигателя с помощью ШИМ(PWM) на ATtiny2313 | AVR Lab устройства на микроконтроллерах AVR
Комментариев нет:
Отправить комментарий