Вольтметр+Амперметр+Atmega8+LED(7seg)

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Первый раз сказал Мяу!
Сообщения: 28
Зарегистрирован: Вт июн 24, 2008 17:17:08
Откуда: Киев

Сообщение SABRAT »

Здрасте Всем! Давно читаю Вашу страничку (около года), а пишу только первый раз и надеюсь на Вашу помощь.

Потребовалось мне сделать девайсик который будет мерять и индицировать напряжение (до 20В) и ток до (5А). По части железа вопросов не возникло. Atmega8 с кварцем 16Мгц, входные цепи на АЦП и два семисегментника(по три знакоместа ,общий катод), один на ток второй на напругу. Проблема всплыла в процессе написания программы. Я недавно с АСМ стал пересаживаться на Си, потому не всё так гладко. Решил организовать динамическую индикацию и вот первый камень. Частоту обновления сегментов сделал окола 60Гц по средствам прерывания от ТС0, в обработчик прерываний засунул подпрограмму перевода переменной char cifra в строковую strcifra с глубиной массива 2. Так вот нихрена (извиняюсь) на индикаторах не видно. В переменную хочу закидывать результат АЦП(посчитанный).

interrupt [TIM0_OVF] void TC0(void)

{
num[seg];
itoa(cifra, strcifra);
PORTD=Dig[((char)strcifra[1])]; //Массив Dig[] перекодирывает цифры
для правельного отображения. ((char)strcifra[1]) - превёл к типу чар. Если просто PORTD=Dig[cifra]; где cifra переменная с значением от 0 до 9 то эта цифра выводится на все сегменты нормально.
seg++; //перебираем сегменты
if (seg=6) seg=0; //с последнего на первый

num[0] = (PORTB.0=0);
num[1] = (PORTB.1=0);
num[2] = (PORTB.2=0);
num[3] = (PORTB.3=0);
num[4] = (PORTB.4=0);
num[5] = (PORTB.5=0);

};

Что я делаю не так?
Исходник прикреплён.

P/s. Компилятор CodeVisionAVR
Вложения
ups_led.c
исходник
(2.71 КБ) 1393 скачивания
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 607
Зарегистрирован: Пн янв 29, 2007 18:40:53
Откуда: Украина, Киев

Сообщение KOSTYA »

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

Сообщение ARV »

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

Мой уютный бложик... заходите!
Контактная информация:
Грызет канифоль
Аватара пользователя
Сообщения: 293
Зарегистрирован: Пн дек 24, 2007 07:09:09

Сообщение VenomXP »

еще посмотри на http://www.pcports.ru/ в разделе статьи... там все отлично написанно
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Открыл глаза
Сообщения: 65
Зарегистрирован: Вс апр 27, 2008 18:14:01

Сообщение Heavy »

Дабы не создавать новую тему, хочу спросить тут.

имею atmega16 и 4-х разрядный 7-и сегментный индикатор. Индикатор был выпаян из магнитолы, и по этому его марка неизвестна.
Индикатор с общим анодом
ток примерно 25-30 мА на сегмент. (точнее не помню)

На каждый сегмент и анод я поставил по КТ315Г, т.е. 10 транзисторов (3 разряда). Ток упал до 12-15 мА. Но при этом транзисторы жутко греются.
  • 1)Куда обязательно нужно ставить транзисторы? На аноды или катоды? Объясните почему.
    2)Можно ли убрать 7 транзисторов с катодов? atmega16 не пукнет от этого?
    3)Какие посоветуете транзисторы для упралвения индикаторами? Есть мысля о полевиках.
    4)Хочется освободить пару ножек, применив дешифратор. Посоветуйте какой выбрать, что бы исключить транзисторы.
    5)Есть КР514ИД2. Потянет ли она мой индикатор?
Реклама
Прорезались зубы
Аватара пользователя
Сообщения: 219
Зарегистрирован: Вт сен 18, 2007 16:41:16
Откуда: Украина, г. Запорожье

Сообщение alex2103 »

На каждый сегмент и анод я поставил по КТ315Г
я не помню какая структура у этого транзистора, но подключение точно неправильное!
если индикатор с общим анодом, то на аноды ставите транзисторы, а катоды подключаете к портам МК через токоограничительные резисторы.
Полевики тут точно не нужны. Нужен транзистор расчитанный на ток 8*ток одного сегмента=8*30=240мА.
и непонятно как получилось 10 транзисторов если у вас 4 сегмента? Тогда по вашей схеме их должно быть 8*4=32 :)
Контактная информация:
Реклама
Открыл глаза
Сообщения: 65
Зарегистрирован: Вс апр 27, 2008 18:14:01

Сообщение Heavy »

alex2103 писал(а):
На каждый сегмент и анод я поставил по КТ315Г
я не помню какая структура у этого транзистора, но подключение точно неправильное!
n-p-n. Почему подключение неправильное? у меня же все работает, но только жуть как греется.
если индикатор с общим анодом, то на аноды ставите транзисторы, а катоды подключаете к портам МК через токоограничительные резисторы.
Тогда вопрос такой:

транзистор закрыт:
  • +5В -> Rк -> Анод индикатора -> Катод индикатора -> Rогр -> Внутр. сопротивление микросхемы.

    Rогр нужен для ограничения тока, втекающего в мегу?
А что мне делать с транзисторами, в то время когда они открыты?
Ведь в этот момент через них течет ток, который греет их. В этом как раз вся проблема.
Нужен транзистор расчитанный на ток 8*ток одного сегмента=8*30=240мА.
Зачем? У меня транзистор n-p-n, подключен к аноду. Транзистор открыт - сегмент не работает. Закрыт - работает, и через транзистор (К-Э) нет тока.
и непонятно как получилось 10 транзисторов если у вас 4 сегмента?


Сегментов - 7, разряда - 3. На каждый сегмент и разряд ставил по транзистору. Обычная динамическая индикация. Итого 10 штук.
Тогда по вашей схеме их должно быть 8*4=32 :)
завязывай с валерьянкой, котярО! :P
Модератор
Аватара пользователя
Сообщения: 3174
Зарегистрирован: Пт июл 21, 2006 03:08:05
Откуда: Пенза

Сообщение Паятель »

Heavy, а вам какой ток через сегмент нужен? Хотя КТ315 в любом случае слабоват будет. :) Полевые транзисторы или нет - непринципиально, любые на подходящий ток можно.
Можно сегменты напрямую к МК подключить через резисторы, но тогда нельзя будет индикатор "по максимуму" гонять.
Если долго мучиться, что-нибудь... сломается.
Открыл глаза
Сообщения: 65
Зарегистрирован: Вс апр 27, 2008 18:14:01

Сообщение Heavy »

Паятель писал(а):Heavy, а вам какой ток через сегмент нужен? Хотя КТ315 в любом случае слабоват будет. :)
В смысле "нужен" ? У меня нет характеристик индикатора.
Полевые транзисторы или нет - непринципиально, любые на подходящий ток можно.
Думал о полевике лишь для того, что бы в еще меньшей степени нагрузить порт.
Можно сегменты напрямую к МК подключить через резисторы, но тогда нельзя будет индикатор "по максимуму" гонять.
вот-вот.
Модератор
Аватара пользователя
Сообщения: 3174
Зарегистрирован: Пт июл 21, 2006 03:08:05
Откуда: Пенза

Сообщение Паятель »

Heavy писал(а): В смысле "нужен" ? У меня нет характеристик индикатора.
примерно 25-30 мА
Но ток-то должен быть какой-то определённый, пусть и примерный.
Думал о полевике лишь для того, что бы в еще меньшей степени нагрузить порт.
В этом плане биполярный не хуже будет.
Если долго мучиться, что-нибудь... сломается.
Открыл глаза
Сообщения: 65
Зарегистрирован: Вс апр 27, 2008 18:14:01

Сообщение Heavy »

Паятель писал(а):
Heavy писал(а): В смысле "нужен" ? У меня нет характеристик индикатора.
примерно 25-30 мА
Но ток-то должен быть какой-то определённый, пусть и примерный.
ок, завтра устроим замеры.
Прорезались зубы
Аватара пользователя
Сообщения: 219
Зарегистрирован: Вт сен 18, 2007 16:41:16
Откуда: Украина, г. Запорожье

Сообщение alex2103 »

Heavy,
У меня транзистор n-p-n, подключен к аноду. Транзистор открыт - сегмент не работает. Закрыт - работает, и через транзистор (К-Э) нет тока.
я что-то вот этого не пойму никак...тока нет, а светодиод светиться...нарисуйте схему :)
Контактная информация:
Вымогатель припоя
Сообщения: 543
Зарегистрирован: Чт окт 18, 2007 16:45:30
Откуда: из Питера

Сообщение MetEl »

Прастите, изинете, но я вот чё сказать хочу.
Так как просто это не описано в данной теме, может это поможет.

При динамической индикации, полупроводниковый светоизлучающий прибор(в частности) должен в пике выдать световой импульс достаточный для распознавания глазом. Но при нормальном режиме (номинал по току) он не успеет выдать световую излучение("энергию"), необходимого уровня(загнул конечно, маленько... :-))) ). Скажем не разогрелся... Стало быть необходимо запитывать его (светик) током (значит напряжением) больших величин. В статике он бы перегорел, но пички(частота) его не пожгут. Значит при увеличении частоты стробирования, нужно увеличивать напряжение питания, чтобы ток проходи больше. Тогда свечение светика будет различимо зрительному органу( хорошо ... глазу :-))) )
Из параметров светика нужно найти Iпр (прям.пост) и I прям.и (импульсный, максимальный).
Скажем при пост. свечении обычно прямой пост ток 12-18(до 20мА) в при частоте 50Гц(приблизительно) нужно давать 40мА, а при 300Гц-100мА. При этом помножте на количество всех одновременно излучающих светиков (это о БП).
К сожалению формулы дать не могу. И тут ещё много чего(температура, цвет...) но есть АБАЛДЕННАЯ КНИГА!!! "Применение полупроводниковых индикаторов", Энергоатомиздат 1991 Н Н Васерин, Н К Дадерко, Г А Прокофьев - http://slil.ru/26007527 (много книжек хороших и нужных - http://yanviktor.ru/elektron/elektron_3.htm). Я её просто ВСЮ "сожрал" в сыоё время. Она есть в нэте, но может дам прямую ссылку(щаз поищу).

2 Heavy дайте схему, а лучше прочтите книгу, просто! Все вопросы снимет. При том, что я читать не люблю(лучше общение), но эта книга сама читается!
Последний раз редактировалось MetEl Чт июл 24, 2008 23:33:52, всего редактировалось 1 раз.
простое чмо, выдумщик
Открыл глаза
Сообщения: 65
Зарегистрирован: Вс апр 27, 2008 18:14:01

Сообщение Heavy »

alex2103 писал(а):Heavy,
У меня транзистор n-p-n, подключен к аноду. Транзистор открыт - сегмент не работает. Закрыт - работает, и через транзистор (К-Э) нет тока.
я что-то вот этого не пойму никак...тока нет, а светодиод светиться...нарисуйте схему :)
Разбирайся. если что - подскажу
На базы - сигналы от микросхемы.
Для мартовских котов: схема очень даже работоспособна, если правильно подобрать сопротивления.
Вложения
b.GIF
схемка
(34.27 КБ) 1782 скачивания
Последний раз редактировалось Heavy Чт июл 24, 2008 23:37:20, всего редактировалось 1 раз.
Вымогатель припоя
Сообщения: 543
Зарегистрирован: Чт окт 18, 2007 16:45:30
Откуда: из Питера

Сообщение MetEl »

2R2 это что? На базы 2,2 Ома?!!
R1-3 зачем?
простое чмо, выдумщик
Открыл глаза
Сообщения: 65
Зарегистрирован: Вс апр 27, 2008 18:14:01

Сообщение Heavy »

MetEl писал(а):2R2 это что? На базы 2,2 Ома?!!
R1-3 зачем?
номиналы программа ставила. я просто взял первый резистор из библиотеки и все. там другие номиналы. на базах у меня 240 Ом, на коллекторах 30 Ом.
Модератор
Аватара пользователя
Сообщения: 3174
Зарегистрирован: Пт июл 21, 2006 03:08:05
Откуда: Пенза

Сообщение Паятель »

Heavy, вы уже не первый, у кого я вижу такой способ управления. Не подскажете, в чём его преимущество перед традиционным - когда светодиод последовательно с транзистором включён?
Если долго мучиться, что-нибудь... сломается.
Открыл глаза
Сообщения: 65
Зарегистрирован: Вс апр 27, 2008 18:14:01

Сообщение Heavy »

Паятель писал(а):Heavy, вы уже не первый, у кого я вижу такой способ управления. Не подскажете, в чём его преимущество перед традиционным - когда светодиод последовательно с транзистором включён?
просто это первое что пришло мне в голову. Вот я и реализовал это.
Но у меня жутко греются КТ315Г.

Тогда скажите в чем преимущества последовательного с транзистором включения?
Модератор
Аватара пользователя
Сообщения: 3174
Зарегистрирован: Пт июл 21, 2006 03:08:05
Откуда: Пенза

Сообщение Паятель »

Ну, с 315-ми вопрос решённый - надо заменять.
в чем преимущества последовательного с транзистором включения
Хотя бы в меньшем токе потребления. Когда светодиод не светится, энергия не тратится.
Если долго мучиться, что-нибудь... сломается.
Вымогатель припоя
Сообщения: 543
Зарегистрирован: Чт окт 18, 2007 16:45:30
Откуда: из Питера

Сообщение MetEl »

отсутствия не нужных деталей.
дешевизна, трудоёмкость и пр...
пробой по направлению БЭ при отсутствии Uпит на К, но КТ315 Uэбо выдерживает справочнику 4В.
-------
Последний раз редактировалось MetEl Пт июл 25, 2008 00:44:55, всего редактировалось 1 раз.
простое чмо, выдумщик
Закрыто

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