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

4 канала ШИМ на AVR

1 3

AnSi:8000000/25000/24=13,333 такта на точку(без учёта переходов на прерывание)

Хотелось бы комментариев: откуда взялся делитель 24 ?

З.Ы. Понял. Шняга. Этот делитель можно не учитывать.

З.Ы.Ы. Знаю что именно надо писать, но не дружу с Сями.

З.Ы.Ы.Ы. Можно реализовать хоть хоть 24 канала(или сколько у него там пинов ?) и с бОльшим разрешением с минимальными потерями на производительности.

 

Y@rik, вовремя не прочитал сообщение, так что отвечаю, хоть и с опозданием:
прошивка написана на BascomAVR, секрета в ней нет, хотя и не лежала в открытом доступе на сайте.
После опубликования ее на английском, надо восстановить справедливость по отношению к отечественному читателю-микроконтроллерщику, что я и делаю.
Скачать исходник вместе со статьей можно по адресу: http://atlab.narod.ru/files/Rheobas4ch.zip

 

Y@rik: В программе генерирую 4-х канальный ШИМ с разрешением 24 точки. Максимальная частота получается около 5 кГц, но этого маловато. Вопрос в следующем: возможно ли поднять частоту где-то до 25кГц? Пишу на Си. Контроллер ATmega8L, тактовая частота 8МГц
Есть одно программное решение на частоту 31,25 кГц с разрешением 32 точки, до 8 каналов, но на ассемблере. Вроде бы как раз для вашего случая подходит, если интересно, могу поделиться.

 

GM: Есть одно программное решение на частоту 31,25 кГц с разрешением 32 точки, до 8 каналов, но на ассемблере
Спасибо конечно, но ассамблером не владею.

 

Ну и зря. Формирование ШИМ одна из практических задач, на которой можно поизучать ассемблер. Совместить так сказать, приятное с полезным. Посмотрите, какое здесь преимущество ассемблера: каналов - 8, т.е. в два раза больше, разрешение 32 точки, а не 24, частота шим 31 кГц, в 6 раз больше.
Вот, пришло в голову ещё одно, аппаратное решение вопроса для 4 каналов. Наверное, можно и на си залудить.

 
1 3