Страница 12 из 39
Re: Хоровиц Хилл Искусство схемотехники. Объясните!
Добавлено: Пн май 20, 2013 17:14:16
rl55
Расчет правильный.
По расчету у вас конденсатор 1 мкФ - проверьте,какой вы используете.
Может вы неправильно определили период?
И чем вы вообще измеряете?
Re: Хоровиц Хилл Искусство схемотехники. Объясните!
Добавлено: Пн май 20, 2013 17:19:48
АндрейАвербах
Кондер у меня 1мкф, на нем написано 105, т.е 1000000пф=1000нф=1мкф.
Измеряю, ноутбуком, через вход микрофона, Oscilloscope 2.51.
Про период не знаю.
Re: Хоровиц Хилл Искусство схемотехники. Объясните!
Добавлено: Пн май 20, 2013 17:30:08
rl55
Скорее у вас перегружен вход и сигнал ограничивается.Сигнал у вас скорее несколько вольт,а это очень много для микрофонного входа.Надо его уменьшить делителем до 1-10 мВ,где-то в 1000-100 раз.Например, нижний резистор 1 кОм, верхний - 100 кОм-1 МОм.
Re: Хоровиц Хилл Искусство схемотехники. Объясните!
Добавлено: Пн май 20, 2013 19:22:29
blackx
АндрейАвербах писал(а):Ладно, мучаем Attiny13a далее...
Ага, и нас в том числе
АндрейАвербах, не привыкайте задавать так много вопросов. Лучше сначала всегда пытаться разобраться самому (даже если на это уходит несколько дней - не все сразу). По поводу AVR - почитайте курс на easyelectronics.ru, там вполне все доходчиво написано.
Если уж на то пошло, то задавайте вопросы по AVR в соответствующем разделе форума.
1. Прошивка микроконтроллера AVR очень зависит от того, какой программатор используется. Самая популярная программа для прошивки, по моему, это avrdude. Можно прошивать и из студии, используя, например,
такой программатор.
2. Си весьма сложный язык для новичка. Лучше читайте отдельно книгу, иначе потом не разберетесь вообще. Самая популярная книга (и, наверное, самая полезная) - "Язык программирования C". Б. Керниган, Д. Ритчи // Пер. с англ. - 304 с.
3. Для симулятора и программатора должен быть один и тот же hex-файл. Да, hex-файл так и должен выглядеть. Этот формат называется Intel HEX. Есть еще, например, COFF и ELF. Про протеус не знаю, никогда не пользовался.
Re: Хоровиц Хилл Искусство схемотехники. Объясните!
Добавлено: Вт май 21, 2013 04:47:08
АндрейАвербах
blackx,
Ну, опыт программирования у меня уже есть. Только не на C. На бэйсике. Обучался (лучше сказать самообучался) я по книге "Программирование для чайников". По-моему так называется, не помню уже. И там приводились в параллель несколько языков: бэйсик, ассемблер, си,си++ и т.д.
Оттуда я и узнал, что программа на си должна начинаться со слова main и заключаться в фигурные скобки.
Книжку почитаю.
rl55,
слушайте, вообще класс! все работает, на один канал сделал, хочу на второй, вот схема и осциллограмма, экспоненту видно!!

Эх, вот так когда что-то получается думаешь: как хорошо на свете то жить.
Экспонента мигает, красота!
blackx, начал я читать эту книжку, написал первую прогу, писал в программе Dev-C++, написал, скомпилировал, открываю, черное окошко появилось и пропало, я знаю, что так и должно быть, но как мне сделать так, чтоб оно каждый раз не пропадало, для каждого файла батник писать?
Вот код проги.
#include <stdio.h>
main()
{
printf( "Hello world" );
}
rl55, вот сделал делитель на второй канал, вот что получилось.

Зеленый до кондера, желтый - после. Кондер 1 мкф.
Оцените, пожалуйста.
Изменяя частоту, проверил, что это вч фильтр. ВЧ пропускает нормально, не ослабляет.
Re: Хоровиц Хилл Искусство схемотехники. Объясните!
Добавлено: Вт май 21, 2013 09:14:51
rl55
АндрейАвербах, замечание по поводу делителя - он у вас слишком низкоомный. Будет шунтировать измеряемую цепь.Я вам рекомендовал ранее верхний резистор 100 кОм-1 МОм.
По поводу нижней картинки - не совсем понял,о какой цепи речь идет.Зеленая осциллограмма соответствует дифференцированию.
Re: Хоровиц Хилл Искусство схемотехники. Объясните!
Добавлено: Вт май 21, 2013 09:19:28
КРАМ
rl55 писал(а):Будет шунтировать измеряемую цепь
По поводу нижней картинки - не совсем понял
Полагаю, что это входной сигнал...

Re: Хоровиц Хилл Искусство схемотехники. Объясните!
Добавлено: Вт май 21, 2013 13:43:58
АндрейАвербах
rl55, т.е. вы хотите чтоб верхний резюк у меня был 1 Мом, а нижний 10 ом
Просто мне сейчас прямо проблематично найти резистор 1 Мом, тем более два.
По поводу нижней картинки вы все правильно поняли, диффцепь с кондера 1 мкф и переменным резюком 6k8.
Поставил верхний резистор 470 Ком, нижний 470 Ом, вот результат.

Сигнал сильно зашумлен из-за большого усиления на экране, напряжение на выходе равно
470000/470=1000 раз
т.е. напряжение выходное в 1000 раз меньше входного, нет, лучше я оставлю как было. А в субботу куплю резисторы 1 Мом и 10Ком.
На них и построю.
Re: Хоровиц Хилл Искусство схемотехники. Объясните!
Добавлено: Вт май 21, 2013 14:44:31
blackx
АндрейАвербах, если программа успешно скомпилировалась, то да, все верно. Попробуйте вот так:
Код: Выделить всё
#include <stdio.h>
int main()
{
printf("Hello world");
getchar();
return 0;
}
Тогда программа будет завершаться только после ввода символа (любого) в консоли.
Re: Хоровиц Хилл Искусство схемотехники. Объясните!
Добавлено: Вт май 21, 2013 15:56:25
rl55
АндрейАвербах, коэффициент деления нужно выбирать таким,чтобы сигнал на выходе делителя был достаточно большим,но в то же время недостаточным для перегрузки микрофонного усилителя.
Сделайте 100:1 или 50:1 с достаточно высокоомным верхним резистором.Иначе низкоомный резистор будет влиять на результаты ваших экспериментов и дополнительно сбивать вас с толку.
Проверять хорошо на синусоиде - при чрезмерном сигнале верхушки синусоиды подрезаются.
Кроме того,высокоомный делитель более чувствителен к помехам,а вы,наверное, подключаете его выход неэкранированным проводом.
В этом случае делитель должен находиться в непосредственной близости от микрофонного гнезда и уже не очень длинными проводами подключаться к схеме.
АндрейАвербах писал(а):Просто мне сейчас прямо проблематично найти резистор 1 Мом, тем более два.
Не обязательно 1 МОм.Любой от 100 кОм и выше.Нижний резистор в 50-100 раз меньший.
И что,у вас не с чего снять резисторы,нет никаких плат негодных?Для экспериментов самое то.
Re: Хоровиц Хилл Искусство схемотехники. Объясните!
Добавлено: Вт май 21, 2013 17:12:56
АндрейАвербах
blackx, начал читать курс по АВР на изиэлектроникс. Добрался до пункта Простейшая программа.
И не понимаю простого факта. Я написал такую программу
.include "tn13Adef.inc";
;=Start macro.inc=======
; Тут будут наши макросы, потом.
;=End macro.inc=========
; Ram===================
.DSEG ; Сегмент ОЗУ
; FLASH=================
.CSEG ; Сегмент кода
NOP
NOP
NOP
; EEPROM================
.ESEG ; Сегмент EEPROM
У меня Atmel Studio 6.0
Когда я компилирую ее и смотрю флэш память получается вот что
prog 0x0000 00 00 ..
prog 0x0002 00 00 ..
prog 0x0004 00 00 ..
prog 0x0006 ff ff яя
prog 0x0008 ff ff яя
prog 0x000A ff ff яя
prog 0x000C ff ff яя
prog 0x000E ff ff яя
prog 0x0010 ff ff яя
prog 0x0012 ff ff яя
prog 0x0014 ff ff яя
prog 0x0016 ff ff яя
prog 0x0018 ff ff яя
Такое ощущение, что адреса тут перескакивают через один. Но в общем все верно.
В примере автор использовал Atmel Studio 4
У него получилось
http://easyelectronics.ru/img/AVR_kurs/new/ak4.gif
Тут адреса идут последовательно. с чем связано такое поведение адресов? С разными версиями? Или с тем, что у автора мега16 а у меня тини13а?
И почему-то не выполняется команда JMP. Т.е. я прописываю
; FLASH=================
.CSEG ; Сегмент кода
NOP
NOP
NOP
JMP 0
А во флэшэ
prog 0x0000 00 00 ..
prog 0x0002 00 00 ..
prog 0x0004 00 00 ..
prog 0x0006 ff ff яя
prog 0x0008 ff ff яя
prog 0x000A ff ff яя
prog 0x000C ff ff яя
prog 0x000E ff ff яя
prog 0x0010 ff ff яя
prog 0x0012 ff ff яя
prog 0x0014 ff ff яя
prog 0x0016 ff ff яя
prog 0x0018 ff ff яя
Нету этой команды.
У автора
http://easyelectronics.ru/img/AVR_kurs/new/ak6.gif
Вот так, хотя в принципе, если моделировать по шагам и смотреть на Program Counter то все правильно получается.
Re: Хоровиц Хилл Искусство схемотехники. Объясните!
Добавлено: Вт май 21, 2013 18:02:02
КРАМ
Команды имеют двухбайтную длину, в отличии от данных. Но нумерация у команд побайтная, поэтому и номера только четные.
если же размещать константы во флеше программ, то есть байтное чтение и тогда нумерация идет подряд.
Re: Хоровиц Хилл Искусство схемотехники. Объясните!
Добавлено: Чт май 23, 2013 05:58:38
АндрейАвербах
Доброго времени суток, это снова я.
Вопрос:
Есть программа для тини13а
.include <tn13Adef.inc>
.DSEG
.CSEG
.org 0 ;адрес начала 0x0000
ldi R16, 0b110011
ldi R17, 0b000001
sts 0x37, R16
sts 0x38, R17
Когда запускаю, все компилится, отлаживается, но потом, когда я смотрю в порты, у меня там неувязочка происходит.

Почему с порта0 читается единица, когда сам порт0 настроен на вывод? С него вообще невозможно ничего читать, если он настроен на вывод. Судя по нашей обучалке и по курсу на изиэлектроникс это так.
Еще вопросы.
Как сделать RESET портом ввода-вывода на той же Attiny13a?
Как разбить содержимое регистра на отдельные БИТЫ?
Re: Хоровиц Хилл Искусство схемотехники. Объясните!
Добавлено: Чт май 23, 2013 07:15:56
КРАМ
Вход (цифровой) с пина отключается только при настройке этого пина как аналоговый вход. И только для того, чтобы на первом входном вентиле исключить сквозные токи.
В остальных случаях вход ВСЕГДА подключен.
Только при чтении с пина нужно различать чтение с самого пина и чтение с ВЫХОДНОЙ ЗАЩЕЛКИ, т.е. с выходного регистра. Это важно при отключении выхода (третьем состоянии). Читай даташит.
Содержимое регистра разбивается на отдельные биты БИТНЫМИ операциями по управлению и проверке на состояние. Кроме того, можно выделить бит ЛОГИЧЕСКИМИ операциями и состоянием бита Z в регистре состояния МК.
Re: Хоровиц Хилл Искусство схемотехники. Объясните!
Добавлено: Чт май 23, 2013 16:58:46
АндрейАвербах
Что значит Sink Current (Слив потока) в даташите на тини13а?
Дальше, расчет резистора для светодиода.
Допустим, к PB0 прикошачен светодиод анодом к порту, катодом в землю. Известно, что падение напряжения на светодиоде равно 1.5 вольта.
Далее по графику с названием Figure 19-28.VOH: I/O Pin Output Voltage vs. Source Current (Low Power Pins, VCC= 3V) определяем, что при токе 10 мА напряжение на PB0 равно 2.5 вольта.
Находим падение напряжения на резисторе 2,5-1,5=1,0 вольт
ток 10 мА, резистор равен 1/0,01=100 Ом
Ответ: резистор равен 100 Ом
Так?
Дальше, начал изучать прерывания.
Но в тини13а нет USART. Сколько я ни копался ничего про это не нашел, а автор показывает пример именно на USART. Я думаю чем можно заменить USART при изучении. Хотел заменить RESET'ом, там RESET уже используется для перехода на основную программу.
С другой переферией практически не знаком.
Вот программа у автора
Reset: LDI R16,Low(RAMEND) ; Инициализация стека
OUT SPL,R16 ; Обязательно!!!
LDI R16,High(RAMEND)
OUT SPH,R16
SEI ; Разрешаем прерывания глобально
LDI R17,(1<<RXCIE) ; Разрешаем прерывания по приему байта
OUT UCSRB,R17
M1: NOP
NOP
NOP
NOP
RJMP M1
Что в ней значит строчка LDI R17,(1<<RXCIE)? Можно ли применить эту же строчку для прерывания по переполнению таймера/каунтера 0?
Если нет, то какую строчку надо применить?
Re: Хоровиц Хилл Искусство схемотехники. Объясните!
Добавлено: Пт май 24, 2013 09:47:17
Gudd-Head
АндрейАвербах, в глаза долбимся? Название темы ничего не говорит?
Re: Хоровиц Хилл Искусство схемотехники. Объясните!
Добавлено: Пт июл 12, 2013 17:24:38
BeerserkN1
Из книги "Искусство схемотехники" задачи. Прошу помощи в решении.
1)Докажите, что время нарастания
сигнала (время, в течение которого сигнал изменяется
от 10 до 90% своего максимального значения)
составляет 2,2 RC.
2)Для схемы, показанной на
рис. 1.34, R1= R2 = Ю кОм и С = 0,1 мкФ.
Определите U(t) и изобразите полученную зависимость в виде
графика.
Re: Хоровиц Хилл Искусство схемотехники. Объясните!
Добавлено: Пт июл 12, 2013 18:00:06
blackx
Ну там же формула прямо под носом, решение элементарно >_<
U=Aexp(-t/RC)
U/A = exp(-t/RC)
-t/RC = ln(U/A)
t = -RCln(U/A)
t10 = -RCln(1 - 0.1) = 0.10536051565RC
t90 = -RCln(1 - 0.9) = 2.30258509299RC
dt = 2.30258509299RC - 0.10536051565RC = 2.19722457734RC
А по второму, вы бы хоть не поленились рисунок прикрепить.
Видим делитель напряжения на входе. Вспоминаем про эквивалентное последовательное сопротивление откуда-то из начала книжки:
R = Uхх/Iкз = (0.5Uвх)/(Uвх/R1) = 0.5R1 = 5 кОм.
Далее, все по той же формуле, изображенной под носом, U = Uвх + Aexp(-t/RC).
После нехитных преобразований с использованием начальных условий получаем
U = Uвх(1-exp(-t/RC)).
R известно, C - известно, график стройте сами.
Re: Хоровиц Хилл Искусство схемотехники. Объясните!
Добавлено: Пт июл 12, 2013 20:37:53
BeerserkN1
blackx писал(а):Ну там же формула прямо под носом, решение элементарно >_<
В принципе, изначально, всё было понятно. Просто ввиду невнимательности меня немного сбили с толку промежутки интегрирования в уравнении, которое идёт далее. Я думал, что решать эту задачу нужно с помощью него. Поэтому я и застопорился, но потом осознал всю простоту решения. А вот вторую задачу я решил, просто записал условие по ошибке. Но тем не менее, большое вам спасибо за оказание помощи.
Вообще, книга "искусство схемотехники" очень интересная. Постараюсь и дальше изучать по ней схемотехнику.
Re: Хоровиц Хилл Искусство схемотехники. Объясните!
Добавлено: Сб июл 13, 2013 09:58:38
BeerserkN1
Решил следующую задачу: Докажите, что если
А = ВС, то
А = ВС, где А, В, С-амплитуды комплексных чисел.
Подсказка: представьте каждое комплексное число
в форме А = Ае^jw .
Решение:
Комплексной амплитудой является следующее выражение:
А =
Ае^jw.
Возьмём произвольно два числа в показательной форме.
B=5e^j50 градусов,
C=5e^j60 градусов. Перемножим их по правилу перемножения комплексных чисел в показательной форме:

Перемножим числа: 5e^j50*5e^j60=25e^j110. Переведём в алгебраическую форму записи (25*cos(110)+j*25*sin(110))= -8.55+23.492j
Теперь пойдём другим путём. Перемножим непосредственно числа в алгебраической форме (переведя их естественно в эту форму)
5e^j50=5*cos(50)+j*5*sin(50)=3.214+j3.83
5e^j60=5*cos(60)+j*5*sin(60)=2.5+j4.33
Теперь перемножим их
(3.214+j3.83)*(2.5+j4.33)=-8.55+23.492j.
Числа в первом и втором варианте получились одинаковыми
Верны ли мои рассуждения?