Давачі наближення
Курсовой проект - Физика
Другие курсовые по предмету Физика
592 с.
Новейшие датчики , 2007 - 380 с.
- Котюк А.Ф. Датчики в современных измерениях. Изд-во "Радио и связь", 2006 - 96 с.
- Инфракрасный датчик присутствия (10.10.2007) -
">
- Каталог елементів (20.12.2007) -
- Васюра А.С. "Електромагнітні елементи та пристрої систем управління і автоматики", ч. ІІ. "Електромагнітні елементи цифрової техніки". Навчальний посібник. - Вінниця, ВДТУ, 2001. - 162 с.
- Васюра А.С., Компанець М.М., Кривогубченко С.Г., Кулік А.Я., МізернийВ.М. Принципи проектування електронних засобів автоматики. / Навчальний посібник. - Вінниця, ВДТУ, 1999. - 121 с.
- Васюра А.С. „Електромагнітні елементи та пристрої систем управління і автоматики", ч.I. „Електромагнітні елементи аналогових пристроїв"/Навчальний посібник - Вінниця:, ВДТУ, 2000.
- Мікроелектронні сенсори фізичних величин: Науково-навчальне видання. В 3 томах. Том 1./ Вуйцин В.В., Гонта З.Ю., Григорєв В.В., Калита В.М., Мельник О.М. За редакцією З.Ю. Гонти, - Львів: Ліга-Прес,2002. - 475с.
Додатки
Додаток В - Приклад розрахунку давача наближення
Розрахувати давач наближення з амплітудою генерованих імпульсів 0,25А, довжиною генерованих імпульсів 10,5 мкс, періодом генерації імпульсів 0,16 с, тривалістю вихідного імпульсу 0,08 с.
Напругу живлення можна обрати рівною 6В. Далі розрахунок проводиться за методикою, розробленою в розділі 3.
.
Решта елементів беруться з такими номіналами, які вказані в додатку Б.
Додаток Г - Алгоритм розрахунку давача наближення
Додаток Д - Лістинг програми розрахунку давача наближення
#include
#include
#include
void findRC( double &r, double &c, double res, double delta = 0.0, double step = 0.00000000001 )
{
int sign = 1;
if ( ( r * c ) > res )
{
sign = -1;
}
double minDelta = fabs( res - r * c );
while ( minDelta > delta )
{
r += step * sign;
c += step * sign;
if ( fabs( res - r * c ) > minDelta )
{
r -= step * sign;
c -= step * sign;
break;
}
minDelta = fabs( res - r * c );
}
}
void main( )
{
double inpVolt;
double iImp;
double tImp;
double T;
double tZv;
char choose;
do
{
printf( "Enter input voltage: ");
scanf( "%lf", &inpVolt );
printf( "Enter impulse amplitude: ");
scanf( "%lf", &iImp );
printf( "Enter generated impulses length: ");
scanf( "%lf", &tImp );
printf( "Enter impulses period: ");
scanf( "%lf", &T );
printf( "Enter output impulse length: ");
scanf( "%lf", &tZv );
double r5 = ( inpVolt - 3.5 ) / iImp;
printf( "R5 = %.3lf Ohm\n", r5 );
double r3 = 10 * pow( 10, 3 );
double c2 = 1000 * pow( 10, -12 );
findRC( r3, c2, tImp / 0.7 );
printf( "R3 = %.2e Ohm, C2 = %.2e Farad\n", r3, c2 );
double r2 = 300 * pow( 10, 6 );
double c1 = 0.047 * pow( 10, -6 );
findRC( r2, c1, T / 1.4 );
printf( "R2 = %.2e Ohm, C1 = %.2e Farad\n", r2, c1 );
double r8 = 300 * pow( 10, 6 );
double c7 = 0.047 * pow( 10, -6 );
findRC( r8, c7, tZv / 0.7 );
printf( "R8 = %.2e Ohm, C7 = %.2e Farad\n", r8, c7 );
printf( "\n TESTING:\n" );
printf( "Iimp = (V - 3.5) / R5 = ( %.2e - 3.5 ) / %.2e = %.2e\n", inpVolt, r5, ( inpVolt - 3.5 ) / r5 );
printf( "timp = 0.7*R3*C2 = 0.7 * %.2e * %.2e = %.2e\n", r3, c2, 0.7 * r3 * c2 );
printf( "T = 1.4*R2*C1 = 0.7 * %.2e * %.2e = %.2e\n", r2, c1, 1.4 * r2 * c1 );
printf( "Tzv = 0.7*R8*C7 = 0.7 * %.2e * %.2e = %.2e\n", r8, c7, 0.7 * r8 * c7 );
while( kbhit( ) )
{
getche( );
}
printf( "\nDo you want to repeat calculation (y/n)? " );
choose = getche( );
printf( "\n\n" );
} while( choose != n );
}
Додаток Е - Результати роботи програми розрахунку давача наближення
Enter input voltage: 6
Enter impulse amplitude: 0.25
Enter generated impulses length: 0.0000105
Enter impulses period: 0.16
Enter output impulse length: 0.08
R5 = 10.000 Ohm
R3 = 1.00e+004 Ohm, C2 = 1.50e-009 Farad
R2 = 3.00e+008 Ohm, C1 = 3.80e-010 Farad
R8 = 3.00e+008 Ohm, C7 = 3.80e-010 Farad
TESTING:
Iimp = (V - 3.5) / R5 = ( 6.00e+000 - 3.5 ) / 1.00e+001 = 2.50e-001
timp = 0.7*R3*C2 = 0.7 * 1.00e+004 * 1.50e-009 = 1.05e-005
T = 1.4*R2*C1 = 0.7 * 3.00e+008 * 3.80e-010 = 1.60e-001
Tzv = 0.7*R8*C7 = 0.7 * 3.00e+008 * 3.80e-010 = 7.98e-002
Do you want to repeat calculation (y/n)? n