ATtiny 2313

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
indi_88
Родился
Сообщения: 17
Зарегистрирован: Чт май 06, 2010 16:09:40

ATtiny 2313

Сообщение indi_88 »

Добрый день, возникли трудности с работой с МК. Это мой первый практический опыт в паянии и работе с МК.
Есть схема ультразвукового дальномера, пока собрал кусок: питание, кнопки управление, МК и 7сегм индикатор.
Изображение

Столкнулся с проблемой, когда начал писать простенькую прошивку. Цель прошивки: просто отображать какие-то крякозяблы поочереди на 3х знакоместах (использую динамику). Пишу и шьюсь через винавр:

Код: Выделить всё

#include <avr/io.h> 
#include <util/delay.h>
int main()
{
   DDRB = 0xFF;
   DDRD = 0xFF;
   for(;;)
   {
      PORTB = 0b00110011;
      PORTD = 0x40;
      _delay_ms(1000);
      PORTD = 0x0;
      //
      PORTB = 0b01010101;
      PORTD = 0x20;
      _delay_ms(1000);
      PORTD = 0x0;
      //
      PORTB = 0b11001100;
      PORTD = 0x10;
      _delay_ms(1000);
      PORTD = 0x0;
   }
   return(0);
}


Не могу понять почему, но информация отображается сразу на всех знакоместах. Проверял прошивку в Протеусе, там все работает. Следовательно, проблема со спаянной схемой.
Меня настараживает что моя тинька, когда на выводах лог 0, выдает 1,2-1,3 В !!!. Следовательно, напряжение после ограничивающих резюков перед транзисторами, колеблется от 0,74 В (когда на выводе PD6 (PD5 или PD4) лог 0) и до 0,82 В (когда лог 1). Думаю, что проблема в этом. То есть напряжения 0,74 и 0,82 способствуют постоянному открытию транзисторов.

Опыта мало, так что надеюсь на ваше помощь!
Последний раз редактировалось indi_88 Чт май 06, 2010 17:31:52, всего редактировалось 3 раза.
Аватара пользователя
ooogo
Это не хвост, это антенна
Сообщения: 1306
Зарегистрирован: Вс янв 18, 2009 20:51:02

Re: ATtiny 2313

Сообщение ooogo »

проверте железо, если не найдете ошибок сделайте фото и выложите.
indi_88
Родился
Сообщения: 17
Зарегистрирован: Чт май 06, 2010 16:09:40

Re: ATtiny 2313

Сообщение indi_88 »

Что можете сказать про напряжение лог 0?
Аватара пользователя
DrWatson
Опытный кот
Сообщения: 890
Зарегистрирован: Вт янв 20, 2009 14:49:08
Откуда: Гондурас, Мурманск

Re: ATtiny 2313

Сообщение DrWatson »

либо транзисторы неправильно подключены (эмиттер с коллектором перепутаны), либо вместо BC547 поставил BC557
- Если вы такие умные, то почему тогда строем не ходите?
ἓν οἶδα ὅτι οὐδὲν οἶδα (с) Σωκράτης
indi_88
Родился
Сообщения: 17
Зарегистрирован: Чт май 06, 2010 16:09:40

Re: ATtiny 2313

Сообщение indi_88 »

Маркировку проверил: BC547B
Выводы транзисторов выбирал так:
если смотреть срез корпуса, то слева направо: к б э
Аватара пользователя
ooogo
Это не хвост, это антенна
Сообщения: 1306
Зарегистрирован: Вс янв 18, 2009 20:51:02

Re: ATtiny 2313

Сообщение ooogo »

indi_88 писал(а):Что можете сказать про напряжение лог 0?

что-то не то! :) Измеряли в схеме или порт МК болтался в воздухе?
по поводу транзистора http://www.google.ru/imglanding?q=bc547 ... zM&start=0
indi_88
Родился
Сообщения: 17
Зарегистрирован: Чт май 06, 2010 16:09:40

Re: ATtiny 2313

Сообщение indi_88 »

измерял в схеме, когда что-то выводилось на 7сегм

да, транзисторы юзал именно так
Аватара пользователя
ooogo
Это не хвост, это антенна
Сообщения: 1306
Зарегистрирован: Вс янв 18, 2009 20:51:02

Re: ATtiny 2313

Сообщение ooogo »

так освободите порт МК от излишек и еще раз замерьте, сразу станет ясно.
Аватара пользователя
ooogo
Это не хвост, это антенна
Сообщения: 1306
Зарегистрирован: Вс янв 18, 2009 20:51:02

Re: ATtiny 2313

Сообщение ooogo »

не могу схему открыть во весь размер, что бы посмотреть маркировку семисегментника, с общим анодом они у Вас или общим катодом?
на всякий случай прозвоните транзисторы.
indi_88
Родился
Сообщения: 17
Зарегистрирован: Чт май 06, 2010 16:09:40

Re: ATtiny 2313

Сообщение indi_88 »

выпаял транзистор и прозвонил его, нигде не звенит (кэ кб эб).

7сегм с общим катодом
Аватара пользователя
ooogo
Это не хвост, это антенна
Сообщения: 1306
Зарегистрирован: Вс янв 18, 2009 20:51:02

Re: ATtiny 2313

Сообщение ooogo »

надо прозвонить все транзисторы.
ставишь мультимер на прозвонку диодов и сначала красный провод на базу, а черный на коллектор потом на эмиттер должен показывать небольшое сопротивление, затем меняешь местами провода не должны звониться переходы вообще.
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Re: ATtiny 2313

Сообщение *Trigger* »

А потом ещё к-э в обоих направлениях. звониться НЕ ДОЛЖНО
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Аватара пользователя
ooogo
Это не хвост, это антенна
Сообщения: 1306
Зарегистрирован: Вс янв 18, 2009 20:51:02

Re: ATtiny 2313

Сообщение ooogo »

точно, написать забыл :oops:
Аватара пользователя
Modest
Сверлит текстолит когтями
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Re: ATtiny 2313

Сообщение Modest »

Чтобы отсеять проблемы с транзисторами, подключи индикаторы прямо на порты, и проверь. Только не зажигай много сегментов, один два на каждом, вполне хватит для проверки, порты без проблем выдержат.

И ещё: я CVAVRом пользуюсь инезнаю,
PORTD = 0x0; это нормальная запись
Может так PORTD = 0x00;
или так PORTD = 0;
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
Аватара пользователя
DrWatson
Опытный кот
Сообщения: 890
Зарегистрирован: Вт янв 20, 2009 14:49:08
Откуда: Гондурас, Мурманск

Re: ATtiny 2313

Сообщение DrWatson »

те же яйца, только в профиль. Ноль он и в африке ноль как его ни запиши.
- Если вы такие умные, то почему тогда строем не ходите?
ἓν οἶδα ὅτι οὐδὲν οἶδα (с) Σωκράτης
Аватара пользователя
Modest
Сверлит текстолит когтями
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Re: ATtiny 2313

Сообщение Modest »

Ясно. Значит тот же х.. ээээ о чём это я.
Да, еслив протеусе всё работает значит проблема или в индикаторе, или пробуй вариант без транзисторов.
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
Аватара пользователя
DrWatson
Опытный кот
Сообщения: 890
Зарегистрирован: Вт янв 20, 2009 14:49:08
Откуда: Гондурас, Мурманск

Re: ATtiny 2313

Сообщение DrWatson »

Фотки платы в студию!
- Если вы такие умные, то почему тогда строем не ходите?
ἓν οἶδα ὅτι οὐδὲν οἶδα (с) Σωκράτης
indi_88
Родился
Сообщения: 17
Зарегистрирован: Чт май 06, 2010 16:09:40

Re: ATtiny 2313

Сообщение indi_88 »

купил новый мк и транзисторы, сделаю новую разводку (старая корявая и делалась на скорую руку), вытравлю и припаяю. ерез пару дней отпишусь
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: ATtiny 2313

Сообщение ARV »

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

Мой уютный бложик... заходите!
indi_88
Родился
Сообщения: 17
Зарегистрирован: Чт май 06, 2010 16:09:40

Re: ATtiny 2313

Сообщение indi_88 »

Собрал кусок схемы на новом мк и транзисторах, с новой разводкой. проблема ушла сама собой, так что уже и нипонятно, где она была)))

Возник другой вопрос:
Как мне сделать генерацию пачки импульсов (например, штук 25), изменяя состояние ноги мк PD0. Мне надо добиться частоты 40 кГц, мой внутренний тактовый генератор настроен ан 4 Мгц. Код должен выглядеть следующим образом:

Код: Выделить всё

PORTD |= 0b00000001;
// какая-то задержка
PORTD &= 0b11111110;
// задержка, которая дает частоту 40 кГц


Загвоздка в том, что я не очень понимаю одну вещь:
Если частота тактового 4 Мгц, то выполнение одной итерации мцу занимает 0,25*10^-6 c.
40 кГц дает период длительностью 25*10^-6 c.

Тогда импульсы должны появляться каждую 100ую итерацию мцу.
Если делать это с помощью цикла, то непонятно, сколько времени идет на проверку условий и т.д.
Вообщем как-то так))
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»