Dc ac motors control

Page 1

1

Brian Bouma

Overview and Control of DC and AC Motors Abstract— an overview of the differences in form and function between DC and AC motors. An in-depth analysis of the general differential equations and transfer functions of DC and AC motors. Strategies for controlling DC and AC motors using gain and PID control are discussed and analyzed in depth. Methods for determining the time constants of DC and AC motors are discussed and analyzed.

Index Terms – AC motors, Control systems, DC motors, Motor drives. I. NOMENCLATURE PID

Proportional Integral Derivative II. INTRODUCTION

Motors are an integral part of engineering in today’s society. They are used in a wide variety of applications, from running fans to driving belts to turning wheels. Yet, despite their prevalence in the designs of undergraduate engineering students, most such students have very little idea of how motors actually work, or of how to control them safely and dependably. This paper describes both DC and AC motors, analyzes them from a control standpoint, and determines adequate strategies for controlling them in a manner which is both safe and reliable. Stepper and servo motors will not be discussed here, as their form, function, and application are considerably different from that of DC and AC motors, and the analysis of those four motor types would be too much information to cover in this setting. III. MOTOR OVERVIEW To the uninformed observer, DC and AC motors appear to be basically identical. Even though they seem to operate in essentially the same way, their physical structures, and thus their range of applications, vary significantly. The brush DC motor is arguably the simplest variablespeed DC motor design, in addition to being the most common. For these reasons, the brush design is the one being described and analyzed here. The brush DC motor (or all DC motors, for that matter) is made up of a stator and a rotor (refer to Fig. 1 for all descriptions relating to the brush DC motor). As the names suggest, the rotor (the circular portion of Fig. 1 made up of eight “T”-shaped parts) is the part of the motor that rotates during operation, while the stator (the dark blue block and light blue “fingers” around the rotor in Fig. 1) remains stationary during operation, relative to the motor’s casing and mounting [3]. The stator is made up of either a winding or a magnet, which creates magnetic flux in the  This work was done for Engineering 315 at Calvin College in Grand Rapids, Michigan, in the fall of 2004. All software used in this paper was supplied by Calvin College. This project was supported financially by Calvin College and Smiths Aerospace LLC. Brian Bouma works for Smiths Aerospace LLC and attends Calvin College in Grand Rapids, MI 49546 USA (e-mail: bbouma83@calvin.edu).

magnetic field formed between the stator and the rotor [3]. For the simple analytical purposes herein, it makes no difference whether a winding or a magnet is used in the stator, so the use of a magnet will be assumed. The rotor has a winding on its surface, termed the armature, in which electromotive forces are induced by the magnetic field formed between the stator and the rotor [3]. The armature winding is supplied current through the collector (the yellow cylinder attached to the rotor in Fig. 1), on which the brushes (the two brown tabs touching the collector) apply pressure [3]. The collector is mounted on the same shaft as the armature, and the fixed brushes are connected to the armature terminals [3]. Thus, the power to the motor runs through the brushes, into the collector, and through the armature winding to produce the electromotive forces between the stator and the rotor (the power cables are the red lines attached to the brushes in Fig. 1). The brush-collector assembly provides current to the armature windings in such a way that the current flows in one direction when the windings are under a magnetic North pole (from the stator magnet), and in the other direction when the windings are under a magnetic South pole [3]. The rotor windings are made up of coils, called sections, all sections being of an equal number of turns (in Fig. 1, the eight colored sets of line segments, two segments per set, on the “front” of the T-shaped parts of the rotor are the ends of the coils; the coils run through the length of the rotor and wrap around the opposite end of the T-shaped parts of the rotor) [3]. Each section has two sides, which are inserted into two slots spaced apart a distance equal to the distance between the two field poles [3]. This way, when the conductors of one side of a section are under the North pole, the conductors of the other side of the same section are under the South pole [3]. The sections of armature winding are all connected together, in series, with the end of the last section being connected to the beginning of the first section, so that the winding as a whole is continuous, having no particular start or finish [3]. For this to work, each slot must contain two sides of sections (half each of two different sections) [3]. As the rotor rotates, when a section changes from being under the North pole to being under the South pole (and hence the current in that section reverses direction), that section commutates. Commutation of a section of the winding is the changing of the section from being under one pole to being under the other pole [3]. Two sections (two sections that are opposite each other on the rotor) commutate at a time, one switching from North to South pole, the other switching from South to North pole. Because the two poles “swap” sections simultaneously, half of the windings are under each pole at all times. The North and South poles are an effect of the flux in the armature created by the current flowing through the two sets of windings (each pole containing one set). When a section commutates, the brushes, applying pressure on the collector, short-circuit the two ends of that section together, to release the energy stored in the coils of the section before the direction of current flow in the section is reversed [3]. Despite this ingenious design, sparks are still produced between the brushes and the


2

collector [3].

windings run (the red arrow in Fig. 3 indicates one such slot) [3].

Fig. 1. Brush DC Motor

Fig. 3. Winding Slot in AC Motor Stator

The primary advantage of a DC motor is that the magnitude of the torque produced by the output shaft never changes [3]. This makes the DC motor perfect for applications that have large startup loads, particularly automotive applications (like the drive wheels in electric vehicles, for instance), where DC power is readily available under most circumstances. Today, the asynchronous (or induction) motor is the most commonly used electric motor in industry and in household devices [3]. For this reason, the asynchronous motor is the AC motor design being described and analyzed here. Electromagnetic induction is the creation of a current through a conductor that that is within a magnetic field [3]. The magnetic field is capable of generating a large current in the conductor without requiring any physical contact whatsoever [3]. It is this principle that allows the induction motor to function without having any sliding electrical contacts (such as the brushes in the brush DC motor) [3]. The stator (the hollow cylinder in Fig. 2) is essentially a hollow cylinder with no ends, and may be constructed out of either cast iron or aluminum [3].

The motor’s number of poles is determined by the layout of the windings within the stator (the number of poles will always be a multiple of two, but, again, that has no impact here) [3]. The rotor is also cylindrical, though this cylinder does have a core. The rotor is made of steel disks (the long black segments in Fig. 4) slotted around the exterior of the cylinder [3]. A short-circuited winding is placed in the slots between the steel disks, preventing the need for a supply to be connected to the rotor [3]. The currents in the rotor are induced by the interaction between the magnetic fields of the stator and the rotor, leading to the name for this type of motor [3]. A copper or aluminum bar (in the case of Fig. 4, aluminum, judging by the color) is also placed in each slot between the steel disks [3]. A circular conducting ring is placed on the end of the cylinder (refer to Fig. 4), to connect the ends of the bars together (because the conducting ring and bars resemble a circular cage, this rotor design is called “squirrel cage�) [3].

Fig. 4. Squirrel Cage and Steel Disks in AC Rotor

Fig. 2. AC Motor Stator and Rotor The inner face of the stator is made up of deep slots (or grooves, depending on the exact design, but that distinction makes no difference for this analysis), through which the

The interaction between the stator magnetic field and the rotor magnetic field forces the rotor to spin, relative to the stator, resulting in a functioning AC motor [3]. There are two varieties of asynchronous motors: three phase and single phase. Three phase motors are used mainly in industry, while single phase motors are more common household appliances [3]. The primary advantage of an induction motor is that it contains no sliding electrical contacts, resulting in a simple


3

robust design that is easy to manufacture and maintain [3]. A secondary advantage is that the available range of induction motors is from only a few watts to several megawatts, making the use of induction motors in a wide variety of applications physically feasible [3]. IV. TRANSFER FUNCTIONS The differential equations and transfer functions of DC and AC motors are crucial to the analysis of the control of these machines. The transfer functions are derived from the differential equations using Laplace transforms, a method all too familiar to most engineers. The differential equations and transfer functions for DC motors are more complicated than those of AC motors, due to the fact that DC motors have time lags because of both the armature inductance and the winding, while AC motors have only a single time constant. DC motors are described by three differential equations: The developed torque (T(t)) is described by T( t ) K2⋅ if( t ) , (1) where if(t) is the current through the field and K 2 is constant [2]. The field voltage (vf(t)) is described by d v f( t ) Rf⋅ if( t ) + Lf⋅ if( t ) dt , (2) where Rf is the field resistance and Lf is the field inductance [2]. Lastly, the mechanical torque (T(t)) is described by I⋅

d

2

d θ ( t) + B⋅ θ ( t) dt dt , (3) where I is the motor’s moment of inertia, B is the motor’s viscous damping, and θ(t) is the motor’s angular position [2]. By assuming zero initial conditions and then Laplace transforming each of these equations, s-domain equations are reached. The developed torque is now T( s ) K2⋅ If( s ) , (4) the field voltage is now Vf( s ) Lf⋅ s + Rf ⋅ If( s ) , (5) and the mechanical torque is now T( t )

2

(

)

( I⋅s 2 + B⋅s ) ⋅Θ(s ),

T( s ) (6) where all of the constants have the same meaning as in the time-domain differential equations, If is used in place of i f and Θ is used in place of θ [2]. By substituting and solving, the transfer function of the motor is found to be Km Θ( s ) Vf( s )

(

)(

)

s ⋅ τm⋅ s + 1 ⋅ τe⋅ s + 1

,

(7)

where τm

I

B is the mechanical time constant of the motor, Lf τe Rf is the electrical time constant of the motor, and

(8)

(9)

Km

K2 B⋅ Rf

(10) is another constant [2]. This is the transfer function that will be used for the control analysis of the DC motor in the next section. The differential equations and transfer functions for AC motors are considerably less complicated than those for DC motors, owing to the fact that AC motors only have a single time constant while DC motors have two. AC motors are described by two differential equations: The torque (T(t)) is described by d T( t ) K⋅ v ( t ) − m⋅ θ ( t ) dt , (11) where K is a constant, v(t) is the voltage provided to the motor, θ(t) is the angular position of the motor, and m is described by "stall torque (at rated voltage)" m "no-load speed (at rated voltage)" , (12) where stall torque (at rated voltage) and no-load speed (at rated voltage) are characteristics of any specific AC motor [2]. The torque is also described by d

2

d θ ( t) + B⋅ θ ( t) dt dt , (13) which is identical to the third differential equation that describes DC motors, and has the same meaning [2]. By equating the two AC motor equations, assuming zero initial conditions, and then taking the Laplace transform of the resultant equation, the transfer function of an AC motor is found to be Km Θ( s ) T( t )

I⋅

2

V( s )

s ⋅ ( τ⋅ s + 1) ,

(14)

where Km

K m+ B

(15)

is a constant, and τ

I

m+ B (16) is the time constant of the motor [2]. This is the transfer function that will be used for the control analysis of the AC motor in the next section.

V. CONTROL Precise control of motors is vital to the use of motors in any application. Without a system in place to prevent the motor from operating unchecked, a step increase to the inputs of a motor would result in the motor accelerating until it literally broke apart, costing untold amounts of money to repair and replace damaged equipment, and undoubtedly ruining someone’s day. The first step to safe control is the use of negative feedback, a concept so common that it warrants no explanation here, which has been employed in all of the simulations whose results are shown here.


4

A control method which is popular because of its robustness, its simplicity, and its reusability is PID control. A PID controller contains a proportional gain, an integrator, and a differentiator (hence its name), all of which are summed together to produce the output of the controller. The transfer function of a PID controller has the form KI

2

KD⋅ s + KP⋅ s + KI

KP + + KD⋅ s s s ,(17) where KP is the proportional gain coefficient, K I is the integrator coefficient, and KD is the differentiator coefficient. The proportional gain is used to amplify the input signal. The integrator is used to improve the accuracy of the control system, that is, to minimize the steady-state error (the difference between the input value and the final output value) as much as possible. The differentiator is used to increase the damping in the system, which will decrease both the peak time and the settling time of the system. As can be recalled from above, the transfer function of the DC motor is third order in the denominator, so it has three poles (roots of the polynomial in the denominator). Likewise, the transfer function of the PID controller is second order in the numerator, so it has two zeros (roots of the polynomial in the numerator). Thus, the PID values may be set so that the zeros of the PID controller eliminate the poles of the DC motor. However, since the DC motor has three poles and the PID controller only has two zeros, only two of the poles may be eliminated. This raises the obvious question: Which poles should be eliminated and which one should be left alone? That depends on which pole, as the only pole in the system, results in a system with the shortest rise time, the shortest settling time, and the least overshoot. This system was modeled and simulated in MATLAB/Simulink (see Fig. 5), using a unit step input as a standard input. PID

Fig. 5. Simulink Model of DC Motor Control System with PID Control The gain block in this system is used to dramatically speed up the response of the system, although it does not effect the location of any of the poles or zeros, so it does not impact the “control” aspect of this analysis (even though it decreases the peak and settlings times for the system). The electrical time constant of the motor (τ e) was assumed to be 1 ms, the mechanical time constant of the motor (τ m) was assumed to be 100 ms, and the motor constant (K m) was assumed to be 0.050 N*m/A, all of which are typical constants for a DC motor [1]. The first two poles to be eliminated were the poles that result from the electrical and mechanical time constants, leaving the third pole (at s = 0) alone. This was done by setting the differentiator coefficient to the product of the electrical and mechanical time constants, the proportional gain coefficient to the sum of the electrical and mechanical time constants, and the integrator coefficient to one. The result of this simulation is so worthless that it will not be shown here. By eliminating those two particular poles (hand calculations

would confirm this, but are not necessary here), the overshoot of the system became 100% (the output was “2” while the input step was only “1”), the peak time became 0.44 seconds (not terrible, but not great either), and the settling time became infinite. The system never settled. The output of the system was sinusoidal and continued for all of eternity (until the simulation time of ten seconds was reached). This is no good. In the next simulation run, the two poles eliminated were the pole at s = 0 and the pole created by the electrical time constant. This was done by setting the differentiator coefficient to the value of the electrical time constant, the proportional gain coefficient to one, and the integrator coefficient to zero. The output of this simulation is shown in Fig. 6.

Fig. 6. Time Response of System with Mechanical Time Constant Pole Fig. 6 shows the time response of the system when the mechanical time constant and s = 0 poles were eliminated by the settings of the PID controller. The horizontal axis shows time, in seconds, and the vertical axis is the output of the system, normalized to the magnitude of the input step. Closer analysis of this simulation output shows a settling time (using 2% criterion) of approximately 0.76 seconds, a peak time of approximately 0.14 seconds, and an overshoot of approximately 49%. This simulation shows a better peak time (0.14 seconds as opposed to 0.44 seconds), a better overshoot (49% as opposed to 100%), and a much better settling time (0.76 seconds as opposed to not settling at all). However, the peak time could still improve (a little), the peak time could improve quite a bit, and the overshoot has the most room for improvement. The simulation was run a third time, this time eliminating the pole at s = 0 and the pole created by the mechanical time constant. This was done by setting the differentiator coefficient to the value of the mechanical time constant, the proportional gain coefficient to one, and the integrator coefficient to zero. This simulation output is shown in Fig. 7.


5

settling time will change if the time constant is changed. For comparison purposes, the model of Fig. 8 was simulated (see Fig. 9), using a gain of 135, as that value is roughly midway between the two gain values discussed earlier which denote the two endpoints of the range in which optimum output values are produced.

Fig. 7. Time Response of System with Electrical Time Constant Pole The simulation output in Fig. 7 shows that the elimination of the s = 0 and mechanical time constant poles produces the best system performance yet. Since the output does not oscillate, the peak time cannot be characterized as having a unique value, so the peak time will be considered to be the same as the settling time. The settling time is approximately 0.073 seconds (73 ms), and there is no overshoot. Note also that while the system corresponding to Fig. 6 was simulated for 1 second (with the step input occurring at time t = 0 seconds), the system corresponding to Fig. 7 was simulated for only 0.25 seconds, because its time response was so fast that it could scarcely be seen on a 1-second time plot. From these findings, it appears as though the best way to use a PID controller in conjunction with a DC motor is to set the PID values so that the s = 0 pole and the pole created by the larger of the two time constants (typically the mechanical time constant) are eliminated. The transfer function of an AC motor is simple enough that, even though PID control may be implemented for an AC motor (as it will be later), acceptable time response values may be attained by simply adjusting the gain in the system (see Fig. 8). For all of the AC motor control system simulations, a time constant (Ď„) of 0.1 seconds (100 ms) and a motor constant of 0.050 N*m/A have been assumed.

Fig. 8. Simulink Model of AC Motor Control System By running this simulation many times, and adjusting the gain value each time, it can be found that, between the gain values of approximately 128.957 and 143.076, the overshoot is less than (or equal to) 10% and the peak time is less than (or equal to) 0.5 seconds. At a gain of 128.957, the overshoot is 8.21% while the peak time is exactly 0.5 seconds. At a gain of 143.076, the peak time is 0.461 seconds while the overshoot is exactly 10.0%. For gain values between the two just given, the overshoot and peak time are between the two extremes given above for overshoot and peak time. It just so happens that the settling time, regardless of the gain value, is always 0.8 seconds (two opposing values, both functions of the gain, cancel out in the calculation of the settling time). These values are, of course, also dependent on the value of the motor’s time constant, so the overshoot, peak time, and

Fig. 9. AC Motor System Time Response with Gain of 135 This simulation output shows a peak time of approximately 0.48 seconds, a settling time of approximately 0.73 seconds, and an overshoot of approximately 9.0%. Since the AC motor transfer function is only second order (as opposed to the third order DC motor transfer function), those values may be easily changed by adjusting the gain value. However, better system response may be attained by placing a PID controller in the control system with the motor (see Fig. 10), and setting the PID values accordingly.

Fig. 10. Simulink Model of AC Motor Control System with PID Control Because the denominator of the AC motor transfer function is second order, both poles may be eliminated by setting the PID values strategically. This was done by setting the differentiator coefficient to the value of the time constant, the proportional gain coefficient to one, and the integrator coefficient to zero. The output of that simulation is shown in Fig. 11.


6

Fig. 11. Time Response of System with Both Motor Poles Eliminated Closer inspection of Fig. 11 reveals a peak time of 0.14 seconds, a settling time of 0.065 seconds, and an overshoot of 0.4%. The settling time is less than the peak time because the peak value is less than 2% greater than the final value. In comparison to the simulation (of Figs. 8 and 9) which was optimized by adjusting nothing other than the gain, this simulation exhibited considerable improvement, decreasing the peak time by approximately 0.34 seconds (from 0.48 to 0.14 seconds), decreasing the settling time by approximately 0.665 seconds (from 0.73 to 0.065 seconds), and decreasing the overshoot by approximately 8.6% (from 9.0 to 0.4%). A simpler way to compare the two responses by inspection is to note the time scale in Figs. 9 and 11. The simulation represented in Fig. 9 was run for 1.5 seconds, while the response of the system whose simulation is represented in Fig. 11 was so much faster that a time scale of only 0.5 seconds had to be used to attain a high enough resolution in the output graph that the response could be seen without difficulty. From these findings, it appears as though the best way to control an AC motor is the use a PID controller and to set the PID values so that the poles of the motor are eliminated. When such equipment is not available, the gain can be adjusted to optimize the response, although that approach produces much less favorable results than those ensuing from the use of a PID controller.

those values must be obtained experimentally. In the case of a DC motor, this is easier said than done. First, a system resembling that of Fig. 5 must be constructed, where the output being measured is the rotational speed of the output shaft of the motor. Keep in mind that, in this case, the transfer function of the motor is really a black box; all that is known about is for certain is that it has three poles, one of them at s = 0, and the other two created by the two time constants. Unfortunately, there is no cut and dried, step by step process by which to determine the time constants of the DC motor. As such, the system must be run many times, adjusting the PID values each time. The integrator coefficient should be set to zero, and the proportional gain coefficient should be set to one, and both values should left there for all of the system runs. Only the value of the differentiator coefficient should be changed between runs. The electrical time constant will likely be around 1 ms, and the mechanical time constant will be greater than the electrical. Recall from earlier that the best system response will be attained when the differentiator coefficient is equal to the mechanical time constant. The mechanical time constant may range anywhere from only a few milliseconds to hundreds of milliseconds, so that full range should be tested. Thus, when a system response closely resembling Fig. 7 (no oscillations, no overshoot, and a very short settling time) is achieved, the value of the differentiator coefficient for that run is the value of the mechanical time constant. To determine the time constants of an AC motor, a system resembling that of Fig. 8 must be constructed, where the output being measured is the rotational speed of the output shaft of the motor. Choose an arbitrary gain value (it should be somewhat high, to get a relatively fast time response, so a run will take no more than a couple seconds, but not so high that separate oscillations are indistinguishable), and then do not change the gain value again. Keep in mind, again, that the transfer function of the motor is really a black box, and the only thing that is known about it for certain is that it has two poles, one at s = 0 and the other created by the time constant. The system must be run a single time (after running it several times to determine a good gain value), and the peak time, settling time, and percent overshoot all need to be observed. Fig. 12 shows the output of the model of Fig. 8, using a gain of 1000 instead of the gain of 135 shown in Fig. 8.

VI. TIME CONSTANTS A method to control both DC and AC motors with PID control has been determined. This method is heavily reliant on the time constants of the motor, and assumes that anyone trying to implement PID control for a motor knows the values of the motor’s time constants. Since the nameplate on most motors only provides the name of the manufacturer, the motor’s serial number, the motor’s input voltage, the maximum rotational speed of the motor’s output shaft (in RPM), the power of the motor (in horsepower), and the weight of the motor, another questions arises: How can the time constants be determined for a motor that one already has in hand? This is a very good question. While the data sheets for some motors do contain the values of the time constants, this is not true in every case, so

Fig. 12. AC Motor System Response with Gain of 1000


7

Fig. 12 shows a peak time of approximately 0.14 seconds, a settling time of approximately 0.76 seconds, and an overshoot of approximately 49%. Next, several calculations must be made, using the following equations:  −ζ⋅ π  PO 100⋅ exp

 1 − ζ2  ,

(18) where PO is the percent overshoot of the response and ζ is the damping ratio of the system, π Tp 2 ωn ⋅ 1 − ζ , (19) where Tp is the peak time of the response and ω n is the natural frequency of system, 4 Ts ζ⋅ ωn , (20) where Ts is the settling time of the response, and 1 2⋅ ζ⋅ ωn τ, (21) where τ is the time constant of the motor. Using the percent overshoot (in this case, 49%) in conjunction with (18), solve for the damping ratio, which in this case turns out to be approximately 0.22. Next, use the value of the damping ratio and the peak time (in this case, 0.14 seconds) in conjunction with (19), and solve for the natural frequency, which in this case turns out to be approximately 23.0 radians/second. If, for some reason, the value of the peak time is not available or cannot be gleaned from the time response graph, the damping ratio and the settling time may be used in conjunction with (20) to find the value of the natural frequency, but since the peak time may generally be observed with greater accuracy than the settling time, (20) should only be used as a last resort. Similarly, if there is some problem with the value of the peak time or percent overshoot, any two of (18), (19), and (20) may be used to solve for the values of the damping ratio and natural frequency, but since the percent overshoot and peak time are the two that may be measured the most easily and with the most accuracy, (18) and (19) should be used whenever possible. Finally, using the values of the damping ratio and natural frequency in conjunction with (21), the time constant may be solved for, in this case turning out to be approximately 0.10 seconds. Considering that the value used for the time constant in the simulation was 0.1 seconds, it appears as though this method works with some degree of accuracy. When attempting to determine the time constants of a DC motor, the best method available is adjust the values of the coefficients of a PID controller until the result of a run bears resemblance to that of Fig. 7, and then to use those coefficient settings from then on. When attempting to determine the time constant of an AC motor, the system should be run, and the peak time, settling time, and overshoot observed and used to calculate the value of the time constant.

VII. ACKNOWLEDGMENTS The author gratefully acknowledges the contribution of Paulo Ribeiro, for his help in writing this paper. Without his support, this process would have been much more difficult. The author also acknowledges the contributions of John Washburn, Frank Saggio, Paul Bakker, Matt Husson, and Nate Studer for their help in the research process. VIII. REFERENCES [1] [2] [3]

Robert H. Bishop, Richard C. Dorf, Modern Control Systems, 9th ed. Upper Saddle River, NJ: Prentice-Hall, 2001, p. 52-56, 227-231. D.K. Anand, Introduction to Control Systems. New York: Pergamon Press Inc., 1974, p. 34-37. The ST Microcontroller Support Site Motor Control Tutorial, http://mcu.st.com/contentid-7.html.

IX. BIOGRAPHY

2001.

Brian Bouma was born in Grand Rapids, Michigan in the United States of America, on September 30, 1982. He graduated from Grand Rapids Christian High School in 2001, and is currently pursuing his undergraduate degree at Calvin College. He is majoring in engineering, with a concentration in electrical and computer engineering, and currently holds a minor in mathematics. His work experience includes Smiths Aerospace LLC where he works in Digital Design. He has been a student member of IEEE since


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.