Страница 1 из 2
Вольтметр+Амперметр+Atmega8+LED(7seg)
Добавлено: Вт июн 24, 2008 17:36:46
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
Добавлено: Вт июн 24, 2008 19:01:49
KOSTYA
а вот тут
Моддинг блока питания.. почитайте спросите у автора, может чего подскажет
Добавлено: Вт июн 24, 2008 19:59:12
ARV
а еще почитайте на сайте автора упомянутого моддинга про то, как надо реализовывать динамическую индикацию и перевод чисел в семисегментыне знаки

Добавлено: Сб июл 19, 2008 15:53:55
VenomXP
еще посмотри на
http://www.pcports.ru/ в разделе статьи... там все отлично написанно
Добавлено: Чт июл 24, 2008 20:03:03
Heavy
Дабы не создавать новую тему, хочу спросить тут.
имею
atmega16 и
4-х разрядный 7-и сегментный индикатор. Индикатор был выпаян из магнитолы, и по этому его марка неизвестна.
Индикатор с общим анодом
ток примерно
25-30 мА на сегмент. (точнее не помню)
На каждый сегмент и анод я поставил по
КТ315Г, т.е. 10 транзисторов (3 разряда). Ток упал до
12-15 мА. Но при этом транзисторы жутко
греются.
- 1)Куда обязательно нужно ставить транзисторы? На аноды или катоды? Объясните почему.
2)Можно ли убрать 7 транзисторов с катодов? atmega16 не пукнет от этого?
3)Какие посоветуете транзисторы для упралвения индикаторами? Есть мысля о полевиках.
4)Хочется освободить пару ножек, применив дешифратор. Посоветуйте какой выбрать, что бы исключить транзисторы.
5)Есть КР514ИД2. Потянет ли она мой индикатор?
Добавлено: Чт июл 24, 2008 20:20:05
alex2103
На каждый сегмент и анод я поставил по КТ315Г
я не помню какая структура у этого транзистора, но подключение точно неправильное!
если индикатор с общим анодом, то на аноды ставите транзисторы, а катоды подключаете к портам МК через токоограничительные резисторы.
Полевики тут точно не нужны. Нужен транзистор расчитанный на ток 8*ток одного сегмента=8*30=240мА.
и непонятно как получилось 10 транзисторов если у вас 4 сегмента? Тогда по вашей схеме их должно быть 8*4=32

Добавлено: Чт июл 24, 2008 21:08:06
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

завязывай с валерьянкой, котярО!

Добавлено: Чт июл 24, 2008 21:16:54
Паятель
Heavy, а вам какой ток через сегмент нужен? Хотя КТ315 в любом случае слабоват будет.

Полевые транзисторы или нет - непринципиально, любые на подходящий ток можно.
Можно сегменты напрямую к МК подключить через резисторы, но тогда нельзя будет индикатор "по максимуму" гонять.
Добавлено: Чт июл 24, 2008 21:35:16
Heavy
Паятель писал(а):Heavy, а вам какой ток через сегмент нужен? Хотя КТ315 в любом случае слабоват будет.
В смысле "нужен" ? У меня нет характеристик индикатора.
Полевые транзисторы или нет - непринципиально, любые на подходящий ток можно.
Думал о полевике лишь для того, что бы в еще меньшей степени нагрузить порт.
Можно сегменты напрямую к МК подключить через резисторы, но тогда нельзя будет индикатор "по максимуму" гонять.
вот-вот.
Добавлено: Чт июл 24, 2008 21:54:15
Паятель
Heavy писал(а):
В смысле "нужен" ? У меня нет характеристик индикатора.
примерно 25-30 мА
Но ток-то должен быть какой-то определённый, пусть и примерный.
Думал о полевике лишь для того, что бы в еще меньшей степени нагрузить порт.
В этом плане биполярный не хуже будет.
Добавлено: Чт июл 24, 2008 22:06:59
Heavy
Паятель писал(а):Heavy писал(а):
В смысле "нужен" ? У меня нет характеристик индикатора.
примерно 25-30 мА
Но ток-то должен быть какой-то определённый, пусть и примерный.
ок, завтра устроим замеры.
Добавлено: Чт июл 24, 2008 22:25:22
alex2103
Heavy,
У меня транзистор n-p-n, подключен к аноду. Транзистор открыт - сегмент не работает. Закрыт - работает, и через транзистор (К-Э) нет тока.
я что-то вот этого не пойму никак...тока нет, а светодиод светиться...нарисуйте схему

Добавлено: Чт июл 24, 2008 23:17:41
MetEl
Прастите, изинете, но я вот чё сказать хочу.
Так как просто это не описано в данной теме, может это поможет.
При динамической индикации, полупроводниковый светоизлучающий прибор(в частности) должен в пике выдать световой импульс достаточный для распознавания глазом. Но при нормальном режиме (номинал по току) он не успеет выдать световую излучение("энергию"), необходимого уровня(загнул конечно, маленько...

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

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

Разбирайся. если что - подскажу
На базы - сигналы от микросхемы.
Для мартовских котов: схема очень даже работоспособна, если правильно подобрать сопротивления.
Добавлено: Чт июл 24, 2008 23:35:12
MetEl
2R2 это что? На базы 2,2 Ома?!!
R1-3 зачем?
Добавлено: Чт июл 24, 2008 23:39:01
Heavy
MetEl писал(а):2R2 это что? На базы 2,2 Ома?!!
R1-3 зачем?
номиналы программа ставила. я просто взял первый резистор из библиотеки и все. там другие номиналы. на базах у меня 240 Ом, на коллекторах 30 Ом.
Добавлено: Чт июл 24, 2008 23:40:56
Паятель
Heavy, вы уже не первый, у кого я вижу такой способ управления. Не подскажете, в чём его преимущество перед традиционным - когда светодиод последовательно с транзистором включён?
Добавлено: Чт июл 24, 2008 23:46:49
Heavy
Паятель писал(а):Heavy, вы уже не первый, у кого я вижу такой способ управления. Не подскажете, в чём его преимущество перед традиционным - когда светодиод последовательно с транзистором включён?
просто это первое что пришло мне в голову. Вот я и реализовал это.
Но у меня жутко греются КТ315Г.
Тогда скажите в чем преимущества последовательного с транзистором включения?
Добавлено: Чт июл 24, 2008 23:53:12
Паятель
Ну, с 315-ми вопрос решённый - надо заменять.
в чем преимущества последовательного с транзистором включения
Хотя бы в меньшем токе потребления. Когда светодиод не светится, энергия не тратится.
Добавлено: Пт июл 25, 2008 00:06:38
MetEl
отсутствия не нужных деталей.
дешевизна, трудоёмкость и пр...
пробой по направлению БЭ при отсутствии Uпит на К, но КТ315 Uэбо выдерживает справочнику 4В.
-------