Classic pendulum technology gets a coding kick

Charlotte Collins


Instructor Dan Block’s SE420 students are closing out the semester on an upswing.


The penultimate lab of the semester for students in Digital Control of Dynamic Systems is where they code in C and use a motor to balance and alter the movement of an inverted pendulum. Block says the lab gives his students the unique opportunity to interact with hardware and see their codes come to life in a more physical, tangible way than they are often exposed to.

“We’re learning how to interface source code with actual hardware,” says Block. “They’re getting to see their C program not just spit things out into the screen, they’re getting to see their C code actually move a motor, balance a pendulum, those kinds of things.”

In addition to instructing the lab and working as the control systems manager, Block also manages the mechatronics lab in ISE. The students in SE420 are seniors or graduate students from a range of majors including electrical engineering, mechanical engineering and ISE. 

In the lecture portion of the course, the students are being taught about discrete time systems and how to mathematically model them. Discrete time systems, as opposed to continuous time systems, do not see time as a continuous variable.

“We do not continuously know what’s going on with the system, but we sample it at a certain rate, so they’re learning the idea of discrete control design,” says Block. “They’re learning that in lecture and then they come in here and implement many of those kinds of designs on an actual system.”

Block considers the lab one of the most engaging and enjoyable of the semester.

“It’s a fun lab that they’ve kind of done the hard work and now we get to play a little bit with this last lab,” says Block. “It’s still some work to figure it out.”

Recent News