An inverted pendulum on a chart with
computer controlled PID-regulator

Back to Stefan's Some technical projects page


An inverted pendulum on a chart with computer controlled PID-regulator

Report by Stefan Spännare September 10 2018. Latest update Mars 16 2019. To be updated


Contents

1. Introduction
2. Summary of technical components and software
3. Computer program downloads and instructions
4. Some photos and videos of the inverted pendulum
5. References


1. Introduction

Here is a description with photos and video of a quite well working inverted
pendulum on a chart with computer controlled PID-regulator. More detailed
description will come soon with schematics and software download.

New! November 8 2018. I am right now experimenting with a simple Furuta
inverted pendulum with the same PID-regulator software and schematics.
Some images are now avalable below and a video will come soon.

New! Mars 16 2019. With minor software modifications the setup works quite well also
as a drive for low speed DC servo motors with encoder. Some images and a video are
now available below. The software with documentation will come in a month or two.


2. Summary of technical components and software

Hardware for the inverted pendulum

Software for the inverted pendulum


3. Computer program downloads and instructions

Section to come soon.


4. Some photos and videos of the inverted pendulum

Some photos of the inverted pendulum with electronics taken with my mobile.
More information and images to come soon.

A video of the inverted pendulum taken with my mobile. It works quite well,
but as you understand I wish the track on which the chart is running was at
least two times longer. More information to come soon.

inv-pend-video1.mp4 (Full HD 247 MB, 120 seconds long)


DC servo motor

Some photos of the DC servo motor setup with the electronics taken with my mobile.
The servo motor is a nice Sanyo Denki, 32 V, 250 W, 3000 rpm with encoder with
400 steps per rewind. This means 1600 steps per rewind with sinusoidal outputs.

A video of the servo motor running (here at 10 V DC) taken with my mobile. 50 positions
randomly 4 to 10 rewinds in each direction. Perhaps this looks quite ok? But the stop criterion
(when the motor reach a certain position) must be improved and perhaps more important
the sampling frequency for the encoder must be much higher. Perhaps I will implement
the PID steering program in a fast micro controller (with floating point operations and digital
I/O ports)? Time will tell when. At present (on the PC 3 GHz with the PCI-DIO024 I/O card)
the sampling rate of the encoder is about 66000 times per second and it sometimes misses
some step readings.

servo-motor-video1.mp4 (121 MB, 60 seconds long)


Furuta pendulum

Some photos of the Furuta pendulum not connected to the electronics and PID regulator.
The photos are taken with my mobile. The Furuta pendulum seems significantly more
difficult to balance with the PID regulator setup than the pendulum on a chart. I hope
I can present a video here soon. The Furuta pendulum has a low speed high torque direct
driven DC motor (about 800 rpm at 12 V) and a device so the cables to the encoder on
the pendulum bar can rotate freely. The encoder is a Heidenhain ECN 1313 with 2048
steps per rewind (8192 with sinusoidal outputs).


5. References

ELFA A nice electronics component shop in Sweden
JoR Measurement A place to buy very good I/O cards for PC and much more in Sweden
Microsoft Visual Studio Community 2017 A very good and free programming environment with with C/C++ and many other languages


Author: Stefan Spännare
E-mail: stefan.sp@hotmail.com
Document created: 2018-09-10
Latest update: 2019-03-16