|
непонятные наводки |
|
|
|
Nov 24 2008, 21:00
|
Участник

Группа: Участник
Сообщений: 70
Регистрация: 17-12-07
Пользователь №: 33 355

|
Столкнулся с какими-то странностями.Питаю контроллер от УСБ.Контроллер выдаёт на PB0 логическую 1.При нажатии кнопки 1, порт C должен светить всеми 8 светодиодами, при нажатии второи кнопки соответственно не светить.Так вот когда подносишь палец к кнопке появляются левые наводки и загораются в хаотичном порядке диоды а не то что должно.Кнопки шунтированы через 470 Ом а диоды через 330 Ом.В чем причина?
Эскизы прикрепленных изображений
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 29)
|
Nov 25 2008, 07:01
|
Частый гость
 
Группа: Свой
Сообщений: 130
Регистрация: 30-07-08
Из: Moscow
Пользователь №: 39 302

|
Цитата(JimBaton @ Nov 25 2008, 00:00)  Столкнулся с какими-то странностями.Питаю контроллер от УСБ.Контроллер выдаёт на PB0 логическую 1.При нажатии кнопки 1, порт C должен светить всеми 8 светодиодами, при нажатии второи кнопки соответственно не светить.Так вот когда подносишь палец к кнопке появляются левые наводки и загораются в хаотичном порядке диоды а не то что должно.Кнопки шунтированы через 470 Ом а диоды через 330 Ом.В чем причина? От USB не питал пока, но когда делал схему на монтажке и силовая часть была на этой же плате, то обязательно подпирал на +питания каждый вход с датчиками или кнопками. Иначе контроллер сбрасывался периодически, при включении нагрузки.
|
|
|
|
|
Nov 25 2008, 09:59
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 25-08-05
Пользователь №: 7 966

|
Резисторы необходимо ставить не шунтирующие а токоограничивающие (то есть последовательные) и не забыли ли подключть VCC (10 pin) к +5, CND (11 pin, 31pin). От USB макетки питал, все работало нормально. На схеме то основного, питания и включения резисторов нет, а согласно словесного описания они включены неверно.
|
|
|
|
|
Nov 25 2008, 10:09
|
Участник

Группа: Участник
Сообщений: 70
Регистрация: 17-12-07
Пользователь №: 33 355

|
Да какая разница как УСБ произносится.Всем же понятно что это такое.У нас тут не американцы, а русские люди.Шунтировал диод и кнопки потому что так говорится во многих источниках что надо шунтировать чтобы не шел слишком большой ток.JTAG отключен.Контроллер тактируется от внцтреннего источника 8 Мгц.Я уже пробовал и напрямую без шунтирования.Вот только пока что нет возможности использовать обычный 5 вольтовый источник питания, нет под рукои.Когда заливаешь програмку типа бегущих огнеи то все нормально работает, а когда подключаю кнопки и делаю простеишую программу чтобы по нажатии кнопки загорался диод то ничего не работает.Работает но криво.Тоесть логическии ноль становится нифига не ноль а что-то среднее между нулём и единицей, тоесть диод еле светится а не должен так.
TechMike подьясните что вы имеете ввиду под словом подпирал?
Agnd и Gnd к минусовои клемме, Avcc и Vcc к плюсовои.На схеме просто не нарисовал резисторы.Резисторы идут от каждой ножки контроллера последовательно с диодом или кнопкои.Похоже я не правильно выразился словом шунтирующие, подтягивающие вроде будет правильно.
Сообщение отредактировал JimBaton - Nov 25 2008, 10:12
|
|
|
|
|
Nov 25 2008, 10:43
|
Участник

Группа: Участник
Сообщений: 70
Регистрация: 17-12-07
Пользователь №: 33 355

|
Схема На схеме еще должен быть резистор на 10КОм на ресете.Забыл нарисовать.
Сообщение отредактировал JimBaton - Nov 25 2008, 10:45
Эскизы прикрепленных изображений
|
|
|
|
|
Nov 25 2008, 10:57
|

4 синих кубика
   
Группа: Участник
Сообщений: 526
Регистрация: 19-09-08
Из: полупроводника, металла и стекла
Пользователь №: 40 326

|
Цитата(bbill @ Nov 25 2008, 12:53)  Фактически входы А0,А1 у Вас висят в воздухе. Если они подтянуты внутренними резисторами к питанию, то, что нажата кнопка, что нет-все едино. Вам нужно входы А0,А1 притянуть через резисторы к общему проводу и контролировать появление "1" на входах. Но так как внутренних поддягивающих к земле резисторов нету, то это нехороший вариант. А PB0 имеет смысл использовать, если на кнопки ещё что-то нужно повесить и обрабатывать по очереди.
--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
|
|
|
|
|
Nov 25 2008, 11:28
|
Участник

Группа: Участник
Сообщений: 70
Регистрация: 17-12-07
Пользователь №: 33 355

|
PB0 служит для генерации логической 1 которая подается через кнопки на А0,А1.Тоесть если я нажму одну из кнопок то на соответствующей ножке порта должна появиться логическая 1 и должно произоити определенное действие заложеное внутреннеи программои контроллера.На Протеусе все без проблем работает.
|
|
|
|
|
Nov 25 2008, 11:33
|

4 синих кубика
   
Группа: Участник
Сообщений: 526
Регистрация: 19-09-08
Из: полупроводника, металла и стекла
Пользователь №: 40 326

|
Цитата(JimBaton @ Nov 25 2008, 13:28)  PB0 служит для генерации логической 1 которая подается через кнопки на А0,А1.Тоесть если я нажму одну из кнопок то на соответствующей ножке порта должна появиться логическая 1 и должно произоити определенное действие заложеное внутреннеи программои контроллера.На Протеусе все без проблем работает. А питанием сгенерировать лог. 1 нельзя никак? В протеусе нет помех и наводок. Вобщем, кнопки так обычно не делают. Обычно кнопка коротит на землю подтягивающий к питанию резистор, а факт "приземления" регистрируется портом.
--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
|
|
|
|
|
Nov 25 2008, 11:34
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 25-08-05
Пользователь №: 7 966

|
Эта схема должна работать если на PB0 выставлять НОЛЬ о на входах проверять ноль при включенных подтягивающих резисторах, без резисторов когда поднести палец к кнопке на входе может быть все что угодно (за счет наводки)
|
|
|
|
|
Nov 25 2008, 12:20
|
Участник

Группа: Участник
Сообщений: 70
Регистрация: 17-12-07
Пользователь №: 33 355

|
Значит схема будет такой?PortA=&b11111111, с включеными подтягивающими резисторами.При нажатии кнопки я должен регистрировать на PA0 или PA1 логическии 0?Тоесть если включены подтягивающие резисторы то на всем порте соответственно держится логическая 1.Кнопки заземлены.Как только нажимаю кнопку логическая 1 идущая с порта А встречается с землёй и получается коротыш?.Или подтягивающие резисторы и включаются для того чтобы не было коротышей?
Сообщение отредактировал JimBaton - Nov 25 2008, 12:27
Эскизы прикрепленных изображений
|
|
|
|
|
Nov 25 2008, 12:35
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 25-08-05
Пользователь №: 7 966

|
Так как выводы PA0 и PA1 еще при инициализзации должны быть сконфигурированы на вход, то никакого коротыша не получается, а подтягивающий резистор то и нужен, для того чтобы на входе небыло непонятного состояния (или 1 кнопка отпущена или 0 кнопка нажата), это и есть "классика" для подключения малого колличества кнопок (которая во всех учебниках описана)
|
|
|
|
|
Nov 25 2008, 12:36
|
Частый гость
 
Группа: Свой
Сообщений: 130
Регистрация: 30-07-08
Из: Moscow
Пользователь №: 39 302

|
Цитата(JimBaton @ Nov 25 2008, 13:09)  TechMike подьясните что вы имеете ввиду под словом подпирал? В моем случае была кнопка на один из портов tiny2313. Кнопка замыкала вход на землю, от +питания стоят резистор 1.5к на вход МК. Таким образом я в программе ловлю лог.0 на входе МК, что означает нажатие кнопки. И как показала практика, это хорошо защищило от помех по силовой части.
|
|
|
|
|
Nov 25 2008, 12:46
|
Участник

Группа: Участник
Сообщений: 70
Регистрация: 17-12-07
Пользователь №: 33 355

|
кароче все получилось
пока пробую писать на Бэйсике.Вот код.Как для начинающего это кажется немного странным.
$regfile = "m16def.dat" Config Portc = Output Config Porta = Input Config Portb = Output Porta = &B11111111 включаем подтягивающие резисторы и соответственно порт выдает логическии 1
Do If Pina.0 = 0 Then Portc = &B11110000 при появлении на ноге А0 лог 0, записываем в PortC 11110000
If Pina.1 = 0 Then Portc = &B00001111 If Pina.2 = 0 Then Portc = &B00111100 If Pina.3 = 0 Then Portc = &B11111111 Loop
|
|
|
|
|
Nov 25 2008, 14:38
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 25-08-05
Пользователь №: 7 966

|
в микросхемах на КМОП элементах верхний выходной ключ на p-канальном транзисторе, а нижний на n-канальном транзисторе, у p-канального сопротивление открытого канала немного выше чем у n-канального, поэтому при том же самом токе нагрузке падение на выходных ключах элемента вслучае подключения нагрузки к плюсу будет немного менше и соответственно немного меньше и рассеиваемая мощность (гдето на 0,1 вольна меньше, и в даташите это в электрических характеристиках тоже написано), это хоть и 2 мВт на элемент но всеже...
|
|
|
|
|
Nov 25 2008, 15:51
|
Участник

Группа: Участник
Сообщений: 70
Регистрация: 17-12-07
Пользователь №: 33 355

|
Цитата(МП41 @ Nov 25 2008, 16:11)  Ничего, привыкните, потом смешно будет  . Кстати и светодиоды обычно включают анодом к питанию, а катодом через резистор к МК. Считается, что в этом направлении МК бОльший ток держит. Неудобно подключать таким образом диод так как возникает путаница.Если нужно зажечь диод, то на порт нужно подать не лог 1 а лог 0
|
|
|
|
|
Nov 25 2008, 18:43
|
Участник

Группа: Участник
Сообщений: 70
Регистрация: 17-12-07
Пользователь №: 33 355

|
ну все равно как-то не так.Не привычно.Ну со временем-то конечно ко всему привыкаешь.
|
|
|
|
|
Nov 25 2008, 20:39
|

неотягощённый злом
     
Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643

|
Цитата(JimBaton @ Nov 25 2008, 21:43)  ну все равно как-то не так.Не привычно.Ну со временем-то конечно ко всему привыкаешь. Не надо привыкать к плохому. 1. Будь мэном  используй С, а не Basic (это намного полезней и продуктивней). 2. Привыкай задавать числовым константам имена - тогда будет совершенно неважно что есть 0, а что 1.
--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
|
|
|
|
|
Nov 25 2008, 20:45
|
Участник

Группа: Участник
Сообщений: 70
Регистрация: 17-12-07
Пользователь №: 33 355

|
Ну у меня есть свои соображения насчет бэйсика.Хочу хоть чутка разобраться что такое контроллер.На бэйсике же всяко полегче для начинающего.А потом и на СИ переберусь.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|