unalex писал(а):эти кнопки аналог ноги микроконтроллера с тремя состояниями
То есть не хотите делать отдельный вход для управления третьим состоянием буферного усилителя?
Тогда такой вариант, без внешнего управления:
Для простоты реализовал на биполярных транзисторах, но при желании можно и на полевых переделать. Номиналы резисторов не оптимизировал, модель заработала в симуляторе сразу.
Любой дурак может писать код. Настоящий профессионал - это тот, кто способен постоянно создавать продукт высокого качества, укладываясь при этом в бюджет.
J. Ganssle
Это что же получается? Q2 и Q4 всегда открыты при Z состоянии? или я чего не догоняю.
Вариант с компаратором мне как то больше пришелся по душе.
Есть такой вариант с тремя областями напряжения и работы, как раз в середине ни один не подает сигнал, в крайних состояниях открываются соответствующие транзисторы.
Goldsmith писал(а):То есть не хотите делать отдельный вход для управления третьим состоянием буферного усилителя?
нам то все равно, мы выполняем ТЗ кота Gudd-Head который хотел умощнить выходы контроллера с сохранением Z состояния, т.е. как я понял, не используя дополнительные сигналы для уравления буфером
схема красивая, но как указал коллега, транзисторы надо бы запереть при Z
Коктейль "Рекурсивный": 20% спирта, 30% воды, 50% коктейля "Рекурсивный"...
vitalik_1984 писал(а):Это что же получается? Q2 и Q4 всегда открыты при Z состоянии? или я чего не догоняю.
Последний вариант.
unalex писал(а):схема красивая, но как указал коллега, транзисторы надо бы запереть при Z
Конечно, надо. Они и в самом деле заперты. Иначе это будет не красивая схема, а весьма эффективный электрообогреватель помещений.
Когда обе кнопки разомкнуты, по цепи эмиттер-база Q1 - R3 - верхний диод - нижний диод - R6 - база-эмиттер Q3 течет ток. Оба транзистора (Q1 и Q3) насыщены, соответственно, на переходах база-эмиттер Q2 и Q4 напряжение недостаточно для их открывания; оба выходных транзистора заперты. Выход схемы в высокоимпедансном состоянии.
Замкнем нижнюю кнопку. Ток через базовый переход Q3 прекращается, он закрывается, открывая Q4. Q3 по-прежнему заперт. На выходе схемы низкий уровень (0).
Вариант с верхней кнопкой расписывать не буду, схема абсолютно симметрична. Я специально для желающих приложил модель, можно натыкать вольтметров-амперметров-осциллографов и понаблюдать за ее поведением.
Любой дурак может писать код. Настоящий профессионал - это тот, кто способен постоянно создавать продукт высокого качества, укладываясь при этом в бюджет.
J. Ganssle
Goldsmith писал(а):Когда обе кнопки разомкнуты, по цепи эмиттер-база Q1 - R3 - верхний диод - нижний диод - R6 - база-эмиттер Q3 течет ток. Оба транзистора (Q1 и Q3) насыщены, соответственно, на переходах база-эмиттер Q2 и Q4 напряжение недостаточно для их открывания; оба выходных транзистора заперты. Выход схемы в высокоимпедансном состоянии.
Compiling C: main.c
avr-gcc -c -mmcu=atmega32 -I. -gdwarf-2 -DF_CPU=1000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./main.lst -std=gnu99 -MMD -MP -MF .dep/main.o.d main.c -o main.o
main.c: In function 'main':
main.c:23: error: 'i' undeclared (first use in this function)
main.c:23: error: (Each undeclared identifier is reported only once
main.c:23: error: for each function it appears in.)
make.exe: *** [main.o] Error 1
> Process Exit Code: 2
> Time Taken: 00:04
значит ест ошибка
а сам ошибка находится здес
Compiling C: main.c
avr-gcc -c -mmcu=atmega32 -I. -gdwarf-2 -DF_CPU=1000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./main.lst -std=gnu99 -MMD -MP -MF .dep/main.o.d main.c -o main.o
main.c: In function 'main':
main.c:23: error: 'i' undeclared (first use in this function)
main.c:23: error: (Each undeclared identifier is reported only once
main.c:23: error: for each function it appears in.)
make.exe: *** [main.o] Error 1
> Process Exit Code: 2
> Time Taken: 00:04
но я не знаю английский за счет чего и не знаю что там написано.
исправляйте код пожалуйста
Последний раз редактировалось fahri1 Вт фев 26, 2013 12:47:10, всего редактировалось 1 раз.
fahri1 , 1.микросхемы отличаются корпусами, у разных корпусов попадутся быть разные номера выводов и разные значения ей одних и тех же номеров ног. В следующий раз потрудитесь обозначить тип корпуса, либо еще лучше написать на какой порт выводить.
2.Вам нужно два примера для аппаратного и программного ШИМ, а на каком языке?
Gudd-Head писал(а):Что-то я туплю. Диоды тут обязательны?
Перестраховка. Люблю надежные конструкции, без неожиданных сюрпризов.
Нижний диод не даст открыться Q3, если уровень лог. 0 на входе схемы достигнет 0.8V (а в принципе имеет право). Тогда схема сочтет это за третье состояние, что в общем непраавильно. Диод Шоттки отодвинет этот порог до 1V (0.4V на диоде + 0.6V для открытия эмиттерного перехода). Если поставить обычный диод с P-N переходом, порог приподнимется еще на 0.2V.
Без диодов тоже в большинстве случаев будет работать, поскольку уровень ненагруженного нуля на выходе КМОП очень близок к 0V, но все-так береженого бог бережет. Тем более что для подобных случаев у меня припасены BAT54S, места занимают немного.
(Верхняя половина, само собой, работает точно так же).
Естественно, эта схема - лишь эскиз, а не окончательный вариант. Под конкретные требования ее можно существенно улучшить (например, поднять быстродействие, увеличить входной импеданс, понизить потребление...).
Gudd-Head писал(а):Вариант с компаратором хорош тем, что помимо тока можно поднять и напряжение
Фактически Q1 и Q3 - это и есть простейшие компараторы, поскольку открываются, как только входное напряжение выходит за пределы "0" и "1", и тем самым блокируют свое плечо выходного полумоста. Входными диодами можно корректировать порог срабатывания этих компараторов.
Любой дурак может писать код. Настоящий профессионал - это тот, кто способен постоянно создавать продукт высокого качества, укладываясь при этом в бюджет.
J. Ganssle
vitalik_1984
корпус tqfp/mlf квадратный всего 44 выводов.
на языке с+/с++
мне нужно два наипрстейшего примера . и для аппаратного и для программного ШИМ,
Подскажите,что должно быть на ногах программатора (на ISP разъёме).Программатор готовый,вот этот http://microsin.ru/content/view/685/44/ .
Ошибка ISP Mode Error вылезает и в том случае,если к программатору не подсоединена программируемая плата.
fahri1 писал(а):но я не знаю английский за счет чего и не знаю что там написано.
исправляйте код пожалуйста
Не знаете английский - пользуйтесь словарями/переводчиками. Хоть на Яндексе, хоть на Гугле. Судя по ошибке вы и Си плохо владеете. Читайте книжки.
У вас в main не определена переменная i, а вы её в циклах используете. На это и ругается.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
1.2 длинный код можно спрятать при помощи тега spoiler Спойлервот так
2 для понимания что такое шим и как он работает скопировать первый попавшийся код недостаточно, надо еще и даташиты читать
3.1 знание английского желательно, хотя можно обойтись и переводчиком
3.2 ключевые слова "error" "warning" и т.п. знать обязательно
4.1 из п3.2 находим где сообщение об ошибке, копируем в переводчик и видим что необъявлена переменная i
4.2 если непонятно что это такое, бросаем ШИМ и начинаем изучать Си с самых основ
Коктейль "Рекурсивный": 20% спирта, 30% воды, 50% коктейля "Рекурсивный"...
Привет всем котам и кошкам.
Вопрос бредовый, но все же никогда такого не было.
Возможно ли при перепрограммировании по SPI прогером minipro спалить AtMega168 и кварц 8Мгц.
С начало прочитал, записал 1н раз, 2й раз, а потом пшик и не коннектится.
Перепробовал все включая тактирование внешним сигналом на макетке.
Что кварц сдох узнал случайно.
Почти любым программатором можно спалить устройство -достаточно наплевать на источники питания и их земли.
Насчет кварца, он мог подохнуть от удара и почти невероятно чтобы от электричества
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Что значит "наплевать"? Питание было подано через прогер он сам от юсб. Ноги соответствовали своим назначениям.
Да и в практике бывало путал + и - ноги питания с портами, контролер раскалялся, но потом все равно работал.
Но они все дип были на заметке.
Merlin писал(а):Питание было подано через прогер он сам от юсб.
Надеюсь не через ISP-разъем?
Обычно он не предназначен для питания целевого контроллера, если это не написано в описании к программатору. Программатор не может знать какое питание нужно в конкретной схеме, что если он выдаст 5В, а в схеме стоит 3В флеш-память?
Именно через ISP, но у меня умный прогер MiniPro и в документации у него написано можно питать ( наверно)
Я как то и не заморачивался на этом +5 так +5 ну и ок