Cанек 0 21 августа, 2010 Опубликовано 21 августа, 2010 (изменено) · Жалоба Здравствуйте. Ребят делаю делаю девайсик для управления вентилятором, но здесь вопрос до вентилятора не дошел еще...делается все в овральном режиме поэтому может просто что то упустил я (давненько я уже контроллеры не программил да и с электроникой не связывался) поэтому профов прошу сильно не ругаться по поводу изучения документации... Вообще проблема следующая...PIC18F252 управляет семисегментым трехразрядным индикатором с общим анодом, схема снизу. Метод управления стандартный, выбор разряда производит контроллер (я изобразил один ключ вместо трех), поставил ключ, но вот ведет себя все странно, по идеи думал, что установив низкий уровень сигнала я заставлю открыться транзистор и тем самым включить нужный разряд...Перед тем как передать управления под власть контроллера я взял и вручную проверил, да все работает ток базы в районе 1-2 мА, поставив контроллер ничего не получилось...напряжение на выводе контроллера оказалось 4,5 В...В чем или в ком косяк??)))) Изменено 21 августа, 2010 пользователем Cанек Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
evc 0 21 августа, 2010 Опубликовано 21 августа, 2010 · Жалоба А вывод контроллера сделали выход? TRISС регистр правильно настроен? Соответствующие биты должны быть "0". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Cанек 0 22 августа, 2010 Опубликовано 22 августа, 2010 · Жалоба Да TRISC весь 0 и PORTС = 0((( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость @Ark 22 августа, 2010 Опубликовано 22 августа, 2010 · Жалоба Нужно пока временно транзистор исключить из схемы - запитать индикатор от 5В напрямую... Есть сомнения в правильности номиналов резисторов - 2кОм не слишком много? Токи считали? И еще. Выход RC2 должен быть "подтянут" к питанию внешним резистором. Иначе при включении будет непонятно какое состояние транзистора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MaslovVG 0 22 августа, 2010 Опубликовано 22 августа, 2010 · Жалоба А вы чем смотрите напряжение не выходе контроллера. Там же динамика и нужно смотреть осцилографом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Cанек 0 22 августа, 2010 Опубликовано 22 августа, 2010 · Жалоба Смотрю мультиметром потому что там пока что еще статика))) ну я думаю раз никто не видит серьезных схемотехнических косяков то рискну напрямую цепануть к контроллеру, тем более ток всего 7 мА. Я думаю в динамике ничего не изменится...??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MaslovVG 0 22 августа, 2010 Опубликовано 22 августа, 2010 · Жалоба Смотрю мультиметром потому что там пока что еще статика))) ну я думаю раз никто не видит серьезных схемотехнических косяков то рискну напрямую цепануть к контроллеру, тем более ток всего 7 мА. Я думаю в динамике ничего не изменится...??? Ищите в софте "ноль " на выходе порта. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Cанек 0 22 августа, 2010 Опубликовано 22 августа, 2010 · Жалоба Программа примитивна...И порты вообще нормальные живые дрыгаются, резики разные вешал уже...Вот прям ща буду на прям вешать управление индикатором... void main (void) { TRISB = 0x00; PORTB = 0x00; TRISC = 0x00; PORTC = 0x00; while (1) {} } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Romaly 0 7 сентября, 2010 Опубликовано 7 сентября, 2010 · Жалоба Я бы на вашем месте вообще исключил эти ключи на транзисторах, ИМХО они здесь не нужны (если я конечно правильно понял и семисегментный индикатор на светодиодах и им достаточно 20ма, для нормального свечения) ибо для данного микроконтроллера максимальный выходной сток канала портов до 25ма, как впрочем и для многих других PIC контроллеров. Только не забудьте токоограничительные резисторы поставить. Удачи! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Danis 0 7 сентября, 2010 Опубликовано 7 сентября, 2010 · Жалоба Программа примитивна...И порты вообще нормальные живые дрыгаются, резики разные вешал уже...Вот прям ща буду на прям вешать управление индикатором... void main (void) { TRISB = 0x00; PORTB = 0x00; TRISC = 0x00; PORTC = 0x00; while (1) {} } В чем пишите, пользуетесь ли отладчиком? Может у Вас программа вообще в МК не записана??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость wwweider 29 апреля, 2011 Опубликовано 29 апреля, 2011 · Жалоба надо не PORTC использовать для записи а LATC=0 например. транзисторы выкинуть, токоогр резисторы 100 ом при питании контр в 3.3 в и 300 ом при 5в Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
loghir 0 9 мая, 2011 Опубликовано 9 мая, 2011 (изменено) · Жалоба У вас только один индикатор? Я сейчас разбираюсь с семисегментником с общим катодом. Транзистор придется оставить, ибо линия порта физически не потянет 7 светодиодов (цифра 8, я не вспоминию про запятую). У вас транзистор включен скорее для "общего катода". В случае с "общим анодом" направление тока будет "на общий провод" индикатора. Т.е. на "массу". Вот рабочая схема для "общего катода": Uploaded with ImageShack.us у меня работает. P.S. найдите схему включения семисегментника с общим анодом при использовании ТТЛ-логики. Изменено 9 мая, 2011 пользователем loghir Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ambasador 0 9 мая, 2011 Опубликовано 9 мая, 2011 · Жалоба если ещё надо, то могу проект для dspic сбросить... там просто работа с индикатором... и есть пример для работы с тремя индикаторами с помощью таймера и прерываний... чуть что в лс пишите Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Steve Key 0 16 мая, 2011 Опубликовано 16 мая, 2011 (изменено) · Жалоба . Изменено 16 мая, 2011 пользователем Steve Key Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lux 0 16 мая, 2011 Опубликовано 16 мая, 2011 (изменено) · Жалоба У вас только один индикатор? Я сейчас разбираюсь с семисегментником с общим катодом. Транзистор придется оставить, ибо линия порта физически не потянет 7 светодиодов (цифра 8, я не вспоминию про запятую). У вас транзистор включен скорее для "общего катода". В случае с "общим анодом" направление тока будет "на общий провод" индикатора. Т.е. на "массу". Вот рабочая схема для "общего катода": Uploaded with ImageShack.us у меня работает. P.S. найдите схему включения семисегментника с общим анодом при использовании ТТЛ-логики. Схема включения транзистора правильная. Транзистор нужен, т.к. насколько я понимаю Вы реализуете динамический метод управления светодиодными семисегментными индикаторами. При динамическом методе яркость индикатора снижается, поэтому номиналы резисторов я бы уменьшил до 200 ом при напряжении 5В (хотя все зависит какую яркость Вы хотите получить). Напряжение на выводе контроллера может оказаться 4,5 В и через цепь БЭ транзистора и резистор 3.3к. А это значит, что, если RC2, например, в третьем состоянии, то вы будете так же иметь это напряжение на выводе МК. Давно не работал с PIC, по этому предложу попробовать подключить к другому порту (возможно Вы неучли работу периферии через порт С). И еще возможен у Вас маленький косяк при данном подключении, если напряжение на выводе RC2 будет 4В и менее, то транзистор будет открыт постоянно внезависимости от управления МК (правда яркость сегментов немного будет меняться). Изменено 16 мая, 2011 пользователем lux Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться