From ea8a528c0224468ef91891a0eb24eb6bb3831ebe Mon Sep 17 00:00:00 2001 From: Gabriel Lima Date: Thu, 9 Mar 2023 12:35:43 -0300 Subject: [PATCH] =?UTF-8?q?Vers=C3=A3o=20entregue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Lab Encoder/Serial plot.vi | Bin 34067 -> 41427 bytes Lab Encoder/src/main.cpp | 54 +++++++------------------------------ 2 files changed, 10 insertions(+), 44 deletions(-) diff --git a/Lab Encoder/Serial plot.vi b/Lab Encoder/Serial plot.vi index af06845be87e5f609a685b2ce087f998876db8b6..f0f4e4d8f29c93554be140f547c6f025a58d5a51 100644 GIT binary patch delta 30890 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 SjqJ_zEQxI`Z5$b$&HfL*YnhG! delta 23432 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 RpsS0y81GBwR$)`@-*RuI3UeYW zmt9liBDmvhq2tv7OHeq}QG#=HHYlE^$T;G;(m1g*K=&OuO};^zJb<*GMKn3ly|iZQ zKC_M@-g89TU9+AynxYkm!A!Rw7tbZ+{EpC{p499h(g-S%H5c57u_rkSl;*}42iIiE z6uhWZc-lZEp>H@w9~)@k+su?STYX~a*N^eKf}b*7?!^Pg5OTPDf_=fKF9RhaX3vci z5_La+lDus1Tf>rW?~a5thvybr?7oWoaFg7tF>gP>2_~#W%7OL7ruh#!E=Wzkyyfvg zds|&0l2-0)w=rUq2#NCT8h-qrng{ zXW0qkI4Eb7tIUHhCP}}<^RGPE^`k42m(hn-*X@0Ms_kn#afW62vTN17EL(jdN3?K_ zr%}WM`rabn>9r=-u|`iKum5Q?3*BjHGV0tT9_=&ZG>+T)mhQ!hAikd9%+l1#Fdl~Q z=5G!PO>83n3V@lRi>i_|_z7*VfOLfV@}ko5^dZUBZl7NP_g1+JyF7*^}wd_7~2-!Wx*H6$;(wj z$C)|s{22L4qo1Zc-lDdd0A)EZNAKxj1ICXUYmAHau8!r^+(i~1cDofc6>KY$rtTEb zXOl?X$78*QIS|yjiMB{s<)(UV#N6&`!|xoMP%uWI9Kpj>=kk0vYMjqtW*Q@&Ja z-D8ogXd(y$?RwTjZ}La=2(zSgbjL@0VbVU1GYKGKva4{l9l5Nc`cCoCPm(psI7jtK zWEB1t?0o|X8_^dFh!Tctva;6Fg0vr&)KDCkHaqD zXZZ5D|Qk*H-X>t`CLSd71_(S@|h5EIXlErO0= zlV)c|^6ziTR(8%`P1hcpdW%YE?UiUv!yVP0H;Key)NiR1yLXvfJ5d+@MP zyY)fos0C7y3sok^jjY(W%oH9GtI2u!3$1ZQ|Eduq>clZV{qDCU1ON@Jjbk zgt^6i@a#>&N1kS`8uG70>SZ6h7mq#||18&Zi>zVpjUCCH!cGyimet+t>d+yKRe8?Y zXm$zKQP@&Bk4b-V@?G_7j?JqU^8Lm;`VJUkStHL}6D3H5o}?avr-M`ZcZ1h))Jl zFTb`Gyy35L#9p{LgWL`uwB^Qadpc+W#}0)w(QM0Yb$X(+>V*?lL? z2kSEP#f<0B=J{2Pm#pu|;jnjKH4z1TB+3e14W0N&xBK58Fw_?aB@6_(t?%6p)qy1D zag6cPQ2N)IHea~>e1A1um4dWyMv}a*MB)({9<_#L160nR48 zDn^EgC&2Jg@f)??vf1#%{>^kJ*=1)KT5Qaknqz@D!T1B+0-1C?tz;| zI_<9J68lZeb{{9e6Ru;6XY&9S@zj+C=LEE0oOTzRV>iMGE2i4LiPrt%AIxasB9*+@ zS1<_~LJ3mr%ec|Be@@!_C)0Uq3;1&o!(uE!KicFlYa`XXLawXla2^a08p!1+xA_i1 zOjF_Z`R&1NuP-lc;w|Dn-u9X=S5$KB~we=lM@{EcKOf1@oj>2JhT49A2vr(qepjAdzL;G<}MoP{mI+2`^9xc5Lzf&5E>dO+A-Q@5_k3! z34U~ed;b5Zu6%Fxuf}+P7rL*!Jd+ff9S6s}U$C?4>goJN?;D1fGFauWLdAdSx5{8$ zr9V2$0IUf9qpP2*+SvWkJ@Sf5zJK&LMP1cD5dw?@dBuPHV4}$@{^JLe+(1=N_iuYl z4n;i)l|N1~r8M+a75{tytElSg{n2&?3VQ$8_$uqk{W*$^8FL?ApsLx-;X;R_{ktYK z%^w$N|BH$Ind|>yu7A7#Kg{btnF8G(hWqa^6#h)@pT6+FOq7iNv$MzYe_@;d$smmX th5Z#u`B(e*z!3ib!pzVBf776U8wLgag@|?SJ)Nyx89iKIdhz-={|~s8&J+Lu diff --git a/Lab Encoder/src/main.cpp b/Lab Encoder/src/main.cpp index aec669f..e3d7142 100644 --- a/Lab Encoder/src/main.cpp +++ b/Lab Encoder/src/main.cpp @@ -11,38 +11,9 @@ uint8_t state = 0; uint8_t lastState = 0; int32_t theta = 0; -int32_t targetTheta = 100; -int32_t error = 0; -int32_t lastError = 0; -int32_t dError = 0; -int32_t iError = 0; -int32_t lastInstant = 0; -int32_t instant; -float Kp = 10; -float Kd = 0; -float Ki = 0; - -bool f = false; - -int32_t period = 10000; - -void update() { - delay(1); - lastInstant = instant; - instant = micros(); - int32_t deltaT = instant - lastInstant; - lastError = error; - error = targetTheta - theta; - dError = (error - lastError)/deltaT; - iError = iError + error*deltaT; - if (iError > 255) - iError = 255; - else if (iError < -255) - iError = -255; -} - -int16_t pid() { return Kp * error + Ki * iError + Kd * dError; } +uint8_t buffer[3]; +int16_t power; void setPower(int16_t power) { if (power > 255) { @@ -63,12 +34,10 @@ void setPower(int16_t power) { } void plot(){ - Serial.print(">timestamp:"); + Serial.print(">t:"); Serial.println(micros()); Serial.print(">theta:"); Serial.println(theta); - Serial.print(">targetTheta:"); - Serial.println(targetTheta); } void encoderIsr() { @@ -104,6 +73,7 @@ void encoderIsr() { } break; } + plot(); } void setup() { @@ -119,15 +89,11 @@ void setup() { } void loop() { - if (!f && millis() % period < period/2) { - targetTheta = 100; - f = true; - } else if (f && millis() % period > period/2) { - targetTheta = -100; - f = false; + + if(Serial.available() >= 7){ + Serial.readBytesUntil('\n', buffer, 7); + sscanf((const char*)buffer, "0x%04X", &power); + setPower(power); } - plot(); - update(); - setPower(pid()); - delay(10); + delay(100); } \ No newline at end of file