Свежие обсуждения
Микроконтроллеры

Как научиться писать программы для AVR

1 4 5

gan: FilterLab второго порядка...частота ШИМ там должна давиться на 80 дБ. -80дБ Это очень серьезная величина, недостижимая для фильтра второго порядка . Кроме того, есть тонкость, связанная с плохой фильтрацией не самой частоты ШИМ а ее гармоник из-за крутых фронтов. Тут пассивный фильтр работает лучше, ибо грамотную разводку/экранировку реализовать проще.

 

jusupoff: jusupoff
1 октября, 15:24
Используйте пассивный фильтр второго порядка. Если необходимо, то на выход такого фильтра усилитель.
Активные фильтры на ШИМ сигнале не работают нормально (прорбовал).

Странно - у меня в установке вполне себе работает.

ЗЫ - задача написать ПИД регулятор под Atmega8. Целевой объект имеет большую инерционность (до 1 сек от подачиизмененного сигнала управления до реакции)

Величина ошибки 0-$FFFF величина управляющего сигнала 0-$FF отклонение при котором считается что система уравновешена +/- $10h, перерегулирование не более +150% время установления не более 5 секунд.

Обсчитывать бессмысленно - объект управления хрен опишешь математически. Только подбором коэффициентов

 

Vlad_Petr: Это очень серьезная величина, недостижимая для фильтра второго порядка .
Ну не знаю, вручную не рассчитывал, а программа выдала такой результат-см.аттач
Согласен с тем, что, возможно, быстродействия ОУ не хватает обработать ВЧ гармоники, обычная RC цепочка перед фильтром - и пиков нет в помине.

 

Кто скажет, в аttiny26 можно ли защитить прошивку от чтения?

 

Можно.

 

chav1961: Через union
Спасибо.
Усложним задачу:
Как объединить только один элемент массива с одним полем ?(и то, и то -байт, пусть последние.)

 

использовать переменные-указатели.

 

chav1961: использовать переменные-указатели.
Это нарушит "стройность однообразия " в разнообразии.
Делаю дин. индикацию , шкала и несколько окошек с цифирками. Шкала -массив , а цифирки просятся в структуры , запонять удобнее, а показывать как массив. Но проблема в том, что шкала короче, точнее цифирок больше , и хотелось бы одну цифру показывать вместе со шкалой , не заморачиваясь с разнообразием заполнения.

 

Так с этого надо было начинать
union
{char forDynamicIndication[10];
struct
{char forScale[8];
char digit1;
char digit2;
} forUsing;
} store;
Обращаться для дин.индикации как store.forDynamicIndication[i], для работы - store.forUsing.digit1.
ЗЫ: Задачу всегда лучше излагать в исходном виде.

 

chav1961: ЗЫ: Задачу всегда лучше излагать в исходном виде.
Иногда, это слишком долго.
Но так мне не подойдет, хотя , я подумаю, может удастся это приспособить.
Показывать я буду по 8 байт одновременно, а хранить 9 байт -цифирок.
А пока, как сделать массив шкалы так , чтобы его первый элемент , был одновременно последним в структуре(дигит1)?
Упражняюсь в Кодевижене.