2021-11-18 12:02:44 索煒達(dá)電子 877
項(xiàng)目編號(hào):E2283
文件大?。?2M
源碼說明:帶中文注釋
開發(fā)環(huán)境:Verilog
簡(jiǎn)要概述
用于調(diào)節(jié)FPGA處理器溫度的直流風(fēng)扇的PID控制,VHDL語言。這里使用的FPGA是Nexys4DDR。
控制分析
Sampling rate of 0.01 seconds (10 milliseconds)
系統(tǒng)模型:
G(s)=K/(1+Tp1*s) where, K=-4.7251 Tp1=-4.4746
控制器:
1 Kp + Ki*(1/s) where, Kp=-0.303 Ki=-0.123
使用MATLAB中的系統(tǒng)識(shí)別工具箱,使用UART模塊采集的數(shù)據(jù)計(jì)算開環(huán)傳遞函數(shù)。
PID增益使用MATLAB中的PID調(diào)節(jié)器工具箱計(jì)算。
在MATLAB中計(jì)算閉環(huán)傳遞函數(shù)。
目錄│文件列表:
└ FPGATemperaturePIDController
│ temperaturecontrolproject.bit
│ xadc_wiz_v2_1.ucf
│ xadc_wiz_v2_1.vhd
├ DataAnalysisSource
│ │ .DS_Store
│ │ ClosedLoopPlotResponse.xlsx
│ │ DATA.txt
│ │ dataExample.asc
│ │ FeedBackModel.slx
│ │ feedbackPlot.m
│ │ getdata.py
│ │ matlabdiscreteController.mat
│ │ OpenLoopPlotResponse.xlsx
│ │ serialDataToHumanReadableFormat.py
│ │ SysIdentification1.mat
│ │ tunedC.mat
│ │ ~$ClosedLoopPlotResponse.xlsx
│ │ ~$OpenLoopPlotResponse.xlsx
│ ├ ClosedLoopTests
│ │ │ .DS_Store
│ │ │ testone.txt
│ │ │ testthree.txt
│ │ └ testtwo.txt
│ ├ html
│ │ │ .DS_Store
│ │ │ feedbackPlot.html
│ │ │ feedbackPlot.png
│ │ └ feedbackPlot_01.png
│ └ OpenLoopTests
│ │ .DS_Store
│ ├ test1
│ │ └ data.asc
│ └ test2
│ │ .DS_Store
│ └ data.asc
├ Documentation
│ │ .DS_Store
│ │ DavidPaquetteECE4401FinalProject.aux
│ │ DavidPaquetteECE4401FinalProject.log
│ │ DavidPaquetteECE4401FinalProject.out
│ │ DavidPaquetteECE4401FinalProject.pdf
│ │ DavidPaquetteECE4401FinalProject.synctex.gz
│ │ DavidPaquetteECE4401FinalProject.tex
│ │ DavidPaquetteECE4401FinalProject.toc
│ │ DesignPresentation.pdf
│ │ DesignPresentation.pptx
│ │ FinalProjectReportDavidPaquette.pdf
│ └ images
│ │ .DS_Store
│ │ closed_loop.pdf
│ │ dutyPWM.png
│ │ dutyPWM.tiff
│ │ hardware.JPG
│ │ IMG_0624.PNG
│ │ internalFlow.png
│ │ internalFlow.tiff
│ │ nopressMachine.png
│ │ open_loop.pdf
│ │ Overview.png
│ │ Overview.tiff
│ │ pidController.pdf
│ │ pwmSchematic-nowords.png
│ │ pwmSchematic.pdf
│ │ sensorM.png
│ │ sensorM.tiff
│ │ uartIO.png
│ │ uartIO.tiff
│ │ uartState.png
│ │ uartState.tiff
│ │ Untitled Diagram.pdf
│ │ vgaScreen.JPG
│ │ vhdl arch.tiff
│ │ vhdl_arch.png
│ │ videoState.png
│ │ videoState.tiff
│ └ Exported Code Dec 18
│ │ .DS_Store
│ │ DCFanInterface.pdf
│ │ MemoryWriter.pdf
│ │ PIDController.pdf
│ │ TemperatureControlMaster.pdf
│ │ TemperatureControlProject.pdf
│ │ TemperatureSensorInterface.pdf
│ │ TemperatureSetpointControl.pdf
│ └ ValuesToSerial.pdf
├ iseconfig
│ │ FinalProject.projectmgr
│ └ TemperatureControlProject.xreport
├ NexysConfigFiles
│ └ Nexys4DDR_Master.ucf
├ src
│ │ .DS_Store
│ │ clk200.ucf
│ │ clk200.vhd
│ │ DCFanInterface.vhd
│ │ GenerateHeat.vhd
│ │ MemoryWriter.vhd
│ │ PIDController.vhd
│ │ SimpleAdder.vhd
│ │ TemperatureControlMaster.vhd
│ │ TemperatureControlProject.vhd
│ │ TemperatureSensorInterface.vhd
│ │ TemperatureSetpointControl.vhd
│ ├ ButtonDebounceLibrary
│ │ │ ButtonDebouncer.vhd
│ │ └ ButtonOnePressFilter.vhd
│ ├ TemperatureSensorLibrary
│ │ │ FPGAMonitor.vhd
│ │ └ LocalRst.vhd
│ ├ UARTSerialLibrary
│ │ │ .DS_Store
│ │ │ uart.vhd
│ │ └ ValuesToSerial.vhd
│ ├ VGALibrary
│ │ │ .DS_Store
│ │ │ char8x12_lookup_table.vhd
│ │ │ clock_divider_skeleton.vhd
│ │ │ scancode2ascii.vhd
│ │ │ wb_bram.vhd
│ │ └ wb_vga640x480.vhd
│ └ WishboneLibrary
│ │ .DS_Store
│ │ wb_arbiter.vhd
│ └ wb_intercon.vhd
├ tmp
│ └ _xmsgs
│ └ pn_parser.xmsgs
├ xlnx_auto_0_xdb
│ └ cst.xbcd
├ xst
│ └ work
│ │ work.vdbl
│ └ work.vdbx
├ _ngo
│ │ .DS_Store
│ └ netlist.lst
└ _xmsgs
│ bitgen.xmsgs
│ map.xmsgs
│ ngdbuild.xmsgs
│ par.xmsgs
│ pn_parser.xmsgs
│ trce.xmsgs
└ xst.xmsgs