220 likes | 311 Views
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.
E N D
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