Mga kagiliw-giliw na proyekto sa mga microcontroller. Frequency converter para sa asynchronous na motor sa AVR

Ipinakita ko ang pangalawang bersyon ng two-channel cyclic timer. Ang mga bagong function ay naidagdag at ang circuit diagram ay nagbago. Binibigyang-daan ka ng cyclic timer na i-on at i-off ang load, pati na rin ang pag-pause para sa mga tinukoy na agwat ng oras sa cyclic mode. Ang bawat isa sa mga output ng timer ay may 2 operating mode - "Logical" at "PWM". Kung napili ang lohikal na mode, pinapayagan ka ng device na kontrolin ang pag-iilaw, pag-init, bentilasyon at iba pang mga electrical appliances gamit ang mga contact ng relay. Ang pag-load ay maaaring anumang mga de-koryenteng aparato na ang lakas ng pagkarga ay hindi lalampas sa pinakamataas na kasalukuyang relay. Ang uri ng output na "PWM" ay nagbibigay-daan, halimbawa, upang ikonekta ang isang DC motor sa pamamagitan ng isang power transistor, habang posible na itakda ang PWM duty cycle upang ang motor ay umiikot sa isang tiyak na bilis.

Ang orasan, na binuo sa isang ATtiny2313 microcontroller at LED matrix, ay nagpapakita ng oras sa 6 na magkakaibang mga mode.

Ang 8*8 LED matrix ay kinokontrol ng multiplexing method. Ang mga kasalukuyang naglilimita sa mga resistor ay tinanggal mula sa circuit upang maiwasan ang pagkasira ng disenyo, at dahil ang mga indibidwal na LED ay hindi palaging hinihimok, hindi sila masisira.

Mayroon lamang isang pindutan para sa kontrol, isang mahabang pagpindot sa pindutan (pindutin nang matagal) upang paikutin ang menu at isang normal na pagpindot sa pindutan upang piliin ang menu.

Ito ay isang libangan na proyekto, kaya ang katumpakan ng orasan ay nakasalalay lamang sa pagkakalibrate ng panloob na oscillator ng controller. Hindi ako gumamit ng kristal sa proyektong ito dahil kukuha ito ng dalawa sa ATtiny2313 pin na kailangan ko. Maaaring gamitin ang kuwarts upang mapabuti ang katumpakan sa isang alternatibong (PCB) na disenyo.

Frequency counter hanggang 500MHz sa Attiny48 at MB501

Sa pagkakataong ito ay magpapakita ako ng simple, maliit na sukat na frequency meter na may sukat na saklaw na 1 hanggang 500 MHz at isang resolusyon na 100 Hz.

Sa ngayon, anuman ang tagagawa, halos lahat ng mga microcontroller ay may tinatawag na mga input ng pagbibilang, na partikular na idinisenyo para sa pagbibilang ng mga panlabas na pulso. Gamit ang input na ito, medyo madaling magdisenyo ng frequency counter.

Gayunpaman, ang counter input na ito ay mayroon ding dalawang katangian na pumipigil sa frequency counter na direktang magamit upang matugunan ang mas malalaking pangangailangan. Ang isa sa mga ito ay na sa pagsasanay, sa karamihan ng mga kaso sinusukat namin ang isang signal na may isang amplitude ng ilang daang mV, na hindi maaaring ilipat ang microcontroller counter. Depende sa uri, kailangan ng signal na hindi bababa sa 1-2 V para gumana nang tama ang input. Ang isa pa ay ang maximum na masusukat na frequency sa microcontroller input ay ilang MHz lamang, depende ito sa counter architecture pati na rin sa bilis ng orasan ng processor.

Thermostat para sa electric kettle sa ATmega8 (Thermopot)

Ang aparatong ito ay nagpapahintulot sa iyo na kontrolin ang temperatura ng tubig sa takure, ay may function ng pagpapanatili ng temperatura ng tubig sa isang tiyak na antas, pati na rin ang pag-on sa sapilitang pagpapakulo ng tubig.

Ang aparato ay batay sa isang ATmega8 microcontroller, na na-clock ng isang quartz resonator na may dalas na 8 MHz. Sensor ng temperatura - analog LM35. Seven-segment indicator na may karaniwang anode.

Bituin ng Bagong Taon sa Attiny44 at WS2812

Ang pandekorasyon na bituin na ito ay binubuo ng 50 espesyal na RGB LEDs, na kinokontrol ATtiny44A. Ang lahat ng LED ay patuloy na nagbabago ng kulay at liwanag sa random na paraan. Mayroon ding ilang mga uri ng mga epekto na random ding isinaaktibo. Maaaring baguhin ng tatlong potentiometer ang intensity ng mga pangunahing kulay. Ang posisyon ng potentiometer ay ipinahiwatig ng mga LED kapag pinindot ang isang pindutan, at ang pagbabago ng kulay at bilis ng epekto ay maaaring ilipat sa tatlong yugto. Ang proyektong ito ay ganap na binuo sa mga bahagi ng SMD dahil sa espesyal na hugis ng PCB. Sa kabila ng simpleng disenyo, ang istraktura ng board ay medyo kumplikado at malamang na hindi angkop para sa mga nagsisimula.

Frequency converter para sa asynchronous na motor sa AVR

Inilalarawan ng artikulong ito ang isang unibersal na three-phase frequency converter batay sa isang microcontroller (MK) ATmega 88/168/328P. Kinokontrol ng ATmega ang mga kontrol, LCD display at tatlong yugto ng henerasyon. Ang proyekto ay dapat na tumakbo sa mga off-the-shelf boards tulad ng Arduino 2009 o Uno, ngunit hindi ito natupad. Hindi tulad ng iba pang mga solusyon, ang sinusoid ay hindi kinakalkula dito, ngunit nagmula sa talahanayan. Nagse-save ito ng mga mapagkukunan, espasyo sa memorya at nagbibigay-daan sa MCU na iproseso at subaybayan ang lahat ng mga kontrol. Ang mga kalkulasyon ng lumulutang na punto ay hindi ginagawa sa programa.

Ang dalas at amplitude ng mga signal ng output ay nababagay gamit ang 3 mga pindutan at maaaring i-save sa memorya ng EEPROM ng MK. Ang panlabas na kontrol sa pamamagitan ng 2 analog input ay katulad na ibinigay. Ang direksyon ng pag-ikot ng motor ay tinutukoy ng isang jumper o switch.

Ang adjustable na katangian ng V/f ay nagbibigay-daan sa pagbagay sa maraming motor at iba pang mga consumer. Ang isang pinagsamang PID controller para sa mga analog input ay ginamit din, ang mga parameter ng PID controller ay maaaring maimbak sa EEPROM. Ang oras ng pag-pause sa pagitan ng mga key switch (Dead-Time) ay maaaring baguhin at i-save.

Frequency meter III mula sa DANYK

Ang frequency meter na ito na may AVR microcontroller ay nagbibigay-daan sa iyong sukatin ang dalas mula 0.45 Hz hanggang 10 MHz at mula 0.1 hanggang 2.2 μs sa 7 awtomatikong napiling hanay. Ang data ay ipinapakita sa isang pitong-digit na LED display. Ang proyekto ay batay sa Atmel AVR ATmega88/88A/88P/88PA microcontroller; mahahanap mo ang nada-download na program sa ibaba. Ang mga setting ng bit ng configuration ay ipinapakita sa Figure 2.

Ang prinsipyo ng pagsukat ay iba sa nakaraang dalawang frequency meter. Ang simpleng paraan ng pagbibilang ng mga pulso pagkatapos ng 1 segundo, na ginamit sa dalawang nakaraang frequency meter (frequency meter I, frequency meter II), ay hindi pinapayagan ang pagsukat ng mga fraction ng Hertz. Kaya naman pumili ako ng ibang prinsipyo sa pagsukat para sa bago kong Frequency Meter III. Ang pamamaraang ito ay mas kumplikado, ngunit nagbibigay-daan sa mga pagsukat ng dalas na may resolusyon na hanggang 0.000001 Hz.

Frequency counter II mula sa DANYK

Ito ay isang napakasimpleng frequency meter sa isang AVR microcontroller. Binibigyang-daan ka nitong sukatin ang mga frequency hanggang 10 MHz sa 2 awtomatikong napiling hanay. Ito ay batay sa nakaraang disenyo ng frequency meter I, ngunit may 6 na indicator na digit sa halip na 4. Ang mas mababang hanay ng pagsukat ay may resolution na 1 Hz at tumatakbo hanggang 1 MHz. Ang mas mataas na hanay ay may resolution na 10 Hz at nagpapatakbo ng hanggang 10 MHz. Ang isang 6-digit na LED display ay ginagamit upang ipakita ang sinusukat na dalas. Ang aparato ay batay sa isang microcontroller Atmel AVR ATtiny2313A o ATTiny2313. Makikita mo ang mga setting ng configuration bit sa ibaba.

Ang microcontroller ay na-clock mula sa isang quartz resonator na may dalas na 20 MHz (ang pinakamataas na pinapayagang dalas ng orasan). Ang katumpakan ng pagsukat ay tinutukoy ng katumpakan ng kristal na ito, pati na rin ang mga capacitor C1 at C2. Ang pinakamababang kalahating cycle na haba ng sinusukat na signal ay dapat na mas malaki kaysa sa frequency period ng quartz oscillator (limitasyon ng AVR architecture). Kaya, sa 50% duty cycle, ang mga frequency hanggang 10 MHz ay ​​maaaring masukat.

Minsan dadaan ka sa mga nakaparadang sasakyan at mapapansin mo sa gilid ng iyong mata na may isang taong matagal nang nakalimutang patayin ang mga ilaw, kung ihahambing sa madilim na ningning ng mga lampara. Ang ilang mga tao ay dumating sa ganitong sitwasyon sa kanilang sarili. Mabuti kapag may karaniwang indicator ng mga ilaw na hindi nakapatay, at kapag walang ganoong craft ay makakatulong: Ang Forget-me-not ay maaaring sumirit kapag ang mga ilaw ay hindi nakapatay at maaaring mag-beep kapag ang reverse gear ay natigil.

Ang circuit ng isang digital fuel level indicator ay may mataas na antas ng repeatability, kahit na ang karanasan sa microcontrollers ay hindi gaanong mahalaga, kaya ang pag-unawa sa mga intricacies ng pagpupulong at proseso ng pagsasaayos ay hindi nagiging sanhi ng mga problema. Ang Gromov programmer ay ang pinakasimpleng programmer na kinakailangan para sa pagprograma ng isang avr microcontroller. Ang programmer ng Goromov ay angkop para sa parehong in-circuit at standard na circuit programming. Nasa ibaba ang isang diagram para sa pagsubaybay sa tagapagpahiwatig ng gasolina.

Makinis na pag-on at off ng mga LED sa anumang mode (nakabukas ang pinto at naka-on ang lampara). Awtomatiko din itong nag-o-off pagkatapos ng limang minuto. At kaunting kasalukuyang pagkonsumo sa standby mode.

Pagpipilian 1 - Paglipat sa pamamagitan ng minus. (gamit ang N-channel transistors) 1) "negative switching", iyon ay, isang opsyon kung saan ang isang power wire ng lamp ay konektado sa +12V na baterya (power source), at ang pangalawang wire ay nagpapalit ng kasalukuyang sa pamamagitan ng lamp, sa gayon ay i-on ito. Sa opsyong ito, bibigyan ng minus. Para sa mga naturang circuit, kinakailangan na gumamit ng N-channel field-effect transistors bilang mga switch ng output.

Ang modem mismo ay maliit sa laki, mura, gumagana nang walang problema, malinaw at mabilis, at sa pangkalahatan ay walang mga reklamo tungkol dito. Ang tanging negatibo para sa akin ay ang pangangailangan na i-on at i-off ito gamit ang isang pindutan. Kung hindi mo ito i-off, ang modem ay tumatakbo sa built-in na baterya, na kalaunan ay naubos at ang modem ay kailangang i-on muli.

Ang prinsipyo ng pagpapatakbo ay simple: ang pagpihit ng knob ay nag-aayos ng lakas ng tunog, at ang pagpindot dito ay pinapatay at na-on ang tunog. Kailangan para sa pagsusulat sa Windows o Android

Sa una, sa Lifan Smily (at hindi lamang) ang rear wiper operating mode ay nag-iisa, at ito ay tinatawag na "palaging wave". Ang mode na ito ay lalo na negatibong nakikita sa simula ng tag-ulan, kapag ang mga patak ay nakolekta sa likurang bintana, ngunit sa isang hindi sapat na dami para sa isang wiper pass. Kaya, kailangan mong makinig sa langitngit ng goma sa salamin, o magpanggap na isang robot at pana-panahong i-on at i-off ang wiper.

Bahagyang binago ko ang interior lighting delay time relay circuit para sa isang Ford car (ang circuit ay binuo para sa isang napaka-espesipikong kotse, bilang kapalit ng standard Ford 85GG-13C718-AA relay, ngunit matagumpay na na-install sa isang domestic "classic") .

Hindi ito ang unang pagkakataon na lumitaw ang mga naturang crafts. Ngunit sa ilang kadahilanan ang mga tao ay kumakapit sa firmware. Bagama't karamihan sa mga ito ay batay sa proyekto ng elmchan na "Simple SD Audio Player na may 8-pin IC". Hindi nila binubuksan ang pinagmulan, pinagtatalunan na kailangan nilang itama ang proyekto, na ang aking kalidad ay mas mahusay ... atbp. Sa madaling salita, kumuha ka ng isang open source na proyekto, binuo ito, at ipinasa ito bilang sa iyo.

Kaya. Ang Attiny 13 microcontroller ay ang puso ng device na ito, wika nga. Nahirapan ako sa firmware nito sa loob ng mahabang panahon, hindi ko ito ma-flash. Ni sa 5 wires sa pamamagitan ng LPT, o sa programmer ni Gromov. Hindi lang nakikita ng computer ang controller at iyon lang.

Kaugnay ng mga pagbabago sa mga regulasyon sa trapiko, ang mga tao ay nagsimulang mag-isip tungkol sa pagpapatupad ng mga daytime running lights. Ang isa sa mga posibleng paraan ay ang pag-on ng mga high beam lamp sa bahagi ng kapangyarihan, ito ang tungkol sa artikulong ito.

Papayagan ng device na ito ang mababang beam na awtomatikong mag-on kapag nagsimula kang magmaneho at kinokontrol ang boltahe sa mga low beam lamp, depende sa bilis kung saan ka nagmamaneho. Gagawin din nitong mas ligtas ang trapiko at magpapahaba ng buhay ng mga lamp.

Ngayon ay mayroon akong dalawang magkaparehong programmer sa aking mesa. At lahat upang subukan ang bagong firmware. Magtatahi ang kambal na ito. Ang lahat ng mga eksperimento ay isinasagawa sa ilalim MS Windows XP SP3.
Ang layunin ay upang madagdagan ang bilis ng operasyon at palawakin ang pagiging tugma ng programmer.

Ang tanyag na kapaligiran sa pag-unlad na Arduino IDE ay umaakit sa isang malaking bilang ng mga yari na aklatan at mga kagiliw-giliw na proyekto na matatagpuan sa Internet.


Ilang oras na ang nakalipas ay nakatagpo ako ng ilang ATMEL ATMega163 at ATMega163L microcontroller. Ang mga microcircuits ay kinuha mula sa mga end-of-life device. Ang controller na ito ay halos kapareho sa ATMega16, at sa katunayan ay isang maagang bersyon nito.

Hello Datagor readers! Nagawa kong mag-ipon ng isang voltmeter na may kaunting laki na may isang segment-by-segment na pagpapakita ng tagapagpahiwatig at medyo mataas na pag-andar, na may awtomatikong pagtuklas ng uri ng tagapagpahiwatig at pagpili ng mga mode.


Pagkatapos basahin ang mga artikulo ni Edward Ned, pinagsama-sama ko ang isang bersyon ng DIP at sinubukan ito sa aksyon. Sa katunayan, ang voltmeter ay nagtrabaho, ang kasalukuyang sa pamamagitan ng output ng microcircuit sa tagapagpahiwatig ay hindi lalampas sa 16 milliamps bawat pulso, kaya ang pagpapatakbo ng microcircuit na walang resistors na nililimitahan ang mga alon ng segment ay lubos na katanggap-tanggap at hindi nagiging sanhi ng labis na karga ng mga elemento.
Hindi ko gusto ang masyadong madalas na pag-update ng mga pagbabasa sa display at ang iminungkahing "999" na sukat. Nais kong itama ang programa, ngunit hindi nagpo-post ang may-akda ng mga source code.

Kasabay nito, kailangan ko ng isang voltmeter at isang ammeter para sa isang maliit na supply ng kuryente. Posibleng mag-ipon ng pinagsamang bersyon, o posibleng mag-ipon ng dalawang miniature na voltmeter, at ang mga sukat ng dalawang voltmeter ay mas maliit kaysa sa pinagsamang bersyon.
Pinili ko ang microcircuit at isinulat ang source code para sa segment-by-segment scanning ng indicator.
Sa proseso ng pagsulat ng code, lumitaw ang ideya ng programmable switching of scales at comma position, na ipinatupad.


Ang isang mekanikal na encoder ay madaling gamitin, ngunit mayroon itong ilang nakakainis na mga kakulangan. Sa partikular, ang mga contact ay nawawala sa paglipas ng panahon at nagiging hindi na magagamit, na nagiging sanhi ng paglitaw ng satsat. Ang mga optical encoder ay mas maaasahan, ngunit ang mga ito ay mas mahal, marami sa kanila ay madaling kapitan ng alikabok, at ang mga ito ay bihirang matagpuan sa isang anyo kung saan sila ay maginhawang gamitin sa radio engineering.

Sa madaling salita, nang malaman ko na ang isang stepper motor ay maaaring gamitin bilang isang encoder, talagang nagustuhan ko ang ideya.
Halos walang hanggang encoder! Imposibleng pahirapan ito: buuin ito nang isang beses at maaari mo itong i-encode sa buong buhay mo.

Digitally controlled preamplifier-switcher. Gumagamit kami ng programming sa pamamagitan ng Arduino shell, electronic potentiometers mula sa Microchip, at TFT graphics.


Hindi ko plano na i-develop at i-assemble ang device na ito. Well, walang paraan! Mayroon na akong dalawang preamp. Parehong bagay sa akin.
Ngunit, tulad ng karaniwang nangyayari para sa akin, isang pagkakataon ng mga pangyayari o isang kadena ng ilang mga kaganapan, at ngayon ay isang gawain ang lumitaw para sa malapit na hinaharap.

Kumusta, mahal na mga mambabasa! Nais kong ipakita sa iyo ang "" - isang proyekto ng isang paghahatid ng robot para sa table tennis, na magiging kapaki-pakinabang para sa mga nagsisimula at amateurs kapag nagsasanay na tumatanggap ng iba't ibang uri ng mga serbisyo sa anumang lugar ng talahanayan, ay makakatulong sa pagkalkula ng tiyempo at lakas ng pagtanggap ng bola.

Maaari ka ring masanay sa bagong goma o raketa at bigyan ito ng magandang gripo.

Pagbati sa mga mambabasa! Mayroon akong lumang computer na sampung taong gulang na. Ang mga parameter nito ay angkop: isang 3.0 GHz "stump", isang pares ng GB ng RAM at isang sinaunang EliteGroup 915 series motherboard.


And I decided to place the old man somewhere (donate, sell), sayang naman kung itapon. Ngunit isang problema ang humadlang sa aking plano: ang motherboard ay hindi naka-on mula sa power button, at anuman ang ginawa ko, mula sa pagsuri sa mga wire hanggang sa pagsuri sa mga transistor sa board, hindi ko mahanap ang problema. Ipadala ito sa mga espesyalista para sa pagkumpuni - ang pag-aayos ay magiging mas mahal kaysa sa buong computer.

Nag-isip ako at nag-isip at nakahanap ng paraan para mailunsad ang aking kawawang kapwa. Inilabas ko ang baterya ng BIOS, na natakot sa computer at agad na nagsimula sa susunod na pagbukas ng kuryente! At pagkatapos - halos bawat BIOS ay may kakayahang simulan ang PC mula sa anumang pindutan ng keyboard o pindutan ng POWER sa keyboard. Mukhang nalutas na ang problema. Ngunit hindi, may mga nuances. Hindi gumana ang startup mula sa mga USB keyboard. Dagdag pa, hindi ko gustong takutin ang bagong may-ari; dapat magsimula ang computer sa karaniwang power button sa case.

Ang prinsipyo ng pagsasara ng pinto ng hawla ay napaka-simple. Ang pinto ng hawla ay sinusuportahan ng isang espesyal na stop na gawa sa tansong kawad. Ang isang naylon thread ng kinakailangang haba ay nakakabit sa stop. Kung hilahin mo ang sinulid, dumudulas ang stop at magsasara ang pinto ng hawla sa ilalim ng sarili nitong timbang. Ngunit ito ay nasa manu-manong mode, at nais kong ipatupad ang isang awtomatikong proseso nang walang pakikilahok ng sinuman.

Ang isang servo drive ay ginamit upang kontrolin ang mekanismo ng pagsasara ng pinto ng hawla. Ngunit sa proseso ng trabaho ay lumikha ito ng ingay. Ang ingay ay maaaring takutin ang ibon. Samakatuwid, pinalitan ko ang servo drive ng isang commutator motor na kinuha mula sa isang radio-controlled na kotse. Ito ay tahimik at akmang-akma, lalo na't ang brushed na motor ay madaling i-drive.

Para matukoy kung nasa hawla na ang ibon, gumamit ako ng murang motion sensor. Ang motion sensor mismo ay isa nang kumpletong device, at hindi na kailangang maghinang ng anuman. Ngunit ang sensor na ito ay may napakalaking anggulo ng pagtugon, at kailangan ko itong tumugon lamang sa panloob na bahagi ng cell. Upang limitahan ang anggulo ng operasyon, inilagay ko ang sensor sa base ng kung ano ang dating nagsisilbing lampara ng ekonomiya. Pinutol ko ang isang uri ng plug mula sa karton na may butas sa gitna para sa sensor. Pagkatapos kalikutin ang distansya ng plug na ito na nauugnay sa sensor, inayos ko ang pinakamainam na anggulo para gumana ang sensor.

Bilang isang barker para sa mga ibon, nagpasya akong gamitin ang WTV020M01 sound module na may pag-awit ng siskin at goldfinch na naitala sa isang microSD memory card. Ito talaga ang huhulihin ko. Dahil gumamit ako ng isang sound file, nagpasya akong kontrolin ang sound module sa simpleng paraan, nang hindi gumagamit ng exchange protocol sa pagitan ng sound module at microcontroller.

Kapag ang isang mababang signal ay inilapat sa ikasiyam na paa ng sound module, ang module ay nagsimulang tumugtog. Kapag na-play na ang tunog sa ikalabinlimang leg ng sound module, nakatakda ang level sa mababa. Salamat dito, sinusubaybayan ng microcontroller ang pag-playback ng tunog.

Dahil nagpatupad ako ng pause sa pagitan ng mga ikot ng pag-playback ng tunog, upang ihinto ang pag-playback ng tunog, inilalapat ng programa ang isang mababang antas sa unang bahagi ng sound module (i-reset). Ang sound module ay isang kumpletong device na may sarili nitong sound amplifier, at, sa pangkalahatan, hindi nito kailangan ng karagdagang sound amplifier. Ngunit ang sound amplification na ito ay tila hindi sapat sa akin, at ginamit ko ang TDA2822M chip bilang sound amplifier. Sa audio playback mode, kumokonsumo ito ng 120 milliamps. Isinasaalang-alang na ang paghuli ng ibon ay magtatagal, gumamit ako ng hindi ganap na bagong baterya mula sa isang hindi maaabala na supply ng kuryente bilang isang autonomous na baterya (ito ay nakahiga pa rin sa idle).
Ang prinsipyo ng electronic bird catcher ay simple, at ang circuit ay pangunahing binubuo ng mga yari na module.

Programa at scheme -

Ang mga likhang sining na may mga microcontroller ay isang tanong na mas nauugnay at kawili-wili kaysa dati. Pagkatapos ng lahat, nabubuhay tayo sa ika-21 siglo, ang panahon ng mga bagong teknolohiya, robot at makina. Ngayon, ang bawat pangalawang tao, simula sa murang edad, ay alam na kung paano gumamit ng Internet at iba't ibang uri ng mga gadget, na kung minsan ay mahirap gawin nang wala sa pang-araw-araw na buhay.

Samakatuwid, sa artikulong ito ay tatalakayin natin, sa partikular, ang mga isyu ng paggamit ng mga microcontroller, pati na rin ang direktang paggamit nito upang mapadali ang mga misyon na kinakaharap natin araw-araw. Alamin natin kung ano ang halaga ng device na ito at kung gaano kadaling gamitin ito sa pagsasanay.

Ang microcontroller ay isang chip na ang layunin ay kontrolin ang mga electrical device. Pinagsasama ng klasikong controller sa isang chip ang pagpapatakbo ng processor at mga remote na device, at may kasamang random access memory device. Sa pangkalahatan, ito ay isang single-chip na personal na computer na maaaring magsagawa ng medyo ordinaryong mga gawain.

Ang pagkakaiba sa pagitan ng microprocessor at microcontroller ay ang pagkakaroon ng mga start-stop na device, timer at iba pang malayuang istruktura na nakapaloob sa processor chip. Ang paggamit sa kasalukuyang controller ng isang medyo malakas na computing apparatus na may malawak na kakayahan, na binuo sa isang monocircuit, sa halip na isang solong hanay, ay makabuluhang binabawasan ang sukat, pagkonsumo at presyo ng mga device na nilikha sa batayan nito.

Ito ay sumusunod na ang naturang device ay maaaring gamitin sa computing technology, tulad ng calculator, motherboard, CD controllers. Ginagamit din ang mga ito sa mga de-koryenteng kasangkapan sa bahay - microwave, washing machine, at marami pang iba. Ang mga microcontroller ay malawak ding ginagamit sa industriyal na mechanics, mula sa microrelays hanggang sa machine tool control techniques.

Mga microcontroller ng AVR

Kilalanin natin ang isang mas karaniwan at mahusay na itinatag na controller sa modernong mundo ng teknolohiya, tulad ng AVR. Binubuo ito ng isang high-speed RISC microprocessor, 2 uri ng memorya na kumukonsumo ng enerhiya (Flash project cache at EEPROM information cache), isang RAM-type na operational cache, I/O port at iba't ibang istruktura ng remote na interface.

  • saklaw ng operating temperatura mula -55 hanggang +125 degrees Celsius;
  • ang temperatura ng imbakan ay mula -60 hanggang +150 degrees;
  • ang pinakamataas na boltahe sa RESET pin, alinsunod sa GND: maximum na 13 V;
  • maximum na boltahe ng supply: 6.0 V;
  • maximum na electric current ng input/output line: 40 mA;
  • Pinakamataas na kasalukuyang sa power supply line VCC at GND: 200 mA.

Mga kakayahan ng AVR microcontroller

Ganap na lahat, nang walang pagbubukod, ang mga microcontroller ng uri ng Mega ay may pag-aari ng independiyenteng coding, ang kakayahang baguhin ang mga bahagi ng kanilang memorya ng driver nang walang tulong sa labas. Ang natatanging tampok na ito ay ginagawang posible na bumuo ng napaka-kakayahang umangkop na mga konsepto sa kanilang tulong, at ang kanilang paraan ng pagpapatakbo ay personal na binago ng microcontroller na may kaugnayan sa isang partikular na larawan, na tinutukoy ng mga kaganapan mula sa labas o mula sa loob.

Ang ipinangakong bilang ng cache census revolutions para sa pangalawang henerasyong AVR microcontrollers ay 11 thousand revolutions, kapag ang standard na bilang ng revolutions ay 100 thousand.

Ang pagsasaayos ng istraktura ng mga input at output port ng AVR ay ang mga sumusunod: ang layunin ng physiological output ay tatlong piraso ng regulasyon, at hindi dalawa, tulad ng sa mga kilalang bit controllers (Intel, Microchip, Motorola, atbp. ). Tinatanggal ng property na ito ang pangangailangang magkaroon ng duplicate na bahagi ng port sa memorya para sa mga layunin ng proteksyon, at pinapabilis din ang kahusayan ng enerhiya ng microcontroller kasabay ng mga panlabas na device, ibig sabihin, sa kaganapan ng nauugnay na mga problema sa kuryente sa labas.

Nagtatampok ang lahat ng AVR microcontrollers ng multi-tiered suppression technology. Tila nakakagambala sa karaniwang daloy ng Russifier upang makamit ang isang layunin na isang priyoridad at tinutukoy ng ilang mga kaganapan. Mayroong nakagawian para sa pag-convert ng kahilingan sa pagsususpinde para sa isang partikular na kaso, at ito ay matatagpuan sa memorya ng proyekto.

Kapag may nangyaring problema na nag-trigger ng shutdown, sine-save ng microcontroller ang mga component adjustment counter, ihihinto ang pangkalahatang processor sa pagsasagawa ng program na ito, at magsisimulang isagawa ang shutdown processing routine. Sa pagtatapos ng pagpapatupad, sa ilalim ng pagtangkilik ng programa ng pagsususpinde, ang dating nakaimbak na counter ng programa ay ipinagpatuloy, at ang processor ay patuloy na isinasagawa ang hindi natapos na proyekto.

Mga likhang gawa batay sa AVR microcontroller

Ang mga DIY craft na gumagamit ng AVR microcontrollers ay nagiging mas sikat dahil sa kanilang pagiging simple at mababang gastos sa enerhiya. Ano ang mga ito at kung paano gawin ang mga ito gamit ang iyong sariling mga kamay at isip, tingnan sa ibaba.

"Direktor"

Ang nasabing aparato ay idinisenyo bilang isang maliit na katulong para sa mga mas gustong maglakad sa kagubatan, pati na rin ang mga naturalista. Sa kabila ng katotohanan na ang karamihan sa mga telepono ay may navigator, nangangailangan sila ng koneksyon sa Internet upang gumana, at sa mga lugar na nakahiwalay sa lungsod ito ay isang problema, at ang problema sa recharging sa kagubatan ay hindi rin nalutas. Sa kasong ito, lubos na maipapayo na magkaroon ng ganoong device sa iyo. Ang kakanyahan ng aparato ay na tinutukoy nito kung aling direksyon ang pupuntahan at ang distansya sa nais na lokasyon.

Ang circuit ay binuo batay sa isang AVR microcontroller na na-clock mula sa isang panlabas na quartz resonator sa 11.0598 MHz. Ang NEO-6M mula sa U-blox ay responsable para sa pagtatrabaho sa GPS. Ito, bagama't luma na, ay isang kilalang-kilala at module ng badyet na may medyo malinaw na kakayahang matukoy ang lokasyon. Nakatuon ang impormasyon sa screen mula sa Nokia 5670. Naglalaman din ang modelo ng HMC5883L magnetic wave meter at isang ADXL335 accelerometer.


Wireless alarm system na may motion sensor

Isang kapaki-pakinabang na device na may kasamang galaw na device at ang kakayahang magbigay, ayon sa isang radio channel, ng senyales na ito ay na-trigger. Ang disenyo ay nagagalaw at sinisingil gamit ang isang baterya o mga baterya. Upang gawin ito, kailangan mong magkaroon ng ilang HC-12 radio modules, pati na rin ang isang HC-SR501 motion sensor.

Gumagana ang HC-SR501 motion device na may supply voltage mula 4.5 hanggang 20 volts. At para sa pinakamainam na operasyon mula sa isang LI-Ion na baterya, dapat kang umikot sa safety LED sa power input at isara ang access at output ng linear stabilizer 7133 (2nd at 3rd legs). Sa pagkumpleto ng mga pamamaraang ito, ang aparato ay nagsisimula ng patuloy na operasyon sa isang boltahe na 3 hanggang 6 volts.


Pansin: kapag nagtatrabaho kasabay ng module ng radyo ng HC-12, kung minsan ang sensor ay nag-trigger nang mali. Upang maiwasan ito, kinakailangang bawasan ng 2 beses ang kapangyarihan ng transmitter (utos sa AT+P4). Ang sensor ay tumatakbo sa langis, at ang isang naka-charge na baterya na may kapasidad na 700 mAh ay tatagal ng higit sa isang taon.

Miniterminal

Ang aparato ay napatunayang isang kahanga-hangang katulong. Ang isang board na may AVR microcontroller ay kailangan bilang pundasyon para sa paggawa ng device. Dahil sa ang katunayan na ang screen ay direktang konektado sa controller, ang power supply ay dapat na hindi hihigit sa 3.3 volts, dahil ang mas mataas na mga numero ay maaaring magdulot ng mga problema sa device.


Dapat kang kumuha ng converter module batay sa LM2577, at ang batayan ay maaaring isang Li-Ion na baterya na may kapasidad na 2500 mAh. Magkakaroon ng kapaki-pakinabang na pakete na naghahatid ng pare-parehong 3.3 volts sa buong saklaw ng operating boltahe. Para sa mga layunin ng pagsingil, gumamit ng module batay sa TP4056 chip, na itinuturing na budget-friendly at medyo mataas ang kalidad. Upang maikonekta ang miniterminal sa 5-volt na mga mekanismo nang walang panganib na masunog ang screen, dapat mong gamitin ang mga port ng UART.

Mga pangunahing aspeto ng pagprograma ng AVR microcontroller

Ang microcontroller coding ay kadalasang ginagawa sa assembly o SI style, gayunpaman, maaari mo ring gamitin ang iba pang Forth o BASIC na mga wika. Kaya, upang aktwal na magsimula ng pananaliksik sa pagprograma ng controller, dapat kang magkaroon ng sumusunod na hanay ng materyal, kabilang ang: isang microcontroller, sa halagang tatlong piraso - ATmega8A-PU, ATtiny2313A-PU at ATtiny13A-PU ay itinuturing na napakapopular. at epektibo.

Upang ipatupad ang isang programa sa isang microcontroller, kailangan mo ng isang programmer: ang USBASP programmer ay itinuturing na pinakamahusay, na nagbibigay ng boltahe ng 5 Volts, na gagamitin sa hinaharap. Para sa layunin ng visual na pagtatasa at mga konklusyon ng mga resulta ng proyekto, ang mga mapagkukunan ng pagmuni-muni ng data ay kinakailangan - ito ay mga LED, isang LED inductor at isang screen.


Upang pag-aralan ang mga pamamaraan ng komunikasyon ng microcontroller sa iba pang mga device, kailangan mo ng DS18B20 digital temperature device at isang DS1307 na orasan na nagpapakita ng tamang oras. Mahalaga rin na magkaroon ng mga transistors, resistors, quartz resonator, capacitor, mga pindutan.

Upang mai-install ang mga system, kakailanganin mo ng sample mounting board. Upang bumuo ng isang disenyo sa isang microcontroller, dapat kang gumamit ng isang breadboard para sa pagpupulong nang walang paghihinang at isang hanay ng mga jumper para dito: isang sample board MB102 at pagkonekta ng mga jumper sa breadboard ng ilang mga uri - nababanat at matibay, pati na rin ang hugis-U. Ang mga microcontroller ay naka-code gamit ang USBASP programmer.

Ang pinakasimpleng device batay sa AVR microcontroller. Halimbawa

Kaya, nang maging pamilyar sa kung ano ang mga AVR microcontroller at ang kanilang programming system, isaalang-alang natin ang pinakasimpleng device kung saan nagsisilbing batayan ang controller na ito. Magbigay tayo ng isang halimbawa ng isang driver para sa mga de-kuryenteng motor na may mababang boltahe. Ginagawang posible ng device na ito na kontrolin ang dalawang mahinang tuloy-tuloy na motor na de koryente nang sabay.

Ang maximum na posibleng electric current kung saan maaaring mai-load ang isang programa ay 2 A bawat channel, at ang maximum na kapangyarihan ng mga motor ay 20 W. Sa board mayroong isang pares ng dalawang-terminal na bloke para sa pagkonekta ng mga de-koryenteng motor at isang tatlong-terminal na bloke para sa pagbibigay ng amplified boltahe.

Ang aparato ay mukhang isang naka-print na circuit board na may sukat na 43 x 43 mm, at isang radiator minicircuit ay itinayo dito, ang taas nito ay 24 milimetro at ang timbang ay 25 gramo. Para sa layunin ng pagmamanipula ng pagkarga, ang driver board ay naglalaman ng mga anim na input.

Konklusyon

Sa konklusyon, ang AVR microcontroller ay isang kapaki-pakinabang at mahalagang tool, lalo na para sa mga tinkerer. At sa pamamagitan ng paggamit ng mga ito nang tama, pagsunod sa mga patakaran at rekomendasyon para sa programming, madali kang makakuha ng isang kapaki-pakinabang na bagay hindi lamang sa pang-araw-araw na buhay, kundi pati na rin sa mga propesyonal na aktibidad at sa pang-araw-araw na buhay.