Բովանդակություն:

Atmega16/32 զարգացման տախտակ LCD- ով `8 քայլ
Atmega16/32 զարգացման տախտակ LCD- ով `8 քայլ

Video: Atmega16/32 զարգացման տախտակ LCD- ով `8 քայլ

Video: Atmega16/32 զարգացման տախտակ LCD- ով `8 քայլ
Video: M#2: Atmega128 Development Board Pin Mapping | Outseal Dev. PLC Mega 2024, Հուլիսի
Anonim
Atmega16/32 զարգացման տախտակ LCD- ով
Atmega16/32 զարգացման տախտակ LCD- ով
Atmega16/32 զարգացման տախտակ LCD- ով
Atmega16/32 զարգացման տախտակ LCD- ով
Atmega16/32 զարգացման տախտակ LCD- ով
Atmega16/32 զարգացման տախտակ LCD- ով

Այս ուսանելի ծրագիրը ցույց է տալիս, թե ինչպես անել ձեր սեփական զարգացման խորհուրդը Atmega16 կամ Atmega32 պրոցեսորների համար: Ինտերնետը լի է տնային մշակման տախտակներով, բայց ես կարծում եմ, որ մեկ ուրիշի համար տեղ է մնացել: Այս տախտակը շատ օգտակար եղավ իմ նախագծերի վրա, և ես իրականում նախագծեցի և պատրաստեցի այն ծառայել իմ նախագծերից մեկին: Ի՞նչ է այն առաջարկում:- ISP- միակցիչ:- Կարգավորելի հղման լարումը AREF- ի համար հարմարվողական սարքով:- 8 լուսարձակներ միացրեցին PORTA- ն շարժական թռիչքներով, այնպես որ կարող եք օգտագործել լուսարձակներ նաև այլ նավահանգիստների հետ: (մասեր հիմնական տախտակի համար)- 1x Atmega16 կամ Atmega32 պրոցեսոր- 1x բյուրեղ (ձեր ընտրությամբ `քանի ՄՀց կլինի)- 2x 27 pF կոնդենսատորներ բյուրեղի համար- 1x7805 լարման կարգավորիչ- 1x 47uF 16V կոնդենսատոր- 3x 100nF կոնդենսատոր- 1x DC-jack 2, 1mm կամ 2, 5mm (ինչ ուզում եք օգտագործեք)- 1x 1K պոտենցիոմետր- 8x led (ցանկացած գույն)- 8x 330 Օմ դիմադրողներ- շատ հասկ ձողեր Մասեր rs232 մոդուլի համար- Max232 IC- 4x 0, 1uF կոնդենսատորներ - 2x led (կանաչ և կարմիր)- 2x 330 Օմ դիմադրություններ- Spike bar- D9- միակցիչ

Քայլ 1. Տախտակներ

Շրջանակային վահանակներ
Շրջանակային վահանակներ
Տախտակներ
Տախտակներ

Երկու տախտակներից կան սխեմաներ, և pdf ֆայլը պարունակում է այս տախտակներից տպված ֆայլեր: Այս նկարներից կարող եք փորագրել ձեր տախտակները: Zip ֆայլը պարունակում է այս տախտակներից Eagle- ի բոլոր ֆայլերը: Ազատորեն փոփոխեք դրանք, ինչպես ցանկանում եք:

Քայլ 2. Փորագրություն կամ ֆրեզերացում

Փորագրություն կամ ֆրեզերացում
Փորագրություն կամ ֆրեզերացում
Փորագրություն կամ ֆրեզերացում
Փորագրություն կամ ֆրեզերացում

Այս տախտակները պատրաստելու երկու եղանակ կա ՝ փորագրություն կամ ֆրեզեր: Ես քիմիկոս չեմ, ուստի օգտագործեցի վերջին տարբերակը: Ես պատրաստել եմ իմ գործարանը այս հիանալի հրահանգներից, այնպես որ, եթե ինչ-որ մեկը ունի նաև nc-mill և ցանկանում է այն օգտագործել այս տախտակները պատրաստելու համար, պարզապես ինձ տեղյակ պահեք, և ես կուղարկեմ G- կոդերը:

Քայլ 3: Sոդում

Oldոդման
Oldոդման
Oldոդման
Oldոդման

Ստորև բերված նկարը ցույց կտա բաղադրիչի անվանումը և այն, որտեղ այն պետք է լինի նավի վրա:

Քայլ 4: Փորձարկում

Փորձարկում
Փորձարկում

Նախքան մեր զարգացման տախտակի փորձարկումը, մենք պետք է ունենանք AVR- ծրագրավորողի մալուխ: Ահա լավ ուսանելի է ծրագրավորման մալուխի մասին: Մեզ պետք է ընդամենը 6 լար: SCK, MISO, MOSI, RST, Ground և +5V, և այդ պատճառով իմ միակցիչն ունի ընդամենը 6 կապում: SCK, MISO, MOSI և RST ազդանշաններին անհրաժեշտ են 390 Օմ ռեզիստորներ, որոնք սովորաբար կպցվում են ինքնաթիռի վրա, բայց ես ուզում էի որոշ տարածք խնայել տախտակից, և այդ պատճառով էլ ռեզիստորները գտնվում են մալուխի ներսում: Առանց այս դիմադրիչների ծրագրավորումը չի աշխատի: Մենք նաև պետք է մալուխ անենք rs232 մոդուլի և հիմնական տախտակի միջև: Նկարի վրա կան նաև մի քանի «փորձարկման լարեր», որոնք իսկապես օգտակար են, երբ պատրաստվում ենք փորձարկել մեր տախտակը:

Քայլ 5. mingրագրավորում և պարզ թեստային ծրագիր

Programրագրավորում և պարզ թեստային ծրագիր
Programրագրավորում և պարզ թեստային ծրագիր

Հաջորդը մենք պետք է ունենանք որոշ «թեստային» ծրագրեր `մեր տախտակը փորձարկելու համար: ԿԱՐԵՎՈՐ! Մենք պետք է անջատենք JTAG- ը PORTC- ից, եթե դա չանենք, lcd- մոդուլը չի աշխատի, ուստի անհրաժեշտ է: Linux- ում աշխատող մենք կարող ենք դա անել avrdude հրամանով. Avrdude -p m16 -c stk200 -U lfuse: w: 0xe4: m -U hfuse: w: 0xd9: m Այս հրամանը անջատում է JTAG- ը և կարգավորում և օգտագործում է 8 ՄՀց ներքին տատանում: Մեր տախտակն ունի արտաքին բյուրեղ, բայց մարդիկ օգտագործում են տարբեր չափերի բյուրեղներ, ուստի այս հրամանը անվտանգ է բոլորի համար: Եթե ցանկանում եք օգտագործել ձեր արտաքին բյուրեղը, այստեղ տեղադրեք ճիշտ ապահովիչներ հաշվարկելու կայքը: Carefulգույշ եղեք ապահովիչների ծրագրավորման հարցում: Եթե դուք ապահովիչների սխալ արժեքներ եք սահմանում, ձեր պրոցեսորը չի գործի: Կա արտաքին զարկերակով այն վերականգնելու միջոց, բայց հուսանք, որ դա պետք չէ անել =) Պարզ փորձարկման ծրագիր. #Include (avr/io.h) int main (void) {DDRA = 0xff; // սահմանել նավահանգիստը որպես ելք DDRB = 0xff; DDRC = 0xff; DDRD = 0xff; PORTA = 0x00; // անջատել բոլոր քաշքշուկները PORTB = 0x00; PORTC = 0x00; PORTD = 0x00;} isամանակն է միացնել տախտակը և ուղարկել այս փոքրիկ թեստային ծրագիրը winavr- ով կամ այն, ինչ ցանկանում եք օգտագործել: Այժմ մենք կարող ենք դա ստուգել մեր նավահանգիստները ճիշտ են աշխատում: Տեղադրեք մի ծայրը մետաղալարից մինչև լուսադիոդի ծայրը և մյուս ծայրով դիպչեք յուրաքանչյուր նավահանգստին քայլ առ քայլ: Առաջատարը պետք է ամեն անգամ փայլի: Եթե այն չի փայլում, ապա ինչ -որ բան այն չէ, ինչ կապված է զոդման հետ: Հիշեք նաև թեստը, որ յուրաքանչյուր led աշխատում է:

Քայլ 6: Սերիական նավահանգստի փորձարկում

Սերիական նավահանգստի փորձարկում
Սերիական նավահանգստի փորձարկում
Սերիական նավահանգստի փորձարկում
Սերիական նավահանգստի փորձարկում

Եթե ամեն ինչ կատարյալ է աշխատել, ապա ժամանակն է փորձարկել մեր rs232 մոդուլը: Կա մի փոքրիկ ծրագիր, որը ստուգում է, որ մեր TX և RX- ն աշխատում են: Օգտագործում Linux- ում. Ստեղծեք Makefile անունով ֆայլ և պատճենեք տեքստը ֆայլում: Makefile ծածկագիրը ենթադրում է, որ դուք օգտագործում եք Atmega16, և ձեր ծրագրավորման մալուխը stk200 է: Հիշեք ձեր սերիական նավահանգիստ/dev/ttyS0CC =/usr/bin/avr -gccCFLAGS = -g -Os -Wall -mcall -prologues -mmcu = atmega16 -std = gnu99OBJ2HEX =/usr/bin/avr -objcopy AVRDUDE =/usr/bin /avrdude: $ (ՆՊԱՏԱԿ). hex $ (AVRDUDE) -p m16 -P /dev /parport0 -c stk200 -u -U flash: w: test.hex %.obj: %.o $ (CC) $ (CFLAGS) $ <-o $@%.hex: %.obj $ (OBJ2HEX) -R.eeprom -O ihex $ <$@clean: rm -f *.hex *.obj *.o Ներբեռնեք atteched ֆայլը serial.c և դրեք այն նույն պանակում, որտեղ գտնվում է Makefile- ը: Միացրեք զարգացման տախտակը և տեղադրեք մալուխը rs232 մոդուլի և հիմնական տախտակի միջև: Մոդուլի լուսարձակները պետք է այժմ լուսավորվեն: Փորձնական մետաղալարերը տեղադրեք PA0 կապի և մի քանի led կապի միջև: Օգտագործեք ձեր տերմինալը և գնացեք այն թղթապանակը, որտեղ գտնվում է test.c- ն և Makefile- ը: Միացրեք ISP- ծրագրավորողը տախտակին: Այժմ ժամանակն է ուղարկել մեր կոդը պրոցեսորին, և դա տեղի է ունենում տերմինալային հրամանով. Կատարել ներբեռնել ծրագրային ապահովում, որը կոչվում է GTKterm (Սերիայի նավահանգստի տերմինալ): Ֆեդերա. 8 տվյալների բիթ, 1 կանգառի բիթ, ոչ մի պարիտետ, ոչ մի արտահոսք: Եթե ամեն ինչ աշխատում է, ապա պետք է գրվի «աշխատում է»: GTKterm էկրանին, երբ սեղմում եք «z» կոճակը և երբ սեղմում եք «x» կոճակը, տախտակը պետք է միանա, իսկ երբ «c» սեղմեք, այն պետք է անջատվի:

Քայլ 7: LCD- մոդուլի փորձարկում

LCD- մոդուլի փորձարկում
LCD- մոդուլի փորձարկում
LCD- մոդուլի փորձարկում
LCD- մոդուլի փորձարկում

Այժմ ժամանակն է փորձարկել մեր LCD մոդուլը: Ես կցեցի հիանալի ծրագրակազմ ՝ LCD էկրանը վերահսկելու համար: Ես ներբեռնեցի ծածկագիրը Scienceprog.com- ից և այն փոքր -ինչ փոփոխեցի: Programրագրեք այս կոդով պրոցեսորը և միացրեք ձեր LCD մոդուլը ինքնաթիռում: LCD- մոդուլի կապի կապեր. 1 = VSS (Ground) 2 = VDD (5V) 3 = VO (Ground) 4 = RS5 = R/W6 = E11 = PC412 = PC513 = PC614 = PC7 Իմ lcd- մոդուլը պարունակում է 2 միակցիչ (տես նկարը), քանի որ տեքստը ներքև է բարձրանում, եթե մոդուլը դնում եք այնպես, ինչպես պետք է: Ես հայելակերպեցի և նոր միակցիչ սոսնձեցի մյուս կողմում: Այժմ այն աշխատում է երկու եղանակով:

Քայլ 8: Որոշ տեսանյութեր

Dimmer արագացուցիչներ

Խորհուրդ ենք տալիս: