Как я могу реализовать свой код ПИД-регулятора на языке ассемблера для управления двигателем постоянного тока? - PullRequest
0 голосов
/ 23 декабря 2018

Я пишу некоторый код сборки для PID-контроллера (теперь это только PI), и мне нужно добавить несколько строк для его использования при управлении двигателем постоянного тока.Я использую Atmega8 в своем проекте.

Так что он должен работать в определенный момент (я точно не знаю момент), и я должен что-то сделать с интегратором, есть ли альтернатива для массива на языке ассемблера?

Рабочий код есть, но мне нужно применить его к двигателю постоянного тока.Есть идеи, как мне это реализовать?

.def error = R16 
.def need = R17 
.def real = R18 
.def P = R19 
.def delta = R20 
.def time = R21 
.def integral = R22 
.def I = R23 
.def Kp = R24 
.def Ki = R25 
.def controller = R26 
.def prev_error = R27 

ldi need, 10                
ldi real, 8             
ldi Kp, 10              
ldi Ki, 30              
ldi time, 1             
ldi integral, 0             
ldi prev_error, 0           
start: 
    mov error, need 
    sub error, real
    mov P, error
    mul P, Kp
    mov delta, error
    mul delta, time 
    add integral, delta
    mul integral, Ki
    mov I, integral
    mov controller, P
    add controller, I       
    mov prev_error, error   
    rjmp start 
 ret
...