Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Таймеры, ШИМ и все про них » Шалит ШИМ. Как-бы побороть?


Шалит ШИМ. Как-бы побороть?

Сообщений 1 страница 10 из 10

1

При Pwm1b = 0 ШИМ генерит короткие импульсы (ок. 1uS).
Ниже код, присутствие импульсов связано с выделенным.

Config Timer1 = Pwm , Pwm = 8 , Compare B Pwm = Clear Up , Prescale = 1 , Clear Timer = 1

Как бы от них избавиться?

0

2

Поставил затычку, которая при Pwm1b = 0 переконфигурирует таймер, но ощущение, что так быть не должно осталось.

0

3

действительно при нуле генерится "огрызок" первого импульса. Это обычное явление для аппаратной реализации модулятора. Если нельзя обойтись без этого состояния (PWM=0) - останавливай таймер и сбрасывай порт.

+1

4

Спасибо. С помощью Стоп/Старт достиг нужного результата.
Теперь стОит пересмотреть все устройства, где использовал ШИМ.

0

5

всем привет!
пытаюсь запустить fast PWM в противофазе с наличием "мёртвого времени" на аттини 45 . Вроде работает,но скважность шима периодически дрейфует. подскажите пожалуста, где ошибка?

$regfile = "attiny45.dat"
$crystal = 1000000
Config Portb = Output

Pllcsr = &B00000011 'РЕГИСТР ПОДКЛЮЧЕНИЯ СКОРОСТНОГО ШИМ ВКЛ '
Waitus 100 'ЖДЁМ 100МКС
Pllcsr = &B00000111 'ЗАПУСКАЕМ СКОРОСТНОЙ ШИМ
Tccr1 = &B11010011 ' РЕГИСТРЫ ТАЙМЕРА1 НАСТРОЕНЫ НА ШИМ
Gtccr = &B00000000
Dtps = &B11111111
Dtvala = &B00010001 ' МЕРТВОЕ ВРЕМЯ
Ocr1c = 254 ' РЕГИСТР СРАВНЕНИЯ
Ocr1a = 127 ' РЕГИСТР ШИМ

Do

Loop
End

Отредактировано FASAM (2013-03-30 16:51:10)

0

6

Tccr1 = &B01100011            может быть так

0

7

скважность всё равно скачет,мало того  если так настроить, то второй канал шим не работает.

0

8

На тиньке 45 таймер 1 работает c PWM работает в режиме ATtiny15. Там свои хитрости. Попробуйте запустить ШИМ на тймере 0.
Для перевода 45 в режим овместимости с 15 необходимо выставить фьюзы СKSEL в состояние '0011 '.

Отредактировано sva-don (2013-04-09 12:50:55)

0

9

ищи другие причины, нестабильность кварца?
м.б. WDT не запрещен (разрешен фьюзом) и сбрасывает процессор?

0

10

dmm написал(а):

ищи другие причины, нестабильность кварца?
м.б. WDT не запрещен (разрешен фьюзом) и сбрасывает процессор?

нет это програмное. кварц тут ни при чём- смотрел протеусом. Чётко прослеживается изменение скважности в определённом ритме.

0


Вы здесь » Программирование ATMEL в BASCOM. » Таймеры, ШИМ и все про них » Шалит ШИМ. Как-бы побороть?