Вы находитесь на странице: 1из 17

Oisin Maguire

Magnetic Domains

Experiment
Title :- Magnetic Domains

Module No :Student Name:Student No :-

PHYC40370 Oisin Maguire 09464778

Oisin Maguire

Magnetic Domains

Abstract:-In this experiment a ferromagnetic material is analysed to obtain the Curie temperature 407 1Kelvin, coercive field1.967 104 2.3 106 Tesla, anisotropy field 5.374 104 2.3 106 Tesla, variation of the magnetization with temperature will be analysed and also the hysteresis loop will be plotted.

Theory:- A ferromagnetic material is a material in which given a certain temperature range there is a net magnetic moment which can line up in such a way that the magnetic field persists after the removal of an external magnetic field. Below a certain temperature (it depends on the type of ferromagnetic material) called the Curie temperature an increasing external magnetic field will causes an increase in magnetization in till the material is saturated(all its domains are aligned with the external magnetic field). On a macroscopic level there are small cells or domains in which a small volume of the ferromagnetic material acts like a clump of the scale around 0.1-1mm across in any direction. These domains have their magnetic fields aligned. Above the Curie temperature the ferromagnetic material acts like a paramagnetic material. A paramagnetic material is a material in which the atom and molecules can align with an external magnetic field. If an electromagnetic wave is passed through a ferromagnetic material while a magnetic field is present the orientation of the electromagnetic vectors will change or rotate about the axis of travel. The larger the ferromagnetic material is magnetised the larger this effect gets and as such we can measure this change and compare it to the change in the magnetisation.

The image on the left is before we apply an external field i.e. the magnetic domains in the ferromagnetic material are not aligned in any particular direction however the image the right hand side is of the same ferromagnetic

Oisin Maguire

Magnetic Domains

material with an external magnetic field applied. There is clearly a correlation between the intensity of the light and the intensity of the magnetic field. Experimental Procedure:- A program was written to send out a voltage across a wire loop which causes a magnetic field through the ferromagnetic material. This will create magnetic domains within the ferromagnetic material which will at higher voltages cause the entire ferromagnetic material to change the orientation of the light that passes through the material. During the experiment a discharge lamp will be used to illuminate the ferromagnetic material. Before the light from the discharge tube enters the ferromagnetic material it is polarised also upon exiting the ferromagnetic material the light will be polarised again but this time it will be perpendicularly polarised with respect to the initial polarisation. This light will be detected by a photodiode which will send a dc(direct current) signal to a dc amplifier which then in turn will be converted to a binary voltage read in by the computer program. By plotting the applied magnetic field on an x-axis of a graph against the magnetisation on the y-axis a hysteresis loop will be the resultant graph. If we measure how the intensity of the light recorded by the photodiode as we raise the temperature of the ferromagnetic material we can determine the Curie temperature by extrapolating a linear plot. The ferromagnetic material can be heated by applying an external magnetic field perpendicular to the direction of the incident light as well as being perpendicular to the direction of the other magnetic field provided by the computer program, in this way the strength of the external magnetic field will not disturb in the change of the polarisation as the external magnetic field will cause a change in an axis that the light getting recorded will not get disturbed by.

Experimental Data:- Most of the data was taken by the computer program found in the code section at the end of the lab report for the rest of the data a multimetre and a Gaussmeter was used. For the pictures a camera was used.

Oisin Maguire

Magnetic Domains

Data Analysis:- In MathCAD the strength of both the magnetic fields were analysed by plotting the input voltage across a wire against the resultant magnetic field intensity these reveals a linear plot.

Both of these curves are clearly linear as the magnetic field strength depends on the current and using Ohms law
V IR I V / R B

0 I
2r

0V
2rR

Therefore the magnetic field intensity is directly related to the applied voltage across the wire. Comparing the relative strength of the two magnetic fields with respect to the input voltage for the two wires, taking the line of best fit in both cases yields the following graph.

Oisin Maguire

Magnetic Domains

Were the red line is from the magnetic field due to the program while the dotted blue line is due to the external voltage supply. The gradient of the magnetic field due to the program is less intensive due to the fact that this is a relatively similar current as opposed to the external voltage supply but over a much smaller amount of turns in the wire loop.
BN

0V
2rR

Were now N is the number of loops the wire makes. Simply put the external power supply has more loops in its wire and causes it to have a bigger magnetic field. A discharge tube was used to illuminate the ferromagnetic material, the light from the discharge tube was polarised before and after the entering the ferromagnetic material as to measure the intensity of the rotation of the electric and magnetic vectors of the incident light. When the induced magnetic field was plotted against the applied magnetic field the hysteresis loop below was plotted. The MathCAD version of the plot is below.

Oisin Maguire

Magnetic Domains

The hysteresis loop below is from the computer program itself as it was one of the two data outputs from the program.

Oisin Maguire

Magnetic Domains

Pictures of the Domains:-

Oisin Maguire

Magnetic Domains

Conclusion:- Magnetic domains in ferromagnetic materials can be created and come in varies different shapes and sizes. There can also be bubbles in which a circle can be formed when looking head onto the material. This bubble can have its magnetic domains pointed in one of two directions. This was conceived as a new way of storing binary or gray code data but is more expensive to create and slower than eeprom(electrically erasable programmable read only memory) and didnt make it to becoming commercially viable.

Appendices:Ohms law is
V IR

Were V is the voltage drop across a material, I is the current through that material and R is the resistance to the flow of the current. This formula only works for ohnmic devices like resistors, the likes of diodes cannot be analysed using this formula.
V IR I V / R B

0 I
2r

0V
2rR

Were B is the strength of the magnetic field, 0 is the permeability of a vacuum and r is the radius of a wire loop. Therefore the intensity of the resultant magnetic field is directly proportional to the voltage applied across the wire loop.

Oisin Maguire

Magnetic Domains

Code:////Oisin Maguire (09464778) 12/09/2012 //Magnetic Domains #include <iostream> //Enables the ability to print to screen #include <windows.h> //Allows the usage of windows specific programs #include <UCDLabs.h> //Enables the usage of the UCD Specific Programs #include <cstdlib> //Enables the usage of input output{C STandard input and output LIBrary} #include <fstream> //Allows you to read and write files #include <SimpleGraph.h> //allows the ability to create and save a graph created by the program #include <cmath> //Allows the usage of math functions #include<string> //Allows the ability to use string using namespace std; // removes the need for using std:: all the time int main() { string filename; cout <<"Entre file name that it will be saved as: "; //prints to screen what is in the " " cin >>filename; //allows user to use keyboard to insert name of the file to be saved as ofstream filestr; //creates a file stream filestr.open(filename.c_str()); // needed to convert the filename to c string if(!filestr.is_open()){ //! is the logical NOT. i.e if the file doesnt open the //following process is ran. cout<<"Error opening file: " //Displayes the error message on the screen with the filename given <<filename <<"Exiting program...." //Prints the closing of the program to the screen << endl; return 1; // the program normally returns a 0 if there is no error in the program } unsigned long BASE =0xDE00; unsigned long PORTA =BASE; unsigned long PORTB =BASE+1; unsigned long PORTC =BASE+2; unsigned long PORTCTRL =BASE+3; unsigned long PORTA2 =BASE+4; unsigned long PORTB2 =BASE+5; unsigned long PORTC2 =BASE+6; unsigned long PORTCTRL2 =BASE+7; //assigning each of the 8 ports outport(PORTCTRL, 128); //Setting the port A/B and C as Output outport(PORTCTRL2, 146); //Setting the port A and B as input and port C as output SetPriorityClass( GetCurrentProcess(), REALTIME_PRIORITY_CLASS); //Sets the program at the top of the list to get to the processor as to

Oisin Maguire

Magnetic Domains

//minimise error due to lag SimpleGraph graph1(500, 500); //Sets the amount of pixels for the graph graph1.setXRange(-5, 5); //Sets the x-axis range graph1.setYRange(-5, 5); //Sets the y-axis range graph1.setTitle("Magnetic Domain Experiment"); //Sets the title of the graph graph1.drawBorder(); //Gives the graph a border graph1.drawLimits(); //Draws the limit that were set in the x and y axis range float a; //a is now a floating point as to be able to use it in the main part //of the program double vo; //Creates an 8 bit number as vo {voltage output} double vi; //Creates an 8 bit number as vi {voltage input} int high = (2024 & 3840) >> 8; int low = 2024 & 255; outport(PORTA, low); outport(PORTB, high); for (int i=2024; i<3574; i=i+10)//0 to max { a = 0.0; int hi = (i & 3840) >> 8; int lo = i & 255; outport(PORTA, lo); outport(PORTB, hi); MilliSleep(100); for (int j=0; j<100; j++){ //takes each measurment 100 times as to have less error MilliSleep(10); outport(PORTC2, 1); MilliSleep(10); outport(PORTC2, 0); MilliSleep(10); outport(PORTC2, 1); int LSB = inport(PORTA2); int MSB = inport(PORTB2); int val =((MSB & 15) << 8) + LSB; a = val + a; } vi = (i - 2024)*0.0021; //Calcualtes the input voltage from the binary verision vo = ((4096 - (a/100)) - 2024)*0.0024; //Calculates the output from the binary result filestr<<vi<<" "<<vo<<endl; cout<<vi<<" "<<vo<<endl; //stores and displays the input and output voltages graph1.setPenColour(BLACK); graph1.plotFilledCircle(vi,vo,2); //Plots the points on a graph were the x-axis is input and the y-axis is# //the resultant voltage outport(PORTC2, 0); MilliSleep(100); } for (int i=3574; i>2014; i=i-10) //max to 0 {

10

Oisin Maguire
a = 0.0; int hi = (i & 3840) >> 8; int lo = i & 255; outport(PORTA, lo); outport(PORTB, hi); MilliSleep(100); for (int j=0; j<100; j++){ MilliSleep(10); outport(PORTC2, 1); MilliSleep(10); outport(PORTC2, 0); MilliSleep(10); outport(PORTC2, 1); int LSB = inport(PORTA2); int MSB = inport(PORTB2); int val =((MSB & 15) << 8) + LSB; a = val + a; } vi = (i - 2024)*0.0021; vo = ((4096 - (a/100)) - 2024)*0.0024; filestr<<vi<<" "<<vo<<endl; cout<<vi<<" "<<vo<<endl; graph1.setPenColour(GREEN); graph1.plotFilledCircle(vi,vo,2); outport(PORTC2, 0); MilliSleep(100); } for (int i=2024; i>474; i=i-10)//0 to min { a = 0.0; int hi = (i & 3840) >> 8; int lo = i & 255; outport(PORTA, lo); outport(PORTB, hi); MilliSleep(100); for (int j=0; j<100; j++){ MilliSleep(10); outport(PORTC2, 1); MilliSleep(10); outport(PORTC2, 0); MilliSleep(10); outport(PORTC2, 1); int LSB = inport(PORTA2); int MSB = inport(PORTB2); int val =((MSB & 15) << 8) + LSB; a = val + a; } vi = (i - 2024)*0.0021; vo = ((4096 - (a/100)) - 2024)*0.0024; filestr<<vi<<" "<<vo<<endl; cout<<vi<<" "<<vo<<endl; graph1.setPenColour(BLUE); graph1.plotFilledCircle(vi,vo,2); outport(PORTC2, 0); MilliSleep(100); } for (int i=474; i<2034; i=i+10) //min to 0 { a = 0.0; int hi = (i & 3840) >> 8; int lo = i & 255;

Magnetic Domains

11

Oisin Maguire

Magnetic Domains

outport(PORTA, lo); outport(PORTB, hi); MilliSleep(100); for (int j=0; j<100; j++){ MilliSleep(10); outport(PORTC2, 1); MilliSleep(10); outport(PORTC2, 0); MilliSleep(10); outport(PORTC2, 1); int LSB = inport(PORTA2); int MSB = inport(PORTB2); int val =((MSB & 15) << 8) + LSB; a = val + a; } vi = (i - 2024)*0.0021; vo = ((4096 - (a/100)) - 2024)*0.0024; filestr<<vi<<" "<<vo<<endl; cout<<vi<<" "<<vo<<endl; graph1.setPenColour(RED); graph1.plotFilledCircle(vi,vo,2); outport(PORTC2, 0); MilliSleep(100); } int hi = (2024 & 3840) >> 8; int lo = 2024 & 255; outport(PORTA, lo); outport(PORTB, hi); //Resets the output voltage to zero SetPriorityClass(GetCurrentProcess(), NORMAL_PRIORITY_CLASS); //Sets the priority of the program back to normal filestr.close(); //closes the file with all the data saved graph1.saveAsBMP("Icarus.bmp"); //Saves the image and calls it Icarus graph1.waitForKeyPress(); //Waits for a key to be pressed on the graph graph1.closeGraph(); //Now the images gets closed system("PAUSE"); //Keeps the command line open as to review the numbers return(0); //Return 0 means there was no fault in the program {1 means error} }

12

Oisin Maguire

Magnetic Domains

MathCAD:-

13

Oisin Maguire

Magnetic Domains

14

Oisin Maguire

Magnetic Domains

15

Oisin Maguire

Magnetic Domains

16

Oisin Maguire

Magnetic Domains

References:- The Advanced Labatory Manual The art of electronsics by Paul Horowitz and Winifield Hill

17

Вам также может понравиться