Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: помогите разобраться семисегментным индикатором
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
Cанек
Здравствуйте.
Ребят делаю делаю девайсик для управления вентилятором, но здесь вопрос до вентилятора не дошел еще...делается все в овральном режиме поэтому может просто что то упустил я (давненько я уже контроллеры не программил да и с электроникой не связывался) поэтому профов прошу сильно не ругаться по поводу изучения документации...

Вообще проблема следующая...PIC18F252 управляет семисегментым трехразрядным индикатором с общим анодом, схема снизу. Метод управления стандартный, выбор разряда производит контроллер (я изобразил один ключ вместо трех), поставил ключ, но вот ведет себя все странно, по идеи думал, что установив низкий уровень сигнала я заставлю открыться транзистор и тем самым включить нужный разряд...Перед тем как передать управления под власть контроллера я взял и вручную проверил, да все работает ток базы в районе 1-2 мА, поставив контроллер ничего не получилось...напряжение на выводе контроллера оказалось 4,5 В...В чем или в ком косяк??))))
evc
А вывод контроллера сделали выход? TRISС регистр правильно настроен? Соответствующие биты должны быть "0".
Cанек
Да TRISC весь 0 и PORTС = 0(((
@Ark
Нужно пока временно транзистор исключить из схемы - запитать индикатор от 5В напрямую...
Есть сомнения в правильности номиналов резисторов - 2кОм не слишком много? Токи считали?
И еще. Выход RC2 должен быть "подтянут" к питанию внешним резистором. Иначе при включении
будет непонятно какое состояние транзистора.
MaslovVG
А вы чем смотрите напряжение не выходе контроллера. Там же динамика и нужно смотреть осцилографом.
Cанек
Смотрю мультиметром потому что там пока что еще статика))) ну я думаю раз никто не видит серьезных схемотехнических косяков то рискну напрямую цепануть к контроллеру, тем более ток всего 7 мА. Я думаю в динамике ничего не изменится...???
MaslovVG
Цитата(Cанек @ Aug 22 2010, 12:38) *
Смотрю мультиметром потому что там пока что еще статика))) ну я думаю раз никто не видит серьезных схемотехнических косяков то рискну напрямую цепануть к контроллеру, тем более ток всего 7 мА. Я думаю в динамике ничего не изменится...???


Ищите в софте "ноль " на выходе порта.
Cанек
Программа примитивна...И порты вообще нормальные живые дрыгаются, резики разные вешал уже...Вот прям ща буду на прям вешать управление индикатором...

void main (void)
{
TRISB = 0x00;
PORTB = 0x00;
TRISC = 0x00;
PORTC = 0x00;


while (1)
{}
}
Romaly
Я бы на вашем месте вообще исключил эти ключи на транзисторах, ИМХО они здесь не нужны (если я конечно правильно понял и семисегментный индикатор на светодиодах и им достаточно 20ма, для нормального свечения) ибо для данного микроконтроллера максимальный выходной сток канала портов до 25ма, как впрочем и для многих других PIC контроллеров.
Только не забудьте токоограничительные резисторы поставить.
Удачи!
Danis
Цитата(Cанек @ Aug 22 2010, 13:23) *
Программа примитивна...И порты вообще нормальные живые дрыгаются, резики разные вешал уже...Вот прям ща буду на прям вешать управление индикатором...

void main (void)
{
TRISB = 0x00;
PORTB = 0x00;
TRISC = 0x00;
PORTC = 0x00;


while (1)
{}
}



В чем пишите, пользуетесь ли отладчиком? Может у Вас программа вообще в МК не записана???
wwweider
надо не PORTC использовать для записи а LATC=0 например.
транзисторы выкинуть, токоогр резисторы 100 ом при питании контр в 3.3 в
и 300 ом при 5в
loghir
У вас только один индикатор? Я сейчас разбираюсь с семисегментником с общим катодом.
Транзистор придется оставить, ибо линия порта физически не потянет 7 светодиодов (цифра 8, я не вспоминию про запятую).
У вас транзистор включен скорее для "общего катода". В случае с "общим анодом" направление тока будет "на общий провод" индикатора. Т.е. на "массу".
Вот рабочая схема для "общего катода":


Uploaded with ImageShack.us
у меня работает.

P.S. найдите схему включения семисегментника с общим анодом при использовании ТТЛ-логики.
Ambasador
если ещё надо, то могу проект для dspic сбросить... там просто работа с индикатором... и есть пример для работы с тремя индикаторами с помощью таймера и прерываний... чуть что в лс пишите
Steve Key
.
lux
Цитата(loghir @ May 9 2011, 08:47) *
У вас только один индикатор? Я сейчас разбираюсь с семисегментником с общим катодом.
Транзистор придется оставить, ибо линия порта физически не потянет 7 светодиодов (цифра 8, я не вспоминию про запятую).
У вас транзистор включен скорее для "общего катода". В случае с "общим анодом" направление тока будет "на общий провод" индикатора. Т.е. на "массу".
Вот рабочая схема для "общего катода":


Uploaded with ImageShack.us
у меня работает.

P.S. найдите схему включения семисегментника с общим анодом при использовании ТТЛ-логики.


Схема включения транзистора правильная.
Транзистор нужен, т.к. насколько я понимаю Вы реализуете динамический метод управления светодиодными семисегментными индикаторами.
При динамическом методе яркость индикатора снижается, поэтому номиналы резисторов я бы уменьшил до 200 ом при напряжении 5В (хотя все зависит какую яркость Вы хотите получить).
Напряжение на выводе контроллера может оказаться 4,5 В и через цепь БЭ транзистора и резистор 3.3к. А это значит, что, если RC2, например, в третьем состоянии, то вы будете так же иметь это напряжение на выводе МК. Давно не работал с PIC, по этому предложу попробовать подключить к другому порту (возможно Вы неучли работу периферии через порт С). И еще возможен у Вас маленький косяк при данном подключении, если напряжение на выводе RC2 будет 4В и менее, то транзистор будет открыт постоянно внезависимости от управления МК (правда яркость сегментов немного будет меняться).
Oldman
Цитата(Cанек @ Aug 21 2010, 14:45) *
Вообще проблема следующая...PIC18F252 управляет семисегментым трехразрядным индикатором с общим анодом, схема снизу. Метод управления стандартный, выбор разряда производит контроллер (я изобразил один ключ вместо трех), поставил ключ, но вот ведет себя все странно, по идеи думал, что установив низкий уровень сигнала я заставлю открыться транзистор и тем самым включить нужный разряд...Перед тем как передать управления под власть контроллера я взял и вручную проверил, да все работает ток базы в районе 1-2 мА, поставив контроллер ничего не получилось...напряжение на выводе контроллера оказалось 4,5 В...В чем или в ком косяк??))))

Вывод RC2 имеет отношение к модулю CCP1 и при определенных условиях может не работать как обычный бит порта, т.е. им нельзя управлять через TRIS, LAT и т.д. Надо проверить состояние битов CCP1Mx в регистре CCP1CON. И, как здесь уже правильно подсказали, использовать для эксперимента один из соседних выводов МК.
Herz
Ребята, теме скоро год! Автор наверняка уж и забыл о проблеме. С чего вдруг такой интерес к ней?
loghir
У меня на нервной почве: сам только что разобрался с семисегментником. wacko.gif
MaslovVG
Удалено за неактуальностью.
Blambik
Заменить резисторы 2кОм на 270 Ом и будет счастье sm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.