рдШреБрдЯрдиреЗ рдкрд░ рдореЙрдбрд▓ рдЙрдиреНрдореБрдЦ рдбрд┐рдЬрд╛рдЗрди, MATLAB / Simulink рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдкрд╣рдЪрд╛рди





рд╣реЗрд▓реЛ, рд╣реЗрдмреНрд░!



рдЖрдЬ рдореИрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдбреЗрдЯрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рд┐рд╕реНрдЯрдо рдкрд╣рдЪрд╛рди рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдпрд╣ рдПрдХ рдЙрдкрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдкрд╣рд▓рд╛ рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрджрдо рд╣реИ рдЬрд┐рд╕рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛, рдпрд╛ рдмрд╣реБрдд рдЬрдЯрд┐рд▓, рдпрд╛ рдЕрдирд┐рдЪреНрдЫреБрдХ рд░реВрдк рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЕрд╕рдВрднрд╡ рд╣реИред рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо " рдмрд┐рд▓реНрд▓реА рдХреЗ рд╕рд╛рде рдмреНрд▓реИрдХ рдмреЙрдХреНрд╕" рд╡рд┐рдзрд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рд╣рдо рдЕрдЧрд▓реА рдмрд╛рд░ "рдЧреНрд░реЗ" рдФрд░ "рд╡реНрд╣рд╛рдЗрдЯ" рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗред

рджрд┐рд▓рдЪрд╕реНрдкреА рд░рдЦрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдмрд┐рд▓реНрд▓реА рдорд╛рдБрдЧрддрд╛ рд╣реВрдБред



рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЙрдкрд▓рдмреНрдз





рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкреНрд░рд╕реНрддреБрдд рдШрдЯрдХреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЛ рднреА рдЗрд╕реА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдПрдирд╛рд▓реЙрдЧ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдмрддрдЦ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ!)ред рд▓реЗрдХрд┐рди, рдЪреВрдВрдХрд┐ рд╕рдм рдХреБрдЫ "рдШреБрдЯрдиреЗ рдкрд░" рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдЗрд╕ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдВрдпреБрдХреНрдд рдХреЗ рдорд╛рд▓рд┐рдХ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред



рдЬрдм рдЗрдХрдЯреНрдареЗ рд╣реБрдП, рдЕрдЧрд░ рдЗрд╕реЗ рд╕рдВрдЧреНрд░рд╣ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рд╕рдм рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:





рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдмрдпрд╛рди



рдПрдХ рдкреНрд░рдгрд╛рд▓реА рд╣реИ - рдЖрдкрдХреЛ рдЖрдЧреЗ рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдореЙрдбрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХрд╣реАрдВ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред

рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдЙрд╕рдХреЗ рдореЙрдбрд▓ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдЗрдирдкреБрдЯ рдкреНрд░рднрд╛рд╡реЛрдВ рдХреА рд╕реАрдорд╛ рдХреЗ рднреАрддрд░ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдмреНрд▓реИрдХ рдмреЙрдХреНрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдХреЗ рднреАрддрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рднреМрддрд┐рдХреА рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦреЗрдВрдЧреЗ, рдпрд╛ рд▓рдЧрднрдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред



рдЗрд╕ рдмрд╛рд░ рдореИрдВрдиреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЬрд╛рдирд╛, рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣рд╛ рд╣реИ, рдЖрдВрдЦ рд╕реЗ

рд▓реЗрдХрд┐рди рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╖рдп рд╣реИрдВ - рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдбрд┐рдЬрд╛рдЗрди ( рдбреАрдУрдИ ) рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг ( рдПрдПрдирдУрд╡реАрдП ), рдЬреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред



рдХреБрдЫ рд╕рдиреНрдирд┐рдХрдЯрди рдФрд░ рд╕рд░рд▓реАрдХрд░рдг рдХреЗ рд╕рд╛рде рд▓рдХреНрд╖реНрдп рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:



рд╕рд┐рд╕реНрдЯрдо рдЗрдирдкреБрдЯ - PWM рд╕реЗрдЯрдкреНтАНрд╡рд╛рдЗрдВрдЯ 0-100% ред

"рдПрдирд╛рд▓реЙрдЧ" Arduino рдкреЛрд░реНрдЯ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ 0 рд╕реЗ 255 рддрдХ uint8 рдореВрд▓реНрдпреЛрдВ рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░рдХреЗ PWM рд╕рд┐рдЧреНрдирд▓ рдХреЗ рдХрд░реНрддрд╡реНрдп рдЪрдХреНрд░ рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдПрдХ рдЕрд╡рд╕рд░ рд╣реИред рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдкрд╛рд╡рд░ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХреНрд╕ рдФрд░ рдореЛрдЯрд░ рдЗрд╕ рдкреНрд░рднрд╛рд╡ рдХрд╛ рдЬрд╡рд╛рдм рдХреИрд╕реЗ рджреЗрдВрдЧреЗред

рдкрд░реАрдХреНрд╖рдг рд╡реЗрдХреНрдЯрд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рддрд╛рд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рдореЗрдВ 501 рддрддреНрд╡ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ 0.04 рдХреЗ рдирдореВрдиреЗ рджрд░ рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░реАрдХреНрд╖рдг рдЬреЛрдЦрд┐рдо рдХреЗ рдХреБрд▓ ~ 20 рд╕реЗрдХрдВрдбред

рдкрд░реАрдХреНрд╖рдг рд╡реЗрдХреНрдЯрд░ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:





рд╕рд┐рд╕реНрдЯрдо рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ, рдореБрдЭреЗ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рджреЗрдЦрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ :-)

рд╕рдлрд▓ рдкрд╣рдЪрд╛рди рдХреЗ рд▓рд┐рдП, рдкрд░реАрдХреНрд╖рдг рд╡реЗрдХреНрдЯрд░ рдХреЛ рдЙрд╕ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрд╡рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред "рдмреНрд▓реИрдХ рдмреЙрдХреНрд╕" рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдирдореВрдиреЛрдВ рдХреА рд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдХрд╛рд░рдг рдЖрдкрд╛рддрдХрд╛рд▓реАрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреА рд╣реИред рдореИрдВ рд╕реЙрдлреНрдЯ рд╕реНрдЯрд╛рд░реНрдЯ рдФрд░ рд╕реНрдЯрд╛рд░реНрдЯ-рд╕реНрдЯреЙрдк рдХреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдХреА рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛ред



рд╕рд┐рд╕реНрдЯрдо рдЖрдЙрдЯрдкреБрдЯ - рд╢рд╛рдлреНрдЯ рд░реЛрдЯреЗрд╢рди рдХреА рдЧрддрд┐, рд╢рд╛рдлреНрдЯ рд░реЛрдЯреЗрд╢рди рдХреЛрдгред рдХреНрд╡рд╛рдбрд░реЗрдЪрд░ рдПрдирдХреЛрдбрд░ рд╕реЗ, рдЬрдм рдореЛрдЯрд░ рд╢рд╛рдлреНрдЯ рдШреВрдорддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдкреАрдЖрдИ / 2 рдХреЗ рдЪрд░рдг рдСрдлрд╕реЗрдЯ рдХреЗ рд╕рд╛рде рджреЛ рдореЗрдиреНрдбрд░реНрд╕ рдорд┐рд▓рддреЗ рд╣реИрдВред рд╡реЗ рдПрдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдбрд┐рдХреЛрдбрд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп I / O рдХрд╛рд░реНрдбреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдореМрдЬреВрдж рд╣реЛрддрд╛ рд╣реИред рдЬрдм рдПрдХ рд╕рд┐рдореБрд▓рд┐рдВрдХ рдореЙрдбрд▓ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдорд╢реАрди рдкрд░ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрд╡рд╢реНрдпрдХ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП FPGA рдХреЛ "рдлреНрд▓реИрд╢" рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдбрд┐рдХреЛрдбрд░ рд╕реЗ рдЯрд┐рдХреНрд╕ рдХреЛ рдЧреБрдгрд╛рдВрдХ рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдХреЛрдг рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЧрддрд┐ рдореЗрдВ рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рджрд░ред рдореЛрдЯрд░ рдПрдирдХреЛрдбрд░ рдкреНрд░рддрд┐ рдХреНрд░рд╛рдВрддрд┐ 64 рдЯреНрд░рд┐рдЧрд░ рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рдЕрдЪреНрдЫреА рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдорд╢реАрди рдкрд░ рдореБрдЦреНрдп рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ 10 kHz рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдореБрдЭреЗ 0.0001 рдПрд╕ рдХреЗ рдирдореВрдиреЗ рдХреА рдЕрд╡рдзрд┐ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдбреЗрдЯрд╛ рдорд┐рд▓рддрд╛ рд╣реИред FPGA рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ 33 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ , рдЬреЛ рдореВрд▓ рдбрд┐рдХреЛрдбрд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрдЪреНрдЪ рдЧрддрд┐ рдкрд░ рдорд╛рдк рд╕рдЯреАрдХрддрд╛ рдХрд╛ рддреНрдпрд╛рдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдПрдВрдЯреА-рдмрд╛рдЙрдВрд╕ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рджреЗрддрд╛ рд╣реИред рд╕рд░рд▓ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдПрдХ FPGA рдкрд░ рдХреНрд╡рд╛рдбрд░реЗрдЪрд░ рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдбрд┐рдХреЛрдб рдХрд░рдирд╛ рдЙрддреНрдХреГрд╖реНрдЯ рд▓реЗрдЦ fpga4fun -> QuadratureDecoder рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИред



рдорд╛рддреНрд░рд╛рдУрдВ рдХрд╛ рд╡рд┐рдШрдЯрди, рд╕рдордп рдХреА рджреЗрд░реА, рдпрд╛рдВрддреНрд░рд┐рдХ рднрд╛рдЧреЛрдВ рдХреА рдЬрдбрд╝рддрд╛ рдХреЗ рдХреНрд╖рдг, рд╢рд╛рдВрдд рдШрд░реНрд╖рдг, рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧ рдШрд░реНрд╖рдг, рд░реЛрд▓рд┐рдВрдЧ рдШрд░реНрд╖рдг, рдпрд╛рдВрддреНрд░рд┐рдХ рдирд╛рдЯрдХ, рдЕрд╕рдВрддреБрд▓рди, рдЕрдиреБрдирд╛рдж рдШрдЯрдирд╛, рдкреНрд░реЗрд░рдХ рд╕рд░реНрдХрд┐рдЯ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ, рд╕рдВрдкрд░реНрдХ рдлрд┐рд╕рд▓рдиреЗ, рд╕реНрдкрд╛рд░реНрдХрд┐рдВрдЧ - рдпрд╣ рдЙрди рдХрд╛рд░рдХреЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рдирд╣реАрдВ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рд╕рд╛рдордирд╛ рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рд╡рд░реНрдгрди рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдореЛрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ arduinka рд╣реИ !

рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ, рдХреБрдЫ рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдкреЗрдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдХрд┐рд╕реА рднреА рдХрд╛рд░рдХ рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред



рдпрд╣ рдХреИрд╕реЗ Arduino (рдкреАрд▓рд╛) рд╕реЗ PWM рдФрд░ рдПрдХ рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рд░реЛрдзрдХ рднрд╛рд░ рдкрд░ рд╡реЛрд▓реНрдЯреЗрдЬ рд╣реИ рдЬреЛ рдврд╛рд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ:







рд▓реЗрдХрд┐рди рдЬрдм рдЗрдВрдЬрди рдЕрднреА рддрдХ рдХрддрд╛рдИ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрддрд╛рдИ рд╣реИ:











рд╕реЗрдореАрдХрдВрдбрдХреНрдЯрд░ рд╕реНрд╡рд┐рдЪ рдХреЗ рд╕рд╛рде рдПрдХ рдпрд╛рдВрддреНрд░рд┐рдХ рд╕рдВрдкрд░реНрдХ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░реЗрд░рдХ рднрд╛рд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЕрдиреБрд╕рдВрдзрд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╖рдп рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдЬ рд╣рдо рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрдВрдЧреЗред рд╣рдо рдПрдХ рд╕реАрдзреА рд░реЗрдЦрд╛ рдореЗрдВ рдХрдЯреМрддреА рдХрд░рддреЗ рд╣реИрдВ - рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдХреЗрд╡рд▓ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдмрд┐рдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рднреМрддрд┐рдХреА рдореЗрдВ рддрд▓реНрд▓реАрди рдХрд┐рдПред



рд╕рд┐рдореБрд▓рд┐рдВрдХ рдореЙрдбрд▓



рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдорд╢реАрди рдкрд░, рдореИрдВ рдЗрд╕ рдореЙрдбрд▓ рдХреЛ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ:







рдЗрд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рдЕрддреНрдпрдВрдд рд╕рд░рд▓ рд╣реИред рдЗрдирдкреБрдЯ, рдЖрдЙрдЯрдкреБрдЯ, рдЗрдирдкреБрдЯ-рдЖрдЙрдЯрдкреБрдЯ рдмреЛрд░реНрдб рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рдорд╢реАрди рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдирд╛ рдЖрдЙрдЯрдкреБрдЯ рдФрд░ рдПрдХ рдХреЛрдг рдФрд░ рдЧрддрд┐ рд╕реЗ рдЪрддреБрд░реНрднреБрдЬ рдПрдирдХреЛрдбрд░ рд╕реЗ рдЯрд┐рдХреНрд╕ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдЖрдВрддрд░рд┐рдХ рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдХ рд╣реИрдВред



Arduino рдХреЗ рд▓рд┐рдП рдлрд░реНрдорд╡реЗрдпрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:







рдПрдХ рд╕рддреНрдп рддрд╛рд▓рд┐рдХрд╛ рдЬреЛ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рд╕рдВрдХреЗрдд рдХреЛ рдЯреНрд░реИрдХ рдХрд░рддреА рд╣реИ рдФрд░ рдореЛрдЯрд░ рд╢реАрд▓реНрдб рдЗрдирдкреБрдЯ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреА рд╣реИ







рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛрдб рдХреЛ рд╕реНрдкреЙрдЗрд▓рд░ рдХреЗ рдиреАрдЪреЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рд╕реА ++
// // File: arduinoTestVector.cpp // // Code generated for Simulink model 'arduinoTestVector'. // // Model version : 1.229 // Simulink Coder version : 8.6 (R2014a) 27-Dec-2013 // C/C++ source code generated on : Thu May 22 14:47:55 2014 // // Target selection: arduino_ec.tlc // Embedded hardware selection: Atmel->AVR // Code generation objectives: // 1. Execution efficiency // 2. ROM efficiency // 3. RAM efficiency // Validation result: Not run // #include "arduinoTestVector.h" // Constant parameters (auto storage) const ConstParam_arduinoTestVector arduinoTestVector_ConstP = { // Expression: myData // Referenced by: '<S1>/Constant1' { 0, 1, 3, 4, 5, 6, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 22, 23, 24, 26, 27, 28, 29, 31, 32, 33, 34, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 48, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61, 62, 0, -1, -3, -4, -5, -6, -8, -9, -10, -11, -13, -14, -15, -17, -18, -19, -20, -22, -23, -24, -26, -27, -28, -29, -31, -32, -33, -34, -36, -37, -38, -40, -41, -42, -43, -45, -46, -47, -48, -50, -51, -52, -54, -55, -56, -57, -59, -60, -61, -62, 0, 3, 5, 8, 10, 13, 15, 18, 20, 23, 26, 28, 31, 33, 36, 38, 41, 43, 46, 48, 51, 54, 56, 59, 61, 64, 66, 69, 71, 74, 77, 79, 82, 84, 87, 89, 92, 94, 97, 99, 102, 105, 107, 110, 112, 115, 117, 120, 122, 125, 0, -3, -5, -8, -10, -13, -15, -18, -20, -23, -26, -28, -31, -33, -36, -38, -41, -43, -46, -48, -51, -54, -56, -59, -61, -64, -66, -69, -71, -74, -77, -79, -82, -84, -87, -89, -92, -94, -97, -99, -102, -105, -107, -110, -112, -115, -117, -120, -122, -125, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, -170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, -255, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }; // Block signals (auto storage) BlockIO_arduinoTestVector arduinoTestVector_B; // Block states (auto storage) D_Work_arduinoTestVector arduinoTestVector_DWork; // Model step function void arduinoTestVector_step(void) { // local block i/o variables uint8_T rtb_MOTORSHIELD_IN1; uint8_T rtb_MOTORSHIELD_IN2; uint8_T rtb_Abs; boolean_T aVarTruthTableCondition_1; boolean_T aVarTruthTableCondition_2; boolean_T aVarTruthTableCondition_3; uint16_T rtb_Init; // Outputs for Enabled SubSystem: '<Root>/ENABLE_TEST' incorporates: // EnablePort: '<S1>/Enable' // S-Function (sfunar_digitalInput): '<Root>/RUN_TEST' if (((uint8_T)digitalRead(((uint8_T)2U))) > 0) { if (!arduinoTestVector_DWork.ENABLE_TEST_MODE) { // InitializeConditions for UnitDelay: '<S1>/Unit Delay' arduinoTestVector_DWork.UnitDelay_DSTATE = false; // InitializeConditions for UnitDelay: '<S4>/FixPt Unit Delay2' arduinoTestVector_DWork.FixPtUnitDelay2_DSTATE = 1U; // InitializeConditions for UnitDelay: '<S4>/FixPt Unit Delay1' arduinoTestVector_DWork.FixPtUnitDelay1_DSTATE = 0U; arduinoTestVector_DWork.ENABLE_TEST_MODE = true; } // Switch: '<S4>/Init' incorporates: // Constant: '<S4>/Initial Condition' // Logic: '<S4>/FixPt Logical Operator' // UnitDelay: '<S1>/Unit Delay' // UnitDelay: '<S4>/FixPt Unit Delay1' // UnitDelay: '<S4>/FixPt Unit Delay2' if (arduinoTestVector_DWork.UnitDelay_DSTATE || (arduinoTestVector_DWork.FixPtUnitDelay2_DSTATE != 0)) { rtb_Init = 0U; } else { rtb_Init = arduinoTestVector_DWork.FixPtUnitDelay1_DSTATE; } // End of Switch: '<S4>/Init' // Selector: '<S1>/Selector' incorporates: // Constant: '<S1>/Constant1' arduinoTestVector_B.Selector = arduinoTestVector_ConstP.Constant1_Value [(int16_T)rtb_Init]; // Switch: '<S4>/Reset' incorporates: // UnitDelay: '<S1>/Unit Delay' if (arduinoTestVector_DWork.UnitDelay_DSTATE) { // Update for UnitDelay: '<S4>/FixPt Unit Delay1' incorporates: // Constant: '<S4>/Initial Condition' arduinoTestVector_DWork.FixPtUnitDelay1_DSTATE = 0U; } else { // Update for UnitDelay: '<S4>/FixPt Unit Delay1' incorporates: // Constant: '<S1>/Constant' // Sum: '<S1>/Add' arduinoTestVector_DWork.FixPtUnitDelay1_DSTATE = rtb_Init + 1U; } // End of Switch: '<S4>/Reset' // Update for UnitDelay: '<S1>/Unit Delay' incorporates: // Constant: '<S3>/Constant' // RelationalOperator: '<S3>/Compare' arduinoTestVector_DWork.UnitDelay_DSTATE = (rtb_Init == 500U); // Update for UnitDelay: '<S4>/FixPt Unit Delay2' incorporates: // Constant: '<S4>/FixPt Constant' arduinoTestVector_DWork.FixPtUnitDelay2_DSTATE = 0U; } else { if (arduinoTestVector_DWork.ENABLE_TEST_MODE) { // Disable for Outport: '<S1>/TEST_OUT' arduinoTestVector_B.Selector = 0; arduinoTestVector_DWork.ENABLE_TEST_MODE = false; } } // End of S-Function (sfunar_digitalInput): '<Root>/RUN_TEST' // End of Outputs for SubSystem: '<Root>/ENABLE_TEST' // Truth Table: '<Root>/Truth Table' // Truth Table Function 'Truth Table': '<S2>:1' // ClockWise // Condition '#1': '<S2>:1:10' aVarTruthTableCondition_1 = (arduinoTestVector_B.Selector > 0); // CounterClockWise // Condition '#2': '<S2>:1:14' aVarTruthTableCondition_2 = (arduinoTestVector_B.Selector < 0); // Stop // Condition '#3': '<S2>:1:18' aVarTruthTableCondition_3 = (arduinoTestVector_B.Selector == 0); if ((!aVarTruthTableCondition_1) && (!aVarTruthTableCondition_2) && aVarTruthTableCondition_3) { // Decision 'D1': '<S2>:1:20' // Stop // Action '3': '<S2>:1:48' rtb_MOTORSHIELD_IN1 = 0U; // Action '3': '<S2>:1:49' rtb_MOTORSHIELD_IN2 = 0U; } else { // Decision 'D2': '<S2>:1:20' if (aVarTruthTableCondition_1 && (!aVarTruthTableCondition_2) && (!aVarTruthTableCondition_3)) { // Decision 'D2': '<S2>:1:22' // ClockWise // Action '1': '<S2>:1:34' rtb_MOTORSHIELD_IN1 = 1U; // Action '1': '<S2>:1:35' rtb_MOTORSHIELD_IN2 = 0U; } else { // Decision 'D3': '<S2>:1:22' if ((!aVarTruthTableCondition_1) && aVarTruthTableCondition_2 && (!aVarTruthTableCondition_3)) { // Decision 'D3': '<S2>:1:24' // CounterClockWise // Action '2': '<S2>:1:41' rtb_MOTORSHIELD_IN1 = 0U; // Action '2': '<S2>:1:42' rtb_MOTORSHIELD_IN2 = 1U; } else { // Decision 'D4': '<S2>:1:24' // Decision 'D4': '<S2>:1:26' // Default // None // Action '4': '<S2>:1:55' rtb_MOTORSHIELD_IN1 = 0U; // Action '4': '<S2>:1:56' rtb_MOTORSHIELD_IN2 = 0U; } } } // End of Truth Table: '<Root>/Truth Table' // S-Function (sfunar_digitalOutput): '<Root>/MOTORSHIELD_IN1' digitalWrite(((uint8_T)8U), rtb_MOTORSHIELD_IN1); // S-Function (sfunar_digitalOutput): '<Root>/MOTORSHIELD_IN2' digitalWrite(((uint8_T)11U), rtb_MOTORSHIELD_IN2); // Abs: '<Root>/Abs' if (arduinoTestVector_B.Selector < 0) { rtb_Abs = (uint8_T)-arduinoTestVector_B.Selector; } else { rtb_Abs = (uint8_T)arduinoTestVector_B.Selector; } // End of Abs: '<Root>/Abs' // S-Function (sfunar_analogOutput): '<Root>/SPEEDPIN_A' analogWrite(((uint8_T)9U), rtb_Abs); } // Model initialize function void arduinoTestVector_initialize(void) { // Registration code // block I/O (void) memset(((void *) &arduinoTestVector_B), 0, sizeof(BlockIO_arduinoTestVector)); // states (dwork) (void) memset((void *)&arduinoTestVector_DWork, 0, sizeof(D_Work_arduinoTestVector)); // S-Function (sfunar_digitalInput): <Root>/RUN_TEST pinMode(((uint8_T)2U), INPUT); // InitializeConditions for Enabled SubSystem: '<Root>/ENABLE_TEST' // InitializeConditions for UnitDelay: '<S1>/Unit Delay' arduinoTestVector_DWork.UnitDelay_DSTATE = false; // InitializeConditions for UnitDelay: '<S4>/FixPt Unit Delay2' arduinoTestVector_DWork.FixPtUnitDelay2_DSTATE = 1U; // InitializeConditions for UnitDelay: '<S4>/FixPt Unit Delay1' arduinoTestVector_DWork.FixPtUnitDelay1_DSTATE = 0U; // End of InitializeConditions for SubSystem: '<Root>/ENABLE_TEST' // S-Function (sfunar_digitalOutput): <Root>/MOTORSHIELD_IN1 pinMode(((uint8_T)8U), OUTPUT); // S-Function (sfunar_digitalOutput): <Root>/MOTORSHIELD_IN2 pinMode(((uint8_T)11U), OUTPUT); // S-Function (sfunar_analogOutput): <Root>/SPEEDPIN_A pinMode(((uint8_T)9U), OUTPUT); } // // File trailer for generated code. // // [EOF] //
      
      



рдкреВрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред



рдореЙрдбрд▓ рдЬреЛ рдореИрдВ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛:







рд╕рднреА рдореЙрдбрд▓ рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ ред

"рдЦреЛрд▓рд╛ рдФрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛" рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рд╣реИрдВред рдкреАрдПрдо рдХреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рд╕рд╛рде, рдпрд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВред



рд╡реАрдбрд┐рдпреЛ







рдкрд░рд┐рдгрд╛рдо



рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рд╣реИ:







рдмреНрд▓реВ рдПрдХ рдЗрдирдкреБрдЯ рд╕рд┐рдЧреНрдирд▓ рд╣реИ, рдЬрд┐рд╕рдХреА рд╕реАрдорд╛ -255 рд╕реЗ рд▓реЗрдХрд░ 5.35 рддрдХ рд╣реИ ред рд╡реЛрд▓реНрдЯ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдпрд╣ рд▓рдЧрднрдЧ -8.5 рд╕реЗ 8.5 рд╣реЛрдЧрд╛ ред

рдЧреНрд░реАрди - рдореЛрдЯрд░ рд╢рд╛рдлреНрдЯ рд░реЛрдЯреЗрд╢рди рдХреА рдЧрддрд┐ред



рдкреАрдбрдмреНрд▓реВрдПрдо рдХреЛ 25% рд╕реЗ рдХрдо рд▓рдЧрд╛рдиреЗ рдкрд░ рд╣рдореЗрдВ рдПрдХ рд╕рдордп рдХреА рджреЗрд░реА, рд░реЛрдЯреЗрд╢рди рдХреА рдХрдореА, рдпрд╛ рдмрд╣реБрдд рдХрдо рд░реЛрдЯреЗрд╢рди рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рд╣рдо рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ aperiodic рдХреНрд╖рдгрд┐рдХ рдХрд╛ рднреА рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВред



рдФрд░ рдпрд╣рд╛рдВ рд╡рд╣ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ рдЬреЛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдорд╢реАрди рд╕реЗ рдЬреБрдбрд╝реЗ рдкреНрд░рджрд░реНрд╢рди рдкрд░ рдкреНрд░рдпреЛрдЧ рдХреЗ рджреМрд░рд╛рди рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИ:







рдкрд╣рдЪрд╛рди



рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕реЗ рдПрдХ, рдЕрд░реНрдерд╛рддреН рдЗрдВрдЬрди, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣рд╕реНрддрд╛рдВрддрд░рдг рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:



рдЗрд╕рд▓рд┐рдП TAU рдкрд╛рдареНрдпрдХреНрд░рдо рд╣рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ, рд╣рдо рдЗрд╕рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред



MATLAB рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдврд╝рд┐рдпрд╛ рдЯреВрд▓ рд╣реИ - рд╕рд┐рд╕реНрдЯрдо рдЖрдЗрдбреЗрдВрдЯрд┐рдлрд┐рдХреЗрд╢рди рдЯреВрд▓рдмреЙрдХреНрд╕ ред рдпрд╣ рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ рдЬреЛ MATLAB рд▓рд┐рдкрд┐рдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рдкрд╣рд▓реЗ рдХрд╛рдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред



рд╣рдо рдкреНрд░рдпреЛрдЧ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рднрд╛рд╡ рдХреЗ рджреМрд░рд╛рди рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЛ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ:





рдЖрдпрд╛рдд рдХреЗ рдмрд╛рдж, рдбреЗрдЯрд╛ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЯреВрд▓ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореМрдХрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рджреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдкрд╣рдЪрд╛рди рдХреЗ рд▓рд┐рдП рдФрд░ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╕реЗред рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ, рдЪрд▓реЛ рдЬрд▓реНрдж рд╣реА рд╡реНрдпрд╛рдкрд╛рд░ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЙрддрд░реЗрдВ!



"рдЕрдиреБрдорд╛рдирд┐рдд" рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдлрд╝рдВрдХреНрд╢рди рдореЙрдбрд▓ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред



рд╣рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдлрд╝рдВрдХреНрд╢рди рдорд┐рд▓рддрд╛ рд╣реИ:





рдЖрдЗрдП рдкрд░рд┐рдгрд╛рдореА рдлрд╝рдВрдХреНрд╢рди рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ:





рдмреНрд▓реВ рдореВрд▓ рдкрд░реАрдХреНрд╖рдг рд╡реЗрдХреНрдЯрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдлрд╝рдВрдХреНрд╢рди рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рд╕реНрдЯрд╛рд░реНрдЯ-рд╕реНрдЯреЙрдк рдореЛрдб рдореЗрдВ рд╕реНрд░реЛрдд рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдореЙрдбрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ, рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдореМрдЬреВрдж рдЧреИрд░-рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реБрдП, рд╣рдо рд╣реИрдорд░рд╕реНрдЯреАрди-рд╡реАрдирд░ рдореЙрдбрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЧреИрд░-рд╡реНрдпрд╡рд╣рд╛рд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ:







рдЗрдирдкреБрдЯ рдиреЙрдирдХреНрд▓рд┐рдпрд░рд┐рдЯреА рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдбреЗрдб рдЬреЛрди рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ - рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реАрдорд╛ рдореВрд▓реНрдп рд╕реЗ рдХрдо рдХреЗ рдЗрдирдкреБрдЯ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдЧреИрд░рдмрд░рд╛рдмрд░реА рдХреЛ рд╕реНрд╡рдпрдВ рдХреЛ рд╢рд╛рдВрдд рд░рд╣рдиреЗ рдФрд░ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕реНрдерд╛рдпреА рдЪреБрдореНрдмрдХреЛрдВ рдХреЗ рдкреНрд░рднрд╛рд╡ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдмрд╛рдХреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдХрд▓реНрдк, рдЕрдиреБрдорд╛рди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред



MichaelBorisov рдХреЗ рдЕрдиреБрд░реЛрдз рдкрд░ # 1 рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:

рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ, рдиреЙрдирд▓рд╛рдЗрдирд░ рднрд╛рдЧ рдХрд╛ рд╡рд┐рдиреНрдпрд╛рд╕ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:





рдбреЗрдб рдЬреЛрди рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ - рд╣рдо рдкреНрд░рдХрд╛рд░ рдФрд░ рд╕реАрдорд╛ рдорд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред



рд░реИрдЦрд┐рдХ рднрд╛рдЧ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдЖрдк рдСрд░реНрдбрд░ рдХреЛ рдкреВрд░реНрд╡-рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрд░реА рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ:





рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдпрд╣ рдПрдХ "рдмреНрд▓реИрдХ рдмреЙрдХреНрд╕" рд╣реИ - рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдкрд░реНрдпрд╛рдкреНрдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЙрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреНрдЮрд╛рди рдХреА рдорд╛рддреНрд░рд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЧрдгрдирд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВред

рдорд╛рдЗрдХрд▓рдмреЛрд░рд┐рд╕реЛрд╡ рдХреЗ рдЕрдиреБрд░реЛрдз рдкрд░ endOfUpdate # 1:



рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдгрд╛рдо рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ:





рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ! рд╕рд╣реА рдирд╣реАрдВ рд╣реИ - рдХреБрдЫ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╡рд╣рд╛рд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдиреЙрдирд▓рд╛рдЗрдирдпрд░ рд╕рд┐рд╕реНрдЯрдо рдХреА рдкрд╣рдЪрд╛рди рдкрд░ рдХреЗрд╡рд▓ рдереЛрдбрд╝рд╛ рд╕реНрдкрд░реНрд╢ рдХрд░рддреЗ рд╣реИрдВред



рдЕрдм рд╣рдореЗрдВ рдмрд╕ рдЗрд╕ рдореЙрдбрд▓ рдХреЛ рд╕рд┐рдореБрд▓рд┐рдВрдХ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдирд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╣рдо рдПрдХ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд▓реЗ рд╡рд┐рд╖рдп рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ!



рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рдерд╛?

рдФрд░ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХреЗ рдЬрд╡рд╛рдм рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рдж:



All Articles