Вериги

Калкулатор на невероятната мощна съпротива: 7 стъпки (със снимки)

unboxing turtles slime surprise toys learn colors

unboxing turtles slime surprise toys learn colors

Съдържание:

Anonim

Картината е резултат от няколко изчисления на съпротивата и някакви заговорки с нея.
Втората картина е на невероятно мощен калкулатор за деня, но не и калкулатор за съпротива. Тя се нарича Различен двигател. Можете да прочетете за него на адрес: http://en.wikipedia.org/wiki/Difference_engine Калкулаторът за съпротива е базиран на Python (вариант, наречен SageMath) и е съставен от софтуер, който не е хардуер.

Интернет е пълен с калкулатори за съпротивление, особено за серийни и паралелни вериги, или за уравнения за решаване на общото съпротивление в схеми с различни резисторни стойности. Но това е по-добре. Ще ви покажа как да използвате този невероятно мощен калкулатор за съпротива, той прави всичко по-горе и още повече, включително:
  • Импеданс на кондензатори
  • Импеданс на индукторите
  • Моделиране на потенциометри и делители на напрежението
  • Ток през вериги
  • Фаза Shift в схеми
  • Създаване на персонализирани стойности
  • Вериги с резистори, кондензатори и индуктори
  • Резонират вериги

Първа картина, изчислена с калкулатора за съпротива, втората снимка е от: http://commons.wikimedia.org/wiki/File:Difference_engine.JPG

градина:

Стъпка 1: Инструменти и материали

Калкулаторът е написан във версия на Python, но не е нужно Python да я изпълнява, цялата компютърна среда е достъпна безплатно в мрежата. Това, от което имате нужда, е:
  • Компютър с интернет връзка. Може да бъде PC, Mac или Linux
  • Безплатен акаунт в http://www.sagenb.org/
  • Някои файлове, съдържащи калкулатора и някои примери за изчисления. Те са привързани към тази невъзможна.

Стъпка 2: Електрическа теория

Тук няма да навлизам в основната електрическа теория, а просто използвам резултатите. Уикипедия има добро обсъждане на основната теория:
  • Индукция От Уикипедия, свободната енциклопедия http://en.wikipedia.org/wiki/Inductance
  • Електрическо съпротивление и проводимост От Уикипедия, свободната енциклопедия http://en.wikipedia.org/wiki/Electrical_resistance
  • Капацитет от Уикипедия, свободната енциклопедия http://en.wikipedia.org/wiki/Capacitance

Нека първо се справим с точно съпротивление (без капацитет, C, или Inductance, L). Ако имате един резистор с съпротивление R1 има два начина, можете да свържете друг резистор, R2, или в серия или паралелно. Ако направите някоя от основните формули, които ви позволяват да изчислите ефективното съпротивление на двойката, това е съпротивлението, което бихте имали, ако сте заменили двойката с един резистор. LRC извършва изчислението.
Сега, когато стойността на LRC е еквивалентна на един резистор, можете да повторите добавянето на нов резистор.
Методите, които имаме в LRC, за да направят това, се наричат ​​add_serises_r () и add_parallel_r ().
Ами ако не е резистор, а кондензатор? Първо, ако приемем, че синусоида за напрежението (което ние почти винаги правим), съпротивлението зависи от честотата. Второ, използваме комплексни числа, за да представим съпротивлението (и ако внимателно го наричаме импеданс). След като имаме комплексен импеданс, можем да използваме същите формули като за резистори. Отново това е, което прави LRC.
В "реалния свят" физическите стойности не са сложни, така че за интерпретиране на резултатите често използваме само реалната част или абсолютната стойност, LRC също прави това по подходящ начин. Цялата теория е доста готино, помислете за учене, ако не сте вече запознати с него.
Картината е от уикипедия, уравненията на Максуел, основните уравнения на електромагнетизма.

Стъпка 3: Двете основни схеми: серия и паралел

Тези 2 вериги не са най-интересни, но те са добро място за започване.

За да използвате калкулатора, пишете в "тетрадка". Това е малко като текстообработваща програма, където можете да напишете това, което искате. Разликата е, че вместо параграфите, тя е разделена на „клетки“. Когато приключите с клетка, можете да я изпълните и нейният изход да се появи точно под клетката. По-долу можете да имате друга клетка. Клетката може да бъде модифицирана и след това да бъде изпълнена отново, може би с малко по-различно съдържание. Бележникът може да бъде запазен като файл.


Това може да изглежда малко тромаво, но е наистина полезно, тъй като винаги имате запис за това, което сте направили, и можете да копирате и поставяте от стара работа или примерна работа. Можете също да добавяте коментари, за да документирате работата си. Ще ви покажа съдържанието на клетка с много коментари (така обяснението е в клетката) и след това ще ви покаже изхода на клетката. Имайте предвид, че когато правите вашите изчисления, не е необходимо да сте почти толкова многословни. (Линиите, които започват с "#" са само коментари за вас и не правят нищо в калкулатора. Всъщност ще напиша някои от тези инструкции, като използвам коментарите в кода, моля, прочетете ги. Само 4 от редовете действително правят изчислението, останалите са обяснение.)

Ето го

-------------------- започва код -------------------- # За първото изчисление ще получим общото съпротивление за резистор # на 1 K ома в серия с един от 10 K ома # (и да знам, ако знаете много електроника можете да направите това в главата си) печат "Първо изчисление - Добави 1K резистор до 10K резистор в серия: "print # Стъпка 1 # направи резистор, който е калкулатор, LRC означава Inductance, Resistance, # Capacitance, и е # използван, защото калкулаторът може да направи всички от тях. # Ще използвам дългото име "aResistor", за да ви напомня какво означава, # но можете да използвате само "r" # Този следващ ред създава "aResistor" без стойност (технически със стойност None) # Стъпка 1 aResistor = LRC () print "игнорира разпечатката за честотата, това се използва само при по-напреднали изчисления" # Стъпка 2 # добавяме ново съпротивление на "резистор" aResistor.add_series_r (1000) # добавяме 1 k ohm резистор # това ще предизвика изход, който казва какво направихме # Стъпка 3 # сега добавете второто съпротивление, в последователност с първия aResistor.add_series_r (10000) # 10000 = 10K # това отново ще предизвика изход, който казва какво направихме # Стъпка 4 # получавате крайната стойност за съпротивата (имайте предвид, че z е общ символ за съпротива) print print "Крайната стойност на комбинираното съпротивление =", aResistor.get_z () # показва текущата стойност на съпротивата, само сумата от съпротивления # последен коментар потиска подразбиращия се печат в края на клетка -------------------- start output ------------ -------- Първо изчисление - Добавете 1K резистор към 10K резистор последователно: LRC () използвайки вътрешна честота lrc_freq в Hz игнорирайте отпечатването за честота, това се използва само в по-напреднали изчисления LRC.add_series_r () 1000 LRC.add_series_r () 10000 Крайна стойност на комбинирано съпротивление = 11000 -------------------- краен изход --------------- -----

Можем да направим същото нещо за 2 резистора паралелно, ще използваме 1K и 10K отново, тук:

-------------------- начален код ---------------------------- ---- print "Second Calculation - Добавете 1K резистор към 10K резистор паралелно:" print # ----- # направи "aResistor" който е калкулатор aResistor = LRC () # ----- # сега добавете съпротивление на нашия "резистор" aResistor.add_parallel_r (1000) # това ще предизвика изход, който казва какво сме направили, а текущата стойност за импеданса = съпротивление # ----- # сега добавя второто съпротивление, паралелно с първия aResistor.add_parallel_r (10000) # това отново ще предизвика изход, който показва какво сме направили, и # ----- print print "Крайната стойност на комбинираното съпротивление =", aResistor.get_nz () # nz в функцията по-горе натиска пълна числена оценка на десетична стойност # thi коментар потиска края на клетката по подразбиране при печат -------------------- начален изход --------- ----------------------- Второ изчисление - Добавете 1K резистор към 10K резистор паралелно: LRC () използвайки вътрешна честота lrc_freq в Hz LRC.add_parallel_r () 1000 LRC.add_parallel_r () 10000 Крайна стойност на комбинираното съпротивление = 909.090909090909 -------------------- краен изход ------------------ -------------- Няколко бележки за това какво се случва тук.

  • Това е обектно ориентирано програмиране. Изявления като lrc = LRC () е начинът, по който Python прави обект.
  • Първият резистор, добавен към обекта, не е редовно или паралелно, няма значение дали добавяте паралелно или серия, съпротивлението преди добавянето е "None".
  • Всеки път, когато добавяте съпротивление, обектът намира еквивалентното съпротивление на старата си стойност, съчетано със стойността, която добавяте. Той (вие) може да продължи да добавя резистори за толкова дълго, колкото искате, със сигурност не се ограничава до 2 резистори.

Стъпка 4: По-сложна схема

Да поставим 3 1.5 K резистора паралелно, а след това още 2 последователно с него.

Ето кратко описание на изчислението:

  • Направете LRC калкулатор
  • С помощта на калкулатора Добавете (паралелно) резистор 1.5 k, повторете още 2 пъти.
  • Добавете (последователно) друг резистор, повторете
  • Свършен

тук е кодът и отговорът.

-------------------- начален код ---------------------------- # # По-сложна схема # Ще дам схематично в ASCII символи - не част от изчисленията, # само за да ви помогна да разберете # много отпечатъци, не е необходимо, само за да обясните какво се случва # print "Third Calculation - пример за серия и паралелна резисторна комбинация:" print print "Изчислете съпротивлението от x до x" print print "| ----------- 1.5K --------- ---- | " отпечатай "| |" print "x --- | ----------- 1.5K ----- == ------ | 1.5k ------- 1.5 K ------ x "отпечатай" | | " отпечатай "| ----------- 1.5K ------------- |" print # направи калкулатора на резистора отпечатай "Начало …" aResistor = LRC () print print "Направете паралелни резистори …" print print "| ----------- 1.5K ---- --------- | " отпечатай "| |" print "x --- | ----------- 1.5K ----- == ------ | -" печат "| |" отпечатай "| ----------- 1.5K ------------- |" print aResistor.add_parallel_r (1.5e3) # 1.5e3 е научна нотация, по-кратък начин на писане 1500 aResistor.add_parallel_r (1.5e3) aResistor.add_parallel_r (1.5e3) print "и сега двата серия reisistors" print print "| - -------- 1.5k ---------- 1.5K ------ | " print print aResistor.add_series_r (1.5e3) aResistor.add_series_r (1.5e3) print # done, но последна стъпка използвайки n () print "Крайната стойност на комбинираната резистентност =", aResistor.get_nz () # потискане на крайния клетъчен печат ------------------- краен код, начален изход -------------------- Трети изчисления - пример за серия и паралелна резисторна комбинация: Изчислете съпротивлението от x до x | ----------- 1.5K ------------- | | | x --- | ----------- 1.5K ----- == ------ | ------ 1.5k ------- 1.5K- ----- x | | | ----------- 1.5K ------------- | Започнете … LRC () използвайки вътрешна честота lrc_freq в Hz Направете паралелните резистори … | ----------- 1.5K ------------- | | | x --- | ----------- 1.5K ----- == ------ | - | | | ----------- 1.5K ------------- | LRC.add_parallel_r () 1500.00000000000 LRC.add_parallel_r () 1500.00000000000 LRC.add_parallel_r () 1500.00000000000 и сега резисторите от две серии | ---------- 1.5k ---------- 1.5K- ----- | LRC.add_series_r () 1500.00000000000 LRC.add_series_r () 1500.00000000000 Крайна стойност на комбинирано съпротивление = 3500.00000000000 -------------------- краен изход --------- -----------------------

Повече за това, което се случва

Калкулаторът работи в среда на Python, наречена Sage, така че редовете, които пишете, всъщност са част от интерактивна програма. Можете да го стартирате в мрежата, като влезете в безплатен уеб сървър на адрес: http://www.sagenb.org/ Трябва да се регистрирате.

Тъй като се изпълняват в Python, се прилагат всички правила на Python; няколко, които да отбележат тук, за да ви предпазят от неприятности:

  • Вдлъбнатините са важни, не отстъпвайте, докато не разберете какво означава.
  • Капитализацията има значение, aResistor не е същото като aresistor.
  • # започва коментар от един ред, може да се използва след код за коментар или без коментар на същия ред
  • има някои трикове за вграждане в помощ за четене на документацията на Sage Notbook, приложението също е добре документирано в мрежата.

Python е един от най-добрите настоящи езици, който си струва да се научи.

Стъпка 5: Разширено приложение

В това приложение ще покажем как калкулаторът може да работи с алгебра, както и с числа, това може да се използва за намиране на стандартни уравнения за серийни и паралелни вериги или дори по-сложни формули. Кодът и изходът ще бъдат единственото обяснение тук, използвайте онлайн ресурси, ако се нуждаете от повече информация.

----------------- начален код ----------------- print "Повторете и разширете символичното изчисление - решете за r под 1 "print" Отново без много обяснение вземете формулата за 2 резистора паралелно "print # когато правим нещата символично, трябва да дефинираме нашите символи var (" r1 ") # символ за резистор 1 var (" r2 ") # символ за резистор 2 var ("r3") # символ за резистор 3 комбинацията lrc = LRC () lrc.add_parallel_r (r1) lrc.add_parallel_r (r2) print print "така че двете в parllel са:", lrc.get_z () print print "Сега направете някои алгебра и превърнете изчислението в уравнение за r3" print ", след това решава за r1 по отношение на r3 и r2" # Аз не обяснявам това, но това е просто SageMath, погледнете в уравнението на уеб референциите = (r3 = = lrc.get_z ()) print equation print print "решаване …" решение = equation.solve (r1) print (решение) # show (разтвор) дава по-добър резултат, опитайте ---------- ------- начален изход ----------------- Повторете и разширете символичното изчисление - решете за r sub 1 Отново без т много обяснение получите формула за 2 резистори в паралелно LRC (), използвайки вътрешна честота lrc_freq в Hz LRC.add_parallel_r () r1 LRC.add_parallel_r () r2, така че двете в parllel са: 1 / (1 / r1 + 1 / r2) Сега направете някаква алгебра и превърнете изчислението в уравнение за r3, след което решава за r1 по отношение на r3 и r2 r3 == (1 / (1 / r1 + 1 / r2)) решаване … r1 == r2 * r3 / (r2 - r3) ----------------- краен изход -----------------

Стъпка 6: Настройване на калкулатора

Изтеглете файла от този instructable (наречен "LRC Instructable Files.zip", но системата insturctable може да я преименува). Това е zip файл с няколко различни работни листа в него. Не е нужно да го разархивирате, Sage ще направи това за вас.

Отидете на http://www.sagenb.org/, използвайте „Изберете доставчик на OpenID“ за сайт, където имате акаунт, за да влезете в бележника. Ще бъдете отведени към новия ви акаунт на сървъра на лаптопа.

Изберете и прегледайте, за да изберете файла, който сте запаметили “LRC Instructable Files.zip” натиснете нагоре “upload”.

Ще видите файловете на работния лист в notebok. Кликнете върху един, за да го стартирате, изследвайте средата на градински чай и калкулатора на LRC.

Всеки работен лист е отделна среда, но можете да стартирате няколко наведнъж, за да направите нов работен лист за LRC изчисления или да го копирате, след това го запишете под ново име, след което сте свободни да го промените. Или направете нов празен работен лист и копирайте LRC клетката от един от съществуващите работни листове и я изпълнете в новия работен лист.

Включих PDF версии на работните листове, които не могат да се изчислят, затова ви призовавам да опитате истинското нещо, като използвате Sage Notebook.

Стъпка 7: Давай по-далеч

Има много повече неща, които можете да направите с този калкулатор, това е само истинските основи. Някои от прикачените файлове са ефективно инструктажи за тези други функции. Ако не искате да отидете на неприятности за изпълнение на SageMath, можете да видите входа и изхода на файловете в приложените PDF файлове. Без много обяснения можете:
  • Използвайте за AC вериги, просто използвайте setOmega (), за да зададете ъгловата честота на AC, която искате да използвате, направете това веднага след дефиниращата линия (aR = LRC ()). След това можете да използвате дросели и кондензатори, както и резистори. Стойностите на импеданса ще бъдат сложни (виж: http://en.wikipedia.org/wiki/Electrical_impedance)
  • Можете или не искате да прочетете клетката, която дефинира LRC обекта.
  • Sage е символична система, която може да разреши уравнения, да открие максимуми и минимали …. да направиш някои изследвания на Sage, използвайки Google и термина за търсене "Sagemath"
  • Прочетете кода, за да получите представа за функционалните повиквания и какво правят.
  • Предоставил съм повече примерни тетрадки с много коментари, инсталирам ги в профила ви в Sage и разследвам как работят те.
  • Можете да поставите Sage Notebook на собствения си компютър.
  • Sagemath Cloud е нова, безплатна, бета версия на Sage.

Мога да разширя този обект, за да направя повече в бъдеще. Какво бихте искали да видите? Коментирайте по-долу или ми пишете.