-=FISHER=-

Members
  • Публикации

    313
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

О -=FISHER=-

Информация

  • Город
    Уфа

Электроника

  • Стаж в электронике
    Менее года
  • Сфера радиоэлектроники
    Автоэлектрика

Посетители профиля

763 просмотра профиля
  1. Подключение полевых транзисторов к ULN2003

    Я имею ввиду конкретно эмуляцию работы в протеусе. Нормально отрабатывал он? Если да, то где же собака то зарыта? Всё вроде просто и очевидно но ошибку выдает...
  2. Подключение полевых транзисторов к ULN2003

    На контроллер протеус сам подает нужное напряжение...Странно, подключаю вместо полевика реле, всё отлично работает и везде в примерах только реле используется с uln, может эта микросхема не подходит для использования с полевыми транзисторами?
  3. Подключение полевых транзисторов к ULN2003

    на порт COM ULN2003 подключено +12В
  4. Подключение полевых транзисторов к ULN2003

    Вот смотрите, сейчас поковырялся и пришел к выводу, что проблема кроется не во входах ULN2003 (1B-7B), а в её выходах (1С-7С), так как отключив затвор полевика от ULN2003 ошибка пропадает...Ведь не зря я вначале назвал тему именно подключение полевых транзисторов к ULN2003. Изменения логических уровней можно наблюдать на скриншотах. Не нравится мне это "серое состояние" когда на входах 1В и 2В лог.0, хотя может это и нормально.
  5. Подключение полевых транзисторов к ULN2003

    Похоже придется сначала собрать устройство и отлаживать его сразу в железе. Иначе вся разработка сведется к отладке Протеуса...
  6. Подключение полевых транзисторов к ULN2003

    Теперь когда логические состояния меняются нормально, началась совсем необъяснимая чертовщина. При запуске симуляции, при первом нажатии на любую кнопку, загорается соответствующий СД, после чего если нажать второй раз на ту же самую кнопку (исходя из программы ничего не должно произойти или измениться), однако Протеус вываливается в ошибку! Хорошо, беру и удаляю линии, которые связывают ножки PB0 и PB1 МК с ножками 1B и 2B ULN2003, и что вы думаете? Ошибка пропадает! Можно клацать хоть 100 раз на каждую кнопку! Что-то я опять не так подключил, помогите определить пожалуйста, что на этот раз? #include "main.h" char i, trig, bt, trig1, bt1; void port_ini(void) { PORTD=0b00000000; DDRD=0b00000000; PORTB=0b00000000; DDRB=0xFF; } int main(void) { port_ini(); while(1) { //****************ВКЛЮЧЕНИЕ LOAD 1************************ if(!(PIND&(1<<2))) { if(trig==0) { if(bt<5) { bt++; _delay_ms(10); } else { PORTB|=(1<<0); trig=1; } } } else { bt=0; trig=0; } //****************ВКЛЮЧЕНИЕ LOAD 2************************ if(!(PIND&(1<<3))) { if(trig1==0) { if(bt1<5) { bt1++; _delay_ms(10); } else { PORTB|=(1<<1); trig1=1; } } } else { bt1=0; trig1=0; } } }
  7. Подключение полевых транзисторов к ULN2003

    Неопределенный уровень значит что протеус помечает ножку устройства серым цветом. Левый контакт кнопок с положительным потенциалом. Резисторы подтяжки коллекторов подключены к +12 В. Выводы C5,6,7 это выходы. Нашел ошибку, забыл скомпилировать код с исправленной инициализацией портов...
  8. Подключение полевых транзисторов к ULN2003

    Сделал подтяжки, теперь почему-то при нажатии кнопок на выходах 3C и 4C возникает неопределенный уровень? Как такое возможно? При том что порты сконфигурированы так: PORTD=0x00; DDRD=0x00; PORTB=0x00; DDRB=0b00000011;
  9. Подключение полевых транзисторов к ULN2003

    Пардоньте. Вы правы. А вот на счёт регистра PORTx тут всё же он прямое отношение имеет к подтяжкам, однако без DDRx не имеет смысла.
  10. Подключение полевых транзисторов к ULN2003

    Вы серьёзно? А как же R1 и R2 ? Может быть вы имели ввиду 5C - 7C но если я подтягиваю их к + то ничего не меняется... Да, оно ведь оно одинаковое по значению. То есть везде +12В...
  11. Подключение полевых транзисторов к ULN2003

    Модель она на то и модель. Вы хотите сказать что всё вышеперечисленные ошибки только из-за отсутствия резисторов перед светодиодами? Если в моей модели присутствуют полевые транзисторы на выходах ULN значит в реальном устройстве у меня будут именно полевики.Светодиоды стоят как обычные индикаторы того что полевик откроется при команде с МК.
  12. Подключение полевых транзисторов к ULN2003

    Вот скачал Rpoteus 8, думал 7-ой глючит. И никаких изменений. Помогите пожалуйста найти ошибку в схеме. Ниже представлен код, при запуске эмуляции, даже не нажимая кнопки через ~1,5 секунды я получаю ошибку... Кто шарит, пожалуйста помогите победить протеус. Почему если я явно включаю подтягивающие резисторы порта D на ножках PD2 и PD3 вот так: PORTD=0b00001100; то в результате у меня всё равно низкий уровень на них? #include "main.h" char i, trig, bt, trig1, bt1; void port_ini(void) { PORTD=0b00001100; DDRD=0x00; PORTB=0b00000000; DDRB=0b00000011; } int main(void) { port_ini(); while(1) { //****************ВКЛЮЧЕНИЕ LOAD 1************************ if(!(PIND&(1<<0))) { if(trig==0) { if(bt<5) { bt++; _delay_ms(10); } else { PORTB|=(1<<0); trig=1; } } } else { bt=0; trig=0; } // //****************ВКЛЮЧЕНИЕ LOAD 2************************ if(!(PIND&(1<<1))) { if(trig1==0) { if(bt1<5) { bt1++; _delay_ms(10); } else { PORTB|=(1<<1); trig1=1; } } } else { bt1=0; trig1=0; } } }
  13. Подключение полевых транзисторов к ULN2003

    А если подключить светодиоды напрямую катодами к ULN2003 то нажатие на кнопки отрабатывает штатно, то есть исключаем полевые транзисторы их схемы и сразу всё работает. Может быть я неправильно подключаю полевые транзисторы к ULN2003?
  14. Подключение полевых транзисторов к ULN2003

    Подождите...А как же резисторы R1 и R2 ?
  15. Подключение полевых транзисторов к ULN2003

    Выходы, вы имеете ввиду ножки которые подписаны на моих скриншотах как 1C - 7C ?