AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
15.04.2013, 13:36
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: АЦП на Атмега8 и УАРТ - помогите
Если восьмибитный шим (чего хватит), то все равно
|
|
|
|
15.04.2013, 18:44
|
|
Частый гость
Регистрация: 27.03.2013
Сообщений: 45
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: АЦП на Атмега8 и УАРТ - помогите
oleg110592, что-то не пойму про ШИМ. Мне в программе нужно поддерживать постоянную скорость вращения двигателя. Т.е. должен получиться регулятор по скорости. Преподаватель сказал, что для этого нужно ШИМ отправить либо в IN1, либо в IN2, в зависимости от того в какую сторону мы хотим чтобы вращался наш двигатель. Не пойму как это сделать вообще. () Или я не правильно поняла преподавателя. Помогите, пжалста.
П.С. Насколько я поняла, мне нужно генерировать программный ШИМ. ( Единственное до чего додумалась - это подавать то 1, то 0 постоянно чтобы поддерживать скорость. Но это вроде не совсем то.
Последний раз редактировалось AsSoul; 15.04.2013 в 18:53.
|
|
|
|
15.04.2013, 19:25
|
|
Частый гость
Регистрация: 27.03.2013
Сообщений: 45
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: АЦП на Атмега8 и УАРТ - помогите
Сообщение от oleg110592
|
Если восьмибитный шим (чего хватит), то все равно
|
Решила взять 2й таймер, чтобы нулевой остался для АЦП.
Вот что пока написала
DDRB=0x38; // порты PB 3,4,5 - out
ASSR=0x00; // регистр состояния асинхронного режима
TCCR2=0x6D; // частота ШИМ 16/125 -› 64 -› 0110 1101
TCNT2=0x00; // счетный регистр
OCR2=0x00; // регистр сравнения (величина заполнения импульса от 0 до 100% -› от 0 до 255(FF), х% -› (255/100)*х= - результат переводим в 16-ричный)
TIMSK=0x00; // регистр разрешения прерываний - что сюда надо записать не знаю
Дальше не знаю что!((((((
|
|
|
|
15.04.2013, 19:26
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: АЦП на Атмега8 и УАРТ - помогите
А аппаратный шим по условиям задачи нельзя? Это немного проще.
IN1 подсоединяем к 13 ноге меги
IN2 подсоединяем к 14 ноге меги
настраиваем таймер1 на генерацию шим
пишем в регистры OCR1AL и OCR1BL нужное значение шим
|
|
|
|
15.04.2013, 19:31
|
|
Частый гость
Регистрация: 27.03.2013
Сообщений: 45
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: АЦП на Атмега8 и УАРТ - помогите
В том-то и дело, что нельзя!((((( Там плата готовая. Я ничего в ней не могу поменять. Этих плат на кафедре - целая пачка, вот и пользуются!(
Последний раз редактировалось AsSoul; 15.04.2013 в 19:37.
|
|
|
|
15.04.2013, 19:39
|
|
Частый гость
Регистрация: 27.03.2013
Сообщений: 45
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: АЦП на Атмега8 и УАРТ - помогите
Т.е. я не могу использовать аппаратный. А с программным не разберусь никак. Да еще по идее все это дело должно по прерыванию работать.
|
|
|
|
15.04.2013, 19:50
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: АЦП на Атмега8 и УАРТ - помогите
Через часик подумаю как помочь...
пока попробуйте типа
в цикле
PORTB.4=0; // in1
delay_us(127)
PORTB.4=1;
delay_us(127)
Последний раз редактировалось oleg110592; 15.04.2013 в 19:55.
|
|
|
|
15.04.2013, 19:54
|
|
Частый гость
Регистрация: 27.03.2013
Сообщений: 45
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: АЦП на Атмега8 и УАРТ - помогите
Спасибо. Я буду ждать!
|
|
|
|
15.04.2013, 20:12
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,058
Сказал спасибо: 2,563
Сказали Спасибо 11,890 раз(а) в 5,964 сообщении(ях)
|
Re: АЦП на Атмега8 и УАРТ - помогите
Таймер Т2 может вырабатывать 2 прерывания: по сравнению и по переполнению. Есть регистр значения для сравнения. Если один обработчик прерывания устанавливает бит порта, а другой его сбрасывает - вот и один из вариантов ШИМ.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
15.04.2013, 20:29
|
|
Частый гость
Регистрация: 27.03.2013
Сообщений: 45
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: АЦП на Атмега8 и УАРТ - помогите
Сообщение от akegor
|
Таймер Т2 может вырабатывать 2 прерывания: по сравнению и по переполнению. Есть регистр значения для сравнения. Если один обработчик прерывания устанавливает бит порта, а другой его сбрасывает - вот и один из вариантов ШИМ.
|
А по переполнению как?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:40.
|
|