Sadržaj:

Kako koristiti Dragon Rider 500 sa svojim AVR Dragon -om: 10 koraka
Kako koristiti Dragon Rider 500 sa svojim AVR Dragon -om: 10 koraka

Video: Kako koristiti Dragon Rider 500 sa svojim AVR Dragon -om: 10 koraka

Video: Kako koristiti Dragon Rider 500 sa svojim AVR Dragon -om: 10 koraka
Video: Жареный карась без костей, 3 способа рассказала моя бабушка 2024, Novembar
Anonim
Kako koristiti Dragon Rider 500 sa svojim AVR Dragon -om
Kako koristiti Dragon Rider 500 sa svojim AVR Dragon -om

Ovo uputstvo je kratak kurs o tome kako koristiti neke od funkcija Dragon Rider 500 iz Ecros Technologies. Imajte na umu da na web stranici Ecros postoji vrlo detaljan Korisnički priručnik.

Dragon Rider je ploča za sučelje za upotrebu s programatorom AVR mikrokontrolera koju Atmel naziva AVR Dragon. Za više informacija: Atmelova web stranica: https://www.atmel.com/ AVR Dragon veza: https://www.atmel.com/dyn/products/tools_card.asp? Tool_id = 3891 Dragon Rider 500 by Ecros Technology: https://www.ecrostech.com/AtmelAvr/DragonRider/index.htm Montaža Dragon Rider 500 Montaža: https://www.instructables.com/id/Assembling-the-Dragon-Rider-500-for-use-with- the-A/Saznajte sve o AVR mikrokontrolerima: https://www.avrfreaks.net Ova instrukcija može vremenom rasti, pa provjeravajte s vremena na vrijeme!

Korak 1: AVR Dude

Da biste koristili AVR Dragon za programiranje, potreban vam je neki softver za programiranje. Koristim AVRdude sa Ubuntu operativnim sistemom (linux) i vrlo sam zadovoljan rezultatima. Ovo uputstvo neće se baviti zamršenostima softvera za programiranje. Ako ne znate kako postaviti ili koristiti softver za programiranje, provjerite ovo uputstvo kako biste ubrzali: https://www.instructables.com/id/Getting-started-with-ubuntu-and-the- AVR-dragon/Pretpostavljam da ste, ako ste kupili i sastavili Dragon Rider 500, već znali programirati čip sa AVR Dragon … … nadalje!

Korak 2: ATtiny2313 - Trepćite LED diode

ATtiny2313 - Trepćite LED diode
ATtiny2313 - Trepćite LED diode
ATtiny2313 - Trepćite LED diode
ATtiny2313 - Trepćite LED diode
ATtiny2313 - Trepćite LED diode
ATtiny2313 - Trepćite LED diode

Programirajmo ATtiny2313 koji je 20-pinski mikrokontroler. Dragon Rider 500 ima utičnice za nekoliko AVR mikrokontrolera različitih veličina. To uključuje: 8, 20, 28 i 40 -polne utičnice. Ovisno o utičnici koju koristite, skakači na ploči Dragon Rider moraju biti različito postavljeni.

Postavke kratkospojnika

Postavite kratkospojnike na Dragon Rider -u tako da šantovi povežu sljedeće pinove. (pin4 je središnji pin za J22 -J -24) Igle: J5 - 23J6 - 23J7 - 12J16 - 23J22 - 41J23 - 41J24 - 41Ovo je osnovno podešavanje koje omogućava ISP (u sistemskom programiranju).

Blinky Blinky

Programiranje ne pomaže ako nemate šta da programirate. Napisao sam vrlo kratak primjer koda za treperenje LED -a Dragon Rider -a jednu po jednu. Upotrijebite vrpčasti kabel za spajanje LED zaglavlja (J29) na PortB zaglavlje (J2).

Programiranje

Uključio sam C datoteku, kao i makefile i hex datoteku. Kao što sam spomenuo u uvodu, ne mogu pokriti softversku stranu programiranja u Instructable. Program kao i vi za AVR Dragon, jer Dragon Rider uopće ne mijenja softversku stranu stvari.

Korak 3: Upotreba LCD dodatka

Korištenje LCD dodatka
Korištenje LCD dodatka

Evo jednostavnog načina korištenja LCD dodatka. Ovo će napisati "Dragon Rider" na LCD ekranu.

Hardver:

  • ATtiny2313
  • R/W kratkospojnik: R/W bi trebao biti spojen na "BIT1" na ploči Dragon Rider -a (vidi objašnjenje u uputama za montažu)
  • J23: Ovaj kratkospojnik mora biti instaliran za programiranje ISP -a, ali ga zatim ukloniti kako bi LCD ispravno funkcionirao.
  • Spojite LCD na PORT B pomoću vrpčnog kabela (J31 do J2)

Softver

Koristim LCD biblioteku Petera Fleuryja za pogon LCD-a u 4-bitnom načinu rada. Za preuzimanje biblioteke posjetite Petrovu početnu stranicu. Morat ćete se uvjeriti da je lcd.c kompajliran s vašim kodom i da napravite sljedeće promjene u lcd.h:

Koristimo interni RC oscilator pa XTAL treba postaviti na 1MHz:

#define XTAL 1000000

  • Postavke porta je potrebno prilagoditi PORTB -u:
  • #define LCD_PORT PORTB

  • Potrebno je prilagoditi ispis za 4 podatkovne linije:
  • #define LCD_DATA0_PIN 4 #define LCD_DATA1_PIN 5 #define LCD_DATA2_PIN 6 #define LCD_DATA3_PIN 7

  • Pinout za RS, RW i E treba prilagoditi:
  • #define LCD_RS_PIN 3 #define LCD_RW_PIN 1 #define LCD_E_PIN 2

    Glavni program je vrlo jednostavan zahvaljujući poslu koji je Peter Fleury obavio u svojoj LCD biblioteci. KOD:

    #include #include "lcd.h" int main (void) {lcd_init (LCD_DISP_ON); // Pokretanje LCD -a s isključenim kursorom lcd_clrscr (); // Brisanje LCD ekrana lcd_gotoxy (5, 0); // Pomaknite kursor na ovu lokaciju lcd_puts ("Dragon"); // Stavite ovaj niz na LCD lcd_gotoxy (6, 1); // Pomaknite kursor na ovu lokaciju lcd_puts ("Rider"); // Stavite ovaj niz na LCD za (;;) {// Ne radite ništa zauvijek (poruka je već prikazana na LCD -u)}}

    Kod u prilogu

    Priloženi kod uključuje LCD biblioteku Petera Fleuryja (lcd.c i lcd.h) s njegovom dozvolom. Hvala ti Petre! Jedina izmjena koju sam napravio je postavljanje odgovarajućih pinova u Defines. Posjetite njegovu web stranicu kako biste preuzeli paket: https://www.jump.to/fleuryUključio sam i makefile koju koristim od Eric B. Weddington i Jorg Wunsch. Poslao sam PM Jorgu preko avrfreaks.net, ali od njega nisam dobio odgovor. Postoji nekoliko promjena u makefileu za prilagođavanje korištenja Linuxa i Dragon -a. Hvala vam obojici, molimo vas da mi kažete koje su vaše želje da podelim vaš rad.

    Korak 4: 28-pinsko programiranje UC ISP-a (ATmega8)

    28-pinsko UC ISP programiranje (ATmega8)
    28-pinsko UC ISP programiranje (ATmega8)
    28-pinsko UC ISP programiranje (ATmega8)
    28-pinsko UC ISP programiranje (ATmega8)

    Sljedeća demonstracija projekta će koristiti ATmega8 koji je 28-pinski avr. Ovdje je osnovni set skakača za ISP programiranje 28-pinskih mikrokontrolera.

    Postavke kratkospojnika

    Postavite kratkospojnike na Dragon Rider -u tako da šantovi povežu sljedeće pinove. (pin4 je središnji pin za J22 -J -24) Igle: J11 - 23J12 - 23J13 - 12J16 - 23J22 - 42J23 - 42J24 - 42

    Tehnički podaci

    • Povezivanje J11 i J12 na ovaj način omogućuje vam da koristite te pinove kao I/O pinove. Alternativa bi bila usmjeravanje ovih pinova radi povezivanja s vanjskim kristalom.
    • Povezivanje J13 na ovaj način omogućuje nam da ga koristimo kao pin za resetiranje. Alternativa bi usmjerila ovaj pin do PORTC zaglavlja za upotrebu kao I/O pin. (ovo bi imalo mnogo nedostataka, uključujući nemogućnost programiranja ovog čipa pomoću ISP -a).
    • J16 i J22-J24 su povezani na ovaj način radi usmjeravanja odgovarajućih pinova (Reset, MISO, MOSI i SCK) do ISP zaglavlja AVR Dragon-a.

    Korak 5: Napredna upotreba LCD -a i dugmadi: Veliki sat

    Napredna upotreba LCD -a i dugmadi: Veliki sat
    Napredna upotreba LCD -a i dugmadi: Veliki sat

    Ovo je zabavan projekt koji koristi LCD ekran i dugmad. Mi ćemo se baviti funkcijama sata u realnom vremenu i prilagođenim znakovima na LCD -u. Na slici pri dnu možete vidjeti vrijeme 19:26:07 prikazano u velikom broju na LCD ekranu. Svaki broj koristi mrežu 2x2 prikaza znakova za prikaz velikog broja. Ovo koristi font koji je originalno napisao Xtinus za XBMC projekat. Tasteri se koriste za podešavanje sata. Lijevo povećava sate, Gore povećava minute, Desno prebacuje između 12 i 24 sata, a Enter poništava sekunde na nulu. Sat ne održava dobro vrijeme jer koristimo vrlo neprecizan unutrašnji oscilator, ali ovaj program se lako može promijeniti tako da koristi mnogo precizniji vanjski kristal. Pogledajte ovo na djelu u videu ispod. Objašnjenje o načinu funkcioniranja ovog koda je u redu, ali trenutno nemam vremena. Za sada spojite LCD zaglavlje (J31) na PORTD (J4), a zaglavlje dugmeta (J30) na PORTB (J2). Uvjerite se da su SW1 i SW2 u isključenom položaju. Spojite AVR Dragon na USB kabel, a drugi kraj kabela priključite u računalo. Uključite SW2 i programirajte ATmega8 sa softverom za programiranje po vašem izboru (šesterokutna datoteka u nastavku; osigurači su izgorjeli na tvorničke postavke). NAPOMENA: Da biste koristili tipke Lijevo i Gore, morat ćete ukloniti šante iz J22 i J24, učinite ovo dok je napajanje isključeno.

    Korak 6: Visokonaponsko programiranje

    Koristio sam paralelno programiranje visokog napona za oživljavanje ATtiny2313 na kojem sam postavio pogrešne postavke osigurača. Trebao mi je drugi put dok sam radio na ovom uputstvu jer sam slučajno napisao postavku lfuse koju sam želio u hfuse register ….. ooops. Paralelno programiranje visokog napona zgodan je alat koji imate na raspolaganju! Ispod su popisi mojih postavki kratkospojnika: KORISTITE NA SVOJ RIZIK, Ova vrsta programiranja može oštetiti vaš hardver ako ne znate šta radite !! Paralelno programiranje visokog napona: ATtiny2313 u utičnici U3: SW1 - OFFSW2 - ONJ5, J6, J7 - spojite pin1 i pin2XTAL1 - spojite pin1 i pin2J16 - Povežite pin1 i pin22x5 IDC kabele: PROG_CTRL na PORT D, PROG_DATA na PORT B J8-J13, J18, J19, J20, J22-J28, J24) Za ostale čipove trebali biste biti u mogućnosti saznati potrebne postavke iz Atmelovog korisničkog vodiča za njihov STK500.

    Korak 7: Proširenje izvan ploče

    Proširenje izvan ploče
    Proširenje izvan ploče

    Smatram da je vrlo jednostavno povezati se s matičnom pločom. Ovo omogućava mnogo više fleksibilnosti u prototipiranju i razvoju koda u isto vrijeme. Ispod ćete vidjeti nekoliko matičnih ploča povezanih s Dragon Rider -om. Priključujem vrpčane kabele na odgovarajuće priključke na jednom kraju. S druge strane, koristim kratkospojnike za spajanje odgovarajućeg ICD vodiča na matične ploče.

    Korak 8: Zaključak

    Postoji još mnogo toga što bi moglo biti uključeno u ovaj Instructable. Baš sam večeras dovršio adapter koji vam omogućuje korištenje 6-pinskog programskog zaglavlja bez uklanjanja zmaja iz Dragon Ridera. Dostavit ću informacije o tome kako sami izgraditi … uskoro. Ako imate još nekih stvari za koje mislite da ih treba dodati, ostavite komentar.

    Korak 9: Dodavanje 6-pinskog ISP-a

    Dodavanje 6-pinskog ISP-a
    Dodavanje 6-pinskog ISP-a
    Dodavanje 6-pinskog ISP-a
    Dodavanje 6-pinskog ISP-a
    Dodavanje 6-pinskog ISP-a
    Dodavanje 6-pinskog ISP-a

    Obično u sve svoje projekte ugradim 6-pinsko zaglavlje ISP-a kako bih mogao reprogramirati čip ako je potrebno i ne moram ga skidati s projektne ploče. Jahač zmajeva nažalost nema dostupno 6-pinsko ISP zaglavlje, ali sam smislio kako to učiniti dostupnim.

    Upozorenje !

    Ovo je hack. Ako ne znate kako ovo funkcionira, nemojte to učiniti

    Upozoreni ste. Napravio sam vlastitu adaptersku ploču i 3-pinski kratkospojnik kako bih opskrbio 6-pinsko isp zaglavlje. Ono što radite je da podesite Dragon Rider na program i 8-pinski mikrokontroler. Koristeći 3-polnu utičnicu preskačem J8 za spajanje pinova 1 i 3. Ovo usmjerava signal sata na PortB konektor. Zatim vodim kratkospojnik sa PortB zaglavlja na moju adaptersku ploču i voila! Ispod su slike…. molim vas, molim vas, molim vas, nemojte to raditi ako zaista ne razumijete šta radite jer biste mogli oštetiti svoj AVR Dragon ili još gore ako učinite ovo pogrešno.

    Pinout: PortB ISP1 42 13 34 NC5 NC6 57 NC8 NC9 610 2

    Korak 10: RSS čitač pomoću serijske veze i LCD -a

    RSS čitač pomoću serijske veze i LCD -a
    RSS čitač pomoću serijske veze i LCD -a
    RSS čitač pomoću serijske veze i LCD -a
    RSS čitač pomoću serijske veze i LCD -a

    Nastavljam se igrati s ovom razvojnom pločom. Ovaj put sam proveo dio popodneva razvijajući RSS čitanje (uglavnom na python strani stvari). Mislim da ne opravdava vlastite instrukcije pa ga dodajem ovdje.

    Hardver

    Koristimo Dragon Rider 500 kao razvojnu ploču. Ovo pruža sav potreban hardver (pod pretpostavkom da imate sve dodatne komplete). S obzirom da to svakako možete učiniti s vlastitim hardverskim postavkama:

    • Mikrokontroler ATmega8 (ili bilo koji koji ima USART i dovoljno pinova za sve veze
    • Način programiranja mikrokontrolera (koristim AVR Dragon)
    • MAX232 čip za serijsku komunikaciju
    • DB9 konektor
    • HD44780 LCD ekran
    • Kristal (koristio sam kristal 8MHz)
    • Različiti kondenzatori i otpornici

    Shema je navedena u nastavku. Na Dragon Rideru ćemo morati upotrijebiti malo kreativnosti za usmjeravanje veza. Obično se port D može spojiti direktno na LCD zaglavlje. Ovdje to nije slučaj jer USART potreban za serijsku vezu koristi PD0 i PD1. Nadalje, port B se ne može koristiti jer se za vanjski kristal koriste PB6 i PB7. Na slici ispod je moje rješenje ovog problema. Priključujem vrpčani kabel na zaglavlja za LCD, port B i port D, a zatim pomoću kratkospojnika vodim prave trase. Ne zaboravite spojiti napon i masu na LCD zaglavlje.

    Softver

    Softver za ovaj projekt dolazi iz dva dijela, firmvera za mikrokontroler i python skripte za struganje RSS izvora i njihovo slanje putem serijske veze. AVR Firmver Ponovo koristim LCD biblioteku Petera Fleuryja (https://jump.to /fleury). Moćan je i sažet, svestran i jednostavan za izmjenu za postavljanje vašeg hardvera. Ako pogledate priloženu datoteku zaglavlja (lcd.h), vidjet ćete da radim u 4-bitnom načinu rada s portom D kao bitovima podataka i portom B kao kontrolnim bitovima. Koncept ovog firmvera je prilično jednostavan:

    • Nakon uključivanja mikrokontroler prikazuje "RSS Reader", a zatim čeka serijske podatke.
    • Svaki primljeni bajt serijskih podataka uzrokuje da se bafer od 16 znakova pomakne ulijevo i doda bajt u međuspremnik, a zatim prikaže bafer.
    • Mikrokontroler prihvata tri posebne komande: 0x00, 0x01 i 0x02. Ovo je jasan ekran, pređite na red 0, odnosno na red 1.

    Python ScryptI napisao je pyton skriptu za struganje RSS podataka i njihovo slanje preko serijske veze. Ovo zahtijeva python modul "pyserial" koji ćete vjerojatno morati instalirati na svoj sistem da bi ovo funkcioniralo. RSS feed se može konfigurirati na vrhu pyton datoteke. Primijetite da morate unijeti naziv sažetka sadržaja kao i URL sažetka sadržaja. Postoje tri primjera, siguran sam da ih možete slijediti za pravilan syntx. Da sve uspije

    • Sastavite hardver
    • Programirajte mikrokontroler (dragon_rss.hex se može koristiti ako ovo ne želite sami sastaviti). Postavke osigurača za ATmega8 pomoću kristala 8 MHz: lfuse = 0xEF hfuse = 0xD9
    • Uključite Dragon Rider i provjerite je li serijski kabel uključen (LCD bi trebao glasiti: "RSS čitač")
    • Izvršite program python (python serial_rss.py)
    • Uživajte

    Preporučuje se: