תוכן עניינים:

כיצד לתכנת AVR (arduino) עם Arduino אחר: 7 שלבים
כיצד לתכנת AVR (arduino) עם Arduino אחר: 7 שלבים

וִידֵאוֹ: כיצד לתכנת AVR (arduino) עם Arduino אחר: 7 שלבים

וִידֵאוֹ: כיצד לתכנת AVR (arduino) עם Arduino אחר: 7 שלבים
וִידֵאוֹ: Octopus Max EZ v1.0 - EZ2208 With Controller fan 2024, דֵצֶמבֶּר
Anonim
כיצד לתכנת AVR (arduino) עם Arduino אחר
כיצד לתכנת AVR (arduino) עם Arduino אחר
כיצד לתכנת AVR (arduino) עם Arduino אחר
כיצד לתכנת AVR (arduino) עם Arduino אחר
כיצד לתכנת AVR (arduino) עם Arduino אחר
כיצד לתכנת AVR (arduino) עם Arduino אחר

הוראות שימוש אלה שימושיות אם:

* יש לך את הארדואינו שלך עם atmega168 וקנית atmega328 בחנות האלקטרוניקה המקומית שלך. אין לו מטען אתחול של arduino * אתה רוצה לעשות פרויקט שאינו משתמש בארדואינו - רק שבב AVR רגיל (כמו USBTinyISP) - יש לך attiny2313/attiny48 וכו 'שאתה רוצה לצרוב עליו קושחה. בדרך כלל יהיה עליך לקבל ספק אינטרנט (במערכת מתכנת) כמו USBTinyISP כדי לתכנת את השבב החדש שלך. לאחר הארדואינו אתה יכול ללמד אותו להיות מתכנת בזכות עבודה נהדרת שעשה רנדל בוהן. הוא יצר Mega -ISP - מערכון של ארדואינו שעובד כמו מתכנת.

שלב 1: מה אתה צריך?

מה אתה צריך ?
מה אתה צריך ?

* Arduino עובד (או שיבוט - אני משתמש ב- BBB - BareBonesBoard ו- RBBB - RealBareBonesBoard על ידי ModernDevices) * שבב שאתה רוצה לתכנת (נבדק עם atmega8, atmega168, atmega368, attiny2313, attiny13) * לוח או לוח עם כותרת ספק אינטרנט * 3 נוריות + 3 נגדים * חוטי לוח

שלב 2: הכנת מתכנת Mega-isp על לוח לחם

הכנת מתכנת Mega-isp על לוח לחם
הכנת מתכנת Mega-isp על לוח לחם
הכנת מתכנת Mega-isp על לוח לחם
הכנת מתכנת Mega-isp על לוח לחם
הכנת מתכנת Mega-isp על לוח לחם
הכנת מתכנת Mega-isp על לוח לחם

ישנן שתי דרכים לחבר את הארדואינו לתכנת שבב.

אתה יכול לחבר את שבב ה- avr שלך ללוח ולחבר 5v ו- GND לפינים המתאימים (בדוק את גליון הנתונים!) + נגד איפוס כדי לאפס ולחבר סיכות ממך arduino לשבב. אלה הם הקווים על Arduino ותפקודם 13 - SCK 12 - MISO 11 - MOSI 10 - RST (אפס) או שאתה יכול ליצור כותרת ISP 2x3pin שתוכל לחבר ללוח המספק אחד (לוח ארדואינו אחר). הסיכה לכותרת ספק האינטרנט נמצאת בתמונה השלישית. ישנם 3 נוריות לציון סטטוס המתכנת. סיכה 9 - לד כחול - פעימות האוזניות של המתכנת. סיכה 8 - לד אדום - מציין סיכה לשגיאה 7 - לד ירוק - מציין שהתכנות מתרחש (הייתי עצלן אז לא התאמתי לצבעים במערך שלי) להלן הציורים שנעשו ב- Fritzing ניתן גם לעשות מגן מסוג MEGA-isp. ירוסלב אוסאדצ'י עיצב את המגן בנשר. אתה יכול לקבל את קבצי הנשר באתר שלו:

שלב 3: העלאת הסקיצה

העלאת הסקיצה
העלאת הסקיצה

הורד את הסקיצה מקוד גוגל mega-isp. (Avrisp.03.zip בזמן הכתיבה). פרק אותו והפעל את arduino ide ופתח avrisp.pde. העלה אותו ללוח הארדואינו שלך. פעימות לב מובילות צריכות להתחיל לפעום.

שלב 4: שימוש עם Avrdude

שימוש עם Avrdude
שימוש עם Avrdude

כדי להשתמש עם avrdude (וכל GUI שמשתמשים בו) עליך לבחור את מתכנת 'avrisp'. קצב הסיביות הבטוח ביותר הוא 19200.

כדי לבדוק את ה- atmega168 החדש שלך משורת הפקודה נסה: $ avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 /dev /USB0 הוא היציאה ש- arduino מחובר לתיבת לינוקס שלי (שלך עשוי להיות com5). ניתן לבדוק זאת ב- arduino IDE בכלי -> יציאה טורית. אתה צריך לקבל: [kabturek@hal -9000 ~]# avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 avrdude: מכשיר AVR מאתחל ומוכן לקבל הוראות קריאה | ################################################## | 100% 0.13s avrdude: חתימת מכשיר = 0x1e9406 avrdude: safemode: נתיכים בסדר avrdude נעשה. תודה. זה אומר שהכל בסדר. אם אתה מקבל שגיאות - בדוק את השלב האחרון.

שלב 5: צריבת קושחת USBtinyISP ל- Attiny2313

צריבת קושחת USBtinyISP ל- Attiny2313
צריבת קושחת USBtinyISP ל- Attiny2313
צריבת קושחת USBtinyISP ל- Attiny2313
צריבת קושחת USBtinyISP ל- Attiny2313
צריבת קושחת USBtinyISP ל- Attiny2313
צריבת קושחת USBtinyISP ל- Attiny2313

ה- USBTinyISP הוא מתכנת נהדר מ- LadyAda שזה ממש זול - 22 $. היה לי attiny2313 חלקי וכמה חלקים אז החלטתי להכין כזה בעצמי. אם אין לך ניסיון בייצור PCB, אני ממליץ לך לקנות את הערכה כי היא איכותית יותר מכפי שאתה יכול להכין בעצמך:). לפחות קנה את הלוח אם אתה רוצה לבנות אחד. אתה יכול להשיג אותו מ- Adafruit. חבר את ATtiny2313 בתמונה האחרונה אתה יכול לראות את attiny2313 עם הסיכות המשמשות את ספק האינטרנט באדום. התמונה היא מתוך הדרכת LadyAda avr. צריבת הקושחה: פרק את קושחת ה- USBTinyISP. עבור אל spi dir והפעל $ avrdude -p pt2313 -P /dev /ttyUSB0 -c avrisp -b 19200 כדי לבדוק אם הכל תקין עם השבב. עכשיו הגדר את הנתיכים: $ avrdude -P /dev /ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse: w: 0xdf: m -U lfuse: w: 0xef: m עכשיו עליך לחבר את המתנד החיצוני של 12mhz לשבב. ושרוף את הקושחה: $ avrdude -B 1 -pt2313 -U flash: w: main.hex -P /dev /ttyUSB0 -c avrisp -b 19200 Voila. ל- attiny2313 שלך יש את הקושחה USBTinyISP.

שלב 6: שריפת מטען האתחול של Arduino

שריפת מטען האתחול של Arduino
שריפת מטען האתחול של Arduino
שריפת מטען האתחול של Arduino
שריפת מטען האתחול של Arduino
שריפת מטען האתחול של Arduino
שריפת מטען האתחול של Arduino

התחברתי קצת בגדתי בגלל שהשתמשתי ב- RBBB כדי לפשט את החיבורים. הסכימה מופיעה בתמונה מספר 2. אם אתה משתמש בשני ארדואינים השתמש בתמונה מס '3 וחבר את סיכת ספק האינטרנט לכותרת ICSP 2x3 על הארדואינו השני (עבד). רק חבר את כוח ה- USB ללוח הראשון. דרך GUI זוהי סיבה קצת בעייתית שאי אפשר פשוט להשתמש בכלי-> צריבת אתחול-> w/ AVR ISP כי מהירות ברירת המחדל גדולה מדי עבור מגה-ISP. מצא את avrdude.conf שמגיע עם arduino IDE (ב- arduino/hardware/tools/avrdude.conf) ושנה את הגבול עבור מתכנת avrisp מ- 115200 ל- 19200 (סביב קו 312) מצא ושנה ב- avrdude.conf מתכנת id = "avrisp"; desc = "Atmel AVR ISP ISP"; baudrate = 115200; ברירת המחדל היא 115200 type = stk500;; אל: מתכנת id = "avrisp"; desc = "ספקית AVR AVML"; baudrate = 19200; ברירת המחדל היא 115200 type = stk500;; עכשיו אתה יכול להשתמש ב- Tools -> Burn Bootloader -> w/AVR ISP (לאחר שבחרת את הלוח הנכון מתפריט הכלים) Commanline תוכל גם להשתמש בשורת הפקודה: ערוך arduino/hardware/bootloaders/atmega/Makefile ושנה ISPTOOL/PORT /SPEED ל: # הזן את הפרמטרים של הכלי ISP avrdude ISPTOOL = avrisp ISPPORT = /dev /ttyUSB0 ISPSPEED = -b 19200 לא אתה יכול לכתוב $ make diecimila_isp כדי לשרוף נתיכים ואת מטען האתחול. טסט עכשיו חבר אותך arduino חדש ל- usb ו- לשרוף את המהבהב!

שלב 7: פתרון בעיות

פתרון תקלות
פתרון תקלות

שגיאות Avrdude: avrdude: ser_open (): לא מצליח לפתוח את המכשיר "/dev/ttyUSB0": אין קובץ או ספרייה כאלו יש לך יציאה (-P) שגויה או שהארדואינו שלך אינו מחובר. בדוק את החיבור avrdude: חתימת התקן = 0x000000 avrdude: איכס! חתימת מכשיר לא חוקית. בדוק שוב את החיבורים ונסה שוב, או השתמש ב- -F כדי לעקוף את הסימון הזה. זו סוג של טעות כללית. השבב שלך לא מזוהה. בדוק את החיבור על הלוח (GND/5V מחובר לסיכות?) תקבל שגיאה זו כאשר השבב שלך מוגדר להשתמש במתנד חיצוני והוא אינו פועל (אין כזה או שהוא אינו מתנדנד כראוי - 22pf כובעים חסר?)

מוּמלָץ: