Induction Motor Speed Control using Spartan6 FPGA Kit

17,228.00

This project describes the speed control of Induction motor with the Spartan6 Digital Signal Controller. By comparing the sine and triangular wave (internal) Spartan6 generates the controlled switching pulses for inverter. The speed control is done by changing the frequency of reference sine from Spartan6. The motor speed is measured by using the proximity sensor placed on the Induction Motor and displayed on LCD.

Package Includes:

  • Induction Motor Speed Control using Spartan6 FPGA Kit

  • Demo Video

  • Abstract

  • Reference Paper

  • source code

  • !!! Online Support !!!

  • Delivery in 5 working days

8 in stock

SKU: Induction Motor Speed Control using Spartan6 FPGA Kit Category:

Description

Introduction

This project describes the speed control of Induction motor with the Spartan6 Digital Signal Controller. By comparing the sine and triangular wave (internal) Spartan6 generates the controlled switching pulses for inverter. The speed control is done by changing the frequency of reference sine from Spartan6. The motor speed is measured by using the proximity sensor placed on the Induction Motor and displayed on LCD.

Demonstration Video

 

Hardware Block Diagram

In this project the Three Phase Induction Motor is controlled by Spartan6 FPGA. The Induction Motor power is converted from AC and Full wave rectifier. The 3Ph Inverter circuit formed using IRFP250 MOSFET and its gate is driven by TLP250 with separate isolator for TOP and BOTTOM MOSFET from Spartan6 FPGA. The speed of induction motor speed is sensed by Proximity sensor.

Hardware Block Diagram

Details for H-Bridge 3 Phase Inverter Card

The inverter card comes with inbuilt full bridge rectifier and filter capacitor. 6 Nos of IRFP250 MOSFETs are mounted with Heat sink. The output of the inverter is terminated with 3 pin PTB Connector. The user should get soldered on back side of the board for gate pulse interface. 

➣6 Nos of IRFP250 MOSFET are mounted with proper Heat sink

➣5A Bridge Rectifier with DC Filter Capacitor(1000uF/250V)

➣3 Pin PTB Connector provided to connect Motor

INVERTER SCHEMATIC DIAGRAM

INVERTER SCHEMATIC DIAGRAM

Induction Motor Pulse Pattern

 Induction Motor Pulse Pattern

3 Phase H-Bridge Inverter (MOSFET/IGBT) BOARD

3 Phase H-Bridge Inverter (MOSFET/IGBT) BOARD

INVERTER BOARD

Specification

➣6  Nos of IRFP250 MOSFET with Heatsink 

➣Input Voltage 100V/AC/50Hz

➣Operating Frequency 25 KHz

➣Input and Outputs are terminated with PTB Connectors

TLP 250 DRIVER BOARD

TLP 250 DRIVER BOARD

TLP 250 DRIVER BOARD

Specification

➣6  Nos Opto-Isolated Gate Drive

➣Input Voltage 12V/AC/50Hz

➣Operating Frequency 25 KHz

➣All input and outputs are terminated with RMC Male Connectors

TLP 250 Driver Schematic Diagram

TLP 250 Driver Schematic Diagram

Block Diagram

TLP 250 Driver Schematic Diagram

PIN Details

pin details

Xilinx Spartan 6 FPGA project Board

Xilinx Spartan 6 FPGA project Board

Description

The Spartan6 FPGA Project Board is a digital system development board which features Xilinx Spartan6 FPGA, 4Mb of external non-volatile memory and enough I/O devices and external connector to interface variety of digital applications. The Spartan6 FPGA is an ideal platform for any engineer to gain experience with Xilinx’s latest technologies, and it is perfectly suited to the classroom – new students can build logic circuits without worrying about complex external interfaces.

Key Features

➣16 Nos. DIP Switch (Digital Input)

➣16 Nos. Point LEDs (Logic Output)

➣2 Nos. of Push Buttons

➣Two UART(RS232)

➣12-Bit SPI ADC (2 channel)

➣12-Bit SPI DAC

➣Temperature Sensor LM35

➣5V SPDT Relay

➣Buzzer (Alarm)

➣Reset Button | Power-on Indication

➣JTAG (Program/Debug)

➣40 Pin and 20 Pin I/O Expansion Connector

➣On-Board Voltage regulators +5V | +3V3 | +1V2

Benefits

➣Evaluate Real Time Applications

➣Supports VHDL, VERILOG & Schematic

➣JTAG Programming/Debugging

➣Easy Add-on Card Interface

FPGA Module

➣Device : Spartan6 (XC6SLX9-TQ144)

➣Memory : 4MB – PROM

➣Clock : 50MHz crystal

In the FPGA based speed control for three-phase induction motor drives. The sinusoidal PWM is realized on a Spartan6 FPGA kit to provide controlled switching pulses for inverter block. The speed control operation is done by adjusting frequency from the FPGA. The Speed at which induction motor rotate is calculated using Proximity Sensor as a feedback to FPGA and display it on LCD. 

Block Diagram of Induction Motor Speed Control Technique

Block Diagram of Induction Motor Speed Control Technique

Feedback block flow from Motor to FPGA 

 Feedback block flow from Motor to FPGA

Flowchart of Induction Motor Speed Control Technique

 Flowchart of Induction Motor Speed Control Technique

Sine Wave Generation

Sine wave generation employs a static 256 entry lookup table that contains 360° of a sine wave. By reading values from the table in sequence and passing them to the PWMs, it is possible to generate a sinusoidal output.

The three sine waves required each 120° out of phase from the others are created by using three separate indexes into the lookup table, one for each phase

PWM Generation

An up-down counter unit and three comparator units are used to create the PWM signals required to drive a three phase half H-bridge inverter. One compare unit is used for each of the three phases, the compare units compare the count value from the counter unit with a user specified value derived from the sine wave lookup tables. Each compare unit has two PWM outputs, one is asserted when the count value is greater than or equal to the user specified value, and the other is asserted when the count value is less than the user specified value. The relationship between the compared values and the PWM Top and Bottom outputs of the compare unit is shown in Figure.

PWM Generation

Steps to check Induction Motor Speed Control Demo:

1.Connect Proximity Sensor to Pin P123 in Spartan6 FPGA Kit.

2.Connect 6 PWM Output Signal to Induction Motor Drive

3.Download AcInductionMotor.bit file to the Spartan6 FPGA

4.Press Push Button PB1 to increment frequency to increase Motor Speed

5.Press Push Button PB2 to decrement frequency to decrease Motor Speed

6.Read the motor speed in RPM in the LCD Display.

AC Motor Top Module:

Top module of Ac Induction Motor integrates various blocks includes clock divider, Debounce logic to increment and decrement operation, updown counter unit, sine wave generator, comparator unit, proximity sensor interface and lcd interface.

Sine Wave Generation Unit

Sine wave generation employs a static 256 entry lookup table that contains 360° of a sine wave. By reading values from the table in sequence and passing them to the PWMs, it is possible to generate a sinusoidal output.

The three sine waves required each 120° out of phase from the others are created by using three separate indexes into the lookup table, one for each phase

Debounce logic Unit

This unit help us to increment and decrement push button interface smoothly.

Updown counter

Updown counter is used to generate triangular  waveform. The triangular generator was implemented in FPGA like an up-down counter where a clock input is fed to a counter, m. This counter resets to its maximum value m each time phase a voltage cross its zero level (negative to positive crossings only). The counter counts from its maximum value down to 0 then counts in the opposite direction from 0 to m and so on. So the triangular generator counts a total number of 2m counts in each cycle of switching period.

Comparator Unit

Triangular waveform is compared with sine lookup table generator using a digital (binary) comparator. The binary comparator outputs logic ‘1’ if the value of saw-tooth wave less than the value of triangular; otherwise it outputs logic ‘0’. A reset signal can force the comparators outputs to logic ‘0’ at anytime. Each of the comparator outputs is negated to produce the complement signal of each value.

Proximity Sensor

Number of rotations in the proximity sensor can be used to calculate the RPM of the induction motor.

RPM = (Pulses per minute) x Clock frquency / (pulses per revolution)

LCD Controller

As a part of system design; it is required to display the RPM on a LCD screen. The development kit incorporate LCD module which can be used to show any data.

LCD Controller

FPGA Pin Assignment for Induction Motor Speed Control

NET "clk"  LOC = "p85" | IOSTANDARD = LVCMOS33 ;

NET "decrement"  LOC = "p79" | IOSTANDARD = LVCMOS33 ;

NET "increment"  LOC = "p80" | IOSTANDARD = LVCMOS33 ;

NET "phase_a_bot_pwm"  LOC = "p141" | IOSTANDARD = LVCMOS33 ;

NET "phase_a_top_pwm"  LOC = "p143" | IOSTANDARD = LVCMOS33 ;

NET "phase_b_bot_pwm"  LOC = "p137" | IOSTANDARD = LVCMOS33 ;

NET "phase_b_top_pwm"  LOC = "p139" | IOSTANDARD = LVCMOS33 ;

NET "phase_c_bot_pwm"  LOC = "p131" | IOSTANDARD = LVCMOS33 ;

NET "phase_c_top_pwm"  LOC = "p133" | IOSTANDARD = LVCMOS33 ;

NET "top"  LOC = "p98" | IOSTANDARD = LVCMOS33 ;

NET "bottom"  LOC = "p99" | IOSTANDARD = LVCMOS33 ;

NET "reset"  LOC = "p100" | IOSTANDARD = LVCMOS33 ;

NET "data[0]" LOC = P22;

NET "data[1]" LOC = P21;

NET "data[2]" LOC = P17;

NET "data[3]" LOC = P16;

NET "data[4]" LOC = P15;

NET "data[5]" LOC = P14;

NET "data[6]" LOC = P12;

NET "data[7]" LOC = P11;

NET "en" LOC = P10;

NET "rs" LOC = P9;

NET "rw" LOC = P8;

NET "sen_a" LOC = p123;

 

Pin Name

Pin Number

Pin description

clk

P85

50 MHz Clock input to the FPGA IC

decrement

P79

Push Button switch to decrement frequency

increment

P80

Push Button switch to increment frequency

phase_a_bot_pwm

P141

Phase A bottom PWM pulse to H-bridge

phase_a_top_pwm

P143

Phase A top PWM pulse to H-bridge

phase_b_bot_pwm

P137

Phase B bottom PWM pulse to H-bridge

phase_b_top_pwm

P139

Phase B top PWM pulse to H-bridge

phase_c_bot_pwm

P131

Phase C bottom PWM pulse to H-bridge

phase_c_top_pwm

P133

Phase C top PWM pulse to H-bridge

reset

P100

Reset input to FPGA

Data<0>

P22

LCD data line to display RPM

Data<1>

P21

LCD data line to display RPM

Data<2>

P17

LCD data line to display RPM

Data<3>

P16

LCD data line to display RPM

Data<4>

P15

LCD data line to display RPM

Data<5>

P14

LCD data line to display RPM

Data<6>

P12

LCD data line to display RPM

Data<7>

P11

LCD data line to display RPM

en

P10

LCD enable input

rs

P9

LCD register select input

rw

P8

LCD read/write input

 

Proximity sensor connection details

Colour

Terminal

Spartan6 Pin Number

Black

GND

GND

Red

+5V

+5V

Yellow

Feedback

P123

 

PWM Outputs

PWM

Spartan6 PIN Number

Driver Board J7

GND

GND

1

Pulse 1

P141

2

Pulse 2

P143

3

Pulse 3

P137

4

Pulse 4

P139

5

Pulse 5

P131

6

Pulse 6

P133

7

 

Phase Winding

Motor colour

Inverter Board

Red

Phase1

Yellow

Phase2

Blue

Phase3

Additional information

Weight1.000000 kg

Reviews

There are no reviews yet.

Be the first to review “Induction Motor Speed Control using Spartan6 FPGA Kit”

Your email address will not be published. Required fields are marked *

four × 5 =

This site uses Akismet to reduce spam. Learn how your comment data is processed.