Bits and pieces of executing a project Progress
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? 1
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#, Mat. Lab, Lab. View? 2
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! 3
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 thirdparty algorithms are available in “classes” 4
Which programming language • Mat. Lab? – Good for solving engineering problems – With many tool boxes for different algorithms • Image processing tool box • Fuzzy logic, • Simulink for control – Mat. Lab can also work with external function written in C 5
Mat. Lab • Mat. Lab can also develop into a GUI • http: //blinkdagger. com/matlab-guigraphical-user-interface-tutorial-forbeginners/ • Similar to C++, there also many third-party Mat. Lab program (. m file) available on the Web • Mat. Lab program can also convert into a C/C++ program 6
Lab. View • Do you know what is Lab. View? • Lab. View is a graphical programming environment developed by NI (National Instruments) • Lab. View 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 7
Lab. View 9
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? 10
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 11
Where to buy your hardware • In Hong Kong, – Welfare (Sham Shui Po) – IC master (San Po Kong) – RS http: //hongkong 01. rs-online. com/web/ – Farnell – Digi. Key • In http: //www. hqew. com/ • In taobao 12
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) – I 2 C (for communicating with other devices) 15
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=f. Cxz. A 9_kg 6 s 16
C for microprocessor • In assembly programming you do – Mov P 0, #0 FF – Djnz R 0, abc • In C you do – P 0 = #0 FF – If (i>10) {} else {}
Arduino • It is cheap (below $150) and comes with many support modules including – IR sensor – Motor driver – RF module • http: //s 8. taobao. com/search? q=arduino&com mend=all&ssid=s 5 e&pid=mm_14507416_2297358_8935934 18
Other processors • ADu. C 832 also available – http: //www. futurlec. com/ADu. C 842_Controller. sh tml • 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 19
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/ 20
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
- Slides: 21