Navigating the Path of Executing a Final Year Project
220 likes | 321 Vues
Learn how to progress in your final year project, whether software, hardware, or a mix. Discover programming languages like C++ and MatLab, and considerations for hardware development. Find resources for hardware components and microprocessors. Get tips on mechanical design and utilizing the Industrial Centre for assistance.
Navigating the Path of Executing a Final Year Project
E N D
Presentation Transcript
Bits and pieces of executing a project • Progress of your Final year project • You have a title ? • You have a list of objectives? • What’s next? • Is it a hardware project? • Is it a software project? • Is it a combination of hardware and software with a microcontroller?
Software project • What kind of software? • Derive a new algorithm to solve a problem in power system? • Develop a software package? • Do you need GUI? • What programming language should you use? • C++, Java, C#, MatLab, LabView?
What programming language to use? • Defined by the project? • There is an existing program developed from other students and you job is to further develop or enhance • Defined by the supervisor • Your supervisor knows Fortran so you must write the program in Fortran! • Anything as long as it can get the job done!
Which programming language • C++ is an obvious choice as you know it well!!!! • C++ can solve most of the engineering problems as well as developing basic GUI • There are many existing third-party library functions available in the Web! • Don’t forget the OOP nature of C++ as most third-party algorithms are available in “classes”
Which programming language • MatLab? • Good for solving engineering problems • With many tool boxes for different algorithms • Image processing tool box • Fuzzy logic, • Simulink for control • MatLab can also work with external function written in C
MatLab • MatLab can also develop into a GUI • http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/ • Similar to C++, there are also many third-party MatLab program (.m file) available on the Web • MatLab program can also convert into a C/C++ program
LabView • Do you know what is LabView? • LabView is a graphical programming environment developed by NI (National Instruments) • LabView can be used as a stand alone programming tool • Example • Investigation of repeatable signal signature in rail condition monitoring with FBG sensors • Vehicle Number Plate Recognition by Image Processing Techniques
Hardware • Hardware relatively is difficult to generalize • Certainly design buck-boost converter is very different from designing a Axial-flux-modulated motor • Requirements are so different! • What should you build or what should you buy?
Hardware • There are so many off-the-shelf components available so is it necessary to re-invent the wheel? • For example, if you need a buck-boost converter then there are many IC available for the job; same for motor drivers • Talk to your supervisor before building or buying any expensive components • Make sure that you understand the key objectives of your project
Where to buy your hardware • In Hong Kong, • Welfare (Sham Shui Po) • IC master (San Po Kong) • RS http://hongkong01.rs-online.com/web/ • Farnell • DigiKey • In http://www.hqew.com/ • In taobao
Motors • There are different kinds of motors • DC motor (current) • Servo motor (pulse width) • Stepper motor (digital) • Linear motor
Power • DC power • Battery? • Current • Weight • Size
Hardware + software Microprocessor related • Which processor? • There are so many processors available with many features such as • PWM – for controlling a motor • ADC, DAC (for getting input from sensor) • I2C (for communicating with other devices)
Microprocessor • Arduino is getting very common in FYP • http://arduino.cc/en/Main/Hardware • Come with a IDE for software development • You can program using C (most microcontroller can be programmed using C language!!) • Tutorial in Youtube • http://www.youtube.com/watch?v=fCxzA9_kg6s
C for microprocessor • In assembly programming you do • Mov P0, #0FF • Djnz R0, abc • In C you do • P0 = #0FF • If (i>10) {} else {}
Arduino • It is cheap (below $150) and comes with many support modules including • IR sensor • Motor driver • RF module • http://s8.taobao.com/search?q=arduino&commend=all&ssid=s5-e&pid=mm_14507416_2297358_8935934
Other processors • ADuC832 also available • http://www.futurlec.com/ADuC842_Controller.shtml • Basic Stamp – used to be popular with FYP • Also comes with many supporting components but rather expensive • Available from www.parallax.com • Very good software support
Keil compiler • If you are developing your own microprocessor system then how to compile/assemble your program? • Keil is a generic compiler that can support many types of microprocessors • Programs can be written in C, assembly etc • http://www.keil.com/
Mechanical issues • Mechanical design is more difficult than electrical for EE students • Industrial Centre (IC) can help • You can pay for services in IC • You can get some free components • You can get better support from IC if you can highlight the significant of your project