Перейти к содержанию
    

Проблемы, возникшие с мкироконтроллерами AVR

Я как любитель, но ещё не эксперт при программировании МК столкнулся с рядом проблем:

1) Когда на attiny13 пытаюсь сделать часы реального времени в CodevisionAVR выставляю деление кварцевого генератора на 256: в итоге у меня появляется возможность на 8-битном таймере сделать частоту 1Гц. Появляется вот такие строчки:

 

/ Crystal Oscillator division factor: 256

#pragma optsize-

CLKPR=0x80;

CLKPR=0x08;

#ifdef _OPTIMIZE_SIZE_

#pragma optsize+

#endif

 

И всякий раз, когда записываю прогу с этими строками микроконтроллеры Attiny13 перестают читаться вообще!!! Хотя прога поначалу работает. Пробовал восстанавливать на самодельном реаниматоре - он выдает, что все восстановил, но чтение при этом не могу произвести. Система просто его не видит. (в качестве программатора использовал 5 проводков от LPT соединненных резисторами по 150 Ом). Я специально проверил и загнал второй attiny13 - походу дело все в этом Crystal Oscillator Divider??? Вопрос: что стало с моим МК????

 

2) Писал программный ШИМ на Atmega8, после 5-й записи он перестал читаться, но при этом программа работала. При команде Reset начиналось мерцание светодиода (очень быстрое), но МК не читался. Затем я вырубил питание и снова включил - прога на МК уже не работала. Вопрос: фьюзы я не менял, заливал только прогу - что случилось с Atmega 8?

Для нее я использовал программатор в точности собранный по схеме:http://yl2gl.ucoz.net/news/programmirovanie_avr/2011-02-25-70.

только не стал ставить резистор на 10к идущий от Reset'a к питанию. Питание ставил от USB компа! И ещё...при включении COM порта, и выкл. питании на ногах VCC и GND почему-то появляется напряжение в 2V. Это как такое возможно?

 

3)При написании таймера на attiny13 обнаружил, что время прохождения первого "якобы часа", второго, третьего и последующих сильно отличается - 17, 5, 13 секунд и т.д. Вопрос: это нормально? Что кварц неточный это ясно, но неужели он ещё и с разной скоростью работает в течение всего времени?

 

4) На сайте вычитал, что обязательно нужно при программировании ноги Reset и Vc ссянуть резистором в 10к, Reset и GND кондером в 0,01-0,15мкФ. Вопрос: Зачем такое делать? Я все время программировал и без этого! Может это есть причина всех моих вопросов выше????

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я с AVR дела как-то не имел, но что-то много страстей понаписали... Общие идеи простые и универсальные:

1. программатор собран по схеме, которая где-то уже работает и вы видели положительные отзывы? потому что программатор

в точности собранный по схеме
или
только не стал ставить
это две большие разницы.

2. На сайте вычитывать это хорошо, но проверяйте вычитанное по родной документации микроконтроллера. На заборах сайтах много чего пишут.

 

на ваш вопрос

Зачем такое делать? Я все время программировал и без этого! Может это есть причина всех моих вопросов выше????

может быть только один ответ "ну конечно может!" оно не может не мочь :)

 

Проще и быстрее сначала сделать как все (то есть точно скопированный программатор и работающая прошивка). Когда это заработает- начинайте экспериментировать со схемами, прошивками итд. Революционного на этом пути мало, но результат предсказуем. А сейчас у вас программатор по революционной схеме и революционная прошивка. Какая из этих частей вместо работы ушла брать Зимний- думаю никто дистанционно вам и не скажет :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

.при включении COM порта, и выкл. питании на ногах VCC и GND почему-то появляется напряжение в 2V. Это как такое возможно?

Не знаю как вы там подключали . Могу предположить что напряжение "проникло" :) на VCC через защитные диоды "внутре" МК.

 

Reset и Vc ссянуть резистором в 10к, Reset и GND кондером в 0,01-0,15мкФ.

 

Ставлю 4к7 и 0.01

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для нее я использовал программатор в точности собранный по схеме:http://yl2gl.ucoz.net/news/programmirovanie_avr/2011-02-25-70.

только не стал ставить резистор на 10к идущий от Reset'a к питанию. Питание ставил от USB компа! И ещё...при включении COM порта, и выкл. питании на ногах VCC и GND почему-то появляется напряжение в 2V. Это как такое возможно?

 

Странно как вообще программатор заработал без этого резистора. Контроллеры у Вас перестают шиться потому что при прошивки глючным программатором слетает конфигурационный бит программирования через SPI и контроллер переходит в режим высоковольтного программирования.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне ребята подсказали закоротить ноги reset и gnd после чего я смог удачно восстановить 1 attiny13, а второй так и не заработал. Поэтому тему с attiny13 и программатором можно сказать исчерпанной! Теперь меня очень интересует почему 1 час, второй и последющие работают с разным отставанием и почему все-таки слетел atmega 8, я у своего знакомого спрашилва - он постоянно и очень часто таким же программатором шьет atmega16 и ни разу не было сбоя. А что касается точности схемы - я очень скурпулезен в электронике и естественно все тысячи раз проверяю!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Контроллеры у Вас перестают шиться потому что при прошивки глючным программатором слетает конфигурационный бит программирования через SPI и контроллер переходит в режим высоковольтного программирования.
Вы бы внимательно почитали первое сообщение темы.

Проблема там была в том, что при занесении в CLKPR деления на 256 контроллер вылетал по частоте тактирования ниже предела, который был у имеющихся под рукой программаторов.

Кто-то дал правильный совет -- закоротка RESET до подачи питания блокировала «вредоносную» программу и контроллер при программировании тактировался 9.6 МГц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

интересует почему 1 час, второй и последющие работают с разным отставанием

Это - просьба помочь? Как Вам можно что-то подсказать, если Вы ничего кроме того, что получили парадоксальный результат не сообщаете?

Какой кварц? Какую программу (приведите текст) "залили" в МК? Какие fuses установили? Как проверяли (где, что и чем меряли)? Надёжен ли источник питания Вашего устройства?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На радиокоте кое-что прояснилось :-)

Кварца нет, работа на внутреннем RC и плавание в итоге ±0.3%.

Это при ещё не выясненных температурном режиме и стабильности питания, но врядли там термостат — куда уж лучше хотеть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да радикот ребята куда быстрее вас работает! Мне там ребята уже давно все сказали что и как! А вообще за желание помочь всем спасибо - все-таки очень приятно!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да радикот ребята куда быстрее вас работает! Мне там ребята уже давно все сказали что и как! А вообще за желание помочь всем спасибо - все-таки очень приятно!

Вероятно, тут более уважительно относятся к собеседнику. И если вы четко и однозначно заявили что работаете от кварца- та какое право окружающие имеют сомневаться в ваших словах? :)

То есть самой постановкой задачи вы исключили из множества решений верное. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И если вы четко и однозначно заявили что работаете от кварца- та какое право окружающие имеют сомневаться в ваших словах? :)

То есть самой постановкой задачи вы исключили из множества решений верное. :)

По поводу "кварца" - в tiny13 впринципе нет возможности тактироваться от кварца.

Можно только от RC либо от внешнего генератора. Думаю только полоумный будет пользовать копеечный t13 вместе с дорогим внешним кварцевым генератором. Поэтому мне сразу при чтении вопроса было очевидно, что такитирование делается от RC. ) А то что там автор написал "кварцевый", дык он также сразу написал что "любитель". Очевидно его запутал CodevisionAVR который своим дурацким визардом вставил в программу комментарий "Crystal Oscillator divisor". Вот вам еще один повод не пользовать этот недоинструмент :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По поводу "кварца" - в tiny13 впринципе нет возможности тактироваться от кварца.

Можно только от RC либо от внешнего генератора. Думаю только полоумный будет пользовать копеечный t13 вместе с дорогим внешним кварцевым генератором. Поэтому мне сразу при чтении вопроса было очевидно, что такитирование делается от RC. ) А то что там автор написал "кварцевый", дык он также сразу написал что "любитель". Очевидно его запутал CodevisionAVR который своим дурацким визардом вставил в программу комментарий "Crystal Oscillator divisor". Вот вам еще один повод не пользовать этот недоинструмент :)

:laughing:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...