Სარჩევი:

როგორ დავგეგმოთ AVR (arduino) სხვა Arduino– ით: 7 ნაბიჯი
როგორ დავგეგმოთ AVR (arduino) სხვა Arduino– ით: 7 ნაბიჯი

ვიდეო: როგორ დავგეგმოთ AVR (arduino) სხვა Arduino– ით: 7 ნაბიჯი

ვიდეო: როგორ დავგეგმოთ AVR (arduino) სხვა Arduino– ით: 7 ნაბიჯი
ვიდეო: LDmicro 11: Serial LCD Temperature Controller (Microcontroller PLC Ladder Programming with LDmicro) 2024, ნოემბერი
Anonim
როგორ დავპროგრამოთ AVR (arduino) სხვა არდუინოსთან ერთად
როგორ დავპროგრამოთ AVR (arduino) სხვა არდუინოსთან ერთად
როგორ დავპროგრამოთ AVR (arduino) სხვა არდუინოსთან ერთად
როგორ დავპროგრამოთ AVR (arduino) სხვა არდუინოსთან ერთად
როგორ დავპროგრამოთ AVR (arduino) სხვა არდუინოსთან ერთად
როგორ დავპროგრამოთ AVR (arduino) სხვა არდუინოსთან ერთად

ეს ინსტრუქციები სასარგებლოა, თუ:

* თქვენ მიიღეთ თქვენი arduino atmega168– ით და იყიდეთ atmega328 ელექტრონული ტექნიკის ადგილობრივ მაღაზიაში. მას არ აქვს arduino ჩამტვირთავი * გსურთ გააკეთოთ პროექტი, რომელიც არ იყენებს arduino– ს - ჩვეულებრივი AVR ჩიპი (USBTinyISP– ის მსგავსად) - თქვენ გაქვთ სუფთა attiny2313/attiny48 და ა.შ., რომელზეც გსურთ firmware– ის დაწვა. ჩვეულებრივ, თქვენ უნდა გქონდეთ ISP (სისტემის პროგრამისტი), როგორიცაა USBTinyISP, თქვენი ახალი ჩიპის დასაპროგრამებლად. არდუინოს მქონე თქვენ შეგიძლიათ ასწავლოთ მას იყოს პროგრამისტი რენდალ ბონის მიერ შესრულებული დიდი სამუშაოს წყალობით. მან შექმნა მეგა -ISP - არდუინოს ესკიზი, რომელიც მუშაობს როგორც პროგრამისტი.

ნაბიჯი 1: რა გჭირდებათ?

Რა გჭირდება ?
Რა გჭირდება ?

* სამუშაო Arduino (ან კლონი - მე ვიყენებ BBB - BareBonesBoard და RBBB - RealBareBonesBoard by ModernDevices) * ჩიპი, რომლის დაპროგრამებაც გსურთ (ტესტირებულია atmega8, atmega168, atmega368, attiny2313, attiny13) * პურის დაფა ან დაფა ISP სათაურით * 3 leds + 3 რეზისტორი * breadboard მავთულები

ნაბიჯი 2: მეგა-ისპ პროგრამისტის დამზადება პურის დაფაზე

მეგა-ისპ პროგრამისტის დამზადება პურის დაფაზე
მეგა-ისპ პროგრამისტის დამზადება პურის დაფაზე
მეგა-ისპ პროგრამისტის დამზადება პურის დაფაზე
მეგა-ისპ პროგრამისტის დამზადება პურის დაფაზე
მეგა-ისპ პროგრამისტის დამზადება პურის დაფაზე
მეგა-ისპ პროგრამისტის დამზადება პურის დაფაზე

თქვენი Arduino– ს ჩიპის პროგრამირების დასაკავშირებლად ორი გზა არსებობს.

თქვენ შეგიძლიათ შეაერთოთ თქვენი avr ჩიპი პურის დაფაზე და დააკავშიროთ 5v და GND შესაბამის ქინძისთავებთან (შეამოწმეთ მონაცემთა ფურცელი!) + გამყვანი რეზისტორი გადატვირთვისთვის და თქვენგან არდუინოს ჩიპს. ეს არის ხაზები Arduino– ზე და მათი ფუნქცია 13 - SCK 12 - MISO 11 - MOSI 10 - RST (გადატვირთვა) ან შეგიძლიათ გააკეთოთ 2x3pin ISP სათაური, რომელიც შეგიძლიათ შეაერთოთ დაფაზე, რომელიც უზრუნველყოფს ერთს (მეორე arduino დაფა). პროვაიდერის სათაურის პინოტირება მესამე სურათზეა. პროგრამისტის სტატუსის მითითებისათვის არის 3 led. pin 9 - ლურჯი led - ეს არის პროგრამისტის სმენისცემა. pin 8 - წითელი led - მიუთითებს შეცდომაზე pin 7 - მწვანე led - მიუთითებს იმაზე, რომ ხდება პროგრამირება (მე ვიყავი ზარმაცი, ასე რომ მე არ შევარჩიე ფერები ჩემს კონფიგურაციაში) აქ არის ნახატები, რომლებიც დამზადებულია ფრიზინგში, ასევე შეგიძლიათ გააკეთოთ MEGA-isp ფარი. იაროსლავ ოსადჩიმ შექმნა ფარი არწივში. თქვენ შეგიძლიათ მიიღოთ არწივის ფაილები მის საიტზე:

ნაბიჯი 3: ესკიზის ატვირთვა

ესკიზის ატვირთვა
ესკიზის ატვირთვა

ჩამოტვირთეთ ესკიზი მეგა-ისპ google კოდიდან. (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 არის პორტი, რომელიც არდუინოს უკავშირდება ჩემს linux ყუთთან (თქვენი შეიძლება იყოს com5). ამის შემოწმება შესაძლებელია arduino IDE– ში Tools -> Serial Port. თქვენ უნდა მიიღოთ: [kabturek@hal -9000]# avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 avrdude: AVR მოწყობილობა ინიციალიზებული და მზად არის მიიღოს ინსტრუქციები კითხვა | #################################################### | 100% 0.13s avrdude: მოწყობილობის ხელმოწერა = 0x1e9406 avrdude: safemode: Fuses OK avrdude done. Გმადლობთ. ეს ნიშნავს, რომ ყველაფერი კარგადაა. შეცდომების შემთხვევაში - შეამოწმეთ ბოლო ნაბიჯი.

ნაბიჯი 5: USBtinyISP Firmware- ის დაწვა Attiny2313

USBtinyISP Firmware იწვის Attiny2313
USBtinyISP Firmware იწვის Attiny2313
USBtinyISP Firmware იწვის Attiny2313
USBtinyISP Firmware იწვის Attiny2313
USBtinyISP Firmware იწვის Attiny2313
USBtinyISP Firmware იწვის Attiny2313

USBTinyISP არის LadyAda– ს შესანიშნავი პროგრამისტი, რომელიც მართლაც იაფია - 22 $. მე მქონდა სათადარიგო attiny2313 და ზოგიერთი ნაწილი, ასე რომ გადავწყვიტე ამის გაკეთება მე თვითონ. თუ თქვენ არ გაქვთ გამოცდილება PCB– ში, გირჩევთ შეიძინოთ ნაკრები, რადგან ის უფრო მაღალი ხარისხისაა, ვიდრე თქვენ თვითონ შეძლებთ:). მინიმუმ იყიდეთ PCB, თუ გსურთ მისი აშენება. მისი მიღება შეგიძლიათ ადაფრუტიდან. შეაერთეთ ATtiny2313 ბოლო სურათზე თქვენ შეგიძლიათ ნახოთ attiny2313, რომელზეც ISP გამოიყენება წითელი. სურათი არის LadyAda avr სამეურვეოდან. Firmware- ის დაწვა: გახსენით USBTinyISP firmware. გადადით 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 ახლა თქვენ უნდა მიამაგროთ 12 მჰც გარე ოსცილატორი ჩიპზე რა და დაწვით firmware: $ avrdude -B 1 -pt2313 -U flash: w: main.hex -P /dev /ttyUSB0 -c avrisp -b 19200 Voila. თქვენს attiny2313– ს აქვს USBTinyISP პროგრამული უზრუნველყოფა.

ნაბიჯი 6: არდუინოს ჩამტვირთველის დაწვა

არდუინოს ჩამტვირთველის დაწვა
არდუინოს ჩამტვირთველის დაწვა
არდუინოს ჩამტვირთველის დაწვა
არდუინოს ჩამტვირთველის დაწვა
არდუინოს ჩამტვირთველის დაწვა
არდუინოს ჩამტვირთველის დაწვა

ცოტა მოვიტყუე, რადგან RBBB გამოვიყენე კავშირების გასამარტივებლად. სქემა მოცემულია სურათზე #2. თუ იყენებთ 2 არდუინოს, გამოიყენეთ სურათი #3 და დააკავშირეთ ISP პინი ICSP 2x3header მეორე (მონა) arduino– ზე. მხოლოდ USB დაფის დაკავშირება პირველ დაფაზე. GUI გზა ეს არის ცოტა სახიფათო მიზეზი, რადგან თქვენ არ შეგიძლიათ უბრალოდ გამოიყენოთ Tools-> Burn Bootloader-> wr/ AVR ISP, რადგან ნაგულისხმევი სიჩქარე ძალიან დიდია მეგა-ისპისთვის. იპოვეთ avrdude.conf, რომელსაც გააჩნია arduino IDE (arduino/ტექნიკა/ინსტრუმენტები/avrdude.conf) და შეცვალეთ avrisp პროგრამისტის საზღვარი 115200 წლიდან 19200 წლამდე (312 სტრიქონის გარშემო) იპოვეთ და შეცვალეთ avrdude.conf პროგრამისტი id = "avrisp"; desc = "Atmel AVR ISP"; ბაუტრატი = 115200; # ნაგულისხმევია 115200 ტიპი = stk500;; to: პროგრამისტი id = "avrisp"; desc = "Atmel AVR ISP"; ბაუდრატი = 19200; # ნაგულისხმევია 115200 ტიპი = stk500;; ახლა თქვენ შეგიძლიათ გამოიყენოთ Tools -> Burn Bootloader -> w/AVR ISP (მას შემდეგ რაც შეარჩიეთ შესაბამისი დაფა Tools მენიუდან) Commanline ასევე შეგიძლიათ გამოიყენოთ ბრძანების ხაზი: შეცვალეთ arduino/hardware/bootloaders/atmega/Makefile და შეცვალეთ ISPTOOL/PORT /SPEED to: # შეიყვანეთ პარამეტრები avrdude isp ინსტრუმენტისთვის ISPTOOL = avrisp ISPPORT = /dev /ttyUSB0 ISPSPEED = -b 19200 არა დაწვა მოციმციმე!

ნაბიჯი 7: პრობლემების მოგვარება

Დიაგნოსტიკა
Დიაგნოსტიკა

Avrdude შეცდომები: avrdude: ser_open (): მოწყობილობის გახსნა შეუძლებელია "/dev/ttyUSB0": ასეთი ფაილი ან დირექტორია თქვენ გაქვთ არასწორი პორტი (-P) მითითებული ან თქვენი arduino არ არის დაკავშირებული. შეამოწმეთ კავშირი avrdude: მოწყობილობის ხელმოწერა = 0x000000 avrdude: დიახ! მოწყობილობის არასწორი ხელმოწერა. ორმაგად შეამოწმეთ კავშირები და სცადეთ ხელახლა, ან გამოიყენეთ -F ამ შემოწმების გასაუქმებლად. ეს არის ერთგვარი ზოგადი შეცდომა. თქვენი ჩიპი არ არის აღიარებული. შეამოწმეთ კავშირი დაფაზე (GND/5V დაკავშირებულია ქინძისთავებთან?) თქვენ მიიღებთ ამ შეცდომას, როდესაც თქვენი ჩიპი კონფიგურირებულია გამოიყენოს გარე ოსცილატორი და ის არ მუშაობს (არ არსებობს ერთი ან არ იცვლება სწორად - 22pf ქუდები დაკარგული?)

გირჩევთ: