A comparison of two-wheeled balancing cars with a hard core and soft core

碩士 === 國立雲林科技大學 === 電子工程系 === 103 === In this study, a development board with a hard-core ARM Cortex-M0 and a FPGA board DE0-nano with a soft core NIOS II were used separately to implement a self-balancing two-wheeled vehicle. Both of them communicate with MPU-6050, which is equipped with a 3-axis g...

Full description

Bibliographic Details
Main Authors: Jian-Guo Zhang, 張建國
Other Authors: Wing-Kwong Wong
Format: Others
Language:zh-TW
Published: 2015
Online Access:http://ndltd.ncl.edu.tw/handle/99037418240890885498
Description
Summary:碩士 === 國立雲林科技大學 === 電子工程系 === 103 === In this study, a development board with a hard-core ARM Cortex-M0 and a FPGA board DE0-nano with a soft core NIOS II were used separately to implement a self-balancing two-wheeled vehicle. Both of them communicate with MPU-6050, which is equipped with a 3-axis gyroscope and a 3-axis accelerometer, with the I2C protocol. The CPU reads out values from the gyroscope and the accelerometer, utilizes a complementary filter to obtain the actual tilting angle, and then uses the angle and the angular velocity to do PD control. The encoder of each motor will produce a pulse when the vehicle is displaced. A quadrature decoder reads the pulse waves to determine whether the rotation is forward or backward, and PI control calculates the rotation velocity and position. With the above PI information and the angle of PD control, a PWM increment is computed and an updated PWM value drives the motors to achieve self-balancing. An application on an Android smartphone is also written to control the self-balancing car to move around remotely with Bluetooth wireless communication. Finally the performances of the two different development platforms are compared.