Разработка модели системы ввода и алгоритмического обеспечения, страница 4

Для реализации данного устройства мог бы подойти  МК той же фирмы Atmel  АТ90S4433. Он также содержит все необходимые узлы для автономной работы, но таймер/счетчик у данного МК один, что делает невозможным выполнение поставленной задачи, так как на каждую обмотку асинхронного двигателя необходимо подавать ШИМ сигнал (формирующийся таймером/счетчиком), а обмотки у двигателя две, значит нужно два таймера.

5.7.1 Оценка погрешности выдерживания частоты

Из технического задания нам известен период синусоиды подаваемой на двигатель (0.0025(с)). Найдем ошибку формирования частоты за один квант:

Δ=ΔN*Tosc ;

так как количество тактов берется целым (51), то

ΔN=51.167-51=0.167;

Отсюда находим ошибку выдерживания частоты за один такт кварцевого генератора:

Δ=0.167*13.56=2.26(мкс);

Чтобы найти ошибку формирования частоты синусоиды необходимо составить пропорцию:

2500(мкс) – 100%;

2.26(мкс) – X;

Из нее найдем относительную погрешность выдерживания частоты синусоиды управляющего сигнала:

σ=2.26*100%/2500=0.09%.

5.7.2 Оценка погрешности выдерживания фазы сигнала

Так как синусоида представляется дискретным рядом из 360 значений, то абсолютная погрешность выдерживания фазы находится по формуле:

δ=0.5* Тдв/360;

δ=0.5*0.0025/360=3.475(мкс);


6 РАЗРАБОТКА ПРОГРАМНОГО ОБЕСПЕЧЕНИЯ

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

Первоначально нужно выбрать язык программирования, на котором будет написана программа для МК. В настоящее время существует большое количество пакетов  предназначенных для написания программ на языке высокого уровня. В частности для микроконтроллеров AVR существует пакет E-LAB, на котором можно написать и откомпилировать программу. После чего можно записать машинный код программы в микроконтроллер. Запись программы в микроконтроллер осуществляет пакет Ponyprog. Достоинством пакета E-LAB является наличие большого числа библиотек позволяющих работать с числами разного формата. Программа в E-LAB имеет определенную структуру, в соответствии с которой и необходимо составить алгоритм ее работы.

 По алгоритму программа МК должна работать в определенном порядке, который вытекает из алгоритма работы устройства описанном в пункте 3.

В первую очередь должна происходить настройка параметров МК. Под параметрами понимается тип микроконтроллера, его тактовая частота работы (указывается в соответствии с кварцевым резонатором, подключенным к МК), затем указывается размер стека во внутреннем ОЗУ. После этого указывается скорость передачи по последовательному асинхронному приемо-передатчику UART, количество стоповых бит, размер передаваемого пакета. Далее определяются порты вывода управляющих импульсов.

После описания параметров МК описываются переменные, используемые в программе, а также переменные, присваиваемые ножкам микроконтроллера.

За описанием переменных следует  описание процедур. В данном случае должны быть описаны процедуры: инициализации портов, инициализации внутреннего счетчика и режима ШИМ модуляции.

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

Результатом данной разработки является готовая программа представленная в приложении.