21
1 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 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

Embed Size (px)

Citation preview

  • Slide 1
  • 1 Bits and pieces of executing a project Progress of your Final year project You have a title ? You have a list of objectives? Whats next? Is it a hardware project? Is it a software project? Is it a combination of hardware and software with a microcontroller?
  • Slide 2
  • 2 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?
  • Slide 3
  • 3 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!
  • Slide 4
  • 4 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! Dont forget the OOP nature of C++ as most third- party algorithms are available in classes
  • Slide 5
  • 5 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
  • Slide 6
  • 6 MatLab MatLab can also develop into a GUI http://blinkdagger.com/matlab/matlab-gui- graphical-user-interface-tutorial-for- beginners/ 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
  • Slide 7
  • 7 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
  • Slide 8
  • Slide 9
  • 9 LabView
  • Slide 10
  • 10 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?
  • Slide 11
  • 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
  • Slide 12
  • Where to buy your hardware In Hong Kong, Welfare (Sham Shui Po) IC master (San Po Kong) RS http://hongkong01.rs-online.com/web/http://hongkong01.rs-online.com/web/ Farnell DigiKey In http://www.hqew.com/ http://www.hqew.com/ In taobao 12
  • Slide 13
  • Motors There are different kinds of motors DC motor (current) Servo motor (pulse width) Stepper motor (digital) Linear motor
  • Slide 14
  • Power DC power Battery? Current Weight Size
  • Slide 15
  • 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) 15
  • Slide 16
  • Microprocessor Arduino is getting very common in FYP http://arduino.cc/en/Main/Hardware 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 http://www.youtube.com/watch?v=fCxzA9_kg6s 16
  • Slide 17
  • C for microprocessor In assembly programming you do Mov P0, #0FF Djnz R0, abc In C you do P0 = #0FF If (i>10) {} else {}
  • Slide 18
  • 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&com mend=all&ssid=s5- e&pid=mm_14507416_2297358_8935934 http://s8.taobao.com/search?q=arduino&com mend=all&ssid=s5- e&pid=mm_14507416_2297358_8935934 18
  • Slide 19
  • Other processors ADuC832 also available http://www.futurlec.com/ADuC842_Controller.sht ml http://www.futurlec.com/ADuC842_Controller.sht ml Basic Stamp used to be popular with FYP Also comes with many supporting components but rather expensive Available from www.parallax.comwww.parallax.com Very good software support 19
  • Slide 20
  • 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
  • Slide 21
  • 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