נספח למתקדמים - שידרוג ה-PPM Encoder ב-APM:
פתאום שמתי לב שיש עדכון חשוב לרכיב שמקודד PPM מהסיגנלים מהשלט אל המעבד הראשי ב-APM, הגרסה החשובה האחרונה היא ממרץ, כך שלי בטוח אין אותה כי קניתי את הלוח בסביבות ינואר, טוענים שזה משפר גליצ'ים עם שלטים מסויימים במקרים מסויימים, אני לא חושב שנתקלתי בבעיה, וגם אני משתמש ב-PPM כך שה-PPM Encoder עושה כנראה רק pass through אבל הייתי חייב לשדרג כי אני חולה בשידרוגציה... וזה גם נשמע שידרוג של בטיחות.
השדרוג אמור להיות דיי פשוט, עוקבים אחרי ההוראות הללו: http://copter.ardupilot.com/wiki/com...2x-atmega32u2/
אבל!!!!!!! וזה אבל גדול מאד כל ההוראות בדף הרשמי הן בהנחה שיש bootloader תקין למעבד של ה-PPM ה-ATMega32u2 שזה מעבד נפרד מהמעבד הראשי. שוב נדפקתי עם קמצנים שלא שמים bootloader ללוח (כמו הלוח של הגימבל שלי) מסתבר ש-RCTimer לכל הלוחות לפני בערך מרץ 2013 לא שמו bootloader, היום כבר הם שמים לכל הלוחות.
טוב אחרי חרישה קשה, בדיקות, bricking של הלוח (ותיקון) הנה התהליך שלא מומלץ לבעלי לב חלש ובכלל לאף אחד בעצם....:
אני לא לוקח אחריות לתהליך, מי שעושה על אחריותו בלבד!!!!
לי היו שלבים (לא מה שרשום כאן) שהלוח הפסיק לעבוד לגמרי, כאן מפורט סיכום של מה שאמור לעבוד.
מצרכים מתאם AVR פושט מהסיני שקניתי פעם בטעות וזו הפעם השנייה שאני משתמש בו (פעם ראשונה ללוח לגימבל, פעם שלישית תהייה שידרוג לשלט 9XR...)
http://www.hobbyking.com/hobbyking/s...occessors.html
לחיבורים עבדתי לפי הלינקים הבאים:
http://www.rcgroups.com/forums/showthread.php?t=1901062
http://www.rcgroups.com/forums/showthread.php?t=1815649
יש חיבורים לצריבת ה-m32u2 ללא מחברים, בצד השני של הלוח יש חיבורים למעבד הראשי שיש עליהם מחברים.
צריך לפי התמונה בלינקים לאתר את פין ה-ISP, אני קורא לו 1.
שתי אופציות:
1. להלחים מחבר לחיבורי הצריבה ולחבר פשוט את הכבל נקבה שמגיע עם הצורב AVR - זה אולי יפריע ל-Case, בכבל ה-ISP שאותר מתחבר במחבר לאיפה שיש משולש קטן מוטבע במחבר
2. לא להלחים ולהשתמש בפינים שמגיעים עם ה-AVR, מגיע כבר של 5, צריך 6, מאלתרים את השישי... פתרון זה יותר מסורבל אבל לא משאיר סימנים בסוף בהתחשב שה-ISP הוא אחד, הנה הסדר:
4 1
5 2
6 3
1- miso ב-AVR
2- sck
3- rst
4- vcc
5- mosi
6- gnd (יש כמה, לא משנה איזה)
פשוט שמים את הפינים בחורים ומחזיקים בזווית, זה עבד לי יופי.
צריך דרייברים ל-AVR שהם ל-usbasp ואני לא זוכר מאיפה השגתי אותם פעם ראשונה
צריך את תכנת הצריבה avrdude שמגיעה עם winavr:
http://sourceforge.net/projects/wina...d?source=files
אחרי התקנה, ניגשים לתיקיית ההתקנה, שם לתקיית bin.
עורכים את קובץ ה-avrdude.conf:
מחפשים: AT90USB162 שנראה כך:
#------------------------------------------------------------
# AT90USB162
#------------------------------------------------------------
משנים תחתיו את:
desc = "atmega32u2";
במקום
desc = "AT90USB162";
את:
size = 32768;
מ:
size = 16384;
ואחרון:
num_pages = 256;
במקום
num_pages = 128;
מורידים את הקובץ היחיד שעבד לי בסוף בתחתית הפוסט הזה:
http://www.rcgroups.com/forums/showp...postcount=2498
פותחים את הקובץ HEX מתוך הזיפ לתקיית ה-winavr/bin ,
חשוב!!! מתקנים את שם ה-hex ל-ArduPPM_v2.3.16_with_DFU_Bootloader.hex (יש רווח בשם המקורי)
מוודאים שהAVR מזוהה במחשב כ-USBASP, ומוציאים אותו
דואגים שכלום לא מחובר לחשמל כלשהו (מהמחשב)
מחברים עכשיו את הפינים מה-AVR ללוח
מחברים את לוח ה-APM ל-USB במחשב רגיל.
מחברים את ה-AVR למחשב
שניהם צריכים להיות מחוברים במקביל
צריבה:
מפעילם cmd במחשב, עוברים לתקיית ה-winavr/bin, ומבצעים את הפקודה הבאה:
avrdude -p atmega32u2 -F -P usb -c usbasp -v -U flash:w:ArduPPM_v2.3.16_with_DFU_Bootloader.hex -U efuse:w:0xF4:m -U hfuse:w:0xD9:m -U lfuse:w:0xFF:m -U lock:w:0x0F:m
צריכים לראות אחוזים מתקדמים פעמיים, פעם כתיבה ופעם קריאה לווידוא.
זהו, עכשיו אפשר לבצע את ההוראות בתחילה הפוסט:
טיפ - במהלך הכניסה למצב DFU לצריבה לא מזוהה הדרייבר, ונראה כ-ATMega 2560 DFU, עושים לו update driver מהתיקייה: C:\Program Files (x86)\Atmel\Flip 3.4.7\usb
(אחרי שהתקנו את flip לפי ההוראות)
זהו, פשוט לא?