Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.79/63: Рейтинг темы: голосов - 63, средняя оценка - 4.79
Omdriwtor
0 / 0 / 0
Регистрация: 10.04.2011
Сообщений: 45
1

Шим на Atmega8.

24.04.2011, 20:12. Просмотров 11520. Ответов 18
Метки нет (Все метки)

Суть в следующем! в архиве схема и прошивка , где качал не помню не могу найти источник , но при подключении (в место лампы движок на 12 вольт) , крутит постоянно на макси оборотах на кнопки не реагирует в чём может быть проблема?

[9.22 Кб]
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2011, 20:12
Ответы с готовыми решениями:

Atmega8 - ШИМ
Здраствуйте! Использую МК Atmega8. Частота 1МГц. 1) как генерировать ШИМ на таймере 0...

Atmega8 и ШИМ
Вобщем такой вопрос. Есть Atmega8. Хочу сделать програмный ШИМ на всех ножках кроме PD2, PD3, PB6...

Не работает ШИМ МК AtMega8
Делаю импульсный блок питания 30В, 5А. Пишу не сложную прошивку для МК AtMega 8, в протеусе все...

Программный шим atmega8
Короче нет не одного толкового урока или стати на тему программного шима всегда какой то ржб...

ШИМ и АЦП в Atmega8
Мне нужно управлять током полевого транзистора. Для этого я снимаю напряжение с резистора,...

18
btosk27512
0 / 0 / 0
Регистрация: 22.04.2011
Сообщений: 18
25.04.2011, 23:58 2
А осциллограф на пине 15, куда подключен мосфет, что кажет ?
Попробуйте еще притянуть к +5в пины 1 и 20. И еще фьюзы установить для работы от внутреннего RC-генератора...
0
Omdriwtor
0 / 0 / 0
Регистрация: 10.04.2011
Сообщений: 45
26.04.2011, 14:35 3
Цитата Сообщение от btosk27512
А осциллограф на пине 15, куда подключен мосфет, что кажет ?
Попробуйте еще притянуть к +5в пины 1 и 20. И еще фьюзы установить для работы от внутреннего RC-генератора...
Осцилопа нету к сожелению. тестер постоянные 5 в на пине 15. кароче схема собранна 1 к 1 в архиве. фузы на внутренний настроены (думаю )так как до этого мигалку делал на светодиодах работало от внутреннего всё фузы больше не менял.
0
dsodir
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,284
26.04.2011, 16:42 4
Может транз мертв? Проверьте его - отцепите затвор от ножки МК и потыкайте в +5 и землю.
0
Omdriwtor
0 / 0 / 0
Регистрация: 10.04.2011
Сообщений: 45
26.04.2011, 17:01 5
Цитата Сообщение от dsodir
Может транз мертв? Проверьте его - отцепите затвор от ножки МК и потыкайте в +5 и землю.
Транзюк цел и новый! Питание с мк снимаешь двиган глохнит!
0
dsodir
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,284
26.04.2011, 17:05 6
в архиве схема и прошивка , где качал не помню не могу найти источник ,
Вы ведь не прошиваете МК файлом main.c?... ну это я так, для верности спросил :)
0
dsodir
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,284
26.04.2011, 17:18 7
Чуть поправил код. Проверил в протеусе: Работает.

Вот хекс: http://dl.dropbox.com/u/15427465/Electronics/Regul.hex

О "Администратор Сайта", зачем ты запретил кексы во вложениях? Как с этим жить?!
0
Omdriwtor
0 / 0 / 0
Регистрация: 10.04.2011
Сообщений: 45
26.04.2011, 17:55 8
[QUOTE="dsodir"][QUOTE="Цитата:[/QUOTE]
в архиве схема и прошивка , где качал не помню не могу найти источник ,
Вы ведь не прошиваете МК файлом main.c?... ну это я так, для верности спросил :)

А как можно прошить main.c )) он же не прошьётся вообще я так думаю!)
0
Omdriwtor
0 / 0 / 0
Регистрация: 10.04.2011
Сообщений: 45
26.04.2011, 17:56 9
Цитата Сообщение от dsodir
Чуть поправил код. Проверил в протеусе: Работает.

Вот хекс: http://dl.dropbox.com/u/15427465/Electronics/Regul.hex

P.S.
О "Администратор Сайта", зачем ты запретил кексы во вложениях? Как с этим жить?!

Вот за это громное спасибо буду пробывать завтро на работе!) исходник плиз кинь если что покумекать что да как там)
0
dsodir
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,284
26.04.2011, 18:31 10
Вот проект под AVR Studyo + GCC

[6.7 Кб]
0
Omdriwtor
0 / 0 / 0
Регистрация: 10.04.2011
Сообщений: 45
26.04.2011, 21:02 11
Цитата Сообщение от dsodir
Вот проект под AVR Studyo + GCC
Спасибо огромное!
0
dsodir
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,284
26.04.2011, 22:03 12
Кстати, вот и источник: http://rodyoporty.ru/index.php/prog-avr ... n8?stort=3

Как нашел? Все просто...
1) Предположим, что какой-нибудь кусок кода был включен в статью. Значит, был проиндексирован Корпорацией Зла (aka Google).
2) Цепляем первый более-менее длинный коммент из кода и скармливаем гуглю.
3) PROFIT!
0
Omdriwtor
0 / 0 / 0
Регистрация: 10.04.2011
Сообщений: 45
27.04.2011, 00:45 13
Цитата Сообщение от dsodir
Кстати, вот и источник: http://rodyoporty.ru/index.php/prog-avr ... n8?stort=3

Как нашел? Все просто...
1) Предположим, что какой-нибудь кусок кода был включен в статью. Значит, был проиндексирован Корпорацией Зла (aka Google).
2) Цепляем первый более-менее длинный коммент из кода и скармливаем гуглю.
3) PROFIT!
О точно)) Оно!
0
Гарнист
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 3,496
27.04.2011, 00:59 14
Цитата Сообщение от dsodir
1) Предположим, что какой-нибудь кусок кода был включен в статью. Значит, был проиндексирован Корпорацией Зла (aka Google).
Что вы так неуважительно к Большому Брату. Он ведь какбэ бдит...

<Изображение удалено>
0
Omdriwtor
0 / 0 / 0
Регистрация: 10.04.2011
Сообщений: 45
04.05.2011, 14:16 15
Ура на меге 8 всё заработало наконец то! посидел попарился в протосе и вот те результат порадовал!

Уважаемые форумчане посмотрите плиз проект на тиньке 2313 реализация шим (в архиве файлы протоса и исходник) чёт тоже не робит тут источник http://www.avrlab.com/node/52

[14.68 Кб]
0
Stiit.mi
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
04.05.2011, 21:43 16
Цитата Сообщение от Omdriwtor
Ура на меге 8 всё заработало наконец то! посидел попарился в протосе и вот те результат порадовал!

Уважаемые форумчане посмотрите плиз проект на тиньке 2313 реализация шим (в архиве файлы протоса и исходник) чёт тоже не робит тут источник http://www.avrlab.com/node/52
Бред ваще-то. Работать не будет. Посмотрим на основной цикл:

Код
for (;;)//бесконечный цикл
{
p=pp-i;//реализация
tidon(p);//программного
tidoff(i);//ШИМ
}
переменная i у нас определена один раз (равна 1) и больше нигде не меняется. Что мы имеем - светодиод включается на время pp-1 и выключается на время 1. Причем это время - далеко не миллисекунды.

Второе - это надо как "Отче наш" знать - все переменные, которые меняются в прерываниях надо описывать с ключевым словом volatile. Иначе компилятор имеет тенденцию считать, что раз переменная не меняется в основной программе и нигде явно не вызываются функции с изменением этой переменной, то ее можно просто заменить на константу. И опаньки. Может заменить, а может и не заменить - как карта ляжет.

Из этого следует, что как минимум, чтобы это было хоть как-то похоже на ШИМ, в прерываниях надо изменять переменную i, а не pp

Далее, по мелочи - если это avr-gcc, то у него функция _delay_ms() и _delay_us() и так есть, не надо ничего придумывать. Ну а если уж так хочется nopов, то есть прекрасная функция void __buyltin_avr_delay_cycles(unsykned long __n);

Дальше, при увеличении/уменьшении значения не проверяется достижение границ. Что произойдет, если pp был равен 0, а мы нажмем на минус?

Код
GIMSK=0b11000000; //разрешаем прерывание int0 и int1
MCUCR=0b00001111;// прерывание по возрастающему фронту - для кнопки 1 и 2
назначать нигические числа в принципе может продвинутый джедай, но разобраться в этом - надо поднимать даташит. Использовал бы мнемоники битов, половина вопросов отпала бы. Я вот из лени не буду проверять эти строчки, соответствуют они заявленному функционалу или нет?

Дребезг кнопок. Ну это уже продвинутый уровень
0
Omdriwtor
0 / 0 / 0
Регистрация: 10.04.2011
Сообщений: 45
04.05.2011, 21:53 17
Спс конечно за ответ, я в програмных кодах пока нуб, потихоньку вникаю что да как, значит код этот полный бред? чтож они ево на сайтах выкладывают не понятно, если лень пропадёт не сможешь поправить код?)) буду признателен!
0
Stiit.mi
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
04.05.2011, 22:44 18
Цитата Сообщение от Omdriwtor
Спс конечно за ответ, я в програмных кодах пока нуб, потихоньку вникаю что да как, значит код этот полный бред? чтож они ево на сайтах выкладывают не понятно, если лень пропадёт не сможешь поправить код?)) буду признателен!
Я ж говорю - вместо pp в прерываниях изменяй i. Для начала.
0
Omdriwtor
0 / 0 / 0
Регистрация: 10.04.2011
Сообщений: 45
05.05.2011, 09:53 19
Цитата Сообщение от Stiit.mi
Цитата Сообщение от Omdriwtor
Спс конечно за ответ, я в програмных кодах пока нуб, потихоньку вникаю что да как, значит код этот полный бред? чтож они ево на сайтах выкладывают не понятно, если лень пропадёт не сможешь поправить код?)) буду признателен!
Я ж говорю - вместо pp в прерываниях изменяй i. Для начала.
Норд вест норд вест!! Пальцем ткни каво менять плиз! вместо pp подлставляю i кнопки не работают!
0
05.05.2011, 09:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2011, 09:53

Atmega8 и ШИМ 20кГц
Подскажите как сделать аппаратный ШИМ на 20 кГц на Atmega8? И возможно ли его реализовать использую...

ШИМ от atmega8. LED.
По форуму искал. Проблема в понимании почему не работает??? Просто перегружен проц в Протеусе, уже...

Синус с помощью ШИМ на AtMega8
Здравствуйте! Раньше дел с контроллерами не имел, поэтому решил начать с малого. Взял я ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru