* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download A circuit for controlling an electric field in an fMRI... Yujie Qiu, Wei Yao, Joseph P. Hornak
Survey
Document related concepts
Operational amplifier wikipedia , lookup
Radio transmitter design wikipedia , lookup
Analog-to-digital converter wikipedia , lookup
Schmitt trigger wikipedia , lookup
Transistor–transistor logic wikipedia , lookup
405-line television system wikipedia , lookup
Wien bridge oscillator wikipedia , lookup
Integrated circuit wikipedia , lookup
Phase-locked loop wikipedia , lookup
Flip-flop (electronics) wikipedia , lookup
Valve RF amplifier wikipedia , lookup
Regenerative circuit wikipedia , lookup
Analog television wikipedia , lookup
Rectiverter wikipedia , lookup
Oscilloscope history wikipedia , lookup
Index of electronics articles wikipedia , lookup
Transcript
A circuit for controlling an electric field in an fMRI phantom. Yujie Qiu, Wei Yao, Joseph P. Hornak Magnetic Resonance laboratory Rochester Institute of Technology Rochester, NY 14623-5604 June 2013 This report presents a circuit for controlling a high voltage which can be applied to an electric field cell used in an NMR or MRI experiment. The circuit is typically located in the magnet room and interfaces to the imager through the pulse monitor. The circuit is powered by batteries. The circuit consisted of control, timing, and output sections. See Fig. 1 for a diagram of the circuit and Table 1 for a component list. Each section was shielded to minimize the pickup of signal from the imager and the introduction of noise into the images. The control section contained the pulse logic, 235 V battery pack, relay, and shielded output cables. The timing section was based on an Arduino Nano microprocessor. Interfacing to the MRI system was done through the pulse monitor which was used to trigger the EPI sequences. The timing part of the circuit is based on the Arduino Nano micro-controller. One digital output, D12, is amplified and sent to the clock pin of the J-K flip flop (IC1). The other output, D11, is sent to Red LED D5 (λ = 660nm) and IR LED D6 (λ = 940nm) as the input of the finger sensor for peripheral triggering. The lights of these wavelengths are absorbed by the oxyhemoglobin and deoxyhemoglobin respectively. Usually the absorption rates are used to calculate the ratio of the oxyhemoglobin and deoxyhemoglobin. Here the fluctuation of the signals from the two LEDs is regarded as the frequency of the heartbeat. The LED D4 at the right side of Arduino is used to show the working status of D5 and D6, while D3 at the left side of Arduino is used to show if Arduino is powered. BT2 provides the electric source for Arduino. The control circuit shows how the digital output D12 is transmitted. The signal is magnified by two transistors (Q1 and Q2) as the input of the clock pin (Pin 4) of the J-K flip flop (IC1). The electric source of IC1 is provided by BT1. According to the function table, since J and are all set to 1, the clock signal will toggle the output (Q) of the J-K flip flop, i.e., if Q is 0 at first, change it to 1 and vice visa. When Q is 1, this signal is transmitted to drive the relay (K1). The function of the relay is to control a high-power circuit by a low-power signal. It is connected with the 235 V battery pack (BT3) to set the on and off state of the electric field. The function of the four RF chokes (L1-L4) is twofold: first, to block RF signals from the RF pulses and induced signals from the switching of the gradients from getting into the controller, and second to block clock signals from the controller from ‐1‐ getting into the imager. Two LEDs are used to show the status of the system, D1 for the connection, D2 for the state of the 235 V electric field. The specifics of the electric components are listed in Table 1. Controll Timing Fig. 1. The schematic diagram of the circuit. ‐2‐ Table 1. Components List Batteries BT1 4.5 V (3x1.5 V) BT2 235 V (20x12 V) BT3 9V Capacitor C1 470 pf Relay K1 OMRON G3VM-2L Transistors Q1, Q2 C945 Q3 2030 RF Chokes L1-4 100 µH Diodes D1-5 Red LED D6 IR LED Resistors R1 680 Ω R2,3 6.8 k Ω R4 3.3 k Ω R5,6 1kΩ R7 5.6 k Ω R8-13 680 Ω Integrated Circuits IC1 SN74HC109N Switches S1,2 SPST S3 Momentary Fig. 2 presents the timing diagram for the application of E-field pulses in a SE-EPI sequence. In this sequence TEF is the duration of the E field, TTD is the MRI system trigger delay, and TED the electric field delay. Blocks of n images are collected with the E field, followed by n images without E. This n-on, n-off collection is repeated m times. The code used to create the pulses in the timing diagram is presented in Table 2. Cardiac Trigger Pulse Sequence SE-EPI SE-EPI E-Field Trigger E-Field n TEF n m TR TED TTD Fig. 2. Timing diagram for applying an electric field pulses during an SE-EPI sequence. ‐3‐ Table 2. Code used to generate the pulse timing in Fig. 2. /* Pulse Control output: two digital pulses */ //Pulse duration const int d5 = 5; int ledPins[]={11,12}; int val[3]; int d[4]; int idx = 0; int times = 10; // the setup routine runs once when you press reset: void setup() { // initialize the input and output. Serial.begin(9600); for (int index = 0; index < 2; index ++) pinMode(ledPins[index], OUTPUT); } // the loop routine runs over and over again forever: void loop() { d[0] = 15; d[1] = 200; d[2] = 1500; d[3] = d[2] - d[1] - d[0] - d5; if (d[3] < 0) { d[2] = d[1] + d[0] + d5; d[3] = 0; } if (idx/times) with(d[0],d[1],d[3]); else without(d[2]); idx++; if (idx == 2*times) idx = 0; //Write numbers in the window Serial.print("Delay is "); Serial.println(d[0]); Serial.print("Length is "); Serial.println(d[1]); Serial.print("TR is "); Serial.println(d[2]); Serial.println(""); } void without(int d2) { //Pulse for the IR LED digitalWrite(ledPins[0], HIGH); delay(d5); digitalWrite(ledPins[0], LOW); ‐4‐ delay(d2-d5); } void with(int d0,int d1, int d3) { //Pulse for the IR LED digitalWrite(ledPins[0], HIGH); delay(d5); digitalWrite(ledPins[0], LOW); delay(d0-d5); //Pulse for the J-K flip flop digitalWrite(ledPins[1], HIGH); delay(d5); digitalWrite(ledPins[1], LOW); delay(d1-d5); digitalWrite(ledPins[1], HIGH); delay(d5); digitalWrite(ledPins[1], LOW); delay(d3); } ‐5‐