roboforum.ru

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

Прерывания, паузы delay в AVR

Прерывания, паузы delay в AVR

Brainiac » 28 мар 2008, 11:34

Прервания в AVR описаны с примером симуляции с двумя кнопками на стр. 3 курса - http://avr123.nm.ru/03.htm

Паузы в AVR - delay_ms(135); delay_us(72); - на странице "Си для МК" - http://avr123.nm.ru/05.htm

при delay_ms(3000) на ноге лог1...нога МК управляет симистором а тот лампочкой...
притом лампочка не горит 3 секунды а вспыхнет и все меньше секунды,
контроллер рабочий attiny2313
кодевижн
язык С
частота 1 мгц без кварца...
что делать???

Re: delay_ms трабла

Digit » 28 мар 2008, 12:40

схему нарисовать

Добавлено спустя 1 минуту 21 секунду:
и описать подробнее.
а то не ясно. что, при других значениях delay_ms работает иначе? или что? Почему в микроконтроллерах вопрос, а не в электронике?

Re: delay_ms трабла

avr123.nm.ru » 28 мар 2008, 12:50

Brainiac писал(а):что делать ???


Изображение

:ROFL: Ух! До слез! :lol: <Digit>
забираю себе в подпись :lol: <Myp>

Re: delay_ms трабла

Brainiac » 28 мар 2008, 14:08

схема в пайнте... нарисована коряво ... ногами не пинать....
а трабла в том что при delay_ms(3000) оно должно гореть 3 секунды а тут просто вспышка...
один человек пиковод мне сказал что возможно че-то типа

NebsteR (23:00:59 27/03/2008)
#use delay(clock=32768)

NebsteR (23:01:18 27/03/2008)
у меня в примере частота для рассчета delay 32768

а у меня частота в кодевижне 1 мгц
Вложения
.rar
схема
(1.21 КиБ) Скачиваний: 46

Re: delay_ms трабла

Myp » 28 мар 2008, 14:09

это
а какой кварц стоит?
а фьюзы выставлены правильно на нужную частоту?
а предделитель не используется??

Re: delay_ms трабла

Brainiac » 28 мар 2008, 14:23

кварца нет
внутренний на 1 мгц
фьюзов нет
что такое предделитель???

Добавлено спустя 6 минут 10 секунд:
а насчет того что в МК расположено так почему я не прав???
вроде вопрос по языку С и устройству МК...
извините если что не так и не удаляйте пжлста

Re: delay_ms трабла

Myp » 28 мар 2008, 14:27

а вы попробуйте не одну длинную задержку на 3000
а 4 подрят на 750


кстати рекомендую попробовать попробовать разные задержки ещё и для того чтобы на 100% убедится что проблема не в электронике. мб там помехи по питанию и МК глючит, мало ли что бывает...

Re: delay_ms трабла

Brainiac » 28 мар 2008, 14:31

помехи хмм... ну вроде все так
хотя поставлена кренка кондеры на вход 470 мкф на выход 100 мкф
правда нет на 0,1 мкф кондера...
щас поем и поставлю и посмотрим...

Re: delay_ms трабла

Victorovych » 28 мар 2008, 14:33

Здается мне что при включении сопротивление лампочки выростает и тока на управляющем электроде становится недостаточно.
попробуй переставить лампочку в противоположную цепь

Re: delay_ms трабла

Brainiac » 28 мар 2008, 16:03

поставил кондер на питание 0,1 мкф ну на нем было написано 104 ...
затем включил вот проши текст
Код: Выделить всёРазвернуть
#include 
#include
void main(void) {
while(1) {DDRB=4;
PORTB=4;
delay_ms(3000);
PORTB=0;
delay_ms(30);
PORTB=4;
delay_ms(5000);
PORTB=0;
delay_ms(50);
PORTB=4;
delay_ms(7000);
PORTB=0;
delay_ms(50);
PORTB=4;
delay_ms(10000);
PORTB=0;};}


а оно просто берет и могрнет вспышкой погаснет могрнет и т.д.
причем медленно моргнет но видны те промежутки при которых порт выключен
что делать дальше??
а схему поменял лампочку поставил в другой конец все-равно так же ...

Добавлено спустя 31 минуту 14 секунд:
поставил другой мк - тоже самое ...наверное это глюк так как переменка от мк находится очень близко сантиметра 1,5 всего ...
вот и наводки мешают думать мк

Специально для форматирования кода у нас есть тег [code], который можно вставить, ткнув соответствующую кнопочку над окном ввода при написании сообщения.
<Digit>

Re: delay_ms трабла

Victorovych » 28 мар 2008, 16:16

Засеки вспышки/паузы секундомером и опиши - по фотографии лечить очень сложно

Re: delay_ms трабла

Myp » 28 мар 2008, 16:21

а ты пойди от противного
пускай у тебя мк тушит лампочку

и на короткое время задержки включает

типа 3 секунды выключена потом вспышка и опять 3 секунды выключена

вот и узнаешь в чём дело

Re: delay_ms трабла

Brainiac » 28 мар 2008, 16:25

вы плохие экстрасенсы...
когда у меня была задержка сначала 3 сек моргнуло полсекунды ...
даже сейчас когда задержка 10 сек тоже где то 0,7 секунды
пипец скоро буду бицца галавой апстену...

Re: delay_ms трабла

Myp » 28 мар 2008, 16:28

а без лампочки оно вобще работает??? ну светодиодиком поморгать там всё такое

Re: delay_ms трабла

Brainiac » 28 мар 2008, 16:48

Код: Выделить всёРазвернуть
void main(void) {
while(1) {DDRB=4;
PORTB=0;
delay_ms(3000);
PORTB=4;
delay_ms(300);
PORTB=0;
delay_ms(5000);
PORTB=4;
delay_ms(500);
PORTB=0;
delay_ms(7000);
PORTB=4;
delay_ms(500);
PORTB=0;
delay_ms(10000);
PORTB=4;};}


ну кароче вот код в первый раз мк ваще не соблюдал интервалы какое то беспорядочное мигание при большом промежутке
а во второй там лампочка очень быстро моргала...
и притом такое ощущение что эти промежутки во втором случае они одинаковы - что порт включен что выключен...
Последний раз редактировалось Digit 29 мар 2008, 00:46, всего редактировалось 1 раз.
Причина: [CODE]!!!!!!!


Rambler\'s Top100 Mail.ru counter