Технический форум по робототехнике.
Grem » 03 авг 2009, 22:15
2avr, а чёйто диод D2 висит? или надо так?

avr123.nm.ru » 03 авг 2009, 23:05
Denexp писал(а):Теперь постоянно держит 1 на PORTB.2
Вы поеверили каково внутреннее опорное напряжение в тини45 ? попробуйте пока паузу вообще убрать из проги и вход АЦП замыкать на землю - тогда точно должен гаснуть - иначе где то в схеме ошибка.
Добавлено спустя 1 минуту 2 секунды:Grem писал(а):2avr, а чёйто диод D2 висит? или надо так?

Я его отключил. И выше написал что у него большая утечка для таких резисторов какие там в делителе - будет искажать измерения.
Я советовал его на конденсатор заменить.
Denexp » 03 авг 2009, 23:07
Я же писал без паузы работает, пауза отдельно работает, вместе не хотят.

D2 отключил, поставил 0.1мкф.Если замыкать на землю тогда наоборот будет гореть.
avr123.nm.ru » 03 авг 2009, 23:14
Ну тогда вход АЦП через резистор 10 ком подключите к питанию - должен гаснуть тогда.
А при меньшей паузе работает в железе ?
Denexp » 03 авг 2009, 23:21
Уменьшил паузу до 1сек тоже самое постоянно горит.
avr123.nm.ru » 03 авг 2009, 23:27
Вобщем мистика.
Наверно сброс происходит. Надо вставлять тестовые дерганья ножкой и прошивать. Еще луче UART програмный (если нет в тини45 аппаратного) забацать и выводит данные в COM ПК как я вам выше писал. Тогда можно вывести MCUCR (примерно так называется) после запуска и увидеть причину сброса МК.
Denexp » 03 авг 2009, 23:41
Апаратного UART нет.А может тиньки бракованные?
avr123.nm.ru » 03 авг 2009, 23:45
ИМХО врядли. Я ж вам говорю - проверьте он у вас в паузе крутится или нет. Просто помигай эти светодиодом в паузе а в процедуре АЦП не используй его.
Если он будет постоянно мигать значит МК ресетится - причина ресета записывается в MCUCR
Denexp » 04 авг 2009, 00:07
Да ресетится постоянно крутится в паузе.
avr123.nm.ru » 04 авг 2009, 00:17
Чтение MCUCR может сообщить о причине ресета.
Посмотрите АСМ листинг - файл .lst - есть ли там инструкции wdr - сброс сторожевого таймера которые CVAVR должен втыкать в паузы сам.
Проверьте фьюзы - он не должен сам включаться. Считайте фьюзы и сюда покажите.
Denexp » 04 авг 2009, 00:36
Закоментил инструкцию #asm("sei")и отработав зажигание на 1 сек светодиод погас.Фьюзы выкладывал не изменились WDTON галочки нет.
Вот что в листинге с WDR
- Код: Выделить всё • Развернуть
;DISABLE WATCHDOG
000014 e1f8 LDI R31,0x18
000015 95a8 WDR
000016 b7a4 IN R26,MCUSR
000017 7fa7 CBR R26,8
000018 bfa4 OUT MCUSR,R26
000019 bdf1 OUT WDTCR,R31
00001a bde1 OUT WDTCR,R30
и вот
- Код: Выделить всё • Развернуть
_delay_ms:
00008c 91e9 ld r30,y+
00008d 91f9 ld r31,y+
00008e 9630 adiw r30,0
00008f f039 breq __delay_ms1
__delay_ms0:
000090 ed80
000091 e097
000092 9701
000093 f7f1 __DELAY_USW 0x7D0
000094 95a8 wdr
000095 9731 sbiw r30,1
000096 f7c9 brne __delay_ms0
__delay_ms1:
000097 9508 ret
avr123.nm.ru » 04 авг 2009, 01:57
wdr в паузе есть ка и делает CVAVR.
Погас так как в прерывание не входит. значит в прерывании у вас сравнение не верное - нужн опроверять опорное напряжение и стравнение.
Denexp » 04 авг 2009, 07:19
Если сравнение не верное должен же просто порог измерения сместится,а не ресетится?
Без паузы так и работает сравнение немного со смешением, но не ресетится или этого не видно из-за скорости работы?
Denexp » 04 авг 2009, 12:15
Неужели никто с Attiny45 ничего подобного ни делал?
avr123.nm.ru » 04 авг 2009, 12:29
Просто нет у меня ее живьем и провериь не могу.