Заметки электроника
Простое - надёжнее!
Меню
  • Главная
  • Погода
  • Заметки
  • Календарь
  • Фотогалерея
  • Песни
  • Чтиво
  • Программы
  • Скачать
  • Связь и ссылки
  • Лавка
  • Чехия

Живёшь в Чехии?

16 июля. Москва. Жара. К ночи возможно формирование грозовых фронтов

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Родительская категория: Погода
Категория: Альтернативная погода от wow-only.ru
Создано: 16 июля 2014
Обновлено: 16 июля 2014
Просмотров: 3769
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
Сегодня стоит очень жаркая погода, однако атмосферное давление начало снижаться. К ночи, с повышением влажности, ожидаем создания благоприятных условий для формирования грозовых фронтов.


 

14,15 июля. Москва. Ожидается жара

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Родительская категория: Погода
Категория: Альтернативная погода от wow-only.ru
Создано: 14 июля 2014
Обновлено: 15 июля 2014
Просмотров: 3763
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
15 июля
Сейчас, за счёт низкой проветриваемости, создаётся серьёзная угроза здоровью при нахождении в больших городах, в частности, в Москве. Сегодня ожидается ОЧЕНЬ жаркая погода. До 32+.
14 июля
Атмосферное давление выросло, воздух существенно прогрелся. На фоне мощного антициклона влажность находится на низком уровне. Сегодня ожидается сухая, очень жаркая погода, без осадков. Берегите себя, опасайтесь теплового удара.

11 июля. Москва. Ожидается прохладная облачная с прояснениями погода

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Родительская категория: Погода
Категория: Альтернативная погода от wow-only.ru
Создано: 11 июля 2014
Обновлено: 11 июля 2014
Просмотров: 4126
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
Атмосферное давление пошло вверх. А значит скоро через плотную пелену облаков проглянет Солнце.
 Ожидаем смены погоды на облачную  с прояснениями,  "расчистка" может произойти к ночи и тогда этой ночью будет довольно прохладно, до +8.

Атмосферное давление растёт
 

Полиноминальная и дробная аппроксимация тригонометрических функций. От float к FIXED

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Родительская категория: Заметки
Категория: Программирование микроконтроллеров
Создано: 20 июня 2014
Обновлено: 26 июня 2014
Просмотров: 5051
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

  (заметка будет дописываться)

Цель: аппроксимация функции asin целочисленными линейными полиномами совместно с табличным методом с целью увеличения скорости вычислений и уменьшения расхода памяти при вычислениях на процессоре с фиксированной точкой PIC18F. Нотация представления 1.0 float eq 16384 int.

1. Разобьем функцию в диапазоне аргументов x=  0.. 1.0 на более мелкие участки, длина которых обратно пропорциональна log2N. Для этого используем MATLAB.

Весь участок выглядит так, как показано на рисунке 1.

Арксинус

Рис.1 Арксинус (в радианах) на участке  x=  0.. 1.0. arcsin(x). 

M-файл:

clear;
indx=0;
for argum= 0.00:1./16384.:16384./16384.
%нумерация для массивов, которые будем использовать для аппроксимации
insideidx0 = mod(indx,8192)+1;
insideidx1 = mod(indx,4096)+1;
insideidx2 = mod(indx,2048)+1;
insideidx3 = mod(indx,1024)+1;
insideidx4 = mod(indx,512)+1;
insideidx5 = mod(indx,256)+1;
insideidx6 = mod(indx,128)+1;
insideidx7 = mod(indx,64)+1;
insideidx8 = mod(indx,32)+1;
 %сложность аппроксикации возникает в конце, где возрастает нелинейность, переворачиваем нумерацию для построения условий
indx_c = 16384 - indx ;
if(indx_c > 8192)
  asinout_0(insideidx0) = asin(argum);
  xcoord_0(insideidx0) = argum;
else
  if(indx_c > 4096)
  asinout_1(insideidx1) = asin(argum);
  xcoord_1(insideidx1) = argum;
  else
  if(indx_c > 2048)
  asinout_2(insideidx2) = asin(argum);
  xcoord_2(insideidx2) = argum;
  else
  if (indx_c > 1024)
  asinout_3(insideidx3) = asin(argum);
  xcoord_3(insideidx3) = argum;
  else
  if (indx_c > 512)
  asinout_4(insideidx4) = asin(argum);
  xcoord_4(insideidx4) = argum;
  else
if (indx_c > 256)

  asinout_5(insideidx5) = asin(argum);

  xcoord_5(insideidx5) = argum;

 

  else

 

  if (indx_c > 128)

  asinout_6(insideidx6) = asin(argum);

  xcoord_6(insideidx6) = argum;

 

  else

 

  if (indx_c > 64)

  asinout_7(insideidx7) = asin(argum);

  xcoord_7(insideidx7) = argum;

 

else

 

  if (indx_c > 32)

  asinout_8(insideidx8) = asin(argum);

  xcoord_8(insideidx8) = argum;

font-size: 10.0pt; font-family: 'Courier New'; color: blue; background: white; mso-highlight: white; mso-ansi-language: EN-US;

 

 end

 end

 end

 end

 end

 end

 end

end

 

end

 

indx = indx+1;

full_asin(indx)= asin(argum);

xcoord_full(indx) = argum;

 

end

Теперь мы имеем 8 массивов с длинами, кратными 2n : 8192, 4096, 2048, 1024, 512, 256, 128, 64, 32. Внутри этих участков функция ведёт себя близко к линейной.

2. Используем Curve Fitting Tool для аппроксимации полиномов (1-й степени):
Полином первой степени имеет вид:

f(x) = p1*x + p2

>> cftool

 

Рис.2 Настройки аппроксимации

 

Подробнее: Полиноминальная и дробная аппроксимация тригонометрических функций. От float к FIXED

Расчёт и измерение индуктивности. Индуктивность по известной частоте и ёмкости в колебательном контуре

  • Печать
  • E-mail
Информация о материале
Автор: Super User
Родительская категория: Заметки
Категория: Лаборатория
Создано: 25 июня 2014
Обновлено: 25 июня 2014
Просмотров: 5606
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Цель: определить количество витков, требуемых для получения определённой индуктивности на отдельно взятом сердечнике.

Измерить индуктивность можно косвенным способом. Например, использовав параллельный колебательный контур.

Итак: 

1. Берём сердечник, провод, ёмкость с хорошими характеристиками (NPO, C0G)
2. Наматываем известное количество витков провода на сердечник (например, N0=30).
3. Припаиваем параллельно полученной индуктивности конденсатор (в нашем примере 1.5 нФ, желательно измерить  ёмкость по-точнее) и 2 резистора (в нашем примере по 82 кОм).
Генератор сигналов и осциллограф подключаем согласно рисунку

Измеряем  индуктивность

Осциллограф подключается с включенным делителем на щупе. Изменяя частоту генератора, находят точку резонанса (максимальная амплитуда сигнала на экране осциллографа). 
Резистивная развязка должна быть достаточной, чтобы обеспечить высокую добротность контура, что нужно для определения резонансной частоты.

Частоту записываем. 
Теперь данных достаточно для написания несложной функции на M-языке для MATLAB, например, чтобы автоматизировать расчёты.

function N1 = induct(L_target)
N0=30;
f=1.598*10^6; %измеренная резонансная частота
C=1.458*10^-9; %измеренная заранее ёмкость
w=2*pi*f;
L=1/((w^2)*C); % индуктивность катушки с N0 витков
N1 = (sqrt(L_target/L))*N0; % искомое количество витков
end


В качестве примера расчёта:
>> induct(3.88*10^-6)
ans =
22.6554

Т.е. примерно 23 витка для индуктивности в 3.88 мкГн.

  1. 23 июня 2014. Москва. Ожидаются дожди. Вероятность грозы
  2. 19,20 июня 2014. Москва. Облачно с прояснениями.
  3. Скачать файл с помощью TotalCommander
  4. CORDIC - целочисленный и с плавающей точкой

Страница 162 из 166

  • 157
  • 158
  • 159
  • ...
  • 161
  • 162
  • 163
  • 164
  • ...
  • 166

Back to Top

© 2023 Заметки электроника

Top.Mail.Ru