roboforum.ru

Технический форум по робототехнике.

Сигнал заданной частоты с помощью ШИМ на ATtiny2313

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

Сигнал заданной частоты с помощью ШИМ на ATtiny2313

Сообщение Nex » 17 окт 2008, 14:36

Всем доброго времени суток.
Недавно заинтересовался микроконтроллерами, после того, что увидел на instructables.com. (В нескольких статьях были очень простые, но интересные роботы)
Разбираюсь уже около недели, получилось спаять программатор "5 проводков", прошить программу "мигающий светодиод".

Мой МК - ATtiny2313.
Пытаюсь сделать генерацию сигнала, чтобы 1 и 0 "менялись" на ножке с заданной частотой, с помощью таймера в режиме ШИМ. Не получается.
Читал даташит, облазил кучу ресурсов в интернете - везде примеры либо на другой МК(или на языке ASM, или под другой компилятор), либо описано, как менять длину "импульса" на опр. частоте. Просмотрел все темы в этом разделе, решения не нашёл.
Даташит написан по-английски, и не могу разобраться, какие биты в какой регистр нужно записать, чтобы всё заработало.

Пользуюсь WinAVR, пишу на C.
Приведите, пожалуйста, пример кода, как это можно сделать.
Nex
 
Сообщения: 16
Зарегистрирован: 17 окт 2008, 12:37
Откуда: Воронеж

Re: Сигнал заданной частоты с помощью ШИМ на ATtiny2313

Сообщение avr123.nm.ru » 17 окт 2008, 14:42

Вот недавно решали этот впрос - скриншоты мастеров настройки параметров ШИМ
http://www.radiokot.ru/forum/viewtopic. ... c&start=20

Как делать ШИМ на AVR
http://www.avr123.nm.ru/z8.htm

Русский даташит на AVR
http://www.avr123.nm.ru/02.htm
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Сигнал заданной частоты с помощью ШИМ на ATtiny2313

Сообщение Nex » 17 окт 2008, 15:11

avr123.nm.ru писал(а):Вот недавно решали этот впрос - скриншоты мастеров настройки параметров ШИМ
http://www.radiokot.ru/forum/viewtopic. ... c&start=20

Спасибо! Здесь есть нужный пример, правда, он на ассемблере, а мне бы хотелось на C, но я попробую разобраться.

avr123.nm.ru писал(а):Как делать ШИМ на AVR
http://www.avr123.nm.ru/z8.htm

Там код приведён для другого МК, да и CodeVision ставить не хочу, меня WinAVR устраивает.

avr123.nm.ru писал(а):Русский даташит на AVR
http://www.avr123.nm.ru/02.htm

А это даташит? Совсем непохоже. И про ШИМ в ATtiny2313 не написано.
Nex
 
Сообщения: 16
Зарегистрирован: 17 окт 2008, 12:37
Откуда: Воронеж

Re: Сигнал заданной частоты с помощью ШИМ на ATtiny2313

Сообщение avr123.nm.ru » 17 окт 2008, 15:49

Nex писал(а):
avr123.nm.ru писал(а):Как делать ШИМ на AVR
http://www.avr123.nm.ru/z8.htm

Там код приведён для другого МК, да и CodeVision ставить не хочу, меня WinAVR устраивает.

И вы КОНЕЧНО не догадываетесь что в мастере можно указать НУЖНЫЙ МК ?! Да ???


Nex писал(а):
avr123.nm.ru писал(а):Русский даташит на AVR
http://www.avr123.nm.ru/02.htm

А это даташит? Совсем непохоже.


А если ПРИСМОТРЕТЬСЯ ??? Вроде похоже :

Изображение
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Сигнал заданной частоты с помощью ШИМ на ATtiny2313

Сообщение Nex » 17 окт 2008, 16:51

И вы КОНЕЧНО не догадываетесь что в мастере можно указать НУЖНЫЙ МК ?! Да ???

Не знаю про мастеры, CodeVision ставить не буду.

А если ПРИСМОТРЕТЬСЯ ??? Вроде похоже :

Хорошо, если присмотреться, то уже более похоже. Только здесь нет про ATtiny2313.

P.S. Ты не обижайся, ты мне здорово помог указав на топик с примером на асме, и спасибо большое.

Скоро сяду разбираться с исходником - если ничего не выйдет, буду опять вопросы задавать, если всё заработает - выложу здесь работающий код, для других новичков. Никто не против?
Nex
 
Сообщения: 16
Зарегистрирован: 17 окт 2008, 12:37
Откуда: Воронеж

Re: Сигнал заданной частоты с помощью ШИМ на ATtiny2313

Сообщение Nex » 19 окт 2008, 12:58

Итак, я перевёл тот исходник с асма на C - ура, он работает!

Регулируем частоту ШИМ изменением верхней границы счета таймера на ATtiny2313, взято отсюда:
http://www.radiokot.ru/forum/viewtopic. ... 085#134085
Исходник на ассемблере:
pwm_f_asm.txt
(4.37 КиБ) Скачиваний: 493

(Расширение поменяйте сами, здесь почему-то нельзя залить файл с расширением .asm)

Почти всё то же самое, уже на C для WinAVR:
PWM_Beeper.c
(1.39 КиБ) Скачиваний: 631

Подключив PC Speaker минусом на GND, плюсом на PD5, динамик стал весело посвистывать!
Nex
 
Сообщения: 16
Зарегистрирован: 17 окт 2008, 12:37
Откуда: Воронеж

Re: Сигнал заданной частоты с помощью ШИМ на ATtiny2313

Сообщение avr123.nm.ru » 19 окт 2008, 13:53

Nex писал(а):Подключив PC Speaker минусом на GND, плюсом на PD5, динамик стал весело посвистывать!

Это можно сделать виртуально в PROTEUS
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8


Вернуться в Новичкам или основы основ роботостроения.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 29