__0___f_t_e___st_d
Newbie

Posts: 7
|
 |
« Reply #2 on: July 16, 2011, 09:35:05 AM » |
|
"control engineers program microcontrollers that are pervasive in computer devices and hardware today." Yes and no. What control engineers do is examine systems to determine methods to most effectively control them under given constraints, normally by feedback systems. This involves a ton of coupled differential equations and signal processing, and only after finding an ideal mathematical solution is the system actually implemented on a computer system.
That being said, learning multiple programming languages is extremely helpful for control systems engineers. A large number of control systems are based on microcontrollers to perform calculations and control actuators, and many others are based on full computer systems. The most common languages used for programming microcontrollers are C and Assembly. Assembly translates directly into machine level instructions and therefore direct programming in assembly can lead to the most efficient coding, but it is extremely tedious and often not worth any advantages, and the assembly language is specific to the processor architecture (x86 has one, Harvard has a different one, ARM has a different one, etc.) and therefore C is more commonly used. Implementing controls on a computer system is becoming more and more common for non-mobile systems. Becoming more popular is LabVIEW, which allows you to program graphically rather than in text. Another popular language to work out the differential equations and feedback systems is MATLAB, although I don't think it is used very often in real time to control a system, mostly just to help with the math.
In your junior and senior year, there will be room for technical electives. Which ones are available depends on the school, and classes outside the department may or may not be counted for technical electives, although a certain number of CS, ME or physics classes usually will count on approval. Where I am attending and studying EE, there is a control systems research group working on UAV systems, and there is senior undergraduate course that is cross listed for EE and ME called "Feedback Control of Dynamic Systems." Prerequisite to the course is either "Signals and Systems" for EEs' or an instrumentation course for ME's, and the signal processing aspect is extremely critical to succeed in control system design. Another course I would suggest is "embedded systems," which goes over computer interface to external hardware. Prerequisite to an embedded systems class would be a digital hardware class and a computer systems architecture class (architecture meaning system level, cache, memory concepts, program translation, etc., not physically how it works).
|