{ "cells": [ { "metadata": { "collapsed": true }, "cell_type": "markdown", "source": "# Electronics Demos\n\n\nSee also some of the circuit diagram demos in the *3.2.0 Generating Embedded Diagrams.ipynb* notebook.\n\nThis notebook demonstrates how we can use a range of techniques to script the creation of electrical circuit diagrams, as well as creating models of circuits that can be rendered as a schematic circuit diagram and analysed as a computational model. This means we can:\n\n- create a model of a circuit as a computational object through a simple description language;\n- render a schematic diagram of the circuit from the model;\n- display analytic equations describing the model that represent particular quantities such as currents and voltages as a function of component variables;\n- automatically calculate the values of voltages and currents from the model based on provided component values.\n\nThe resulting document is self-standing in terms of creating the media assets that are displayed from within the document itself. In addition, analytic treatments and exact calculations can be performed on the same model, which means that diagrams, analyses and calculations will always be consistent, automatically derived as they are from the same source. This compares to a traditional production route where the different components of the document may be created independently of each other.\n\nA full treatment would require a notebook environment with various notebook extensions enabled so that things like code cells could be hidden, or generated equations and diagrams could be embedded directly in markdown cells.\n\nCells could also be annotated with metadata identifying them as cells to be used in a slideshow/presentation style view using the RISE notebook extension. (*You could do this yourself now, it's just taking me some time working through all the things that are possible and actually marking the notebook up!*)" }, { "metadata": {}, "cell_type": "markdown", "source": "## `lcapy`\n\n`lcapy` is a linear circuit analysis package that can be used to describe, display and analyse the behaviour of a wide range of linear analogue electrical circuits.\n\nThe *3.2.0 Generating Embedded Diagrams.ipynb* notebook demonstrates how electrical circuit diagrams can be written using the `circuitikz` *TeX* package. Among other things, `lcapy` can generate circuit diagrams using `circuitikz` scripts generated from a simpler Python grammar.\n\n`lcapy` provides a far more powerful approach, by using a circuit description that can be used to generate an circuit diagram as the basis for a wide range of analyses. For example, `lcapy` can be used to describe equivalent circuits (such as Thevenin or Norton equivalent circuits), or generate Bode plots.\n\n*There are some further examples not yet featuring in these Azure notebooks linked to from [An Easier Approach to Electrical Circuit Diagram Generation – lcapy](https://blog.ouseful.info/2018/08/07/an-easier-approach-to-electrical-circuit-diagram-generation-lcapy/).*" }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "%%capture\ntry:\n %load_ext tikz_magic\nexcept:\n !conda config --add channels conda-forge\n !conda install -y imagemagick\n !pip install --user git+https://github.com/innovationOUtside/ipython_magic_tikz", "execution_count": 2, "outputs": [] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "%%capture\ntry:\n import lcapy\nexcept:\n !pip install git+https://github.com/mph-/lcapy.git", "execution_count": 3, "outputs": [] }, { "metadata": {}, "cell_type": "markdown", "source": "Let's see how far we can get doing a simple re-representation of an OpenLearn module on electronics." }, { "metadata": {}, "cell_type": "markdown", "source": "## OpenLearn Example\n\n*The following section is a reworking of http://www.open.edu/openlearn/science-maths-technology/introduction-electronics/content-section-3.1 .*" }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "import lcapy\nfrom lcapy import Circuit\n\nfrom IPython.display import display, Latex\n%matplotlib inline", "execution_count": 4, "outputs": [] }, { "metadata": {}, "cell_type": "markdown", "source": "### Voltage dividers\nVoltage dividers are widely used in electronic circuits to create a reference voltage, or to reduce the amplitude of a signal. The figure below shows a voltage divider. The value of $V_{out}$ can be calculated from the values of $V_S$, $R_1$ and $R_2$." }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#We can create a schematic for the voltage divider using lcapy\n#This has the advantage that circuit description is also a model \n#The model can be analysed and used to calculate voltages and currents, for example,\n# across components if component values and the source voltage are defined\n\n#Figure: A voltage divider circuit\nsch='''\nVS 1 0 ; down\nW 1 2 ; right, size=2\nR1 2 3 ; down\nR2 3 4; down\nW 3 5; right\nP1 5 6; down,v=V_{out}\nW 4 6; right\nW 4 0; left\n'''\n\n#Demonstrate thate we can write the descriptioon to a file \nfn=\"voltageDivider.sch\"\nwith open(fn, \"w\") as text_file:\n text_file.write(sch)\n\n# and then create the circuit model from the (persisted) file \ncct = Circuit(fn)", "execution_count": 5, "outputs": [] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#Draw the circuit diagram that corresponds to the schematic description\ncct.draw(style='american', draw_nodes=False, label_nodes=False) #american, british, european\n#Draw function is defined in https://github.com/mph-/lcapy/blob/master/lcapy/schematic.py\n#The styles need tweaking to suit OU convention - this requires a minor patch to lcapy\n#Styles defined in https://github.com/mph-/lcapy/blob/master/lcapy/schematic.py#Schematic.tikz_draw", "execution_count": 6, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgIAAAFACAQAAABkNNy9AAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAAAMgAAADIAGP6560AAAAHdElNRQfiCA8NER3HTJckAAAKeHpUWHRSYXcgcHJvZmlsZSB0eXBlIGljYwAAWIWdl22SZKkNRf+zCi+BTwktBwSK8P434ENWd0+33TNjOyuIzHoPhJCu7hXpn+7pH3zqUEn5fVbJPz7167ccudq1jtq115rHHDZWzX/2SVKkadPcy8gjd//TmX/xCXZ9Hv1w57R6/h9DH4/+x/lLugxt0r758u0E6omDZa3aP/8XnV8v6lQlQvn78/XNTulSZf/xfPfvzxPh/ITx63+fPxboz8+P/2Ho5+eRfzbUycyXqzV/7TCzY+j3z/9kfvr1zN8/tfbyDiwmwvtJ+puECMdV4Y2MmrV9h0a33lJvTCJKbxrLXMbvo/x3ptN/2v5vTf/6+dv06zv6/JYlPh0/yJqxkYkKb9j+efTXcWi15VYakP1diUQbD8zlu0eliPvf1dL3z+/mSaz6OVqb8RWHZr+fWM3e99b5mVfmWf8+72Oo9m/IjfmJxRYPED/Ikvxi8Uek8jP4FsUDI8MwVC6m2isLBkVL0jJ1k9v+WtlZ9HbqLBo8GHg3WPOwJ/MRDil5R1N9RQc8CdrEg4mBdxLDgGHAMLAwsHi4MLDrOySDNc4aZ41vDD3mOCw6GGBevvy+++M1TMPY5OX9KeOQmsYwRuRSB4P3DY9Km4zLUXkIsRWyXnC/YKMIi4V3yju8LhMjeFyMOXhboNaCp2UXDG1+4GJxvg/fh+/L9+U7WBCL4mwMh4Y741AvwghCO8lUYXA0qpnBS3avykNlIdmr8+ZqTCTHdWFks5gNq29yMnJ9OSIEFei0l/6WN+AVklXyo9rGLtQbI3KDd5rwTvFJL4Djf+N/jDcC3zb/u+Z2Goaw3K7nFka2hcJpmfphHApr594nCEAXSHfH447BPp36XqCCd3javafcDxOIyYNJjwvUTh7F8yAboy2gA9zHzIOjD6AygMjAq7EYG+lxxhkJbPGDNH/+OKJUzY/IBU+E7ImsLLrBnmexk2VFFn84LFluo9DgnKwpK5hQdtd24IzIVD4Y7VnZWakxJdC6eX4gLjbVmFDrBr+RJ1Uwu+Q5VgLMN084ZOLuXAtg8z+L5tU8AaMBXgN4xjGNjUx6NrVsk98g3gi4eaRs7GIsWKXkxbEWni0gsTjSomwWEFhkaBGLhZqseHnmD0Ld0MWGk7ZQtJu620ze+5UP3wR+k0EvQLCu7EDBh2cH3Q62fGn2V2YA1zF63l9Fsk9/pbbyIS6HiQfIH2fC4TfxuMDhgr5L9i7Huhr52qYcJV9CcO+lLPEoOH8A84AaAlQHsYrdUOPIcV95E6VKBjqMK5xfcdk2bvP86FtYKOTE4LsHfHtKmV7KIlpupdzJ4bRQV6X2Uar0QumUulqpzriQ+SP0ykDXCuIIATAWmPYBEQxKU0qn8Ho3RHqVPnfp60AOlz0hh1LLaHRCQwqyAVnsVMY+hVO9ait0CEVYLOJFZhTZFUd5Fqso1KC9FJVBr2FF1y1gq2homQVDFHqZvJxzlbkCYuc3Cz+Uw5FMdjFOahvonkNj0suqqyxCs1Sho1uARiqLgOJ42W2XzTE3Bjee7LPKYyAgUHzwrbs48XH34gT4QFqHKj76KMwSHUsrB2O3SLl4d4nJtV4ugLrXSpCNaLeE8JvnsaPEXfVDpcSewqvAPIE6SAOyI1UQ4OTQbL+Ipt/Kqlqr1jpGrZOfK2o9B81ZFd6qcFVt1mvzmmqLx5ZRez90Eo7G7drPetVVB5OHMJD64YxAyetTc8bU17xVuZP84pF2q6pUGQb0OOp26mxB8wdsFo6cXu2JLUYJPKJ7KmxC8eAgbcxio0X6oeOARGrdTaBlq5uJIKI+avNm1eVWx6AfhTO9HuJyVOph43PBJaC53VPFMzhcKzVTOSBcvmpYqcFRImCuNmAvim9RvWdTB0C5kz5CVDbfURu+pValtWob3u+Nma1Bzk2jtT1bI2UdX+mRWrfb+pl0Mq0N+HlM+jOvbcShODQ1UYK/bpNriEVv+kTDvOnRNktvNCBtTm/T52tWPkkyNrLNwQO6w8zSnhpHRVmiceK2BViu1fadZFQbbV9zjuS3tVNro1oaOG0wTLso0mXTiyLBJIn8lBZMoFlqcSvK2KjZ/ijykQ+hBYVCRS8HpRd/UCpcr3sQUCUe7KSHrhaJ6shhpx3tc3Uq/JEGUkZDDSmPc+nSa389oazdJZA2oqS6gR0Sh2BNJLtTyH1Cj0blmBDTZZ1OhrxoX3o6jvQN/Dfx3hjeeE39dZLafa8OpDqzUj9GMo73SxNw5Xag8KWVtMrEssd5Qg9hKxex/ageqkAKoYNBYQ5AMCqXGlCnA1ob5BFhXYOAjd6xSmPZz6bK5hjKQZ1qgVcFaZVlgy55EIyhVBIqnsYEglPPmL6HwTImBuEheVnHYtlajBhjE7VtjIvNxoDE/Mg4eHt0pnHcBtQ0rvi4+wwoHwUvAwGg1cIJLqwIG844/MubBY3iWCWi1bjkoOCPswV0SUNb+ku6denXQA9bGUV+VYTflKBQ5YKsixoYZg6FLaizzOvyLjVitsTiIWVy9KBHUNnsvBffEfip4otrK+J+6DHONqFW5cqW66CBiAdHk4DTaccQevqWS24AfLGh9AgkmGpeOEIH2YgE9QdC+9fd0skSZEPnrsQmvXOpwOwSXD9pgnQ3BAah4Lo+mWx1qU3ahgtrcbEksTQ5XeF33dQRvKo+MeRPVbjfUEP6+tcLBV4mwA50MF3j0mV1LrtrvpZiolGz+IFEMkwHAUeHEjRNqhT9PBOsz34pdhaNtemOXnQrgeGW9c5kMbE4pxhkcKdB2mb4GndSlmkuXxOpn8Rw7vDpAmPw7EBdhzUnYt5Pcu6MhmwafTO9G+0a3QbSQvNZ1kyGfEDay9DyVywGl0A59FSToqNOxggbbp8yJL1GB2UE04iDze42N47VnvAum4UDgmnrAGq4fq8wZNCcOR5qB4ShQobu2V0XtBwOui2CFk9ob89MdAiKtAr0zjBZEDSFz0ApO1VFmVOAc43FXrQqBGCBGVB2F16tiZBM2uMFwTLFaGZ8LUQfRVmbMtvXkHRfTid4Or0IWn7RjovsP/zi0X53O0qSrmulTRuyy0GwOorvMH0j9utyQurUqOTS9piL/gy/1TbEBujmxhtKm/I+3Gbgo20shqX32gNLlx8PZ2W77dfw7ENrywmgcTgtUH6UNIKmklYyXzoKURqHlmCZQPWQBIikHS4DtP3QrY++ORlo6Fz9nRtHfw0J+GjH53ZHP9jLaFCmE4vksIVvbrFYcg7iKJbDZwiH+H2326YeHIDbzMmbtq05h6ENbXG4LR3Y/iA3iTgafkBE/Z5xiNYYRw4sjj3icKYgixdsCg0xeSddZ8Um9jS/3EJ8LtqvnA4zkHA/tDwnaA9icbNBLvPmcee64/Q3Axk7GyfbhbsuMnJ7OFUIzedzxSRd+OICACSRNmA7PRbYPyQUUl0X0oRcNvGGWi997z3mdAnzktcbKF84ffSYie57RKFfKBH0MoSkWEBJ0REQdAe2hnvPDZET8pJGozmZMwEdrQ4loAGzpFi08ls1yCeFMomgxaFGbt9xj8ORlG1E+hftkQTIS62KtQAAF4hJREFUeNrt3b+P62pex/H3d3QELPcC8hHiLtrO09BQsD7S8gc4DQ2XIiMhUdDgIKEtaNYjCkqU0FBQxRKiBE2KpbcL6K7EZLdCiCKpWGCFNBaru3t3KXgo7MlkMpkz+WHHvz4v60rJnBmPM3fmk8dfP/4+5qiChaR8j4dKdiZymPd8k5HLmj6MrntX4b5i/e+QS7KQtOlj6IOrpg9ARJqlEBAZOIWAyMApBEQGTiEgMnAKAZGBUwiIDJxCQGTgFAIiA6cQEBk4hYDIwCkERAZOISAycAoBkYFTCIgMnEJAZOAUAiIDpxAQGTiFgMjAKQREBk4hIDJwCgGRgVMIiAycQkBk4BQCIgOnEBAZOIWAyMApBEQGTiEg3fY7TR9A9ykEpLty/p0/tQebmtf0oXSZQkA6yy35BPCIebC5+U0fT1cpBKTD3HsmrAGIWFlqYdNH1EUKAek0l7hrRmQAhKS2sqjpY+oahYB0nsvciGsSAHzmqhIcRyEgveDWbsJ7ZuSoSnAkhYD0hsvdLdeqEhxLISC94nKXuGtuVCU4nEJAesgt3Ijb8onP3O6bPqI2UwhID1lkK6blk4yR+9D0EbXZu6YPQKRK5hET8XhtIGHm1k0fU9spBKQ3zCfm8fw/J2Hm8qaPqQsUAtILFhLzeCVgzcwlTR9RdygEpPMsIuZxTkDGzGVNH1G3KASkw1QBqIJCQDpKFYCqKASkg1QBqJJCQDpGFYCqKQSkM1QBqIdCQDpBFYD6KASk9WxMpApAfRQC0mLmMVYFoG4KAWkp84lUAbgEhYC0kAVEqgBcim4lljYaM948TkgUAXVSCEgLuVuuuS3bhMWsbK42YfVRCEgrudzN3DWTsk1YRGqp2oTVQyEgLeYSN2JUNhMPmdvKYjUTr5pCQFrOZW7CddlM3GfKyqZqJl4lhYB0gFtvVQk8VQmqpRCQjlCVoC4KAekUVQmqpxCQzlGVoFoKAekkVQmqoxCQzlKVoBoKAek4VQnOZa6a3YSkjHSbpzTn2V2HOQnJoXcdWrBZsmzbkqVbNP2qLsJVshHiCKvZlzZtp25FdWDzdH7M7yT3OKabZwFTHCle06/pAj+1inajENDWmo2IdPMkJTrwqxw7v8NMcdw3/Wrq31QTkN7ZVyV462uKKws7J7QZEPT/moNCQPrJJ9g8XvN2P4IQyF7ZU8+ps5D0jHnEjDd/ugmLgwrWAbDc87HXoqFHFALSI+YTMz7lCsHekUAER+yhsxQC0hMWEm2akq2Pa0q2ryJgc3wSN2n6ddVPISA9YBHRpgaQsTh6ZYKdcYCFxPhMhrHCgUJAOu3ECsCuAMCm5eOANbOBTBRCISAddkYFYFcITwubWMgdkWW7pxPmMSV3t02/7qopBKSTzqkA7NkX2xUBl9mMKVO26gE2xScnYtb0K6+eQkA65+wKwK6XVwaWwHg7BIr3/37eo6gQkA6pqAKw6+Ucgd7PEtymEJCOqLACsOvlSGDf1KHeUghIB1RZAdizb17cNRDCAVONe0IhIC1XeQVg14txgBXfrRxn2LR/1wOeUwhIa9VUAdg1Zmfo75b2dAzjY3fXPbqLUFrJfJuzIsYHcmZcu0nVEWBTuzeHD8S2snTrnyZAUJyG9H0coJGAtJLdbS1NPmNWz9Lkr/95u8SWjG1K7kZN/yzqpxCQNpqw3vQLjPFsdul7+dxyOFcHdDogLeRyd+veMymLcxErS/vf4acpCgFpLZe4a0Zl5T4ktVVzM/ZsaqndA5Glllpw9g5bRC3HpfXMJ+bxzz8nqatGMFQaCUjrubWb8L5ce9Aj5sHmWnuwOgoB6QRVCeqjEJAOaVOVoD8UAtIxLnMjrstVBXzm9mBTrT14DoWAdJCqBFVSCEhHqUpQFYWAdJqqBOdTCEjnqUpwHoWA9IKqBKdTCEhvqEpwGoWA9IyqBMdSCEgPucyNeOwW4DN/1jBEdigEpHfMs8hWTMunC0ZDaA1yOjUVkV4xn2jTjiRnwcXbkXSPQkB6wwKizS3Haxa65fgwCgHpBRsTbdYNWpIMY1HxaigEpOPMY1x2JQZYkKi5zXEUAtJhqgBUQSEgHaUKQFUUAtJBqgBUSSEgnaIKQPUUAtIZqgDUQyEgnaAKQH0UAtJ6qgDUSyEgLaYKwCUoBKSlVAG4FIWAtJAqAJekW4mljcaMN48XJIqAOikEpIXcLdfclm3CYlY2V5uw+igEpJVc7mbumknZJiwitVRtwupx8tLkFjAGAjyer9W+JGcJLNyy6RcnfWAh4636QKKTg6qdEAI2JmDM2+2ccxZkbtH0S5Tu27lSkJDoSkF1jgoBiwgYs72sQ8bTe38xLvDx2D5/y8nINL1DzmUeEdHmzSdhoTkD1Tg4BGzMdOvdPyNj8Xoam08xXni0ZqYgkPNZxHjzJpOx0G/V+Q4KAQuJNz/4BRmLw87KzCujoBg7LLlVdsv5tqoEuXvf9NH0gHtjwyctHz4wxXvr8/fuY8pD+TAlPGUP2rQ93/CZ8iOcfp8q+Fm+8c/x5uGJAVDux9sKgmnTL1pbPzY+RyFQwfaReQLm2bxcwCHh2t2ec2HG5e6WD+W6sbHdac1YqcCXTR9AP7waAuaREgE5Izep4oKMW7sJH1gDY1ILzt6hiFTglRCwgBUBsORDlcU8t+QDSyBA68WKtMLeELCIFA9IGFU9KcPlrjgt8NA0UJEW2BMCFjDFA2ZucmgdwLxjhvduwgQA3RYi0rgXIWBeOQqYuNsj9hNs1oA9iEu4AeBOtQGRZu2EwCYCap/f5xZMAI+5rhSINGl3JDAlAJKjRgEncgkJEHDX9A9BZMiehYDFRMCSC0QAgCvuFg/tqFMJEanSVgiYzxTIubng/do3rIFYBUKRpmyPBOYA3FzyTm2XlwXCuOkfhMhQbULAQkK4fF93t2QGhJozINKMp5FA8V48a+AYZuRoLCDSkHLdASsaNRy8vINNdzoLeviW7nzS7LBRhcstIca3SA0iRC7vcfGRoiR4+Dhgt4moh/fiY4eXF2dEeEztwGYlIlKddwBWdG47oourW/CsgaiF+KfPLXC53TLHI2rkdERk0IqaQMBx44DKuYQ1oAuFIhdXhMAYyBoeihfThjSFWOTC3oEVjUCbbgGaEQFjPlIctGirfzHk7mbr3+KtcUQlTVBEBsLBHIc7p4Ogg5D07I5xDzjuDvhOjr19Cglw3Kvn3HA2QtRjsILtiuJMvOmTAYAFB1QFysuO+97pc5aM1NRc5DhXFuDT/MkAFJcdPRu/+Xk57F0EbcrBTVBE5NFVeZbdhhUDi2N4u8nIEnhRQLQxay2BKnK8ctrwuYU0l7nRuYfiihUND1no9MVnmeYYiJzoHQHtOBmA4s/77YuEa16OF2ItWC1yqPJ2wayooF3hccwE33otOWTC0IuosBBfS6CLHMKC91+Q+rEfk77/wgK4ImB/rb29lsVL2fpIfKleSCLdZt7P/5P3rTkrVszxvvVz/2heURNoy0ggA3izy1ARWZuxgE3Jdmsa5llsqaU2NR/Uq0Ck8I2/+Nknabmkc0TK/376y39ehECnqurlH3w5EjCfwO2UBC3ijqUbuREJc7s74IqDyCD84I/jraq6T8zP/ujdGftrzhp/MxKY754K2JiIUVEmdGu74aFc6kT65hf5H1Jr+ig6Jtx5NvukuyHgA9iY5YvZAVNmT1cKXG5Za65+SLV+wq/wHb7f9GF0Spo9i4GMx6Yib1+bb5c14IF5xLycn7D7ata6najHvq+J4sf4tb9Lfj/eDKPXzP/vG0lRE2hLCBQR9XaFIi8/N+Z2z+yAnOn25GOnkwGR0n//yVc/GZVD44wbvvrqB392deAsvQs6YNLPGsrZAfveBW7xuDP3eG1ARB65/Ke/+28/HPGBD4z41//82ecuf3fgLL3LOHT2YjG8v+N678tMbM2YkJCQ2CZqXyryxGV83aLlGFj8OAG4OnCW3mUcOnuxCIHZa2MGl7mJu+aaCflxqyWLDIFL3MiNHt8eyxuIWjJsPnD2olsDmdtzw5AFTw3K3Nol3OKpZZnIx1yVw+8WjAXKYt5hE5duX5kovDs3cH1QjUFkwK5ctqm1N604hsMWLJm90jsg3KlvjHWDsQyNPRz3+VcUzTzGLRg0j4Gzlh8xH397OTOLCBQCMjhH/i2/47HPb9hsdyELK+h5HJKwtJQlGT4BPE4fFpHXvAO3MGg8BI45GXhVxsLltiAgYH34yooiQ2YOsDvG5O59oweywmfpPjT9A5HusJBU/aVfMueOuququESYAZ41uDh4uRqiugOJXFwxEvC4xyfn+tAzaPOYv1F+2Hsd/9X9rY77/iIaCWz9JPxnF8fjZ+Xw7K2f0DsAl9uMOd7hbbpcbss3QuCI83GLj10VWUS2+Cf+G1COBKDJ92LzWOGx5oNCQI6hkcB+p9UEACaA18hM++L25pkiQKQJmxBwRf+dyC7cj888ImCte/1EmnG19bgoJswvOXfQPFI8UBdAkaZshYDLSICAuwt+/ykBkOi8TqQp2yMB3IQMCG1+mW9uUyJgqaVDRJpztfP8hiUQXWK5DouIgVzz+0UqdeS8250QcDkTcmD+5jpAZ7KAKYoAkcq5IxcTutqzgxsA0jpHAxaVBcHbYw9YRKp19fJDLitr9XOradaATctJxzNdGBRp2tW+D7qEG3IgtrTqC4bm2bysBUycCoIijbva/2G3YMQaCEmrnD5kHsWSqDkjjQJE2uDqtX9wSz6QAQH3Nq1iPGCeTVkRAEuuVQsQaYer1//J5W5E8W4dszo3CCxiVd4lkOiKgEiLuDc2Qu7Lhyuitz77lX1ErDb7GJ+2D23adjdCHP9BjNf0kXR729xK/DEWEZd3Ja9ZsHQHdwCygDHjzdfqaoBUyDz+hV8HchISdZQ81UEhAGAxTysa5yzIyD42qLcxIeOtr0h0s7BUzWKiTdOMhIXuQTnFwSFQ3vQ7ZvtawZKcJds9ggO88r/tz1qoa5DUxSLGm8VzMhYabR7riBAov8CjeI8/RDFe0DBNamYh402XvTWJ3nSOcXQIbL5wTEDAvgXMMmDJ+rzVhESOYz4RUXkCqirBEU4Oga1deAT8Fn/Jd/g+S/3hS3PMI1KV4FgVhACo5aO0iaoEx7k6fxci7eISN+JxolvI3FZNLqzTfgoB6Sd/6wrV+phVMIbnXdMHIFIt84g3E9QgIdF9Kh+nEJAeMZ94M0VNVwgOpBCQnrCQaDN/Zc1Ml6gPpRCQHrCIaFMDyEgOv7tFFALScaoAnE8hIJ2lCkA1FALSSaoAVEchIJ2jCkC1FALSIaoA1EEhIB2hCkBdFALSAaoA1EkhIC2nCkDdFALSWqoAXIZCQFpJFYDLUQhIC9ndVhfLW3UMrJf6CUgbTZjx+Ic/ZWr+WXuTj1IISAu53N2690zKZiARK0stPHOn8gqFgLSWS9w1o3JVi5DUVhaduUvZQyEgreYyN+K67BfoM7eHatbIlicKAWk9t3YT3pdVAo+YB5urSlAdhYB0gqoE9VEISIeoSlAHhYB0jKoEVVMISAepSlAlhYB0lKoEVVEISKepSnA+hYB0nqoE59GqxNIb5hET8fjnnzA77M5DC5ju+fCSZT29Cyzauj0Kcnez9W8xT6c0kwvdOekq2QhxhNXsS5u2czYiVpsn6eG/ldzjmG6eBUxxpHg1HWWI2/5+W/8S4Li/5F9TlS9JIaCtJRsh6ebJiuigr3Hs/A4zxXFf2zE63L4jw+e+rujZv6kmID3kMjfitnziM7f0ra8orivsnNBmQFDbFYcc2HdZc8rksv0TFALSO+ZZZKvNef6CkRu9+UUhsL+mVdf8gyXwonxpY9aXbqKmzkLSK+YTbYqDOYtDi4MEFH+Wux97LRrOt2ckYB4RNyft7QwKAekNC4h4nCWwZsHsiGH1vpFABDX2NlzDpovyo7iJVmoKAekFGxNtLq4tSVxy1FfvqQjYHJ/ETWo75GLK8/Oj8N3tiXs7g0JAOs48xsSbgfWC5IT5KjvjAAuJ8ZkcFyVHWgJYsFUBiKkvcj5CISAddnIFYFcAYNPyccCaWe2LnBRHuhkL2JSsmbbqCgHpqLMqALtCYPY4grCQOyLLtvdnHlM8PDyys77ThlsbQFCMQMwnOOAaRj0qm5yhyULaLrYx3poMdH/YZKCP7C3E4Z59JMYx33rukeI7HPisqprMw4rNnEFSgrP2lZ7+tZonIJ1SzgG4K4uAC0buw9ln7i+vDCzh2fz+mHUxVHdrbtl/r8Hx1pQXCW3M8szZAcHpX6rTAemMyioAu17OEQhffEZoi+J0wS2sqglEa8Arb3w661TAYs64a1IhIJ1QaQVg18uRwG4szFg+Pq/wJuW8/N4xt7uvxkLG5HgsNpWKKUBxCfHZY5+I+PnHjlTROZpqAtpq26qtALzY+4uKQHlzz90rnx+x9+6/E75zhMMRvvxOzJkXdQem3JWPQtLH43z22CdkjiMkPO1vsMofpEJAW8Ub3rMbg+/q+B0rbhl+9pEAx1PJbrpzRA/nFOGe7au4nfhht8zIlNXWs/unI3kKq+3Hu8+O3VQYlJYy36asmONTLE5+7W5qaVszZqcisF2is+3yIOaRklU2u7+oaLw8sYnYnqOQEdfbRFUhIC1kgc1ZUZS71sy4djV02bGp3ZvDB2JbPbvdeAIEYCHR01l2EQHupqpqhFsDmZvtHFW4p8hXawioMChtNN66QJfVdVPN60U0l9iSsU3JnybwmMfd4z0JFlY0Jrndc4/iGa/V/DJajvxBVHd2o5qAtso2POKtasC86d8uvO3pPFVVBV75Xqvt/TPnoXz0Zk3gtNKgTgeklVzuZu6aSflOGZFa2lwzcfNI8Zlaaqmldk+9bT9uCB/7GVnAeHNb0frxAqV5jJ9drMzLZ+Ep4wh1G5aWs5Dx1gyBpIk77u3u2fxBar6/sOh/vCYHgqd7Gsrbmxd4+OTET7dMm8cdOevT5gkoBKQDduYKJjW2+mgN8wgeJyu//Kj5eM8nGlvw/LrGEd9JISDdYB4R0aZOnjzNpZPzqCYgHdGuKkGfKASkU1ziRozKJcdC5rayWEuOnUchIJ3jMjfhulyY3GfKyqZamPx0CgHpJLd2t1xzW96OG7OyuRYmP41CQDpLVYJqKASk41QlOJdCQHpAVYJzKASkJ1QlOJVCQHpEVYJTKASkd/ZVCZo+pjZTCEg/+VtNuNf0/k6Dc6ipiPSMecSMt+4xSM7s6N97CgHpEfOJGQ/rbsPzKQSkJywk2tz1v2bG4vJ9B7pJISA9YBHRpgaQkdS+onCvKASk01QBOJ9CQDpLFYBqKASkk1QBqI5CQDpHFYBqKQSkQ1QBqINCQDpCFYC6KASkA1QBqJNCQFpOFYC6KQSktVQBuAyFgLSSKgCXoxCQFrI5T61AZsxUAaiTQkDa6JZ8cyIQ45lOBGqkpiLSQi53t+6aSbkEeMS9pTY+c6fyCoWAtJZL3AdGFFcDQu5sZZGaiVdPISCt5jJ3wzVJ2Ux8rmbi1VMISOu5dbmqwHYz8eDs3UpJISCdoCpBfRQC0iEvqwRNH1EfKASkY55VCf5X9YHzKQSkg8oqwd/zGygEzqYQkI5yOX/T9DH0g0JAZOAUAiIDpxAQGTiFgMjAKQREBk4hIDJwCgGRgVMIiAycQkBk4BQCIgOnEBAZOIWAyMCp27BIZ9mYj3dYyt3s7b0oBES6y38rBMx7e80GhYBIZ7kZB7zTv0U1AZGBUwiIDJxCQGTgFAIiA6cQEBk4hYDIwCkERAZOISAycAoBkYFTCIgMjIVfX5oz9/4LC0EhIDIwX/su6SffvGOO9y3ST/9WISAyKBb+9POYFWMiVsT8+A8tVAiIDMivzgOmm2dTfD6bmatk1xaS8j0emn6JMijv+aZ+644U/iafAZACsOCmstOBJX/Fj5p+fTIwP+Kf9Vt3vopGAiLSBb/0X7/9Wbr1fMQXP1RNQGRAvvx2ttWH5JaML/9AIwGRQfnad3/6eUgEJGT8wj989XsKAZGBsfGnf/3lZ/DpD7/8tlvA/wN+jVVD1MmfBQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOC0wOC0xNVQxMzoxNzoyOSswMDowMONOebAAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTgtMDgtMTVUMTM6MTc6MjkrMDA6MDCSE8EMAAAAFHRFWHRwZGY6VmVyc2lvbgBQREYtMS41IAVcCzkAAAAASUVORK5CYII=\n" }, "metadata": { "image/png": { "height": 200, "width": 300 } }, "output_type": "display_data" } ] }, { "metadata": {}, "cell_type": "markdown", "source": "In the first instance, let’s assume that is not connected to anything (for voltage dividers it is always assumed that negligible current flows through ). This means that, according to Kirchhoff’s first law, the current flowing through is the same as the current flowing through . Ohm’s law allows you to calculate the current through . It is the potential difference across that resistor, divided by its resistance. Since the voltage is distributed over two resistors, the potential drop over $R_1$ is $V_{R_1}=V_S - V_{out}$." }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#The equation at the end of the last paragraph is written explicitly as LateX\n# But we can also analyse the circuit using lcapy to see what the equation *should* be\n\n#The voltage across R_2, V_out, is given as:\ncct.R1.v\n#We can't do anything about the order of the variables in the output expression, unfortunately\n#It would be neater if sympy sorted fractional terms last but it doesn't...\n\n#We can get an expression for the output voltage, Vout, or its calculated value in a couple of ways:\n#- find the voltage across the appropriately numbered nodes\n# (the node numbers can be displayed on the schematic if required:\n# simply set label_nodes=True in the draw() statement.)\ncct.Voc(3,4)['t']\n#- the output voltage can also be obtained by direct reference to the appropriate component:\ncct.R2.v\n\n#sympy is a symbolic maths package\nfrom sympy import Symbol, Eq\n#If we add .expr to the voltages, we can get the sympy representation of voltage and current equations\n# that are automatically derived from the model.\nvout_expr=cct.R2.v.expr\nv_r1_expr=cct.R1.v.expr\n\n#I don't know how to get the symbols from the circuit as sympy symbols so create them explicitly\nvout=Symbol('V_out')\nv_r1=Symbol(\"V_{R_1}\")\n\n#Working with sympy symbols, we can perform a substitution if expressions match exactly\n#In this case, we can swap in V_out for the expression returned from the analysis\n# to give us an expression in the form we want\nEq( v_r1, v_r1_expr.subs(vout_expr,vout) )\n#This is rendered below - and created through symbolic maths analysis of the circuit model.", "execution_count": 7, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAI4AAAAYCAYAAAAswsVWAAAABHNCSVQICAgIfAhkiAAAA+xJREFUaIHt2luoVHUUx/GPWZEpkT2ZXc4pS8NuVKBGdJpD9BAkdDGjDIqg5/TB6IKFEJpdXowgkTDEICK6SVdOQbeHIijpblFHrZeiRDHTylMPaw9n3GfPmb3HucL+wjCz916z/7+1/+v/X+v/n6Gk5Ai5Gf/hyRy2TyW2j7RVUevoZ996Xvv8pNH3G9hdhEP4GTPaLapF9LNvPa99Kv7C7gZ2HwpHlrZdUevoZ9/6QvunSeOn1rl+a3J9pGOKWkc/+9bz2p9OBFydcW0GfsHfOKeTolpEP/vWc9qPTh1vS97Pxxupa6swG+vwbZt1LceJBew/x8sNbHrFt2boee0VEdmbU+fn4iB2YXoHdIwmOvK+nslxz4re8K0ZKnpc+0wh8LPU+deT80syvvOu8Q78B9txRxs1Nkszvp0ilsHf4wB+Ff4ubNDWqGKBv6UN2lvFY3gtj+FO8ZCqaWyxEPd2HfvduBezMIA1GMMFRyC2XRTxbUAEyku4DIMYEg/y4gbtvCPSRt5Xnn2Xov3SKt7D6vTJKRmGW3GN2D/4EV/hNJFft6ds5+AH8SCro2EQP4mNq+eaFNuOGodivj2Om3C6GAjdpoj2KvNF7TMkUtrzWCmW93CVmE2mi2whuedOUWh/gWNq7vdl0l4mDxnfD7g/+bymju1S7BF7DXByIu4Q5tVrIAejWl/jUMy3TWLGGSwuvy0U0Q4Xir5Zi7NxOXbg0RqblWLQ1bIYe0WfLkjaWSAyyszJBN6YGG/CvqSx4+vYrhNBsg/7k+8dxF0pu1dFSnthsoY7QBHfLhEjbwyfiA44twMa61FEO3yMjalzd+O7muNnTRx0D4jNRLhWBFFWZprAXIeP5usnsR3BBpwl0tVbeCLDblhEcrcDp4hvRD0xLEb2N/hXpOBuUET7vMQmnVaWizKiytdYkbJ50fjvYqvxQV6BR+HPpOE3G9j+jttqjgfEDJQ1Miu6HzhFfEszVayu0vsonaKI9htEkKf36TYarwWnJTbDKZtduDP5/ArWZzWQvjExNefZEzgDJ4kCqsoOkTOX4b4c9+g0eX3LYgqOw2+tk1OIItr3ikA7VgQHUX/egtuT4zliMNRuGg6JnzVqNxy3Nq24DkvE7DItdf5h2TuYFd2fcfKyRRSgi8QseoVYfezBeV3UlZcTRGG/HmeKZ79NbC1U65VZIhivS44Xin6r7dPR5B6zFVvlTspa2cvAK8V0mk5XFf0TOCvwkZhdDogUtUHMsv3CIlHU7xfL91UOX1rDPfhD/Na1GQ+KWq7KMvE3jTH5/g/UFir6J3BKeoQRMXr3iwi+tLtySkpKSkpKSkpKSibyP3ojYV7RNgCOAAAAAElFTkSuQmCC\n", "text/latex": "$$V_{R_1} = V_{S} - V_{out}$$", "text/plain": "V_{R_1} = V_S - Vₒᵤₜ" }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": {}, "cell_type": "markdown", "source": "*The following expressions are hand written using LaTeX*\n\nThe current through $R_1$ ($I_{R_1}$) is given by\n\n$I_{R_1}=\\displaystyle\\frac{(V_S-V_{out})}{R_1}$ " }, { "metadata": {}, "cell_type": "markdown", "source": "Similarly, the current through $R_2$ is given by\n\n$I_{R_2}=\\displaystyle\\frac{V_{out}}{R_2}$ " }, { "metadata": {}, "cell_type": "markdown", "source": "Kirchoff’s first law tells you that $I_{R_1}=I_{R_2}=$, and therefore\n\n$\\displaystyle\\frac{V_{out}}{V_{R_2}}=\\frac{(V_S-V_{out})}{R_1}$ \n\nMultiplying both sides by $R_1$ and by $R_2$ gives\n\n$R_1V_{out}=R_2(V_S-V_{out})$\n\nThen multiplying out the brackets on the right-hand side gives\n\n$R_1V_{out}=R_2V_S-R_2V_{out}$\n\nThis can be rearranged to\n\n$R_1V_{out}+R_2V_{out}=R_2V_S$\n\ngiving\n\n$(R_1+R_2)V_{out}=R_2V_S$\n\nand therefore the fundamental result is obtained:\n\n$V_{out}=\\displaystyle\\frac{R_2V_S}{(R_1+R_2)}$ " }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#We can find this from quantities we have derived through analysis of the presented circuit\nEq(vout,vout_expr)\n#The following equation is automatically derived.\n#Note that it could be embedded in the markdown cell if we enable the Python-Markdown notebook extension", "execution_count": 8, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHIAAAAjCAYAAABID14vAAAABHNCSVQICAgIfAhkiAAABOhJREFUaIHt2muoFVUUwPGft8zMikyIrllmL8syU0PtJUpIBElSZkVF0QOiLxWh9KAXRPb60IOikkikCMToIZWlVEYIRVHZO0rUa/ShtIelpaV9WHO445y598553KvXO38Yzpm198xeM2vvvfZeaygp6UO8je3JsRXf4coarl+J+zsouw6bcFgjCpYU41fcgoMxHPdiG04seP1zeC1HPhi/4PYm6FjSBUeKkTg2JTs8kV1U8B5zsCZH/ghWYe8G9CspyCz8jj2S81YsxH8YWfAeZwvD75eSHSem6XObo2ZJV9wvjPan8GXb8Q+uT9U5FO/iK3yG8zL3OCS5blJKtgRvps6H4UV8JHzwgmY9QEmwDE/hKIwTL/+xTJ1WjEn+H4Q27JOpsx5XJ//PwRY7jujliRz64fh6Fb5Y9JrHC9R9Mqn7QL2N9SLW4/LU+XAxQjt70StVr0LfxcPoj2/xYKqsv5hm929QVzBKGOe9LuqNFQ+yDvs2o+FdmBHinYzLyD8WK9c8TsbXYlSleVSM7pvwkx39Jbwj3uljOe3VxB7YLJbanfG+eLhZjTTWS5gpOu3AjPw+fJNTf4jwk6fmlF0jRvdvuCynvAVThcE3YWJ9KgcfCSMN66D80qR8WSON9CLmioVHljPFe0hPrwPEbJZnJMIw27FC9WjNslhtAYcqnkkaOzunbF/8KJz0sY00shvSDy/grjqvP0v4ScIHrxKLq8LsmTn/LPkdjTcyZbdjqFiO500rPcUNOKCG+p/i5W7SpcJpuFAscmYkssvwecHrZ+EJbBTT6rX4vhGFpogRmd3DHCP2Tm0Y1EgDTWC19rhnkWP+zlByZzNYPPwnGfnriXxmN7b9kPx4ZEmdrMXf2qfd6cKIb3Vzu8txdze3sduSt3paLCIMo4TT/VKEoEbLX8GNEn5zsph+F2K22MrANDHSBolNr+R+a4VDX4u/tDt7+CJpL49d0UfuktyjfZ94W/K/o83vGBFQnoujcYaI8qejFrPFy0wzHX+IjtSCCUk7E0SqaHAn+q3WHB9Zyz16w1HFBUnBsyJQvEZ13LDCB5iXkc0RIagKz6t+mXeIwEKFGdoNW1IHLTmyyhbkCjEd3iiWxFlGihH0aEa+BXulzsem7lnhpIysUie3Z3UzjWb/d1k9WoTP2i5SLR1xPv5VvRedp90nDUzqTM3UaRMhqwqvqO4QPUWj2f+OmK+2AEF36dEl05KG0tNuq+gEFyTnJ4gO0ZqqM1m7P6ywSnuKpydpRva/I+YrbsiG9cibWovygfje5D4cIYIJS8Q2ZVFS5xc7JlQn4mnRAdJRjxbR84aqbUXaKOOFb16ZnLeK1Nw21Xvp3VqPSfhQ+NBVIozXP1PnZmwQcdoFuFOkedJcIlI42xTLhzaLItl/eFVMfYsUZ77iI7IrPbr6AqHPUyT7T/j46To35K3CEJVjq1j4pWVn1KlHkS8Q+jS1ZP+n6NyQBwpDVI4XxQIuLcvmNevRg5wvEBrxkb2dEeLlp331GhG8uKSO+20QGYvKsTFHtjnnulr1OFm4r7a0sC8bcrzwyVl/vVTP+qBa9Bgi1hlXyey5+7ohf1A9SpaKYEfdX7F1kx4D8JIIh67oId12S6aobdXaTBr9AqEkYRl+FluDdTilh9s/XUy/n6aOjrJDJSUlJSUlJSn+Bz8Bl/kGyc3QAAAAAElFTkSuQmCC\n", "text/latex": "$$V_{out} = \\frac{R_{2} V_{S}}{R_{1} + R_{2}}$$", "text/plain": " R₂⋅V_S\nVₒᵤₜ = ───────\n R₁ + R₂" }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#It's not obvious how to get the same expression for each of the currents from sympy\n#Could we force lcapy to use the V_out value somehow?\n#sympy can be blocked from simplifying expressions using evaluate=False\n# but I don't think we can pass this parameter using lcapy?\n#In passing, the .expr rendering looks nicer in notebooks - does it use \\displaystyle on the fraction?\nEq(Symbol('I_{R_1}'),cct.R1.i.expr)\n#The simplified version is correct but not very intuitive...\n#And doesn't help the flow of the materials... but it might be useful later on?\n#The following equation is generated by the symbolic analysis...", "execution_count": 14, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGQAAAAjCAYAAABiv6+AAAAABHNCSVQICAgIfAhkiAAAA1lJREFUaIHt2luIVXUUx/HPWFJG9ygatCwUhhSLHEGDghGCCIqgBwuiBC8QvXgDoSDoqTBfSkFICKZQgkiKIjBm6EJQL0YmlBgpRlJBDXkJJYfSh7UH92xOZ/YZz76Ms7+wmbPXnrPXb//X/v/X+v//h4aGmnIAW/7n2nM4jdvLk9OwCx+3sN+AP/FiuXIaNuPnFvbXcQRXliun4WGcwzUp210YxWOVKJrmzBYBWZay7cUnqfM52IN9+BFvl6ZumjKCNcnnR3AWfanrXyR26MHCMkQNiTdleRnOasbneA0zcQhbU9dmiuHr2rJFjeA/XFe24xqwDcPYhN+MzyfwGY5hOxaXIWie6B2HynBWQ9aKF/I4nm5xfYYYObaJecnSogU9IQKyu2hHNWWpeP6vRI5ox0dYVbSgrYmgDUU7moI8JPIIzBVzk/nddnJ55nxJ8ndftx1lWI/rO/j//figIC15WYEdOCWGq2fxU5EOe8TY+S+uLtIRjoqemPcYLFhPLekTD/99xv6pCw0zKiZEhY+dDTwlGv2tjP0vPI9bxdj5siiL7y5V3TQhnUNa5Y95Yqzfi98T204RoAViyXoyTMUcUjpfih5yX8q2AidwWXLei3dFnukzeY7qXg7p5D5T4UBMeE6JHDEr9bBbROP/LSqLc/gH69o0UEMXWCga+7uMfRhviHp7sVj53N7i+x+KXPNegRonog7FR9c0PJPc5M2MfQQrU+dzRY/JrnIux6OqDUhRxccgXqpYA7hTBCm7iPZN4ijLgOoCMrYGd2/Kdkdie/Ii7z0oX0C6omFGm2v9IroHM/YhPJ7XQUn046QLVV8vXhX6v51KGiYKyGGcydiHRIVVyuZMTvrF6sIJUXz8KrZdNxq/cl1krsuj4Tax5/KDyNeFvtgDqhuy8hYfeXLdC6KqHDtGxc5h2vbAJDX04p7k8y34BVe1fbKLYEB1AclbfDCxzhtFo44de8T+R9o2q8X3OtEwxgEF/dZrGH+IrnrM+Mll0RRdfAyaOKl3qoFYGTkos+/SLod0woO4WXS/Ofi6S/fNQx2Kj0413CR+sbJaanZO9wJSJXUoPjrRcAXexytiZ3LaM6C6XNeDd+SfaF7yVJnr4H4xtO1PHYtK1tDQ0NDQcIlyHiC1MKfvK+YOAAAAAElFTkSuQmCC\n", "text/latex": "$$I_{R_1} = \\frac{V_{S}}{R_{1} + R_{2}}$$", "text/plain": " V_S \nI_{R_1} = ───────\n R₁ + R₂" }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#We get the following from the circuit analysis, as above...\ncct.R2.i.expr\n#We note that the circuit analysis returns equal expressions for I_R_1 and I_R_2\n# which gives some sort of reinforcement to the idea of Kirchoff's Law...\n#The following equation is generated by the symbolic analysis...", "execution_count": 15, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADQAAAAjCAYAAADbqynIAAAABHNCSVQICAgIfAhkiAAAAmBJREFUWIXt2EuoTVEYwPHfJXmEQok8b5Qk5FEoyjUgRUoGSlIeE0MDRZERYeIxMlCSMiFFikhMjBSuIkLpiuT9iCKuwXdOrY5zzz337HP2KZ1/7dr7W2ev819rr73X+hYtKtKJgz2Ubcd3TMxPJztncLlMfATeYU++OtnZiRdl4kfxHIPy1cnOSnRjWBKbjl9Y0xSjjIwTDVqYxK7ganI9HudxB09wOje7GnmPrYXzVfiJaUn5rUIc2jAjP7XauIkjGIDHOJyUDRDDb3ij/rx/A+qcK3p9FDqwTjwl+INl2It2vMHrBjjUlW1i2H3CxjLl/URDj4l5aUF+arWxQHwYbot3pBKXsLnhRg1khXiPYJKYm6Y2Tyc7J/EM98QTXN5cnRYtWpRS/Kx2N9WiRfXcEE+rW6y5nsh/4qurw0fswhgx8e0X669ZGSVPYV/eDlNEr8xJYpMLsfV9rayEU6prUGaHfsn5PHwRGx0wFodE79ytprI6kNmhtEFD8Vmsgl+JtHmHyGvgohgS5zKK90Q1DhNEzvUQ97G2p8qu44RYLM4VafPxkt90YLXeG7Qb35Ljl8iJ0tiSGh3GYnbhfDS6MKScxHtsSq4n4bd/U+SlVTRoZEGqeJwX+U8aG5zBIaVTstdXHHLtBYkHyQ9fiFXxhl7ky/EBT5Pja5nYj5J7anGYL9KRrmKg2KB54sV7VHLDNRXGaJ3pq8MosWO0RbLSSRv0zL+9dk3s2OSxM9MXh4G4gAMir8rEUo37ylVDG86qfqKuyHW8FZ/Ul1hUj0r7yGIxNO8lx8wmeLRo8V/yFyU7n+kOeaLOAAAAAElFTkSuQmCC\n", "text/latex": "$$\\frac{V_{S}}{R_{1} + R_{2}}$$", "text/plain": " V_S \n───────\nR₁ + R₂" }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": {}, "cell_type": "markdown", "source": "#### Exercise\nSuppose $V_S= 24 V$ and $R_2 = 100\\Omega$. You want $V_{out} = 6 V$. What value of $R_1$ do you need?" }, { "metadata": {}, "cell_type": "markdown", "source": "#### Answer\nRearranging the equation for $V_{out}$ gives\n\n$V_{out}(R_1+R_2)=R_2V_S$\n\nand therefore\n\n$(R_1+R_2)=\\displaystyle\\frac{R_2V_S}{V_{out}}$\n\nwhich means the equation for $R_1$ is\n\n$R_1=\\displaystyle\\frac{R_2V_S}{V_{out}}-R_2$\n\nSubstituting in the values given,\n\n$R_1=\\displaystyle\\frac{100\\Omega \\times 24V}{6V}-100\\Omega = 400\\Omega-100\\Omega=300\\Omega$" }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#We essentially want to solve the following\n#Note that the expression is derived automatically from analysis of the circuit provided\nEq(vout,vout_expr)\n#We don't necessarily know / can't control what the form of the present solution will be though?\n#The following equation is generated by the symbolic analysis...", "execution_count": 16, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHIAAAAjCAYAAABID14vAAAABHNCSVQICAgIfAhkiAAABOhJREFUaIHt2muoFVUUwPGft8zMikyIrllmL8syU0PtJUpIBElSZkVF0QOiLxWh9KAXRPb60IOikkikCMToIZWlVEYIRVHZO0rUa/ShtIelpaV9WHO445y598553KvXO38Yzpm198xeM2vvvfZeaygp6UO8je3JsRXf4coarl+J+zsouw6bcFgjCpYU41fcgoMxHPdiG04seP1zeC1HPhi/4PYm6FjSBUeKkTg2JTs8kV1U8B5zsCZH/ghWYe8G9CspyCz8jj2S81YsxH8YWfAeZwvD75eSHSem6XObo2ZJV9wvjPan8GXb8Q+uT9U5FO/iK3yG8zL3OCS5blJKtgRvps6H4UV8JHzwgmY9QEmwDE/hKIwTL/+xTJ1WjEn+H4Q27JOpsx5XJ//PwRY7jujliRz64fh6Fb5Y9JrHC9R9Mqn7QL2N9SLW4/LU+XAxQjt70StVr0LfxcPoj2/xYKqsv5hm929QVzBKGOe9LuqNFQ+yDvs2o+FdmBHinYzLyD8WK9c8TsbXYlSleVSM7pvwkx39Jbwj3uljOe3VxB7YLJbanfG+eLhZjTTWS5gpOu3AjPw+fJNTf4jwk6fmlF0jRvdvuCynvAVThcE3YWJ9KgcfCSMN66D80qR8WSON9CLmioVHljPFe0hPrwPEbJZnJMIw27FC9WjNslhtAYcqnkkaOzunbF/8KJz0sY00shvSDy/grjqvP0v4ScIHrxKLq8LsmTn/LPkdjTcyZbdjqFiO500rPcUNOKCG+p/i5W7SpcJpuFAscmYkssvwecHrZ+EJbBTT6rX4vhGFpogRmd3DHCP2Tm0Y1EgDTWC19rhnkWP+zlByZzNYPPwnGfnriXxmN7b9kPx4ZEmdrMXf2qfd6cKIb3Vzu8txdze3sduSt3paLCIMo4TT/VKEoEbLX8GNEn5zsph+F2K22MrANDHSBolNr+R+a4VDX4u/tDt7+CJpL49d0UfuktyjfZ94W/K/o83vGBFQnoujcYaI8qejFrPFy0wzHX+IjtSCCUk7E0SqaHAn+q3WHB9Zyz16w1HFBUnBsyJQvEZ13LDCB5iXkc0RIagKz6t+mXeIwEKFGdoNW1IHLTmyyhbkCjEd3iiWxFlGihH0aEa+BXulzsem7lnhpIysUie3Z3UzjWb/d1k9WoTP2i5SLR1xPv5VvRedp90nDUzqTM3UaRMhqwqvqO4QPUWj2f+OmK+2AEF36dEl05KG0tNuq+gEFyTnJ4gO0ZqqM1m7P6ywSnuKpydpRva/I+YrbsiG9cibWovygfje5D4cIYIJS8Q2ZVFS5xc7JlQn4mnRAdJRjxbR84aqbUXaKOOFb16ZnLeK1Nw21Xvp3VqPSfhQ+NBVIozXP1PnZmwQcdoFuFOkedJcIlI42xTLhzaLItl/eFVMfYsUZ77iI7IrPbr6AqHPUyT7T/j46To35K3CEJVjq1j4pWVn1KlHkS8Q+jS1ZP+n6NyQBwpDVI4XxQIuLcvmNevRg5wvEBrxkb2dEeLlp331GhG8uKSO+20QGYvKsTFHtjnnulr1OFm4r7a0sC8bcrzwyVl/vVTP+qBa9Bgi1hlXyey5+7ohf1A9SpaKYEfdX7F1kx4D8JIIh67oId12S6aobdXaTBr9AqEkYRl+FluDdTilh9s/XUy/n6aOjrJDJSUlJSUlJSn+Bz8Bl/kGyc3QAAAAAElFTkSuQmCC\n", "text/latex": "$$V_{out} = \\frac{R_{2} V_{S}}{R_{1} + R_{2}}$$", "text/plain": " R₂⋅V_S\nVₒᵤₜ = ───────\n R₁ + R₂" }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#Anyway... we can start to substitute values into the expression...\nfrom sympy import sympify\n#This is clunky - is there a proper way of substituting values into lcapy expressions?\nEq(6,sympify(str(vout_expr)).subs([('V_S',24), ('R_2',100)]))\n#The following equation is generated by the symbolic analysis...", "execution_count": 17, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGQAAAAhCAYAAAAvdw6LAAAABHNCSVQICAgIfAhkiAAABBRJREFUaIHt2ltoHGUUwPFf641CRKmxtD5oRUG0XhqComJDaMmDighSUSiIihXsi+KLWBQUpcFbrUWlqA8BRVArXvGSao0+iKWo9YZotbZo1WJt4621adL4cCZknO5mZ7ObzaXzh2Fmzjnzzeyc+b7vnO8sBQVjyO3YiD/xG17DmSPYL8cgHi2hW4Yf8C8+xoIq9QV4G9cJJ5yFl/ArZpawPV+80M8c7JCrsB9LcTpW42+cmFNfUIYmDOCyjPwYfI+F6HGwQzbgyYxsMzpz6kfN9FobmOAcLX7jroz8CazF+hLXHIlWdGfk3bgwh74myjlkAV7EL9iX7LtxSa03bDCrsAkfpWRLcSruLHNNMw7Djox8B2bn0NfE4SVkd+Ae7MTrwhnNaEE73qj1pg3iAbSJj2sgkZ2GFYmsr8L1g5nzaRlZJX1duDJpdJ3o7lmOqPcNx4iHxBd7RkZ+rfh9/altEAeS46PEkNQv3kWax/B+Dn3dmI4t+AfH17PhBrNaaWfAsSICS28b8WxyPC2x2yDmmTTf+v+kPpK+LlwkvpYXxFB2KW7DzbignjcaQx4XOchCMZ4PbU0jXNOjdNjbhxtEWLtKhLUn5dSPmvQccm6y34FPRByf5gMsFglXOW4RX2FeNuHlKuwrcVOyfzcjvxt3VdHOczhOzKdz8KUIaLbl1NeFTsPj62YsEl/WPLyV6HoqtLE1scu7ddXzB0w17hcvaQDnZHQz8GOinyzD16QknYfsTvZbxHJCmr1iWQLOG+uHOpRJzyHfJPveMrZDDpsxQnv1nEPqHtNPNprFglmviLWzvCle0tUjtLFVMYfUlWfEi7o3I+8QyVOv6npAQY3MEhHWoAhzHxR5Sb/oPdnstBGsN9yj9osE7PoG3r9N1FV+Tp5hcRm7PPWRUdVQZmJlcmEffscron4wHuwWhafZIvFaIXrr2TW22yVfbnKxGDGuUN4heeojU6KGcop4CS0p2VyV57I8dKkuWaS8Q/LUR3LVUCZ6PaRVLIV8npzPEfnSAXw6Xg+VIU99JHcNZTI4pAl/YI8Yxy/HrYbDdHhVDG1rG/2A8tVHctdQJoNDnsJ8sfjZLVZZH8nYPYxrKrS1XIzZQ9uSErJa/qiQpz5S0aZUgWoi0YKn8V1yfqNYSViDr1J274ni2UiswfOp8/uwXUyuQ2wfxTPuFMtN2WrhLMM9Io8NJnYPOVlEfF+kZNtEdr9kFO3tEo4d2v4qIds7inb7RAjbkZF34MMqbDCxHdIqJu+vM/J1IgRtFE1iyJyfnM9NjtPh6kpRjUzXR04QvbIamwlNp0gCsywS4+68jLxddZN6l3xhb7t8yz7LxNLRPtEb2kq0lcdmytBufKKsghK8IyqZe/CTomZTUFBQUHAI8h+UF0cI3ZgOZwAAAABJRU5ErkJggg==\n", "text/latex": "$$6 = \\frac{2400}{R_{1} + 100}$$", "text/plain": " 2400 \n6 = ────────\n R₁ + 100" }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#Rearranging, we need to solve the following for R_1\nEq(vout_expr-vout,0)\n#The following equation is generated by the symbolic analysis...", "execution_count": 18, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJkAAAAjCAYAAACHDaipAAAABHNCSVQICAgIfAhkiAAABd5JREFUeJztm3uIFVUcxz+ubWY+SoVoTVMz17SH+EjtoayIhZAklVthUpRBRJERShZaQaVWlBWFJtYiRiDZkyjTyh4IhpFaWFZuu+6mRD4ySytrtz++Z7hn575m7p2ZnbXzgeHeOa/7m5kzv9/v/M7vgsORQj4EWs1xDPgOuDlg3+3Akjx1twNHgDPLFdDR8TkIzAdOBwYAjwItwAUB+q4G3slR3gvYByyISEZHB2Yw0mAjrbKBpuy6AP3nAY05yp8G6oGTypTPcRxQCxwCOpvzKmAN8C8wNED/qWhC9rDKhiGze2V0Yjo6MkvQhPod+U+twF/AXaa+P7AR2AFsA67y9T/D9Blvlb0HrLPO+wFrgS3I31sV5QU40s8GYDlwNjAKTY5nrfoqYIT5fhrQBJzsG2M/MNt8vwL4m7Za8GNTDtAJODci2R0dhP3Ajdb5AKTZ8k2E7WSvFjcCS4FKYCfwuFVXiUxnzwhkjZvrkVZ+LkDbZabtY7FKlCz9gBeBPciaNaDn2qucQQehGzXKV/4FWmH6GQN8g7SRzTNII94D7KWtfwbwEdCMNKT/t9LEcHQ/PinSbiR6EZuB7nELlRCDgZ/R9b8BLCYT2voW6FPqwNegm9XVV77YDGzTB/llF+cY51akEX8FZuWorwAmocl4BBhXqsAx0xk4ikI6hfgM3fza2CVKjnXomu70lT9pypeVOvAi5Ij7mWwG9kxmF/R255pAoEnTCmwiW8v5eZvggd72YAu6ln556m8w9RsSkyh+zkLX9CNSCDY90KLwD6BbXAJ0Al4BHiyx/+XILwP5e/VokZFWVqIbPjVHXXfgJ7SwOSdJoWJmNrrm5XnqPS032Ss4IWIBLgGuRQ7/dFM2C/gqYP9a4HngMDKVtwE/RCxjlGwzn+cD7/rqFgB9UdjH704kyRzg1BDttyI/Kx9eJCCXVQP4HrgMqAY+CPG7jjzUoLfWH8urRiuuJmI0GwFpILPXHOSoKzLeC6bd7Dz1j5j6+V6B36Ye7zQQ7oavLjKerclslgInAncj/yQuniD3XrDNQOTGBD1uKlMmz89u9QqiNpdpZxfwZ4j2e4rUH0Taahi6l/8A05CPth54tQQZw3AhijsmySHzeUqe+p6+dv+7STa5eJPQbEM7FEPQQuUp5OzfUaDPcOSrTURmdQ0wF4VEAKYgDdUNBadBW3a70UJoN9KQlWaMhcDXZGtUiN4n22k+q/PUDzGfWT5bGBOS9iNpHiYTB7vffM8VnPYYgd7yReiBTECZKfbOx1z0sG2mAb8hc1QBjDW/NRalXeWLtDcQrU/mZeIUCmEcof190eOKGeimv4RucCPZ+7U2m4EVvrJ5ZDQEwMtkP+yFKLDrMZ3MpEuasoKx5WS9RkUaZAhDNW01gT/zxGaoaeM3a3OQZvDYgRYNNq/Rdp/0IeDTEuSNAv+20iIyz20nRbaVysl6LUQdwQO0cckQFxXIP2pFaUuFuBotDvy+8AoyflBX02aSr00T2pLzeBNtvbUX/ZH23ot80EaUfNq7UKdys14LUUewSRanDGlgCnphbHNahSbpDHN+HrreKqvNRDL+l0c9+WNVqcJ23EYjG7/dnFeh1JQW4MuE5EmDDHGyGf2XYTHaA6xB2u99MuGOfWhCeYmd41AAtIW2OycVSLv3JdzqsV0plvUK8BYyZ2HjP3UE02RBZCiWfZt2xgOfo+urR9tPlb429wIH0N7nKuABlDZlMxOlD7UQLKctFRTLegX5CdMoPsnuQxPFO44hu22XTShRhiDZt46UEjTrtYbik6w3mijesRY5qXaZPy8tjAw2ubJvHSnC88kGoYlh2/xGFBCcWcK4B1D2hHcczlF21NenFBnGIFPTVIKMjoTwJtloZNv9dn89yfk8YWXog/yVW2ifSL8jIPYk20W2dlmPAohJ/GMojAxdgNdREHBTArI5EqaG+LMLClFu9q0j5WwAfkHL72bgonaQ4VJkVrdaR67sA4fD4XA4HA6Hw2H4D+yX3Zx1+Z+kAAAAAElFTkSuQmCC\n", "text/latex": "$$\\frac{R_{2} V_{S}}{R_{1} + R_{2}} - V_{out} = 0$$", "text/plain": " R₂⋅V_S \n─────── - Vₒᵤₜ = 0\nR₁ + R₂ " }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#sympy can solve such equations for us\nfrom sympy import solve\n#Solve for R_1 - this gives us an alternative form of the result above\nEq(Symbol('R_1'),solve(sympify(str(vout_expr-vout)),'R_1')[0])\n#The following equation is generated by the symbolic analysis...", "execution_count": 19, "outputs": [ { "data": { "image/png": "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\n", "text/latex": "$$R_{1} = \\frac{R_{2}}{V_{out}} \\left(V_{S} - V_{out}\\right)$$", "text/plain": " R₂⋅(V_S - Vₒᵤₜ)\nR₁ = ───────────────\n Vₒᵤₜ " }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#To solve the equation, we can substitute values into the sympy expression as follows\n#solve(sympify(str(vout_expr-vout)).subs([('V_S',24), ('R_2',100),('V_out',6)]),'R_1')[0]", "execution_count": null, "outputs": [] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "Eq(Symbol('R_1'),solve(sympify(str(vout_expr-vout)),'R_1')[0].subs([('V_S',24),\n ('R_2',100),\n ('V_out',6)]))\n#A key point about this is that we can script in different component values and display the correct output\n#We should be able to use the python-markdown extension to render py variables inside markdown cells\n# but the extension seems to be conflicting with something else in this notebook?\n#If it was working, we should be able to write something like the following in a markdown cell:\n# For R_2={{R2=100;R2}}, V_S={{Vs=20;Vs}} and V_out={{Vout=5;Vout}},\n# we need R1={{solve( ..., 'R_1').subs([('V_S',Vs),('R_2',R2),('V_out',Vout)])}}.\n#The following result is calculated by the symbolic analysis...", "execution_count": 20, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFcAAAAWCAYAAAC1zAClAAAABHNCSVQICAgIfAhkiAAAAxJJREFUWIXt2FuIVWUUB/DfjAbhpSknMqVIskapICNJrYjqwaeKHiZ6SnyMUhi0ngsiKoguRCKCl4LooSB76iL6EvrSReuhGiOaCgrzEpEXNPH08K3T7D73Pp19Zpwz0PnDZp291vp/Z33rrL32+g49TCl2oZFdv+ETPNTFuP4LL2A3fsYpHMN+PIXBFryrsA2/4DTG8Aoumyinr4R4NJyekRI7E0vxIGZgA15u8cXdwhl8ga+lYpiNlVguJWGllPgiFmMfrsD7+Ba34R6M4g4pHxPl/ENsBCHHo2Eba2urU4+LK/TPSnFvKrF9FLb1mf6l0G+eJA54OBzeKrEtCtvJKvI0xc1S3Lsy/bWh/wH9mW0ujuOE9AR0xMkdlof8rCTI60J+U72PaYn7Q36V6e8N+THOZbY/sRezpHbSEWdm5tBM7ueZfhAvxufny3bQAUZwaQ3/A9jZht8TmIMBaT93SonN414S8mDFOt9hNYakF2VtTjG5fbglPj8g/UozcE3c9+MxvFO9r1oYibXbxRvaT+78wv2HWIvDmd9AyD8q1mnqiwVQi1NM7lCBvDEjncBwBFrEXXgSt2KBNKq9W/HFORa16VcXV4acj9ulit2P+6Rpol00J6lGp5xiz222hG3h1Ce1gw1Sg37b+Y/xbHyJdTUCmCocwnvSYzqINzN7s8oGlOOSzK82p1i5Zf32mDTTrpKq8hG8VrB/EFcnuFA9N8eP0uy7DJfjSOhHQw5V8K4PWeyvnXCQTmANrCghrQ7bvopFhX24hT3HmPNPgq2uHTXWznEo1iieoJozfaux6qR/j2KdcPRLo8Rfyofxi/C7NH4srNhA3eROJpYa77VF9Bs/ROwtsU/JIeLGMByoDD8dLBp4vMLezeSOSIWxG1vwnPTu+D7i+hU3lPAWG6/qncHbE/ejyv+TqM1ZE8atLTYwHD57KuzdTO5NeF0qjiM4K71UPsXTmNeCezW2Sz/AGalHv3oBOBNCN5M7LZGf0OpijvFjMWl2XSZNGT9NcO3/Pe42+W/2HnrooYceeqiNvwHyeerGEU0OMwAAAABJRU5ErkJggg==\n", "text/latex": "$$R_{1} = 300$$", "text/plain": "R₁ = 300" }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#We can also do partial solutions\nVs=20; Vout=5\nR1=solve(sympify(str(vout_expr-vout)),'R_1')[0].subs([('V_S',Vs),('V_out',Vout)])\n\nprint('For V_S={Vs}V and V_out={Vout}V, we need R1={R1}.'.format(R2=R2,Vs=Vs,Vout=Vout,R1=R1)) ", "execution_count": 30, "outputs": [ { "name": "stdout", "output_type": "stream", "text": "For V_S=20V and V_out=5V, we need R1=3*R_2.\n" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#Alternatively, we can create a function to solve for any single missing value\n#The following will calculate the relevant solution\ndef soln(values=None):\n if values is None:\n values={'V_S':24, 'R_1':'', 'R_2':100, 'V_out':6}\n outval=[v for v in values if not values[v]]\n invals=[(v,values[v]) for v in values if values[v] ]\n if len(outval)!=1 or len(invals)!=3:\n return 'oops'\n \n outval=outval[0]\n print(invals)\n return 'Value of {} is {}'.format(outval,\n solve(sympify(str(vout_expr-vout)).subs(invals),outval)[0])", "execution_count": 14, "outputs": [] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "soln()", "execution_count": 15, "outputs": [ { "name": "stdout", "output_type": "stream", "text": "[('V_out', 6), ('V_S', 24), ('R_2', 100)]\n" }, { "data": { "text/plain": "'Value of R_1 is 300'" }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "soln({'V_S':24,'R_2':'', 'R_1':300,'V_out':6})", "execution_count": 16, "outputs": [ { "name": "stdout", "output_type": "stream", "text": "[('R_1', 300), ('V_out', 6), ('V_S', 24)]\n" }, { "data": { "text/plain": "'Value of R_2 is 100'" }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#We can also explore a simple thing to check the value from a circuit analysis\ndef cct1(V='24',R1='100',R2='100'):\n R1 = '' if R1 and float(R1) <=0 else R1\n sch='''\n VS 1 0 {V}; down\n W 1 2 ; right, size=2\n R1 2 3 {R1}; down\n R2 3 4 {R2}; down\n W 3 5; right, size=2\n P1 5 6; down,v=V_{{out}}\n W 4 6; right, size=2\n W 4 0; left\n '''.format(V=V,R1=R1,R2=R2)\n \n cct = Circuit()\n cct.add(sch)\n cct.draw(label_nodes=False)\n \n #The output voltage, V_out is the voltage across R2\n txt='The output voltage, $V_{{out}}$ across $R_2$ is {}V.'.format(cct.R2.v if R1 else V)\n display(Latex(txt))\n return", "execution_count": 10, "outputs": [] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "cct1()", "execution_count": 39, "outputs": [ { "data": { "image/png": "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\n" }, "metadata": { "image/png": { "height": 200, "width": 400 } }, "output_type": "display_data" }, { "data": { "text/latex": "The output voltage, $V_{out}$ across $R_2$ is 12V.", "text/plain": "" }, "metadata": {}, "output_type": "display_data" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#It's trivial to make an interactive widget built around the previous function\n#This then lets us select R and V values and calculate the result automatically\nfrom ipywidgets import interact_manual\n\n@interact_manual\ndef i_cct1(V='24',R1='',R2='100'):\n cct1(V=V,R1=R1,R2=R2)", "execution_count": 40, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "24d3134bcf9d478ca56666391f147532", "version_major": 2, "version_minor": 0 }, "text/plain": "interactive(children=(Text(value='24', description='V'), Text(value='', description='R1'), Text(value='100', d…" }, "metadata": {}, "output_type": "display_data" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "# We could also plot V_out vs R_1 for given V_S and R_2?", "execution_count": 18, "outputs": [] }, { "metadata": {}, "cell_type": "markdown", "source": "### The Wheatstone bridge\n\n*http://www.open.edu/openlearn/science-maths-technology/introduction-electronics/content-section-3.2*\n\nOriginally developed in the nineteenth century, a Wheatstone bridge provided an accurate way of measuring resistances without being able to measure current or voltage values, but only being able to detect the presence or absence of a current. A simple galvanometer, as illustrated in the figure below, could show the absence of a current through the Wheatstone bridge in either direction. The long needle visible in the centre of the galvanometer would deflect to one side or the other if any current was detected, but show no deflection in the absence of a current.\n\n![An early D'Arsonval galvanometer showing magnet and rotating coil (Wikipedia)](https://upload.wikimedia.org/wikipedia/commons/thumb/7/70/A_moving_coil_galvanometer._Wellcome_M0016397.jpg/272px-A_moving_coil_galvanometer._Wellcome_M0016397.jpg)\n*An early D'Arsonval galvanometer showing magnet and rotating coil ([Wikipedia](https://commons.wikimedia.org/wiki/File:A_moving_coil_galvanometer._Wellcome_M0016397.jpg))*\n\nThe figures below shows two equivalent circuits made of four resistors forming a Wheatstone bridge. Its purpose here is to show whether there is any current flowing between $V_{left}$ and $V_{right}$." }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "%load_ext tikz_magic", "execution_count": 37, "outputs": [] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "%%tikz -p circuitikz -s 0.4\n%The following creates two diagrams side by side\n\n%The script could be improved by specifying some parameters to identify component sizes\n% and calculate node locations relatively.\n\n%Select the resistor style\n\\ctikzset{resistor = european}\n\n%Create the left hand diagram\n \\draw (0,1) to[R, l=$R_2$] (-2,3) to[R, l=$R_1$] (0,5) -- (0,6);\n%can't get the R_2 and R_4 labels onto the other side of the resistor?\n \\draw (0,1) to[R, l=$R_4$] (2,3) to[R, l=$R_3$] (0,5);\n\\draw(-2,3)to[ammeter] (2,3);\n\\draw (0,1) to (0,0) node[ground]{};\n\\draw (0,6) node[above] {$V_s$};\n\\node[circle,draw=black, fill=black, inner sep=0pt,minimum size=3pt,label=left:{$V_{left}$}] (vl2) at (-2,3) {};\n\\node[circle,draw=black, fill=black, inner sep=0pt,minimum size=3pt,label=right:{$V_{right}$}] (vr2) at (2,3) {};\n\\node[circle,draw=black, fill=black, inner sep=0pt,minimum size=3pt,label=right:{}] (g) at (0,1) {};\n\\node[circle,draw=black, fill=black, inner sep=0pt,minimum size=3pt,label=right:{}] (g) at (0,5) {};\n\n%Create the right hand diagram\n\\begin{scope}[xshift=7cm]\n \\draw (0,1)--(-2,1) to[R, l=$R_2$] (-2,3) to[R, l=$R_1$] (-2,5) -- (0,5)--(0,6);\n \\draw (0,1)--(2,1) to[R, l_=$R_4$] (2,3) to[R, l_=$R_3$] (2,5)--(0,5);\n\\draw (0,1) to (0,0) node[ground]{};\n\\draw(-2,3)to[ammeter] (2,3);\n\\draw (0,6) node[above] {$V_s$};\n\\node[circle,draw=black, fill=black, inner sep=0pt,minimum size=3pt,label=left:{$V_{left}$}] (vl2) at (-2,3) {};\n\\node[circle,draw=black, fill=black, inner sep=0pt,minimum size=3pt,label=right:{$V_{right}$}] (vr2) at (2,3) {};\n\\node[circle,draw=black, fill=black, inner sep=0pt,minimum size=3pt,label=right:{}] (g2) at (0,1) {};\n\\node[circle,draw=black, fill=black, inner sep=0pt,minimum size=3pt,label=right:{}] (g) at (0,5) {};\n\\end{scope}", "execution_count": 38, "outputs": [ { "data": { "image/png": "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\n", "text/plain": "" }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": {}, "cell_type": "markdown", "source": "The bridge is said to be balanced (that is, no current flows through the bridge and the needle of the galvanometer shows no deflection) if the voltages $V_{left}$ and $V_{right}$ are equal." }, { "metadata": {}, "cell_type": "markdown", "source": "It can be shown that the bridge is balanced if, and only if, $\\frac{R_1}{R_2}=\\frac{R_3}{R_4}$, as follows.\n\nWhen $V_{left}-V_{right}=0$ then $V_{left}=V_{right}$. Then the Wheatstone bridge can be viewed as two voltage dividers, $R_1$ and $R_2$ on the left and $R_3$ and $R_4$ on the right. Applying the voltage divider equation gives $V_{left}=\\frac{R_2}{(R_1+R_2)}V_S$ and $V_{right}=\\frac{R_4}{(R_3+R_4)}V_S$.\n\nSo\n\n$\\displaystyle\\frac{R_2}{(R_1+R_2)}=\\frac{R_4}{(R_3+R_4)}$\n\nand\n\n$R_2(R_3+R_4)=R_4(R_1+R_2)$\n\nMultiplying out the brackets gives\n\n$R_2R_3+R_2R_4=R_4R_1+R_4R_2$\n\nwhich simplifies to\n\n$R_2R_3=R_4R_1$\n\nand\n\n$\\displaystyle\\frac{R_3}{R_4}=\\frac{R_1}{R_2}$\n\nSo, if $R_4$ were unknown, $R_1$, $R_2$ and $R_3$ could be chosen so that the needle of a galvanometer showed no deflection due to the current. Then\n\n$R_4=\\displaystyle\\frac{R_2 \\times R_3}{R_1}$" }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#We can actually demonstrate the current flow with some lcapy analysed examples\n#We can get an indication of the sign of the current across the ammeter in the following way\nfrom numpy import sign\nsign(-1),sign(0),sign(1)", "execution_count": 21, "outputs": [ { "data": { "text/plain": "(-1, 0, 1)" }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "%%capture\n#This package lets us work with SI units, suitably quantified\n!pip install quantiphy", "execution_count": 2, "outputs": [] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#Define a function that creates - and analyses - a Wheatstone bridge circuit\n#We'll model the ammeter as a low value resistor\nfrom quantiphy import Quantity\ndef wheatstone(R1=10,R2=10, R3=1e6,R4=1e6, diag=True):\n sch='''\n W 1 0; down\n W 1 2; left\n R2 2 3 {R2}; up\n R1 3 4 {R1}; up\n W 4 5; right\n W 1 6; right\n R4 6 7 {R4}; up\n R3 7 8 {R3}; up\n W 8 5; left\n RA 7 3 1e-6; left\n V 9 5 dc 10; down\n W 9 10; right, size=3\n RL 10 11 1e6; down\n W 11 0; left, size=3\n '''.format(R1=R1,R2=R2,R3=R3,R4=R4)\n #We model the ammeter as a low value resistor\n\n _cctw = Circuit()\n _cctw.add(sch)\n \n if diag:\n _cctw.draw(label_nodes=False, draw_nodes=False, style='european')\n \n def _qR(R):\n return '$'+Quantity(R, '\\Omega').render()+'$'\n display(Latex('Resistor values: R1: {}, R2: {}, R3: {}, R4:{}'.format(_qR(R1),_qR(R2),_qR(R3),_qR(R4))))\n display(Latex('$\\\\frac{{R1}}{{R2}}$ = {}, $\\\\frac{{R3}}{{R4}}$ = {}'.format(R1/R2,R3/R4)))\n signer = '=' if (R1/R2)==(R3/R4) else '<' if (R1/R2)<(R3/R4) else '>'\n display(Latex('$\\\\frac{{R1}}{{R2}}$ {} $\\\\frac{{R3}}{{R4}}$'.format(signer)))\n display(Latex('Sign of current across $R_A$: {}'.format(sign(_cctw.RA.i.n(2)))))\n return _cctw", "execution_count": 45, "outputs": [] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "cctw=wheatstone()", "execution_count": 46, "outputs": [ { "data": { "image/png": "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\n" }, "metadata": { "image/png": { "height": 400, "width": 400 } }, "output_type": "display_data" }, { "data": { "text/latex": "Resistor values: R1: $10 \\Omega$, R2: $10 \\Omega$, R3: $1 M\\Omega$, R4:$1 M\\Omega$", "text/plain": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": "$\\frac{R1}{R2}$ = 1.0, $\\frac{R3}{R4}$ = 1.0", "text/plain": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": "$\\frac{R1}{R2}$ = $\\frac{R3}{R4}$", "text/plain": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": "Sign of current across $R_A$: 0", "text/plain": "" }, "metadata": {}, "output_type": "display_data" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "wheatstone(R1=5,diag=False);\n#The display breaks in nbpreview? The < is treated as an HTML open bracket maybe?", "execution_count": 28, "outputs": [ { "data": { "text/latex": "Resistor values: R1: $5 \\Omega$, R2: $10 \\Omega$, R3: $1 M\\Omega$, R4:$1 M\\Omega$", "text/plain": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": "$\\frac{R1}{R2}$ = 0.5, $\\frac{R3}{R4}$ = 1.0", "text/plain": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": "$\\frac{R1}{R2}$ < $\\frac{R3}{R4}$", "text/plain": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": "Sign of current across $R_A$: 1", "text/plain": "" }, "metadata": {}, "output_type": "display_data" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "wheatstone(R3=5e5,diag=False);", "execution_count": 29, "outputs": [ { "data": { "text/latex": "Resistor values: R1: $10 \\Omega$, R2: $10 \\Omega$, R3: $500 k\\Omega$, R4:$1 M\\Omega$", "text/plain": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": "$\\frac{R1}{R2}$ = 1.0, $\\frac{R3}{R4}$ = 0.5", "text/plain": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": "$\\frac{R1}{R2}$ > $\\frac{R3}{R4}$", "text/plain": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": "Sign of current across $R_A$: -1", "text/plain": "" }, "metadata": {}, "output_type": "display_data" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "", "execution_count": 3, "outputs": [] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "", "execution_count": null, "outputs": [] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "", "execution_count": null, "outputs": [] }, { "metadata": {}, "cell_type": "markdown", "source": "### FRAGMENTS - bits and pieces I've found out along the way that may be useful later" }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#It's easy enough to pass in values to a defined circuit and calculate a desired componebnt value\n#This means we can let students check their own answers...\n#The following renders the circuit with specified component values and then calucates and displays V_out\n#This approach can also be used to generate assessment material \n# for activities that take the same form year on year, for example, but use different values.\n#The wrapper function could also be extended to allow users to enter 3 of 4 values and calculate the fourth.\ncctx=cct1(V=24,R2=100,R1=100)\n", "execution_count": 11, "outputs": [ { "data": { "image/png": "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\n" }, "metadata": { "image/png": { "height": 200, "width": 400 } }, "output_type": "display_data" }, { "data": { "text/latex": "The output voltage, $V_{out}$ across $R_2$ is 12V.", "text/plain": "" }, "metadata": {}, "output_type": "display_data" } ] }, { "metadata": {}, "cell_type": "markdown", "source": "##### Example of a step response\n\nDifferent inputs can be applied to a circuit - which means we can use a step input, for example, and then analyse / calculate the step response." }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "from lcapy import Circuit, j, omega\n\ncct = Circuit()\ncct.add(\"\"\"\nVi 1 0_1 step 20; down\nR1 1 2; right, size=1.5\nC1 2 0; down\nW 0_1 0; right\nW 0 0_2; right, size=0.5\nP1 2_2 0_2; down\nW 2 2_2;right, size=0.5\"\"\")\n\ncct.draw()", "execution_count": 63, "outputs": [ { "data": { "image/png": "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\n" }, "metadata": { "image/png": { "height": 100, "width": 200 } }, "output_type": "display_data" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "cct.C1.v", "execution_count": 64, "outputs": [ { "data": { "text/latex": "$\\left(20 - 20 e^{- \\frac{t}{C_{1} R_{1}}}\\right) u\\left(t\\right)$", "text/plain": "⎛ -t ⎞ \n⎜ ─────⎟ \n⎜ C₁⋅R₁⎟ \n⎝20 - 20⋅ℯ ⎠⋅Heaviside(t)" }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "cctx.R2.v", "execution_count": 38, "outputs": [ { "data": { "text/latex": "$12$", "text/plain": "12" }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "cct.C1.i", "execution_count": 65, "outputs": [ { "data": { "text/latex": "$\\frac{20 u\\left(t\\right)}{R_{1}} e^{- \\frac{t}{C_{1} R_{1}}}$", "text/plain": " -t \n ───── \n C₁⋅R₁ \n20⋅ℯ ⋅Heaviside(t)\n──────────────────────\n R₁ " }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "cct.R1.I.s", "execution_count": 66, "outputs": [ { "data": { "text/latex": "$\\frac{20}{R_{1} \\left(s + \\frac{1}{C_{1} R_{1}}\\right)}$", "text/plain": " 20 \n──────────────\n ⎛ 1 ⎞\nR₁⋅⎜s + ─────⎟\n ⎝ C₁⋅R₁⎠" }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#s-domain voltage across R1\ncct.R1.V.s", "execution_count": 67, "outputs": [ { "data": { "text/latex": "$\\frac{20 s^{2}}{s^{3} + \\frac{s^{2}}{C_{1} R_{1}}}$", "text/plain": " 2 \n 20⋅s \n──────────\n 2 \n 3 s \ns + ─────\n C₁⋅R₁" }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#time domain voltage across R1\ncct.R1.v", "execution_count": 68, "outputs": [ { "data": { "text/latex": "$20 e^{- \\frac{t}{C_{1} R_{1}}} u\\left(t\\right)$", "text/plain": " -t \n ───── \n C₁⋅R₁ \n20⋅ℯ ⋅Heaviside(t)" }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "cct.s_model().draw()", "execution_count": 69, "outputs": [ { "data": { "image/png": "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\n" }, "metadata": { "image/png": { "height": 100, "width": 200 } }, "output_type": "display_data" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#impedance between nodes 2 and 0\ncct.impedance(2, 0)", "execution_count": 70, "outputs": [ { "data": { "text/latex": "$\\frac{1}{C_{1} \\left(s + \\frac{1}{C_{1} R_{1}}\\right)}$", "text/plain": " 1 \n──────────────\n ⎛ 1 ⎞\nC₁⋅⎜s + ─────⎟\n ⎝ C₁⋅R₁⎠" }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#open circuit vlotage between nodes 2 and 0\ncct.Voc(2, 0).s", "execution_count": 71, "outputs": [ { "data": { "text/latex": "$\\frac{20}{C_{1} R_{1} \\left(s^{2} + \\frac{s}{C_{1} R_{1}}\\right)}$", "text/plain": " 20 \n──────────────────\n ⎛ 2 s ⎞\nC₁⋅R₁⋅⎜s + ─────⎟\n ⎝ C₁⋅R₁⎠" }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#equiv cct between nodes 2 and 0\ncct.thevenin(2, 0)", "execution_count": 72, "outputs": [ { "data": { "text/latex": "$\\mathrm{V}(\\frac{20}{C_{1} R_{1} \\left(s^{2} + \\frac{s}{C_{1} R_{1}}\\right)}) + \\mathrm{Z}(\\frac{1}{C_{1} \\left(s + \\frac{1}{C_{1} R_{1}}\\right)})$", "text/plain": "V( 20 \n──────────────────\n ⎛ 2 s ⎞\nC₁⋅R₁⋅⎜s + ─────⎟\n ⎝ C₁⋅R₁⎠) + Z( 1 \n──────────────\n ⎛ 1 ⎞\nC₁⋅⎜s + ─────⎟\n ⎝ C₁⋅R₁⎠)" }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "cct.thevenin(2, 0).Z", "execution_count": 73, "outputs": [ { "data": { "text/latex": "$\\frac{1}{C_{1} \\left(s + \\frac{1}{C_{1} R_{1}}\\right)}$", "text/plain": " 1 \n──────────────\n ⎛ 1 ⎞\nC₁⋅⎜s + ─────⎟\n ⎝ C₁⋅R₁⎠" }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "cct.thevenin(2, 0).Z.latex()", "execution_count": 74, "outputs": [ { "data": { "text/plain": "'\\\\frac{1}{C_{1} \\\\left(s + \\\\frac{1}{C_{1} R_{1}}\\\\right)}'" }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "cct.thevenin(2, 0).Voc.s", "execution_count": 75, "outputs": [ { "data": { "text/latex": "$\\frac{20}{C_{1} R_{1} \\left(s^{2} + \\frac{s}{C_{1} R_{1}}\\right)}$", "text/plain": " 20 \n──────────────────\n ⎛ 2 s ⎞\nC₁⋅R₁⋅⎜s + ─────⎟\n ⎝ C₁⋅R₁⎠" }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "cct.norton(2,0)", "execution_count": 76, "outputs": [ { "data": { "text/latex": "$\\mathrm{I}(\\frac{20}{R_{1} s}) | \\mathrm{Y}(C_{1} \\left(s + \\frac{1}{C_{1} R_{1}}\\right))$", "text/plain": "I( 20 \n────\nR₁⋅s) | Y( ⎛ 1 ⎞\nC₁⋅⎜s + ─────⎟\n ⎝ C₁⋅R₁⎠)" }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "cct.norton(2,0).Z", "execution_count": 77, "outputs": [ { "data": { "text/latex": "$\\frac{1}{C_{1} \\left(s + \\frac{1}{C_{1} R_{1}}\\right)}$", "text/plain": " 1 \n──────────────\n ⎛ 1 ⎞\nC₁⋅⎜s + ─────⎟\n ⎝ C₁⋅R₁⎠" }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#Y is reciprocal of Z\ncct.norton(2,0).Y", "execution_count": 78, "outputs": [ { "data": { "text/latex": "$C_{1} \\left(s + \\frac{1}{C_{1} R_{1}}\\right)$", "text/plain": " ⎛ 1 ⎞\nC₁⋅⎜s + ─────⎟\n ⎝ C₁⋅R₁⎠" }, "execution_count": 78, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "scrolled": false, "trusted": false }, "cell_type": "code", "source": "cct.norton(2,0).Isc.s", "execution_count": 79, "outputs": [ { "data": { "text/latex": "$\\frac{20}{R_{1} s}$", "text/plain": " 20 \n────\nR₁⋅s" }, "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#Add component values \nfrom lcapy import Circuit\ncct = Circuit()\ncct.add(\"\"\"\nVi 1 0_1 ; down\nR1 1 2 4.7e3; right, size=1.5\nC1 2 0 47e-9; down\nW 0_1 0; right\nW 0 0_2; right, size=0.5\nP1 2_2 0_2; down\nW 2 2_2;right, size=0.5\"\"\")\n\ncct.draw()", "execution_count": 94, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAADHCAQAAAAgq5vJAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAAAMgAAADIAGP6560AAAAHdElNRQfiCAgOMDJ/kzl+AAAKeHpUWHRSYXcgcHJvZmlsZSB0eXBlIGljYwAAWIWdl22SZKkNRf+zCi+BTwktBwSK8P434ENWd0+33TNjOyuIzHoPhJCu7hXpn+7pH3zqUEn5fVbJPz7167ccudq1jtq115rHHDZWzX/2SVKkadPcy8gjd//TmX/xCXZ9Hv1w57R6/h9DH4/+x/lLugxt0r758u0E6omDZa3aP/8XnV8v6lQlQvn78/XNTulSZf/xfPfvzxPh/ITx63+fPxboz8+P/2Ho5+eRfzbUycyXqzV/7TCzY+j3z/9kfvr1zN8/tfbyDiwmwvtJ+puECMdV4Y2MmrV9h0a33lJvTCJKbxrLXMbvo/x3ptN/2v5vTf/6+dv06zv6/JYlPh0/yJqxkYkKb9j+efTXcWi15VYakP1diUQbD8zlu0eliPvf1dL3z+/mSaz6OVqb8RWHZr+fWM3e99b5mVfmWf8+72Oo9m/IjfmJxRYPED/Ikvxi8Uek8jP4FsUDI8MwVC6m2isLBkVL0jJ1k9v+WtlZ9HbqLBo8GHg3WPOwJ/MRDil5R1N9RQc8CdrEg4mBdxLDgGHAMLAwsHi4MLDrOySDNc4aZ41vDD3mOCw6GGBevvy+++M1TMPY5OX9KeOQmsYwRuRSB4P3DY9Km4zLUXkIsRWyXnC/YKMIi4V3yju8LhMjeFyMOXhboNaCp2UXDG1+4GJxvg/fh+/L9+U7WBCL4mwMh4Y741AvwghCO8lUYXA0qpnBS3avykNlIdmr8+ZqTCTHdWFks5gNq29yMnJ9OSIEFei0l/6WN+AVklXyo9rGLtQbI3KDd5rwTvFJL4Djf+N/jDcC3zb/u+Z2Goaw3K7nFka2hcJpmfphHApr594nCEAXSHfH447BPp36XqCCd3javafcDxOIyYNJjwvUTh7F8yAboy2gA9zHzIOjD6AygMjAq7EYG+lxxhkJbPGDNH/+OKJUzY/IBU+E7ImsLLrBnmexk2VFFn84LFluo9DgnKwpK5hQdtd24IzIVD4Y7VnZWakxJdC6eX4gLjbVmFDrBr+RJ1Uwu+Q5VgLMN084ZOLuXAtg8z+L5tU8AaMBXgN4xjGNjUx6NrVsk98g3gi4eaRs7GIsWKXkxbEWni0gsTjSomwWEFhkaBGLhZqseHnmD0Ld0MWGk7ZQtJu620ze+5UP3wR+k0EvQLCu7EDBh2cH3Q62fGn2V2YA1zF63l9Fsk9/pbbyIS6HiQfIH2fC4TfxuMDhgr5L9i7Huhr52qYcJV9CcO+lLPEoOH8A84AaAlQHsYrdUOPIcV95E6VKBjqMK5xfcdk2bvP86FtYKOTE4LsHfHtKmV7KIlpupdzJ4bRQV6X2Uar0QumUulqpzriQ+SP0ykDXCuIIATAWmPYBEQxKU0qn8Ho3RHqVPnfp60AOlz0hh1LLaHRCQwqyAVnsVMY+hVO9ait0CEVYLOJFZhTZFUd5Fqso1KC9FJVBr2FF1y1gq2homQVDFHqZvJxzlbkCYuc3Cz+Uw5FMdjFOahvonkNj0suqqyxCs1Sho1uARiqLgOJ42W2XzTE3Bjee7LPKYyAgUHzwrbs48XH34gT4QFqHKj76KMwSHUsrB2O3SLl4d4nJtV4ugLrXSpCNaLeE8JvnsaPEXfVDpcSewqvAPIE6SAOyI1UQ4OTQbL+Ipt/Kqlqr1jpGrZOfK2o9B81ZFd6qcFVt1mvzmmqLx5ZRez90Eo7G7drPetVVB5OHMJD64YxAyetTc8bU17xVuZP84pF2q6pUGQb0OOp26mxB8wdsFo6cXu2JLUYJPKJ7KmxC8eAgbcxio0X6oeOARGrdTaBlq5uJIKI+avNm1eVWx6AfhTO9HuJyVOph43PBJaC53VPFMzhcKzVTOSBcvmpYqcFRImCuNmAvim9RvWdTB0C5kz5CVDbfURu+pValtWob3u+Nma1Bzk2jtT1bI2UdX+mRWrfb+pl0Mq0N+HlM+jOvbcShODQ1UYK/bpNriEVv+kTDvOnRNktvNCBtTm/T52tWPkkyNrLNwQO6w8zSnhpHRVmiceK2BViu1fadZFQbbV9zjuS3tVNro1oaOG0wTLso0mXTiyLBJIn8lBZMoFlqcSvK2KjZ/ijykQ+hBYVCRS8HpRd/UCpcr3sQUCUe7KSHrhaJ6shhpx3tc3Uq/JEGUkZDDSmPc+nSa389oazdJZA2oqS6gR0Sh2BNJLtTyH1Cj0blmBDTZZ1OhrxoX3o6jvQN/Dfx3hjeeE39dZLafa8OpDqzUj9GMo73SxNw5Xag8KWVtMrEssd5Qg9hKxex/ageqkAKoYNBYQ5AMCqXGlCnA1ob5BFhXYOAjd6xSmPZz6bK5hjKQZ1qgVcFaZVlgy55EIyhVBIqnsYEglPPmL6HwTImBuEheVnHYtlajBhjE7VtjIvNxoDE/Mg4eHt0pnHcBtQ0rvi4+wwoHwUvAwGg1cIJLqwIG844/MubBY3iWCWi1bjkoOCPswV0SUNb+ku6denXQA9bGUV+VYTflKBQ5YKsixoYZg6FLaizzOvyLjVitsTiIWVy9KBHUNnsvBffEfip4otrK+J+6DHONqFW5cqW66CBiAdHk4DTaccQevqWS24AfLGh9AgkmGpeOEIH2YgE9QdC+9fd0skSZEPnrsQmvXOpwOwSXD9pgnQ3BAah4Lo+mWx1qU3ahgtrcbEksTQ5XeF33dQRvKo+MeRPVbjfUEP6+tcLBV4mwA50MF3j0mV1LrtrvpZiolGz+IFEMkwHAUeHEjRNqhT9PBOsz34pdhaNtemOXnQrgeGW9c5kMbE4pxhkcKdB2mb4GndSlmkuXxOpn8Rw7vDpAmPw7EBdhzUnYt5Pcu6MhmwafTO9G+0a3QbSQvNZ1kyGfEDay9DyVywGl0A59FSToqNOxggbbp8yJL1GB2UE04iDze42N47VnvAum4UDgmnrAGq4fq8wZNCcOR5qB4ShQobu2V0XtBwOui2CFk9ob89MdAiKtAr0zjBZEDSFz0ApO1VFmVOAc43FXrQqBGCBGVB2F16tiZBM2uMFwTLFaGZ8LUQfRVmbMtvXkHRfTid4Or0IWn7RjovsP/zi0X53O0qSrmulTRuyy0GwOorvMH0j9utyQurUqOTS9piL/gy/1TbEBujmxhtKm/I+3Gbgo20shqX32gNLlx8PZ2W77dfw7ENrywmgcTgtUH6UNIKmklYyXzoKURqHlmCZQPWQBIikHS4DtP3QrY++ORlo6Fz9nRtHfw0J+GjH53ZHP9jLaFCmE4vksIVvbrFYcg7iKJbDZwiH+H2326YeHIDbzMmbtq05h6ENbXG4LR3Y/iA3iTgafkBE/Z5xiNYYRw4sjj3icKYgixdsCg0xeSddZ8Um9jS/3EJ8LtqvnA4zkHA/tDwnaA9icbNBLvPmcee64/Q3Axk7GyfbhbsuMnJ7OFUIzedzxSRd+OICACSRNmA7PRbYPyQUUl0X0oRcNvGGWi997z3mdAnzktcbKF84ffSYie57RKFfKBH0MoSkWEBJ0REQdAe2hnvPDZET8pJGozmZMwEdrQ4loAGzpFi08ls1yCeFMomgxaFGbt9xj8ORlG1E+hftkQTIS62KtQAAF9xJREFUeNrtnU+oLNldxz+/4REzE5lJDYxk4eJRb6MIo6GeKGYxCHVByLrG4J+NQl1cCNlIXVTQjdhXCEaDaDe4Mphwez8I3aAbeYLdbyESjHLbBBNwiNxKAhEMyfu5qOq+Vd3VXdXd1X26u36fw+N1162qc6q6vvU75/zO+R1RDMNwyWuuC2AYXcdEaBiOMREahmNMhIbhGBOhYTjGRGgYjjERGoZjnjTdUQKdui6s0S4S4pEy05nrknSbRpZQfOkxcV1Uo00klgkhAQn3MhLfdXm6TI0llJAEj5TQdUGNNpEEX5/nn2P6TOTKajqukM3D1sTH13G2m4rrwhrtID4jfVb4fkfEWK9cl6ur1FRHdaZj10U0WicG6RW+D4FQAtfF6irWO9pNfBJ5bGJkHTMmQkeYCLvIFEixPtETobGLwrgcdCjPSm6JrG/UOmYc0QlLKJ709zq+v08Xvvj75X4IljyDITC23lFnaKOEos32PMVED8Xf+WiPB/qucj/C3QlQHghcl6O7qROWkDj/txsJHpF4ux0s3p65H54eKeYldEgHRCgxHhDvKiMiwCPZ+ej9cj8w0iMwCbqlAyLM5eMR7XKwxHm3xU5H75v7oZGY2CTonIbtBj3XNiHh4uP9TsdPFh/jHY6O9sv9wPcm5t7agu7T5VvCzBJ9HvBla2skIQHweVJ2a9fFQLpr7odFAiKez62g2IgZdzR8Z+p5WkJ8FKWPxwPKaOvj71AUnx6KEm55dLBf7ge9MwEjvML3ntlEZ79F891cF3Wny+ujKP7i01YP2lzCi093x8z9oPfFY0JEWEgnWF3uSmr6kylb2wH3KS/3SCkKaovjC9J5FFTjowvC3SX3g96XycpGE6G736PmzwEjHhZfHxjt0j3h7OJKlch51bLx0aVK5Lxqeazcj3BfyumkKsvdSs4LcNCLe6Dwhs/7SXuNj84e1WjxfYTyUGxHbTw6k/Bk19wtdSc5L8ABLy1GKTkWmLCNjO4pVdJyd0NDGe2bu6XuJOcFOOCl3aM8lLasCGPD0dm+ycoZG7adVvfdJndLXUrOC3CwC6us/jWXUZXdai6jaqtZrh5bspSldk7ylA94wQc8dX05hTKNUHS58rfczlt7dLWEl9p5Nbk/7Jr76SRe8A2+wWdcl6OybCf41O14JS2c4gNeoSiveMXL07gl61wCTd3m6/oymznt1/WkFl0mp5/oL35X5Tu867o8S6V78forNFT09Ve8cF2aPa9l7xN8sLThpetLUjZ59Zq4zdd79Zo57ffL/TRSXtJ5esUPXJeoVLoXaKz3qnqvsaJvnsRTt/PV7Hn40/xtWfy53nN+URssThO3ef4Ahhv+tsHft0mop+W033gPfrCy6WRKzdPXX8X6SKyvvzqNGtiO17Pn4R+sbHrFV5xfVMKU6bpKI3/JlOn6Hw2Pf2DK3675a8CUKX++c+5ZW/UknPYbruH3KjaejC3kg7de3RdEeK9vnXWVdN/DXzi/gur0n+t7Ievc5nm7b20f6GanfV3nTYPcv+r87p18CrVMqOcswv2jrSmy9P2/+E3Xc0OYka4t8FimBMRyq9X7/DT/xLd1sPbcX+BHgZjbyr9+mq8Cf7Eh97/j4/yceGtz/w7/zO86vn+f5dMr237ILzku1Zw/m/xkWghVkDLRPc7mnv00XNEmVPdtwtpSb/D3VTnpV/bZ4G2s90Q2yP0EHPoVv+vJ2BreQ5OCHUyUM3jqNlzP3id4Wfr66jR6R2tLvVYqTQaXrZdKs6Ft6532pzO0bal39IRahIry5ks00QdVfdBEO947qvCUl+jivfkf59FLtc5t3myY9fp2X7NB3vvlfrR79KJgDX9wWg57nr75Ev34q1A//gp980S80ztfTSsneY+vo3z9fKoE65z2TSccVTvtm053WudCOaXpTorCu3wD5fun45wole49vsL/8JXzeerWXklLpwk5s0m/VW7z5l68al9g84m/++V+5AfkRCzz5abLD/S0jqxvsxy8KQsKNaw/WGcMgKgYHl98YmDYaPHp9bkPGhxtXBSdFaHOGALxo4wkiw06brgiYyaWYkjguLC9PvfxmtwtBmjn6KwImcvl0RoleDSygwA6ZQyP4fHzcPfTxouqLtvCLHezgx2kwyLUMVOKAeojYKbNZTCgGB4/2k5EOmZWkXvDV4BxSXRYhMxlFMEi3P0WlkiHzHgMj5+wnYQzW1jO/XaLo42LodMi1AEz5u26LFb2dtXBW8CXGCTCp3FVdpF7upS72cFO0mkRksnGlygPdz/QdMuj5+HxMxFta8kGe+VuXAhdF+FtLqMtejYf0cxyBvJbhMBwaxHNO2d2yt24FDq+Zr2m8kU+xdu8zUv+sZGHr8xfcQX8Bi+BP94h9y/wKd4mBAY75G5cBB0XIfB5fjv/tMMyoPo1meR2bKhf2yt3s4OdpevV0bnTvrmTfpnB0v/b5j7OczcnfWfpvAiZy2fHnsncad/cSb/MbaEMRicxEWZO++08fGUG7CEiHTMzJ323sTYhwABv94N1KOM9JGwu+s5jIgT2khCgVy5zN84dq44ahmNMhIbhGBOhYTjGRGgYjjERGoZjTISG4RgToWE4xvyEzhC/bt6E+AQEwJSpzbG4XM5chBLQq9g8ZXrIgWDSWz/xSJK6caQSMMIDxmxw8ktMwowhY8CnLx4Dc+tfKC2FiHUa/JcJhRC1BPRQRoda0YFo07UyQrlntJSiinOsXTYbjwlLa10c9po2XK0F/z3GPW7lNG5FqMu502PDGoF75ZUF0F8vwvuKjfer4mGtCHMJrjz69FEmx5YhJsKDpwvomJEQYKkKOAaC7C8t06MuiMUtV6U04/2tAl/0CCrj1dwAwS5Tj43T5szbhACEQHUrzN/uRPVISMps/XklZKg3pS09httM2F0E01+RraYyJtywuKlxplyAJcz7D1e3rZPmzohHXJbYCn65JBIQ1ByxTGa9q2U2Bbz82oyL4VItYcwhQicldXP/yv2X4tHn/S3zaN16G6fO2YuwqkUofXwGet1+TltGgkmarNEkCfO261hvMX9g5zh7ES7bQQlJ8Lmu96mJX2d1itIWj2S7ybsSEjQ5Qm8lwmeQW+4sz+qZ/llF1EJCXRjnL8IAQHr554AZt00c9RLTr91nqs8XX2qroiskzYJHSUDK87nF1JmMCde0+yxO92XSkjfJmZ8QLeZMyEOVSxuP/j7+LsLCYIBRk2slQjf59Mj9hET0y/vlK9evrPebL8Z95MW0MT/hwdOZ944utwh1zC1heSib9OSO3tKquNsSb20HY6b1Nktienpd3k/HDHlc7emRCLi1MaSXx94iFE9CCfkk8EkJJZQ94pbtwGrP6JSlB1hv9P39Ommkt20lUHzC+i4W6RPhy+ro12vSShHOLDLbJbJjm1B8IkKgOCblT/K/wZSU8VGiSq/6CFsfJSM+0dzmApkTIZIQNngAI6gVYcg1N4xIZMmdr6nc0C/PspAQnytrD14iW4tQAiKimn7FAAhBZgx3Di/fjFVLWOW6r7qOqEEFNdXMy1fuYGniyWviUB/rAOSaEX1ZyEtiHYAOJCIq2b2IQXYnJbJQwZfFFiIUn4Sw8AjOmDElZUqavcklwCP7l3X/+yQkkjJkcAirWDlqNITa0Z0A4wZ7pQA6ozwQLQGGNa+WxvZYp3JLj2SRh59bwNul/tgwm/gkAYEtJnphNOwj8+gXvk7oEdQc4ZMwKWzot9+vl03vKW3JehB7878X/tJaLx9KqXeUgPvlHtliKdaeZVFyRuh8shPxfApTcRYIPneLaz5qL3R7983SutTAEopHQpy7j8eMm4wCAZ1xy634hIREQEwst7Q7+DhiqeqpU3ksd7Tt6ZqQdzwVu58ifHyCx2qx1FZYxS+dY0hIX2Y6BaZM8pJ7EizqDz6BjMhGjlrnzKVR+yaMecg/jnZ9BxMwyj8+tPNepVewsvdFa0iMMlIIl2xkC2904kKuD/PzE/JQnueHj7I0Kbd0NyaLc/QW1ltR7vOSzlPR/1na53ipjftmqfYeb/ijtxDP/fLc8K0zCheP3oEnphLQo0eycqFHfJhI6B1/FvyBHhAT4eHv8do/zd/YD+ve6VtnFufzzu/rWpQHuVB7mOy+nWRa66yXkBEBMOZZWwGGdMBzhoDPSPYbwWIYF8MaEUqcRwQbaKsOYk31fW4Bj7709j5dI6QnI5kAsYxkJDYl1jg1KqsgvfxDS9XQlfPPO3v6risClmp/K6uOHjxVWEKJSYCUq+bVUPG2sTA64IoUiMXCFhmdZ0WEEtAnk+A2w82qg/CuRac8JwV6h/HmGcb5sCRC8RkBcH3owdc6y+NP962VZnSbkgjF4w4PuDnGEGGdcg143B15+pNhnBRlS9jPAygcaWCUDrgF5tbXMDpJQYSSjfGcth2lbBN6wxAIzGtodJeiJcw6ZLaNk7kv16RAYlVSo6ssRCgxPocImFuDpnmV1JwVRkfJRShe7ht0ME0mD3gbmy00usl8PmGCD81n+0lvKYCDhy/L3Su3jT2Nt/TxCrPLDaNDPIFsoRNgtkWv6LIX0cNb2dZ4zKkOJCIkkaNXhg3DPZklzObNb1EV1WE5zomE+FuuPlTmlhCIzRYa3SMTYQDMXK6IrmOZErQfrrDLrDQZduWXWxnTdHOEAJhnyhMQj4jW1/LbmjEBQTnWprEXbb3UnvK0hbNs3e0mAQE+6WP82ksN9viEebxq1yIcksBSrM0lJC7FpZ5HBc3+lhQeuWuTMqe2etMWs1LFIyEii/fqEYvPtc4kJm4/2KP0im45SZjuFydXNo/+ql44XeEO5WHPWWdLYZV2Osc9Wn+WPORRxRw3ApSJm2VpLLWXSHgo/44ETAjbChJWyiuiHL5yhHLPaCltFV8JP5+Pu4hyhEdIwgNrFhJC4QGdR7Xc+WLaEGFW9NrwSCiV043xDx1CytKhEx53VLxiiVF032BjFbktCSOPgVRO99s+VbmhCCtyq7yCJxLh4b4yCvPqU0RdB1GKVxmKvse1rdVwzojHiKBqgVcdSILf+lPaI11pq94u5dJfU4XcGk3ltjp6+pO8B+0EGrw6FGiy0sOUcLWZLxEz6387c+4IGK7ppZ+RtvuKlZCUWfF5k5Bh2dEmPYYtPlVjKqewv4YH+1+ejrdbSnptIZsspZKyIlXxdlhB0DgppEdIyro5PNN27aB4xCuebb/cmSUBwV7e7yV0Wv10v4bPafWj1Xdlz1iVamLLSJ83kg3h3/QrtvuUVix/roOiC0Q8+uteCY8xlSSs96JKb7GwXqWVf4JP/Up6x2K6drX2IilLUt17vI7hnmwWzfraTKuWUEKorWYm1auuiAIw5moetFNG3DQb6lLt58xEeCo2JAUQr8am5cuwFW5iwhEnIhsHIQKG63/5Oje9+HW9CY/+P/FI6ppPEhJU76MiAZNie1E8+jJdJ2oJiDe/QLJha6djCYHi+kaVZKVd2ELpMTbn/Hmzbx+9xPRr95nq8/xj0qD/IFnfWalTAZ9H2Y2JiVaqyz3Jei9quxqz+YRn9QjngpvXyX2C8uwPieTBIridGdnv1ajVJ56sRG/XgUptyiUo4crCsqt5RIQ1HgO/0L6rtt83eqVXPK+vpe24Zr1jZvgLS9ivmHkxPq/XipFR7wyQHj7pnj3hcYPGS8y0rqOvWe1LUwZ1JuG1Jic6OWbkTgqJWKmL61Bbcq8ap4LklU290ff3C0Qmvfp+dPEJW32N1+Q3n8p0CiNmmo+0n2X7ikdCG/5J46SRsK2uQ/GJsgppjg9EEkKpdz2i3SbaYHP5MxGeSnSXAOrr62RvlhBIuCm/1SQgIj1W3FSjNcYbA33VViAloj5oZjbrptzSq+40ablHoa7i+oRxI9/c8WjyzptB7h0sCVYCIr2RiWAyPC90LDP86vmCkjCubV6MGzw3Keis3IMgCTBcee0feXL56VnCJj1k2ZvljmdL22O9Fu9kKtfGNtxwV+UWkBi/vhWoaau/+ZH18BpTWje/O9N09E62z2psuDFZfd5hoA5jN3TINYH0i4EvxZO7JhLclTyvJclJrV8vO65QUm/pLJXn3USCosdfQ75ydpfScElK1k7/ZcLE9ZVY2vEJiLjnnh4hITF97tZOgt17ei8xk8WXh+LThI+yYYFcRouPI4V4MQfxgZ7CKF8AN9+jSUkFn3vgxn0rKh/10GhdREkeI4+UtgdMquajGeeChHmLLK0euQkgyu0hxwpLgtc8Bm8L5LOJT8B6tBJmo8cDnmILcV9y4sKW8H4N8nWR6ifTHpQ85tu+k4sDhppKclKTswxjI3MRHr1bdoUs/337uMYE0sOzCinIqH445RFTK8+X9GQkEyCWkYwuZYSwKCAPeAz12IuilQvSJwaVvc/jNx3Vd+nIyPmLtUijtn43yUTYJwbedjfiUjzu3b8ILgsJWvF3jfgyf93CeWoHRHeXzFk/JganqyIlJxPz7WJoJ0CRwNfNhh2WfK5+XnV51rQiJx79mvfsuLnTI7eDM33W9AjjWBzaHWA8zie8zQdENxydoKlMa0S4Tbss2XZVKMO4HHJLuLCFDprPkg0XaCdootEyZgkPz+Ok3swGulg5vi7OlmFcNAsR6owBEEr9vKxWkZAYGFvj3+gqxfAWt6RA75guUPG5A7CQhUZ3KYgwn/DocSdHmk8lHnd4wI25143uUgr0pANuAZ/Rjmfblj4BMHA/g8Mw3LEUbU1v8uHctaFU90d6RMD0cJM2DeMcWA15eM0UiJfDq7aNxCTAzKKlGV1nRYSa8j4pkJRDDbSL9OkDaVsLMBrG+VIR/FdnXJECMaNDyFA8GREDKVe2rKdhVEbg1inP8wBQ9207LCQgG5szNQkaBqwNg68zrhgAHiNpcRSNRIwIgLFJ0DAy1q5Foalecwt49GTSxrxoCWWU+wUHemVtQcPI2LggjN5wTQoE7BlMQHy5y6uhKdfmlDCMR2pWZdIBz/Kh1SET6e8SDkp86XNPBMCAZxb/xTCK1C6Npqne8CyPaR1zLxNpPLpUAunJhPt8sY4hz/TaqqGGUWYxn7B2x4BeIXDQjDHjdQt1iEdASFRY82bMrc2TOEdsPuHhaSxCyBceW17DaUpaiPIZsBw8ccaQofWEnismwsOz1XLZOmWaL7QYLqS2Krs5U4brQ5kbhpGxlSUsHegREOAtiXBuF8cW4u4yMEt4eLayhEU0ZfwYolBCRhbe1TB2obZ31DCMw2IiNAzHmAgNwzEmQsNwjInQMBxjIjQMx5gIDcMxJkLDcIyJ0DAcYyI0DMeYCA3DMSZCw3DMzgO4jfNHAnxSZjbdzC1mCTuKBDIiJsWjf8hY60Y9JsJOIj4jxnqtYx3qFd7R1uEyKjARdpM+aWFBuhuCQy8AZKzHRNhBxCekMAFbZ8zykJSGA0yEXSQCysFHZvhtRFk3dsFE2EWCLbYaB8dE2EVW+0KnlVuNo2Ai7CLVixmYJXSEibCL7LCiiHE4TISG4RgToWE4xkTYRVaDNHuArRfiCBOhAdZKdIqJsItU2zxbxMARJsIuMmTZ9vlYddQZJsIOolNmRa+g+PgMbBUtV5gIu8k1vsSLbzEptvyZM0yEnUTHXJNIDOJJj4grs4PusPAWHUUHMiSWHjDTZ65L021MhJ1FU273P4uxP1YdNQzHmAgNwzEmQsNwjInQWIu8kFdAIv8nn3FdlpWyPX3r5UdfiX701Y//qzx1XZr9MBEalci78kN+HgHgI3xJ/s11iUql+9WPzL77yc/KiM/KN3/qIzP5Hdcl2utqtJ3ThIy4Uht9eDHIh/xYaYPyM/ovrks15xPf+9gbo3zk3Ywrvve///0x12XaHbOERgXyLu8sbzqdAMHyuQ/fSBaDX316fPiGfM51qXanTT/hrTy4vhyjJX4ir4gWeUdORYY/GxAXvkYETH/BdaF2py1LOOVP+a7rizGMc6SlNqFxWchn+NLKxu/qW67LlZfub/i1EY+xisdcwRf1112Xa+frMREaVVR0zPyKftl1qeZ84nsfe2OSB0pNec7D99MfcV2m3bGOGaOaK8rv538/HQnCh3/4TfX1hjE3+PpN/fbvuy7RPpglNNYiH/IOAvyQP9A/cl2apbI9fefvv/UU4J2vfesX9Wuuy7MP/w/1nV89Lg7RaQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOC0wOC0wOFQxNDo0ODo1MCswMDowMA/QTfcAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTgtMDgtMDhUMTQ6NDg6NTArMDA6MDB+jfVLAAAAFHRFWHRwZGY6VmVyc2lvbgBQREYtMS41IAVcCzkAAAAASUVORK5CYII=\n" }, "metadata": { "image/png": { "height": 100, "width": 200 } }, "output_type": "display_data" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "cct.Voc(2,0).s", "execution_count": 95, "outputs": [ { "data": { "text/latex": "$0$", "text/plain": "0" }, "execution_count": 95, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "from lcapy import Vdc, R\nc = Vdc(10)+R(100)\n\nc.Voc.dc", "execution_count": 28, "outputs": [ { "data": { "text/latex": "$10$", "text/plain": "10" }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "c.Isc.dc", "execution_count": 25, "outputs": [ { "data": { "text/latex": "$\\frac{1}{10}$", "text/plain": "1/10" }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "from numpy import logspace, linspace\nfrom lcapy import Vac, Vstep, R, C, L, sin, t, s , omega\n\nn = Vstep(20) + R(4.7e3) + C(4.7e-9)\nn.draw()\n\nvf =logspace(-1, 3, 4000)\nn.Isc.frequency_response().plot(vf, log_scale=True);\n", "execution_count": 66, "outputs": [ { "data": { "image/png": "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\n" }, "metadata": { "image/png": { "width": 400 } }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": "" }, "metadata": {}, "output_type": "display_data" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "type(n)", "execution_count": 62, "outputs": [ { "data": { "text/plain": "lcapy.oneport.Ser" }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#Look like we can pass stuff in to the expression?\n#so for a first order low pass filter eg https://web.stanford.edu/~boyd/ee102/conv_demo.pdf\nX=(1/(1+s/500))(j * 2 * pi * f)\nfv = logspace(-2, 4, 400)\nX.plot(fv, log_scale=True)\nX.phase_degrees.plot(fv,log_scale=True);", "execution_count": 85, "outputs": [ { "data": { "image/png": "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\n", "text/plain": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": "" }, "metadata": {}, "output_type": "display_data" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "cct.Voc(2,0).s", "execution_count": 88, "outputs": [ { "data": { "text/latex": "$\\frac{200000000}{2209 s^{2} + 10000000 s}$", "text/plain": " 200000000 \n──────────────────────\n ⎛ 2 10000000⋅s⎞\n2209⋅⎜s + ──────────⎟\n ⎝ 2209 ⎠" }, "execution_count": 88, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "X=cct.Voc(2,0).s(j * 2 * pi * f)\nfv = logspace(-2, 4, 400)\nX.plot(fv, log_scale=True)\nX.phase_degrees.plot(fv,log_scale=True);", "execution_count": 87, "outputs": [ { "data": { "image/png": "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\n", "text/plain": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": "" }, "metadata": {}, "output_type": "display_data" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "from numpy import logspace\nfrom lcapy import pi, f, Hs, H, s, j\n\n#HOw might we relate this to circuit description?\nH = Hs((s - 2) * (s + 3) / (s * (s - 2 * j) * (s + 2 * j)))\n\nA = H(j * 2 * pi * f)\n\nfv = logspace(-3, 6, 400)\nA.plot(fv, log_scale=True)\nA.phase_degrees.plot(fv,log_scale=True);", "execution_count": 76, "outputs": [ { "data": { "image/png": "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\n", "text/plain": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": "" }, "metadata": {}, "output_type": "display_data" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "A", "execution_count": 77, "outputs": [ { "data": { "text/latex": "$- \\frac{j \\left(2 j \\pi f - 2\\right) \\left(2 j \\pi f + 3\\right)}{2 \\pi f \\left(2 j \\pi f - 2 j\\right) \\left(2 j \\pi f + 2 j\\right)}$", "text/plain": " -j⋅(2⋅j⋅π⋅f - 2)⋅(2⋅j⋅π⋅f + 3) \n─────────────────────────────────────\n2⋅π⋅f⋅(2⋅j⋅π⋅f - 2⋅j)⋅(2⋅j⋅π⋅f + 2⋅j)" }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "H", "execution_count": 46, "outputs": [ { "data": { "text/latex": "$\\frac{\\left(s - 2\\right) \\left(s + 3\\right)}{s \\left(s - 2 j\\right) \\left(s + 2 j\\right)}$", "text/plain": " (s - 2)⋅(s + 3) \n─────────────────────\ns⋅(s - 2⋅j)⋅(s + 2⋅j)" }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "H = (cct.R1.V('s') / cct.Vi.V('s')).simplify()\nH", "execution_count": 2, "outputs": [ { "data": { "text/latex": "$\\frac{C_{1} R_{1} s}{C_{1} R_{1} s + 1}$", "text/plain": " C₁⋅R₁⋅s \n───────────\nC₁⋅R₁⋅s + 1" }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "##fragments", "execution_count": null, "outputs": [] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#schemdraw https://cdelker.bitbucket.io/SchemDraw/SchemDraw.html", "execution_count": null, "outputs": [] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "#online examples - tangentially relevant as examples of what can be done elsewhere\n#- https://www.circuitlab.com/\n#- https://github.com/willymcallister/circuit-sandbox", "execution_count": null, "outputs": [] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "", "execution_count": null, "outputs": [] } ], "metadata": { "kernelspec": { "name": "python3", "display_name": "Python 3", "language": "python" }, "language_info": { "mimetype": "text/x-python", "nbconvert_exporter": "python", "name": "python", "pygments_lexer": "ipython3", "version": "3.5.4", "file_extension": ".py", "codemirror_mode": { "version": 3, "name": "ipython" } } }, "nbformat": 4, "nbformat_minor": 2 }