|
помогите разобраться семисегментным индикатором, с общим анодом PIC18F252 |
|
|
|
Aug 21 2010, 11:45
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 5-04-05
Из: г. Ставрополь
Пользователь №: 3 862

|
Здравствуйте. Ребят делаю делаю девайсик для управления вентилятором, но здесь вопрос до вентилятора не дошел еще...делается все в овральном режиме поэтому может просто что то упустил я (давненько я уже контроллеры не программил да и с электроникой не связывался) поэтому профов прошу сильно не ругаться по поводу изучения документации... Вообще проблема следующая...PIC18F252 управляет семисегментым трехразрядным индикатором с общим анодом, схема снизу. Метод управления стандартный, выбор разряда производит контроллер (я изобразил один ключ вместо трех), поставил ключ, но вот ведет себя все странно, по идеи думал, что установив низкий уровень сигнала я заставлю открыться транзистор и тем самым включить нужный разряд...Перед тем как передать управления под власть контроллера я взял и вручную проверил, да все работает ток базы в районе 1-2 мА, поставив контроллер ничего не получилось...напряжение на выводе контроллера оказалось 4,5 В...В чем или в ком косяк??))))
Сообщение отредактировал Cанек - Aug 21 2010, 11:47
Эскизы прикрепленных изображений
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 19)
|
Aug 22 2010, 05:20
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 5-04-05
Из: г. Ставрополь
Пользователь №: 3 862

|
Да TRISC весь 0 и PORTС = 0(((
|
|
|
|
Guest_@Ark_*
|
Aug 22 2010, 05:56
|
Guests

|
Нужно пока временно транзистор исключить из схемы - запитать индикатор от 5В напрямую... Есть сомнения в правильности номиналов резисторов - 2кОм не слишком много? Токи считали? И еще. Выход RC2 должен быть "подтянут" к питанию внешним резистором. Иначе при включении будет непонятно какое состояние транзистора.
|
|
|
|
|
Aug 22 2010, 08:38
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 5-04-05
Из: г. Ставрополь
Пользователь №: 3 862

|
Смотрю мультиметром потому что там пока что еще статика))) ну я думаю раз никто не видит серьезных схемотехнических косяков то рискну напрямую цепануть к контроллеру, тем более ток всего 7 мА. Я думаю в динамике ничего не изменится...???
|
|
|
|
|
Aug 22 2010, 09:23
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 5-04-05
Из: г. Ставрополь
Пользователь №: 3 862

|
Программа примитивна...И порты вообще нормальные живые дрыгаются, резики разные вешал уже...Вот прям ща буду на прям вешать управление индикатором...
void main (void) { TRISB = 0x00; PORTB = 0x00; TRISC = 0x00; PORTC = 0x00;
while (1) {} }
|
|
|
|
|
Sep 7 2010, 03:01
|

Группа: Участник
Сообщений: 8
Регистрация: 2-09-10
Из: Казахстан - Алматы
Пользователь №: 59 240

|
Я бы на вашем месте вообще исключил эти ключи на транзисторах, ИМХО они здесь не нужны (если я конечно правильно понял и семисегментный индикатор на светодиодах и им достаточно 20ма, для нормального свечения) ибо для данного микроконтроллера максимальный выходной сток канала портов до 25ма, как впрочем и для многих других PIC контроллеров. Только не забудьте токоограничительные резисторы поставить. Удачи!
|
|
|
|
|
Sep 7 2010, 05:21
|

Twilight Zone
  
Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990

|
Цитата(Cанек @ Aug 22 2010, 13:23)  Программа примитивна...И порты вообще нормальные живые дрыгаются, резики разные вешал уже...Вот прям ща буду на прям вешать управление индикатором...
void main (void) { TRISB = 0x00; PORTB = 0x00; TRISC = 0x00; PORTC = 0x00;
while (1) {} } В чем пишите, пользуетесь ли отладчиком? Может у Вас программа вообще в МК не записана???
--------------------
Magic Friend
|
|
|
|
|
May 9 2011, 05:47
|
Участник

Группа: Участник
Сообщений: 63
Регистрация: 13-03-11
Пользователь №: 63 577

|
У вас только один индикатор? Я сейчас разбираюсь с семисегментником с общим катодом. Транзистор придется оставить, ибо линия порта физически не потянет 7 светодиодов (цифра 8, я не вспоминию про запятую). У вас транзистор включен скорее для "общего катода". В случае с "общим анодом" направление тока будет "на общий провод" индикатора. Т.е. на "массу". Вот рабочая схема для "общего катода":  Uploaded with ImageShack.usу меня работает. P.S. найдите схему включения семисегментника с общим анодом при использовании ТТЛ-логики.
Сообщение отредактировал loghir - May 9 2011, 10:46
|
|
|
|
|
May 9 2011, 15:33
|
Группа: Новичок
Сообщений: 5
Регистрация: 17-04-11
Пользователь №: 64 433

|
если ещё надо, то могу проект для dspic сбросить... там просто работа с индикатором... и есть пример для работы с тремя индикаторами с помощью таймера и прерываний... чуть что в лс пишите
|
|
|
|
|
May 16 2011, 06:53
|

Группа: Новичок
Сообщений: 2
Регистрация: 6-05-09
Пользователь №: 48 738

|
.
Сообщение отредактировал Steve Key - May 16 2011, 06:55
|
|
|
|
|
May 16 2011, 13:31
|
Частый гость
 
Группа: Свой
Сообщений: 85
Регистрация: 4-10-06
Из: Ukraine
Пользователь №: 20 949

|
Цитата(loghir @ May 9 2011, 08:47)  У вас только один индикатор? Я сейчас разбираюсь с семисегментником с общим катодом. Транзистор придется оставить, ибо линия порта физически не потянет 7 светодиодов (цифра 8, я не вспоминию про запятую). У вас транзистор включен скорее для "общего катода". В случае с "общим анодом" направление тока будет "на общий провод" индикатора. Т.е. на "массу". Вот рабочая схема для "общего катода":  Uploaded with ImageShack.usу меня работает. P.S. найдите схему включения семисегментника с общим анодом при использовании ТТЛ-логики. Схема включения транзистора правильная. Транзистор нужен, т.к. насколько я понимаю Вы реализуете динамический метод управления светодиодными семисегментными индикаторами. При динамическом методе яркость индикатора снижается, поэтому номиналы резисторов я бы уменьшил до 200 ом при напряжении 5В (хотя все зависит какую яркость Вы хотите получить). Напряжение на выводе контроллера может оказаться 4,5 В и через цепь БЭ транзистора и резистор 3.3к. А это значит, что, если RC2, например, в третьем состоянии, то вы будете так же иметь это напряжение на выводе МК. Давно не работал с PIC, по этому предложу попробовать подключить к другому порту (возможно Вы неучли работу периферии через порт С). И еще возможен у Вас маленький косяк при данном подключении, если напряжение на выводе RC2 будет 4В и менее, то транзистор будет открыт постоянно внезависимости от управления МК (правда яркость сегментов немного будет меняться).
Сообщение отредактировал lux - May 16 2011, 13:33
|
|
|
|
|
May 19 2011, 17:35
|
Группа: Новичок
Сообщений: 3
Регистрация: 15-09-09
Пользователь №: 52 391

|
Цитата(Cанек @ Aug 21 2010, 14:45)  Вообще проблема следующая...PIC18F252 управляет семисегментым трехразрядным индикатором с общим анодом, схема снизу. Метод управления стандартный, выбор разряда производит контроллер (я изобразил один ключ вместо трех), поставил ключ, но вот ведет себя все странно, по идеи думал, что установив низкий уровень сигнала я заставлю открыться транзистор и тем самым включить нужный разряд...Перед тем как передать управления под власть контроллера я взял и вручную проверил, да все работает ток базы в районе 1-2 мА, поставив контроллер ничего не получилось...напряжение на выводе контроллера оказалось 4,5 В...В чем или в ком косяк??)))) Вывод RC2 имеет отношение к модулю CCP1 и при определенных условиях может не работать как обычный бит порта, т.е. им нельзя управлять через TRIS, LAT и т.д. Надо проверить состояние битов CCP1Mx в регистре CCP1CON. И, как здесь уже правильно подсказали, использовать для эксперимента один из соседних выводов МК.
Сообщение отредактировал Oldman - May 19 2011, 17:39
|
|
|
|
|
Oct 20 2012, 07:48
|
Группа: Новичок
Сообщений: 1
Регистрация: 23-01-08
Пользователь №: 34 350

|
Заменить резисторы 2кОм на 270 Ом и будет счастье
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|