7
EE114: Introduction to Embedded Systems Spring 2017 Page 1 Project#2 Embedded System for ZYBO Report deadline: 23:59 pm, Jun. 13 th , 2017 Final check: 1:30~4:00 pm, Jun. 14 th , 2017 The ZYBO (ZYnq BOard) is a feature-rich, ready-to-use, entry-level embedded software and digital circuit development platform based on the Xilinx Zynq-7000 All Programmable System-on-Chip (AP SoC). The Zynq SoC integrates a dual-core ARM Cortex-A9 processor and the Xilinx 7-series Field Programmable Gate Array (FPGA) logic. In this project, students are requested to design and build an embedded system based on ZYBO and other Pmod accessories. Each project group can be formed by 2~3 students. The topic should be selected from the following three options. Topic 1 Sun-tracking PV system (TA: Yuheng ZHAO) The photovoltaic power generator is one of the extensively used renewable power generators. For example, in the streetlight shown below, the solar energy is collected with the stand-alone solar panel during the daytime, and charges the rechargeable battery. After sunset, the stored energy can be used to light the fluorescent or LED lamp. A solar-powered street lamp The configuration of a typical PV system is shown below. In order to maximize the power generation under specific solar radiation, two tracking technologies are usually necessary to be implemented for the PV system. One of them is mechanical tracking, which is highlighted with red dashed box in the following figure. It tunes the orientation of the PV panel, in order to maximize the effective solar irradiance. The other tracking technology is maximum power point tracking (MPPT) in the electrical domain. MPPT can be realized by sophisticatedly tuning the effective electrical load. Detailed principle of MPPT will be taught in the courses of Power Electronics and Renewable Energy Systems. Solar energy harvesting system (the mechanical tracker is highlighted with red dashed box)

Project#2 Embedded System for ZYBO - ShanghaiTechmetal.shanghaitech.edu.cn/EE114_17sp/labs/p2_EE114_sp17.pdf · Project#2 Embedded System for ZYBO Report deadline: 23:59 pm, Jun

  • Upload
    lyanh

  • View
    235

  • Download
    13

Embed Size (px)

Citation preview

Page 1: Project#2 Embedded System for ZYBO - ShanghaiTechmetal.shanghaitech.edu.cn/EE114_17sp/labs/p2_EE114_sp17.pdf · Project#2 Embedded System for ZYBO Report deadline: 23:59 pm, Jun

EE114: Introduction to Embedded Systems Spring 2017

Page 1

Project#2 Embedded System for ZYBO

Report deadline: 23:59 pm, Jun. 13th, 2017

Final check: 1:30~4:00 pm, Jun. 14th, 2017

The ZYBO (ZYnq BOard) is a feature-rich, ready-to-use, entry-level embedded software and digital circuit development

platform based on the Xilinx Zynq-7000 All Programmable System-on-Chip (AP SoC). The Zynq SoC integrates a dual-core

ARM Cortex-A9 processor and the Xilinx 7-series Field Programmable Gate Array (FPGA) logic. In this project, students

are requested to design and build an embedded system based on ZYBO and other Pmod accessories. Each project

group can be formed by 2~3 students. The topic should be selected from the following three options.

Topic 1 Sun-tracking PV system

(TA: Yuheng ZHAO)

The photovoltaic power generator is one of the extensively used renewable power generators. For example, in the

streetlight shown below, the solar energy is collected with the stand-alone solar panel during the daytime, and charges the

rechargeable battery. After sunset, the stored energy can be used to light the fluorescent or LED lamp.

A solar-powered street lamp

The configuration of a typical PV system is shown below. In order to maximize the power generation under specific solar

radiation, two tracking technologies are usually necessary to be implemented for the PV system. One of them is mechanical

tracking, which is highlighted with red dashed box in the following figure. It tunes the orientation of the PV panel, in order

to maximize the effective solar irradiance. The other tracking technology is maximum power point tracking (MPPT) in the

electrical domain. MPPT can be realized by sophisticatedly tuning the effective electrical load. Detailed principle of MPPT

will be taught in the courses of Power Electronics and Renewable Energy Systems.

Solar energy harvesting system

(the mechanical tracker is highlighted with red dashed box)

Page 2: Project#2 Embedded System for ZYBO - ShanghaiTechmetal.shanghaitech.edu.cn/EE114_17sp/labs/p2_EE114_sp17.pdf · Project#2 Embedded System for ZYBO Report deadline: 23:59 pm, Jun

EE114: Introduction to Embedded Systems Spring 2017

Page 2

The principle of sun tracking

A sun tracker is a device that orients a payload according to the sunray. The payloads are usually solar panels,

parabolic troughs, Fresnel reflectors, mirrors, lenses, etc. For the flat-panel photovoltaic systems, trackers are used to

minimize the angle of incidence between the incoming sunray and the normal direction of the photovoltaic panel. Such

mechanical tuning maximizes the effective sun irradiance that projected to the PV panel, and therefore, enables larger

power generation.

Sunlight has two components, the "direct beam" that carries about 90% of the solar energy, and the "diffuse sunlight"

that carries the remainder. The diffuse portion makes the blue sky on a clear day. And the proportion of this portion increases

in cloudy days. As the majority of the energy concentrates in the direct beam portion, maximizing the PV power generation

requires the sun to be “visible” by the panels as much as possible.

The energy contribution of the direct beam drops approximately with the cosine of the angle between the incoming

sunlight and the panel normal direction. In addition, the reflectance (averaged across all polarizations) is approximately

constant for angles of incidence less than about 50°. Beyond that, reflectance degrades rapidly.

The effective collection area of a flat PV panel. It is approximately the cosine function of the angle difference between the

sunlight and the normal direction of the PV panel.

Direct power lost (%) due to misalignment (angle i)

i Lost = 1- cos(i)

0° 0

1° 0.015%

3° 0.14%

8° 1%

23.4° 8.3%

For example, trackers that have accuracies of ± 5° can deliver more than 99.6% of the energy from the direct beam plus

100% of that from the diffuse light. As a result, high accuracy tracking is not typically used in non-concentrating PV

applications.

The sun travels 360 from east to west every day, but from the perspective of any fixed location the visible portion is

180 degrees during an average 1/2 day period (more in spring and summer; less, in fall and winter). Local horizon effects

reduce this somewhat, making the effective motion about 150 . A solar panel in a fixed orientation between the dawn and

sunset extremes will see a motion of 75 to either side, and thus, according to the table above, will lose 75% of the energy

in the morning and evening. Rotating the panels to the east and west can help minimize those losses. A tracker rotating in the

east–west direction is known as a single-axis tracker.

Page 3: Project#2 Embedded System for ZYBO - ShanghaiTechmetal.shanghaitech.edu.cn/EE114_17sp/labs/p2_EE114_sp17.pdf · Project#2 Embedded System for ZYBO Report deadline: 23:59 pm, Jun

EE114: Introduction to Embedded Systems Spring 2017

Page 3

The Sun also moves through =46 north and south during a year. The same set of panels set at the midpoint between

the two local extremes will thus see the Sun move 23on either side, causing losses of 8.3% A tracker that accounts for both

the daily and seasonal motions is known as a dual-axis tracker. Generally speaking, the losses due to seasonal angle changes

is complicated by changes in the length of the day, increasing collection in the summer in northern or southern latitudes. This

biases collection toward the summer, so if the panels are tilted closer to the average summer angles, the total yearly losses are

reduced compared to a system tilted at the spring/fall solstice angle (which is the same as the site's latitude).

Angle relationship between solar panel and sunlight

solar panel and sunlight orientation

In this topic, you are asked to build a mechanical sun-tracking system based on a two-degree-of-freedom robot arm.

You should also provide real-time evaluation about the system operations by displaying system parameters such as stored

energy and power consumption, etc. Detail tasks are listed as follows:

Tasks:

1. The orientation of the solar panel consists of two angle: azimuth angle and slant angle (or altitude). Review literatures

and design a two-axis solar tracking system for the PV panel. ZYBO, solar panel, robot arm, development platform

and fixtures are provided. (20%)

2. Realize manual control of the azimuth and slant angles with the buttons on ZYBO. (5%)

3. Make the solar tracking system operate during 6:00-18:00 and sleep during 18:00-6:00 (the next day morning). (7%)

4. Suppose the PV panel is used to drive a solar-powered street lamp. Use the PmodOLED to show the instant power

consumption Pd and accumulated energy Ed consumption of the lamp, instant generated power Ph and accumulated

generated energy Eh of the solar panel. The power and energy should be display in watts (W) and watts·hours (Wh),

respectively, with the precision of two decimals. (8%)

Bonus requirements:

5. Manually tuned the azimuth angle and slant angle through the PmodBT2 with a smart phone. (Bonus points: +10%)

6. Review literatures and design a MPPT (Maximum Power Point Tracking) system based on Buck convert to maximize

Page 4: Project#2 Embedded System for ZYBO - ShanghaiTechmetal.shanghaitech.edu.cn/EE114_17sp/labs/p2_EE114_sp17.pdf · Project#2 Embedded System for ZYBO Report deadline: 23:59 pm, Jun

EE114: Introduction to Embedded Systems Spring 2017

Page 4

the harvested power. (Bonus points: +30%)

Topic 2 Self-balanced vehicle

(TA: Kang ZHAO)

The two wheeled, self-balancing vehicle is popular nowadays, not only in transportation, but also as an interesting

platform for motion control research.

The “Segway” personal transporter, one kind of Two-wheel self-balanced product

Balancing of a two wheel cart is a non-linear control problem which is quite complex to solve in a methodological

approach due to two degrees of freedom, i.e. the balancing position and speed using only one control input force.

The dynamics of the vehicle is similar to the classical control problem of an inverted pendulum, which is unstable and

prone to tip over. The unstable dynamics is stabilized by first sensing the pitch angle and its time derivative, then controlling

the motors to keep the balance. The control principle can be simply put as driving the wheels of the vehicle in the direction

where the body is falling. It has the same principle as balancing a broom stick on the palm of a hand, where the player

balances the stick by moving his/her hand towards the falling direction of the stick.

The schematic of the single-order inverted pendulum: driving the wheels in the direction where the stick is falling.

Control strategy

In the proposed two-wheel self-balancing vehicle, the proportional–integral–derivative (PID) strategy is implemented.

The PID control is one kind of feedback control mechanisms. It is commonly used in industrial control systems.

The PID control scheme is named after its three correcting terms, whose sum constitutes the manipulated variable. The

proportional, integral, and derivative terms are summed up to generate the controlling command to the motors. The discrete

version of PID algorithm is embodied in an MCU program as follows.

Page 5: Project#2 Embedded System for ZYBO - ShanghaiTechmetal.shanghaitech.edu.cn/EE114_17sp/labs/p2_EE114_sp17.pdf · Project#2 Embedded System for ZYBO Report deadline: 23:59 pm, Jun

EE114: Introduction to Embedded Systems Spring 2017

Page 5

1( ) ( ) ( ) [ ( ) ( )]k p k i k d k ku t K e t K e t K e t e t

where Kp, Ki, Kd are three turning parameters representing the proportional, integral and derivative terms. e(tk) and e(tk-1) is

the feedback error of the k and k-1 sampling instants, respectively.

The self-balanced vehicle model

Tasks:

1. Analyze the principle of the self-balanced two-wheel vehicle. Clarify the necessary hardware component and their

function, the necessary resources of the processor, and the feasibility of the control strategy (modeling) (12%)

2. Given the source code for STM32, transplant and simplify the code the ZYBO, such that to realize the self-balancing

function. Tune the PID parameters for better performance. Describe the tuning process and observed phenomenon

in details. (20%)

3. Display the system condition with the PmodOLED display. (8%)

Bonus requirements:

4. Run the vehicle while maintaining the balance. (Bonus points: +35%)

5. Monitor the battery voltage with the internal ADC in ZYBO. (Bonus points: +15%)

Topic 3 Robot calligrapher

(TA: Shuai ZHANG)

A Robot Arm Calligrapher Built by KUKA

Build an easy robot calligrapher, which can manually or automatically do calligraphy. The project looks funny, but is an

end-to-end project contains all the things from bottom to top layers in an embedded system.

Page 6: Project#2 Embedded System for ZYBO - ShanghaiTechmetal.shanghaitech.edu.cn/EE114_17sp/labs/p2_EE114_sp17.pdf · Project#2 Embedded System for ZYBO Report deadline: 23:59 pm, Jun

EE114: Introduction to Embedded Systems Spring 2017

Page 6

At the end of this project, you need to fully control the robot arm either by writing with the mouse in the PC or generating

the path with some open-source tools.

Steps you should follow towards this project:

1. The basic thing, mount a pen to the robot arm. You can choose the 3D printer or a laser-cutter or you can just glue

the pen on the provided robot arm if you cannot handle the aforementioned two machines.

2. The basic kinematics of the robot arm is the knowledge you have to grasp.

3. Use the ZYBO to control the robot arm, do calligraphy by manually controlling the robot arm with some buttons.

4. Draw with the mouse in the PC (Ubuntu/Linux host in ZYBO board or Windows) and program with

OpengGL/C++. Or you can generate the path with some open-source tools like PyCam. Send the drawing

information from the PC to ZYBO, and let the robot arm write the calligraphy automatically.

Tasks:

1. Reliable installation of the robot calligrapher. (5%)

2. Design a good kinematics plan for the robot arm. (8%)

3. Use the ZYBO to control the robot arm to draw some pictures with manual control. (10%)

4. Program and draw with the mouse on the PC. Or generating the path with some open-source tools. (5%)

Page 7: Project#2 Embedded System for ZYBO - ShanghaiTechmetal.shanghaitech.edu.cn/EE114_17sp/labs/p2_EE114_sp17.pdf · Project#2 Embedded System for ZYBO Report deadline: 23:59 pm, Jun

EE114: Introduction to Embedded Systems Spring 2017

Page 7

5. Download the drawing path info from PC to ZYBO. Realize the automatic calligraphing with ZYBO. (12%)

Bonus requirements:

6. Build a one stop GUI to control the arm. Or control the arm with body gesture use sensors like Kinect or purely

camera. (Bonus points: +20%)

Grading policy:

Implementation (40%) Refer to each topic for details

Report (40%)

Design philosophy (10%)

Schematic diagram (5%)

Program flow chart (5%)

Coding (10%)

Discussion and analysis (10%)

Presentation (20%)

Oral (5%)

Slides (15%)

Timing (2%)

Q. & A. (3%)