109 חברים מחוברים
הצטרפו עכשיו
בית פורומים חומרה/חומרה ביתית servo מבוסס arduino
דיון

servo מבוסס arduino

10 הודעות 1,492 צפיות לפני 10 שנים
#2 · לפני 10 שנים
בדיוק מה שחיפשתי 🙂 תודה רבה. אני בדיוק עובד על סטיק כזה 😉
הגישה ברוב ההסברים האלה מבחינת בקרת PID היא פשטנית מאוד ובגדול אומרת "תרכיבו את הפונקציה ואז תכוונו את המקדמים במשך הרבה נסיונות". אם רוצים לדייק אין ברירה אלא ללמוד את העסק ולחשב הרבה. בנוסף אפשר (רצוי) לעבוד עם פידבק של זרם דרך המנוע, לא רק מקודד כלשהו, כדי לשלוט יותר טוב על המומנט במקום רק לשאוף להגיע לsetpoint רצוי של מהירות או מיקום בלבד. זה פותח מגוון אפשרויות לאפקטים, כמו שמיושמים בכל סטיק FFB מסחרי נורמלי כדי להתאים לסטנדרטים של Physical Interface Device.

מיכאל לוייב, צוות ניהול ראשי

69 הפטישים הוירטואלית הותיקה
#4 · לפני 10 שנים
יש לפחות שתי גישות, בדרך כלל מתכנתים קושחה חדשה על השבב שמופקד על USB. לדוגמה כאן:
https://github.com/RICLAMER/Arduino_Big_Joystik
זה כמובן ימנע כתיבת סקצ'ים חדשים לארדואינו עד שנחזיר את הקושחה המקורית.

מיכאל לוייב, צוות ניהול ראשי

69 הפטישים הוירטואלית הותיקה
נערך לאחרונה: לפני 10 שנים
#5 · לפני 10 שנים
ענבר, תודה על המאמר.

מייק, ממליץ לך להתחיל לשחק עם arduino pro-micro
בגלל שהוא מבוסס על ATMEGA32U4, הוא תומך בUSB בצורה מובנית, לא צריך לצרוב קושחות בשום מקום.
זה רק החלפת קוד, אז להחזיר אותו להיות ארדווינו רגיל.

כל עבודת הUSB מתבצת בקלות ע"י ספריה בשם LUFA.
אם נדמה לכם שאני ציני/סרקסטי ו/או בעל חוש הומור מעוות - לא טעיתם!
#7 · לפני 10 שנים
uri_ba, תודה, בהחלט יהיה נוח 🙂
בינתיים אני מסתדר עם mega2560. יקח זמן עד שאגיע לקושחה.

אם למישהו יש רעיונות איך ליישם את לולאת הPID בצורה מהירה ויעילה יותר מסתם מלא שורות if, זה המקום 🙂

מיכאל לוייב, צוות ניהול ראשי

69 הפטישים הוירטואלית הותיקה
#8 · לפני 10 שנים
הנה ניסיון מהיר, לא אסתטי. ממסרת 19:1 ומקודד 64 פולסים לסיבוב. אז אין דיוק מדהים ביציאה (משהו כמו שליש מעלה?). אבל עדיין מגיע די מהר לשגיאה אפסית במצב המתמיד ויותר מהיר מהיד שלי.
שלב הבא יהיה שילוב של לולאת בקרה נוספת לזרם, כדי למנוע זרם תקיעה גדול מדי, ובכלל לנסות להביא למומנט קבוע בכל מצב. זה גם ידרוש מנוע קצת שונה והרבה יותר הפחתה.



עוד מספר מקורות שמבהירים את העיקרון (וגם דוגמאות קוד, מה שכולם אוהבים):
http://blog.solutions-cubed.com/pid-motor-control-with-an-arduino/
http://www.re-innovation.co.uk/web12/index.php/en/information/electronics-information/pid-control-systems
וזה קצת יותר עסיסי, עם הסבר מצוין למי שלא למד בדרך הקשה מה בכלל עושה כל מקדם בPID:
http://ctms.engin.umich.edu/CTMS/index.php?example=Introduction&section=ControlPID

ובשביל מי שלא רוצה לבזבז זמן וללמוד את כל זה לעומק (ובכך למנוע מעצמו את כל הכיף!) כדי לכתוב את אותו בקר PID שכל אדם אחר בעולם יכתוב, יש את הפרוייקט הזה:
https://github.com/br3ttb/Arduino-PID-Library/

המקור הכי רציני, מכרה הזהב הזה:
http://controlguru.com/

מיכאל לוייב, צוות ניהול ראשי

69 הפטישים הוירטואלית הותיקה
#9 · לפני 10 שנים
שעובדים עם גיר, יש באקלש, אבל רזולוציה של שליש מעלה (1216 קווים לסיבוב) זו רזולוציה יפה מאוד.
מכאן הדרך לFF גויסטיק היא די קרובה, עד כמה שאני מבינה ארדואינו מיקרו יכול לתפקד כמו גויסטיק.
נראה שממש פשוט לגרום לארדואינו אונו להיות HID בעזרת כמה נגדים ודיודות.
#10 · לפני 10 שנים
נראה שהבחור הזה עשה כבר את כל העבודה המגעילה של כתיבת הdescriptor.
https://code.google.com/p/adapt-ffb-joy/

הוא משתמש בatmega32u4, ובLUFA, שזה טוב.
וצריך ״רק״ לכתוב את הקוד לחומרה המתאימה.
לשלוח למחשב את כל הנתונים מסטיק זה קל, לעשות את כל ההמרה בחזרה לברזל, קצת פחות.
אבל צריך לחפור בhid, לדעתי הdescriptor מכיל את כל הנתונים, החל מזוית החזקה ועד מהירות זוויתית.
רק צריך להזיז את זה למקום, ולהשתמש בפוט׳ של הסטיק לבקרה בחוג סגור.
אם נדמה לכם שאני ציני/סרקסטי ו/או בעל חוש הומור מעוות - לא טעיתם!

רוצים להגיב?

התחברו כדי להוסיף תגובה לדיון, או הצטרפו לדיסקורד לדיון חי.